오픈소스 SW동향

오픈소스SW 동향 상세
[10월 기고] 오픈소스 소프트웨어의 신뢰성 확보
  1. 작성일 :
  2. 2018.10.01
  3. 작성자 :
  4. ossf
  5. 조회수 :
  6. 713

오픈소스 소프트웨어의 신뢰성 확보

류연승(명지대학교 교수)

4차 산업혁명 시대는 소프트웨어 기술이 개인, 기업, 국가의 경쟁력이 되는 시대이다. 모든 산업에 소프트웨어가 폭넓게 사용되면서 산업체에서는 오픈소스 소프트웨어 (Open Source Software : 이하 OSS)의 개발 능력을 갖춘 인재를 구하고 있으며 대학에서도 OSS 관련 교과목이 개설되는 추세이다. 미국 블랙덕(Blackduck) 사에 따르면 현재 상업용 어플리케이션 중 96%에 OSS가 사용되고 있다고 한다. OSS를 사용하는 이유는 해당 코드를 직접 개발하려면 개발 인력을 보강해야 하고 개발 시간이 더 소요되기 때문에 OSS를 사용하는 것이 경제적이기 때문이다.

그런데 소프트웨어는 사람이 개발하기에 오류나 결함을 내포할 가능성이 높다. 다양한 방법으로 오류를 최소화하고 신뢰성 확보를 위해 노력하지만 소프트웨어로 인한 안전 사고, 해킹 사고가 빈번히 발생하고 있다. 소프트웨어 오류로 인한 안전 사고의 예를 들면, 1996년 유럽우주국에서 발사한 아리안 5(Ariane 5) 로켓은 발사 36초 후 폭발했는데 경로 변경과정에서 잘못된 계산으로 발생한 소프트웨어 오류가 원인이었다. 2009년 미국에서 도요타 차량이 고속도로 운전 중 급가속하여 탑승한 일가족이 사망하였고 이로 인해 차량 1000만대가 리콜된 사고의 원인도 소프트웨어 오류이었다. 2014년 미국 LA 공항에서는 관제 시스템이 고도와 속도를 계산하는 과정에서 오류가 발생하여 비행기의 이착륙이 중단되었다.

소프트웨어의 보안취약점으로 인한 해킹 사고의 예를 들면, 2017년 미국의 3대 신용평가사인 에퀴팩스(Equifax)의 웹 사이트가 해킹되어 약 1억 4천만명에 달하는 고객의 개인정보가 유출되었다. 이처럼 개인정보를 유출한 회사는 고객들로부터 소송을 당하게 되고 CEO가 사임하게 된다. 2013년에도 해킹으로 고객정보가 유출된 미국 대형 유통업체 타깃(Target)도 CEO가 책임지고 사임하였다. 이렇듯 회사 경영에 막대한 손실을 끼치는 해킹사고의 원인은 놀랍게도 OSS의 보안 취약점 때문이다. 에퀴팩스의 웹 사이트는 OSS인 아파치(apache) 스트러츠(struts)의 보안 취약점으로 해킹 당했으며 아파치 스트러츠는 2018년에도 보안 취약점이 계속 공개되고 있어 해커의 공격 대상이 되고 있다. 이뿐만이 아니다. 대표적 OSS인 리눅스 커널에서도 보안 취약점이 꾸준히 발견되고 있다. 2016년에는 리눅스 커널의 Dirty COW (Copy-on-Write) 취약점(CVE-2016-5195)이 발견되어 큰 화두가 되었는데, 악의적인 해커는 이 취약점을 이용하여 루트 권한을 취득할 수 있다. 루트 권한을 취득하게 되면 컴퓨터에 저장되어 있는 개인정보, 지적재산권 정보 등 중요 데이터를 탈취하거나 시스템을 제어하여 인명 사고까지 이어질 수 있다.

얼마전 시놉시스(Synonsys) 사가 발표한 보고서에 따르면, 2017년에 발견된 OSS 보안 취약점은 약 4800개 이상이며, OSS를 사용하는 어플리케이션의 보안 취약점 발견률은 약 78%라고 보고하였다. 또한, 보안취약점이 공개된 이후에도 패치되지 않고 지난 시간의 평균이 6년이라고 보고하였다. 이처럼 OSS의 취약점이 잘 개선되지 않는다는 점을 해커들은 잘 알고 있으며 집중적인 공격 대상으로 삼는다. 이처럼 OSS에 대한 신뢰성 문제가 증가하고 있음에도 OSS 개발자 및 사용자는 소프트웨어 신뢰성 확보에 대한 인식이 부족하다. OSS 개발팀은 개발과정에 신뢰성 확보 프로세스를 내재화하여야 한다. 안전한 코딩 규칙(secure coding rule)을 준수하여 개발하여야 하며, 소스 코드에 오류와 취약점이 없는 지 점검하여야 한다. 신뢰성 점검의 정확성과 효율성을 위해 정적시험, 동적시험 등을 수행해주는 신뢰성 검증 자동화 도구를 사용하면 좋다. 또한, OSS 사용자는 해당 OSS의 보안 취약점이 발표되는 지 항상 살펴보고 보안 업데이트를 실행하여야 한다.

OSS가 오류나 보안 취약점이 없을 것이라고 맹신해서는 안된다. 비용 절감을 위해 사용한 OSS로 인해 안전 사고나 보안 사고가 발생하면 사고 수습을 위해 더 큰 비용이 발생할 것이다. OSS의 많은 장점을 살리려면 이제는 소프트웨어 신뢰성 확보 방안을 논의할 때이다. 소프트웨어 신뢰성 기술 개발, 인재 양성, 산업 육성을 통해 우리의 신뢰성 있는 OSS로 안전한 소프트웨어 중심 사회가 이루어지길 희망해본다.

  1. 첨부파일
이전글, 다음글
이전글 [국내기사] KT, '플랫폼 API' 한 곳에 다 모아 제공한다
다음글 [해외기사] ARM, 오픈소스 저전력 블루투스 소프트웨어 스택 공개

목록