사물인터넷 환경 '블랙스완'에 대비하라

머니투데이 테크M 편집부 2015.09.04 07:44
글자크기

SW안정성이 경쟁력 좌우한다

사물인터넷 환경 '블랙스완'에 대비하라


1996년 6월 무인 위성발사 로켓 아리안(Ariane) 5호가 발사됐다. 이 로켓은 프랑스 등 유럽 53개국의 정부와 공기업이 공동 출연해 설립한 아리안스페이스가 발사비용을 20%나 줄이도록 설계한 것으로 무인위성 발사의 새로운 장을 열 것으로 기대됐다.

세계인의 관심을 한 몸에 받았던 이 로켓은 발사 37초 만에 폭발해 사람들을 망연자실하게 만들었다. 이 폭발로 인해 입은 개발비 등 경제적 손실만도 80억 달러에 달했다. 사고의 원인은 기계의 결함이 아니라 소프트웨어였다. 로켓에 비정상적인 값이 입력되어 오버 플로우(Overflow)가 발생, 로켓이 자동 폭발 장치를 작동 시킨 것이다.



2004년에는 영국 아동지원청(CSA)이 190만 명에게는 양육비를 더 많이 지급하고 70만 명에게는 적게 지급해 10억 파운드 이상의 세금을 낭비한 사고가 발생했다. 이같은 사고가 난 것은 아동지원청이 대규모 IT 시스템을 도입하면서 시스템을 재구축했는데 이 시스템에 오류가 발생했기 때문이었다. 이 사고를 계기로 영국 아동지원청(CSA)은 비판에 시달렸고 결국 해체되고 말았다.

최근 다양한 제품에 IT시스템이 결합하고 소프트웨어가 중요한 기능을 담당함에 따라 시스템 오류에 따른 사고는 일반 이용자들이 이용하는 제품으로 확산되고 있다.



2010년 8월 고속도로를 달리던 도요타 렉서스 자동차의 가속페달이 작동되지 않는 사고가 발생해 차에 타고 있던 일가족 4명이 모두 숨지고 말았다. 사고의 원인을 조사한 결과, 전자식 스로틀 제어장치 소프트웨어의 결함인 것으로 밝혀졌다. 그 결과 도요타는 같은 가솔페달을 사용하는 주력차종 230만 대를 리콜해야 했다.

중국에서는 열차가 탈선하는 사고가 발생했다. 2011년 7월 중국 저장성 윈저우에서 고속열차가 추돌 사고로 탈선해 다리 아래로 추락한 것이다. 이 사고로 35명이 사망하고 200여 명이 부상했다. 중국 정부는 추돌 참사의 원인이 신호 설비에 중대한 결함이 생겨 붉은 신호를 켜야 할 구간에서 녹색 신호등이 잘못 켜진 소프트웨어의 결함 때문이라고 밝혔다.

이 외에도 소프트웨어의 결함에 따른 사고는 수도 없이 많다. 미국 22개 핵발전소의 가동을 3일간이나 중지시켰던 미국 역사상 최대 규모의 정전 사태, AT&T 전화망을 9시간이나 불통시킨 전화망 마비사건, 15초 동안 30층을 급상승해 천정에 충돌했던 엘리베이터 사건 등이 그것이다. 이처럼 엄청난 인적 물적 피해를 초래하는 소프트웨어 결함으로 인한 사고는 점점 더 늘어나는 추세다. 소프트웨어가 자동차, 조선, 의료, 전력 등 안전과 관련된 산업분야에 적용되면서 관련 사고도 늘어나고 있는 것이다.


