박은지 ETRI 고신뢰CPS연구그룹 선임연구원
[젊은 과학포럼]

2009년 미국에서 도요타 렉서스 차량에 탑승한 일가족이 고속도로에서 의도치 않은 급가속으로 다른 차량을 추돌하고 가드 레일과 부딪힌 후 전복돼 전원이 사망하는 사건이 있었다. 도요타 측에서는 처음에는 결함 가능성을 부인했으나, 2010년 미국을 시작으로 전 세계 도요타 차량 1000만대가 리콜됐다. 렉서스 급발진 사고는 결국 소프트웨어 결함으로 밝혀졌다.

최근 차량의 소프트웨어 관련 리콜은 급증하고 있다. 필자도 차량을 최근에 구매했다. 이전에는 차량 정비를 하러 가면 부품을 교체하는 경우가 많았다. 요즘은 소프트웨어 업그레이드를 하는 경우가 빈번해졌다. 이와 같이 산업에서 소프트웨어 역할이 증가하면서 그 안전성에 대한 문제가 대두되고 있다. 최근 기존 하드웨어 중심 산업이 소프트웨어 중심 산업으로 변화하면서 자동차, 항공, 의료, 철도 등의 분야에서 소프트웨어의 비중이 증가하고 있다.

전투기로 예를 들어보자. 1974년 F-16A 기종은 소프트웨어가 13만 5000라인에 불과했다. 2012년식 F-35의 경우 소프트웨어가 2400만 라인으로 증가했다. 최신 차량용 소프트웨어가 1억 라인 규모라 한다. 향후에는 전체 시스템에서 소프트웨어가 차지하는 비중이 50%를 훌쩍 넘을 것으로 예상되고 있다. 무인항공기, 자율주행차 등 기능이 고도화됨에 따라 소프트웨어는 점점 복잡해지고 그 비중은 꾸준하게 증가할 것이다.

소프트웨어 비중이 증가하고, 점점 복잡해짐에 따라 필자가 예로 든 렉서스 차량처럼 소프트웨어 오류로 인해 사고가 많이 발생하고 있다. 이로 인해 인적 물적 피해가 증가하는 추세다. 1980년대 말 캐나다서 만든 종양제거 방사선 치료기인 테락(Therac)-25 사고, 1996년 유럽연합 로켓인 아리안(Ariane) 5호 폭발사고, 2003년 발생한 미국 동북부 정전사고 등이 SW 오류사고의 대표적인 예이다. 이로 인해 인명피해 또는 수십억 규모의 경제적 손실이 발생한 바 있다.

이를 방지하기 위해 최근 소프트웨어 안전성 확보의 중요성이 대두되고 있다. 소프트웨어 품질 확보를 위한 다양한 노력들이 이뤄지고 있다. 필자가 속한 연구그룹에서는 안전한 소프트웨어를 만들기 위해 노력중이다. 항공 분야 인증 기준인 DO-178B 등을 준수한 소프트웨어 개발, 수학적 검증을 통한 소프트웨어 무결성 증명, 보안 등 취약점을 분석하고 대응하기 위한 방법론 연구, 소프트웨어 오류가 발생했을 때 시스템 사고로 이어지지 않도록 하는 기술 등을 중심으로 연구개발 중이다. 특히 운영체제 및 하이퍼바이저 기술 등과 같이 시스템 구동에 기본이 되는 ‘시스템 소프트웨어’ 기술도 연구 중이다. 시스템을 구동할 때 가장 초기에 구동되며 시스템 관리를 위해 항상 실행되는 시스템 소프트웨어부터 안전성을 확보함으로써 안전한 시스템 구축의 기반을 마련하고자 함이다.

필자는 지난 3~4년간 안전성을 지원하는 실시간 운영체제 기술을 개발하면서, 해당 기술이 산업 전반에 활용되도록 노력을 기울여 왔다. 하지만 아직은 외산 기술이 시장의 90%이상을 점유하고 있다. 그동안 소프트웨어 사용자들은 외국산에 익숙해졌고 오랫동안 사용하다 보니 안정성도 증명돼 소프트웨어 교체를 생각지 않는다. 다행히 우리나라에서도 소프트웨어 안전성에 대한 인식은 점점 높아지고 있다. 관련 산업계 또한 국내 기술로 안전성 확보 노력이 필요하다는 시각이다. 우리의 소프트웨어 기술이 국방·항공 분야에 선제적으로 적용돼 기술력을 인정받아 산업전반에 우리의 소프트웨어로 안전을 담보하는 세상을 꿈꿔본다.
저작권자 © 충청투데이 무단전재 및 재배포 금지