최신 시스템 안전에 관한 현안과 시사점

  • 진회승SW기반정책·인재연구실 책임연구원
날짜2017.10.30
조회수11304
글자크기
    • Recent system safety issues and implications
    • 에이브러햄 매슬로(A.H. Maslow)는 그의‘ 욕구단계설’에서 인간 욕구 중‘ 안전(safety)’을 생리적 욕구 다음으로 중요하고 기초적인 것으로 주장한다. 요즘 우리 사회에서 안전에 대한 민감한 관심은 그동안 산업화를 추진하면서 소위‘ 먹고 사는 문제’를 해결하느라 안전에 소홀했던 결과에 대한 반성이기도 하다. 하지만 매슬로의 주장처럼 사회의 경제적 수준이 향상되면서 안전에 대한 국민들의 욕구가 바뀌고 있는 데도 기인하지 않을까?
    • 이제 안전문제는 더 이상 회피할 수 없는 당면한 사회적 욕구이자 과제가 되었다. 하지만 현실을 보면 우리 사회전반에서 안전체계나 관행이 아직 성숙되지 못하고 안전문제에 대한 경험도 많지 않아 아직 가야할 길이 멀다. 이를 뒤집어 보면 앞으로 우리 사회와 경제에서‘안전문제’라는 잠재적인 위험요소가 매우 크며 안전문제는 사회적 과제로 남아 끊임없이 제기될 것이라는 사실을 의미한다. 선진국들이 수백 년을 거쳐 해결해온 안전문제를 우리는 어떻게 수십 년 아니 수 년 만에 해결해 나갈 수 있을까?
    • 그런데 최근 산업의 변화를 보면 희망이 안 보이는 것은 아니다. 바로 산업전반에 걸쳐 IT와 융합이 급속한 속도로 진행되는 제4차 산업혁명이 그것이다. 이는 그간 인간이 제어하던 산업의 시스템을 소프트웨어가 제어하는 방식으로 변화하는 것이다. 소프트웨어에 의해 안전을 관리하므로 우리나라와 같이 IT가 발전한 경우 안전문제를 획기적으로 해결할 수 있는 계기가 될 수 있는 것이다.
    • 반면에 이러한 산업의 변화가 한편으로는 도전이기도 하다. 소프트웨어로 시스템을 제어하는 기술 환경이 안전하려면 먼저 소프트웨어의 안전이 보장되어야하기 때문이다. 소프트웨어 자체의 오류를 방지하는 것뿐만 아니라 시스템 내에서 소프트웨어의 기능에 대한 안전도 중요하다. 예를 들어 항공기가 비행 중인 때는 소프트웨어가 엔진이 역으로 작동하는 것을 방지하도록 되어 있는데, 착륙 중일 때도 비행 중인 것으로 잘못 인식하여 비행기가 서지 못하고 충돌한 사고 사례가 있었다. 즉, 소프트웨어 안전을 보장하기 위해서는 소프트웨어 분석, 설계, 구현, 시험 등 전 개발주기에서 시스템과 연계한 안전에 대해 고려할 필요가 있다.
    • 필자는 지난 8월 미국 앨버커키 시에서 열린 시스템 안전 컨퍼런스(International System Safety Conference)에 다녀왔다. 컨퍼런스의 주제는 ‘Pushing the Boundaries of System Safety’였다. 여러 영역에서 시스템 안전이 어떻게 적용되는지 다시 정의하고, 과거의 교훈을 통해 현재 기술을 뛰어넘는 안전 시스템에 대해 논의했다. 특히 안전의 영역을 과거 전통적인 안전 분야인 건설, 자동차, 항공에서 확장하여 드론, 무인자동차, 5세대 교통수단인 하이퍼루프의 개발단계에서 인증 영역까지 고려하는 연구에 대한 발표가 있었다.
    • 컨퍼런스에서 소개된 논문을 중심으로 최근 시스템 안전 분야의 5가지 현안에 대해 소개하고, 한국이 소프트웨어 안전을 위해 고려할 점에 대해 생각해 보고자 한다.
  • 1. 안전의 적정수준 문제
    • 안전에 대해서는 완벽하게 보장이 불가능하기 때문에 어떤 수준의 안전이 충분한 것인지에 대한 논의는 최근까지도 계속되고 있다. 어느 정도 안전해야 충분히 안전한가에 대한 결정은 쉽지 않은데 지금 국제 학계의 논의는 두 가지로 정리할 수 있다.
    • 첫째, 안전을 구현하기 위해서는 안전 강화에 따라 늘어나는 비용과 줄어드는 성능 문제를 같이 고려해야 한다는 것이다. 안전을 고려하면 안전 전문가에 대한 비용은 물론이며, 시스템 개발 전 주기에 걸쳐 안전을 고려해야하기 때문에 개발 시간 또한 늘어난다. 각 모듈에 안전을 고려하면 시스템 성능도 줄어들게 된다.
    • 둘째, 안전을 만족하기 위해서는 법적인 요소와 위험요소 인식, 수용 가능한 위험 수준, 검증에 따른 프로그램 제한에 대한 기술적인 요소를 같이 검토해야 한다는 주장이다. 안전에 대한 수준은 법과 비용에 따라 결정되며, 충분히 안전한 것에 대한 보장이 없기 때문에 최소한의 비용으로 충분한 효과를 낼 수 있는 방안을 찾는 것이 필요하다.
    • 이를 위해 국제 전문가들은 안전을 위한 일반적인 해결책은 표준 준수이며, 최신 기술의 사용과 설계 절차를 지키고 개발된 시스템에 문서를 보관하여 유지보수 시에 계속적으로 수정/개선하며 사용하는 것을 제안하고 있다.
  • 2. 하드웨어와 소프트웨어 통합 안전 관리 및 인증문제
    • 하드웨어와 소프트웨어의 안전 관리에 대해 각각의 특징이 다르며, 시스템 안전을 구현하기 위해서는 하드웨어와 소프트웨어를 모두 고려하여 안전을 구현하고 인증하는 것이 필요하다고 주장한다. 일반적으로 소프트웨어의 안전에 대한 고려는 시스템 안전에 기반을 두고 안전 등급이나 안전 평가를 하고 있으나 소프트웨어 안전을 보장하기 위해서는 소프트웨어가 하드웨어와 다른 점을 인식해야 한다는 것이다.
    • 하드웨어 오류는 하드웨어 성능 저하 때문에 법칙 없이 무작위로 일어나는 반면에 소프트웨어 오류는 설계, 상세화, 설치, 운영과정에서 사람에 의해 일어나는 오류로 찾아내고 관리하기는 쉽지 않다. 따라서 안전은 최종적으로 사용자의 책임으로 하드웨어, 소프트웨어 모듈은 인증된 것을 사용해야 하며, 시스템 통합을 위해서는 기능안전 인증이 필요하다고 한다.
  • 3. 자율 주행 시스템에서 안전문제
    • 자동 또는 무인 시스템에 안전성은 아주 중요한 요소로 여러 가지 고려할 점이 지적되고 있다. 무인 시스템이 활용되는 분야로 무인잠수함과 항공항행시스템, 그리고 운전시스템 등이 주로 연구되고 활용되고 있는데 특히 위험요소가 많은 일반도로에서의 운전시스템에서 고려해야 할 요소들이 많이 논의되고 있다.
    • 복잡한 운전 센서 외에도 경로를 결정하고 세계 지도를 통한 위치를 인식하고 지역 지도를 통한 다른 장애물을 인식하며 이동하는 기술, V2V, V2I 같은 시스템의 도움을 이용해 안전을 확보하는 기술 등이 해결해야 할 주요문제로 제기되고 있다. 또한 승객과 보행자 중 누구의 안전을 우선할 것인가 등 윤리적, 법적 문제도 계속 제기되고 있으나 아직 논란 중이며 논의가 더 필요한 상황이다.
  • 4. 시스템 안전에서 보안 문제
    • 최근의 경향은 안전 보 장을 위해서 보 안도 같이 고려해야 한다는 주 장이다. 시스템이 네트워크로 연결되면서, 단일 시스템에서는 고려하지 않아도 되는 보안 문제가 시스템 안전을 위해 중요하게 되었다. 예전에는 쓰던 통신규약이 안전하지 않았으나, 업계에서 잘 모르기 때문에 어느 정도 보호되었다.
    • 지금은 시스템에 암호화를 추진하고 있으나 오히려 더 안전하지 않는 문제점이 있다고 한다. 예전 시스템의 펌웨어 수정과 달리 이제는 네트워크를 통한 업데이트가 일반화 되면서, SCADA(Supervisory Control And Data Acquisition) 시스템도 인터넷으로 수정하며, 해커들도 펌웨어 견본을 받아 코드 변경이 가능하다고 한다. 이를 방지하기 위한 방안 중의 하나가 해싱 기능을 이용해 값이 변한 것을 확인하고 외부로부터 공격을 확인하여 보안을 강화하는 것이라 한다. 여러 가지 방법으로 새로운 시스템은 암호화를 하고 있으나, 국가 기반시설 중 기존의 시스템은 사이버 공격에 대한 준비가 되어 있지 않아 이에 대한 대책 마련이 필요하다.
  • 5. 차세대 교통시스템에서 인증 문제
    • 최근 교통 신기술의 하나로 하이퍼루프가 논의되고 있으며, 새로운 시스템과 관련하여 인증문제가 제기되고 있다. 하이퍼루퍼는 교통 혼잡이나, 비행기의 지연, 취소로 인한 운송비용을 줄이고, 이동 시간을 줄이기 위해 전기자동차 제조회사인 테슬라의 사장 엘론 머스크가 주도하고 있는 프로젝트로, 완전히 밀폐된 터널(튜브)을 고가로 건설하고 그 안을 낮은 기압 상태로 만든 뒤 그 안으로 30~50명의 사람이 탑승 가능한 열차를 쏘아 달린다는 개념이다.
    • 추진체로 전기를 사용하며 지상에서 공기압의 1/100이기 때문에 에너지가 적게 들어 경제적으로 구현 가능성이 크다. 하이퍼루프 구축을 위해서는 철도, 항공, 우주선의 기술이 모두 필요하며, 안전도 이에 기준하여 고려해야 하는데, 이에 따라 하이퍼루퍼 개발그룹은 FAA(Federal Aviation Administration), EASA(European Aviation Safety Agency), GCAA(UAE General Civil Aviation Authority)의 항공 인증, NASA(National Aeronautics and Space Administration), ESA(European Space Agency)의 우주 인증, EU CENELEC( European Committee for Electrotechnical Standardization) 인증을 추진하고 있다.
    • [그림] 하이퍼루프 개념도
    • 지금까지 국제적으로 산·학·연에서 관심이 많은 현안들에 대해 살펴보았다. 국제적 흐름과 비교할 때 우리의 준비는 많이 부족하다고 볼 수밖에 없다. 국내에서는 아직도 소프트웨어 안전을 비용측면에서만 생각하거나, 소프트웨어 안전에 대해 중요성을 인식하지 못해 이를 고려하는 문화가 성숙되지 못한 실정이기 때문이다.
    • 하지만 이제 소프트웨어 안전은 산업 발전을 위한 필수 요소이며, 국민의 생활권을 보장하는 측면에서도 중요하다는 점을 인식해야 한다. 안전이 보장되지 않는 기술은 우리 사회에 정착하기 어렵다. 해외에서는 시스템 구현 시 기본적으로 안전을 고려하는 것이 습관화되어 있으며, 표준을 지키고 인증을 하는 것이 체계화되어 있다. 물론 해외에서도 안전에 대해 해결해야 하는 기술적, 문화적 문제는 항상 새로이 나타나고 있으며, 안전 구현을 위한 비용문제에 대해 해결책을 고민하고 있다. 국내에서도 이제는 시스템 구현 시 안전을 고려하는 것을 문화화하고, 안전체계를 구축하여 가는 것이 필요하다. 만약 소프트웨어 안전을 제대로 확보할 수 있다면 우리 사회의 커다란 숙제인‘ 안전 문제’해결에 중요한 역할을 할 것임은 분명하다.
    • 한편 우리 미래는 제4차 산업혁명에 달려 있다고 해도 과언이 아니다. 산업의 새로운 변혁의 물결을 주도해 나가기 위해서는 산업을 바꿀 수 있는 새로운 거대 기술(big tech)이 필요한데 이를 실현하는 데는 안전문제 해결이 출발점이자 종착점이다. 우리가 다른 나라에 뒤지지 않고 앞서나가기 위해서는 소프트웨어 안전에 대한 세계 수준의 연구에 대해 보다 적극적으로 관찰하고 나아가 이들과 협력연구를 활성화하는 것이 필요하다. 또한 산업시스템에 소프트웨어 기술을 융합하는 특성을 제대로 구현하기 위해서는 우리도 미국의‘시스템 안전 컨퍼런스(International System Safety Conference)’와 같은 산업간 융합 연구를 위하여 개방적이고 유기적인 연구 시스템을 구축하는 것을 적극 추진할 필요가 있다.