소프트웨어 결함에 따르는 사고는 수도 없이 많다. 미국 역사상 최대규모의 정전사태, AT&T 전화망 불통사건, 엘리베이터 충돌 사건 등도 소프트웨어 결함에 따른 것이다. 사진은 대규모 정전으로 깜깜해진 뉴욕소프트웨어 결함에 따르는 사고는 수도 없이 많다. 미국 역사상 최대규모의 정전사태, AT&T 전화망 불통사건, 엘리베이터 충돌 사건 등도 소프트웨어 결함에 따른 것이다. 사진은 대규모 정전으로 깜깜해진 뉴욕
이 때문에 미국, 유럽 등 선진국은 시스템의 오동작으로 작게는 회사, 크게는 국가와 인류를 위협할 수 있는 시스템을 ‘안전 필수 시스템(Safety-Critical System)’으로 규정하고 다양한 기법을 통해 시스템의 안전을 보장하도록 규제하고 있다. 원자력, 자동차, 철도, 항공우주, 의료, 로봇, 국방 등의 분야가 대표적이다.

IT융합 제품의 기능 안전성 국제표준, 자동차의 기능 안전성 국제표준 등 소프트웨어 안전성과 관련된 국제 표준이 제정되어 왔고 이를 요구하는 해외 기업도 급격하게 늘어나고 있다.

문제는 인명 피해나 재산의 손실을 보호한다는 명분 이면에 이미 안전성 기술을 확보한 국가가 자국의 기술을 보호하고 타국의 시장진입을 통제하는 기술 규제의 성격이 내포돼 있다는 점이다. 소프트웨어 안전성 문제가 해외 진출의 새로운 진입장벽이 되고 있는 것이다. 하지만 우리나라는 소프트웨어 품질과 안전성에 대한 인식이 낮고, 소프트웨어 안전성을 높이기 위한 고급인력과 기술력 역시 부족한 상황이다. 또한 안전 필수 시스템을 위한 정책기반 조차 취약한 실정이다.
사물인터넷, 웨어러블 등 앞으로는 소프트웨어가 사회 각 분야를 주도하는 소프트웨어 중심사회가 될 것이란 게 전문가들의 진단이다. 구글 등 글로벌 기업은 이미 무인자동차의 시험 운전을 마치고 상용화를 시도하고 있고 드론은 통신이나 교통 인프라가 열악한 지역에 해택을 주기위해 우리 머리 위를 날아다니고 있다. 이런 환경은 인간에게 편리함을 제공하기 위한 것이다.

하지만 만에 하나 잘못되면 치명적인 인적・물적 피해로 이어질 가능성이 얼마든지 있다. 그러므로 안전한 소프트웨어를 개발하기 위한 특징과 환경을 감안해서 당면한 문제를 풀어가는 것이 시급한 상황이다.

고신뢰 소프트웨어를 요구하는 분야의 특성을 살펴보면, 이미 산업 분야별로 특화된 방대한 분량의 국제표준과 국제인증체계가 존재하고 있다. 자동차의 경우 ISO26262, 항공기는 DO178, 철도는 IEC62278과 같은 표준과 인증체계를 가지고 있다. 원자력 소프트웨어의 경우는 자국 국민의 생명과 직결되기 때문에 제3자 인증이 활성화 되지 않고 있다. 대신 각국의 규제기관이 인허가 업무를 사전 평가 지원하는 형태의 컨설팅 사업으로 이뤄져 있다.

산업별로 특화된 고신뢰 소프트웨어 표준과 인증체계산업별로 특화된 고신뢰 소프트웨어 표준과 인증체계
고신뢰 소프트웨어 개발은 높은 기술 진입장벽이 존재한다. 미국과 유럽 등 선진국 주도로 산업 분야별 국제표준이 제정되고 발전되어 왔기 때문이다. 따라서 고신뢰 소프트웨어를 개발하는 데 필수적인 소프트웨어공학 기술 수준을 높이려면 TUV와 같은 선진기업에 의존적일 수밖에 없다. 또한 고신뢰 소프트웨어를 개발하고 국제 인증을 받기 위해서는 반드시 인증 받은 도구를 사용해야 한다. 그런데 이 또한 선진기업 독점하고 있는 상황이고 개발도구의 비용도 만만치 않다.

소프트웨어 신뢰성을 높이려면 근거가 되는 이론 등이 있어야 한다. 이 분야가 취약한 우리나라로서는 단시간 내에 도구를 개발하거나 인증을 확보하려면 많은 시간이 걸리고 풀어야 할 난제도 많다. 우리나라는 이와 같은 현실적 한계를 감안해 안전성의 문제에 대비하고 소프트웨어를 안전하게 만들 수 있는 방안을 확보해야 하는 것이다. 그러면 구체적으로 어떤 노력을 기울여야 할까.

우선 소프트웨어 안전 관련 규정과 제도를 정비하는 것이 필요하다. 소프트웨어 융합제품이 고도화 될수록 글로벌 시장에서 살아남기 위해서는 산업별로 국제 표준 및 국제 규범을 준수할 수 있는 제도, 공학기술, 프로세스, 절차를 의무화해야 한다. 이 의무규정이 공급자가 지킬 수 있을 만큼 현실적이고 합리적이어야 함은 물론이다.

소프트웨어 안전 관련 교육과정을 개발하고 고신뢰성 소프트웨어 개발 전문가를 양성하는 것도 시급한 일이다. 안전을 위협하는 대부분의 제품 문제는 자동차, 우주선, 항공기, 원전, 철도, 의료기기 등 융합제품의 소프트웨어 오류 때문에 발생한다. 따라서 소프트웨어 자체의 안전성만 고려해서는 안전을 확보하는데 한계가 있다. 자동차나 항공기 등 제품 전체의 시스템 관점으로 접근하는 해당 분야 전문가가 필요한 것이다. 소프트웨어 안전 관련 자격증 제도를 도입해 해당분야 전문가들이 국제 표준에 입각한 전문적 역량을 키울 수 있도록 해야 한다.

소프트웨어 안전과 관련한 거버넌스 체계를 구축하는 것도 시급하다. 소프트웨어 안전성을 전문적으로 점검하고 평가, 인증하는 전문기관을 설립하고 지원해야 하는 것이다. 또 소프트웨어 안전성을컨설팅하고 지원하는 전문기업도 양성해야 한다.

안전성에 관련된 제품은 해당 시스템의 특성이 많이 반영되어 있다. 그러므로 시스템의 경험을 확보하고 추적할 수 있도록 영역별 안전성 점검・인증평가를 전담할 기관을 설립하고 이 기관을 통해 전문가를 교육하고 배출할 수 있는 시스템을 구축해야 한다.

우리는 이미 소프트웨어 없이는 살 수 없는 세상에 와 있다. 또 자율주행 자동차, 드론, IoT, 모바일의 발전과 더불어 미래는 더욱 소프트웨어가 곳곳에 스며들게 될 것이다. 그러나 잘못 개발되면 치명적인 피해로 이어질 가능성이 얼마든지 있다. 그러므로 혁신적이고 이익이 되는 소프트웨어를 개발하는 것도 중요한 일이지만 안전을 보장하기 위한 활동도 양보할 수 없는 것이다.

지금부터라도 소프트웨어 안전성에 대한 철저한 교육을 실시하고 국제 표준과 국제 규범을 준수할 수 있는 시스템 구축과 안전성 점검체계를 만들고 운영하는 등의 조치를 서둘러야 할 것이다. 이를 통해 소프트웨어 안전성 확보에 대한 경험을 축적, 안전한 사회를 만드는 것은 물론이고 안전한 소프트웨어를 개발할 수 있는 기술경쟁력을 가져야 한다. 이 역량을 확보하는 것이 장기적으로 글로벌 시장에서 경쟁 우위를 점하고 시장을 넓히는 초석이 될 것이다.

이상은 정보통신산업진흥원 소프트웨어공학센터장

[본 기사는 테크엠(테크M) 2015년 9월호 기사입니다. 더 자세한 내용은 매거진과 테크M 웹사이트(www.techm.kr)에서 보실 수 있습니다.]

▶미래를 여는 테크 플랫폼 '테크엠(테크M)' 바로가기◀
▶[MIT리뷰] 인공지능이 발전하면 일자리가 줄어들까
▶[테크&가젯] 분노·뇌파 알아채는 웨어러블
▶3D프린터가 만들어 낸 생활 예술
▶생활 속 포장에 숨은 기술
▶[인터넷 전문은행] 은행 아닌 아마존을 연구하라
TOP