[디지털데일리 이종현기자] “오픈소스 소프트웨어(SW)는 세상을 움직이는 근간이 됐습니다. 오늘날 약 4000만개 이상의 오픈소스 SW 컴포넌트가 존재하는데, 2026년이면 10배수 이상으로 늘어날 것으로 전망됩니다. 하지만 오픈소스 패키지 중 상당수는 취약성을 품고 있다. 이는 엄청난 리스크입니다.”(브라이언 벨렌도르프 오픈SSF 대표)
<디지털데일리>가 20일부터 21일까지 이틀간 차세대 기업 보안 버추얼 컨퍼런스 [NES 2022]를 개최했다. 21일에는 리눅스 재단의 산하 프로젝트 오픈소스 보안 재단(Open Source Security Foundation, 이하 오픈SSF)의 대표 브라이언 벨렌도르프가 협업을 통해 오픈소스 SW 공급망을 안전하게 만드는 방법에 대해 발표했다.
오픈소스 SW는 공개돼 있어 누구나 자유롭게 확인, 수정, 배포할 수 있는 소스코드(Source code)를 뜻한다. 저작권자에 허락한 범위 내에서 자유롭게 사용할 권리가 있다. 컴퓨터 운영체제(OS) ‘리눅스(Linux)’가 대표적이다.
브라이언은 “오픈소스 SW는 혁신을 가속화한다. 어디에나 있고 세상을 움직이는 근간이 됐다. 현재 약 4000만개 이상의 오픈소스 SW 컴포넌트가 존재하는데, 주요 리포지토리에서 1년에 약 2조개의 패키지나 다운로드되고 있다”고 말했다.
소나타입(Sonatype)의 SW 공급망 보고서에 따르면 현대 애플리케이션(앱)의 90%가 오픈소스를 사용 중이다. 전 세계 주요 플랫폼 대부분에 오픈소스가 사용되는 중이다.
하지만 이처럼 높은 활용도는 보안 취약성으로 인한 위험도의 증가로 이어진다. 소나타입은 잘 알려진 오픈소스 패키지 중 약 29%가 취약성을 포함하고 있다고 발표했다. 직접적으로 소스코드에 공개적으로 알려진 SW 보안 취약점(CVE)이 있는 등의 경우다.
브라이언은 “단순히 코드 안에 내포돼 있는 버그를 수정하는 것만이 전부가 아니다. 우리는 공급망에 포함된 버그를 고치는 것을 생각해야 하고, 이런 SW가 어떻게 움직이는지도 생각해 봐야 한다”며 “구축을 진행하는 팀이나 배포 시점부터 사용자에게 도달할 때까지 모든 과정에서 취약성이 숨어 있다”고 피력했다.
그는 대표적인 사례로 정보기술(IT) 운영·관리 솔루션 기업 솔라윈즈(SolarWinds)와 아파치의 로깅 프레임워크 로그4j(log4j) 사례를 언급했다.
솔라윈즈의 주요 소스 취약성으로 빌드 서버가 공격당했고, 소스코드가 안전한 것처럼 보였지만 결과적으로 구축된 최종 결과물은 매우 취약했다는 설명이다. 또 로그4j는 여전히 많은 기업들이 해결하지 못한, 시한폭탄으로서 존재하고 있다.
브라이언은 “오픈소스 SW는 그 어느 때보다도 많은 곳의 근간이 됐고, 주요 인프라 배포의 중심으로 자리잡았다. 보안은 점점 더 중요해지고 있다. 로그4j와 같은 작은 결점도 큰 영향을 줄 수 있다”며 “우리는 지금이 이 문제를 해결하는 데 집중해야 할 때라고 생각했다”고 피력했다.
오픈SSF는 리스크가 높은 SW 프로젝트를 찾고 우선순위를 부여하는 등, 오픈소스 생태계에서의 보안 문제를 해결하는 데 집중하고 있다. 특정한 프로젝트에 대해 감사를 진행하거나 팀을 구성해 빌드를 지원하고 버그를 수정할 수 있도록 돕거나, 더 나은 SW 개발을 위한 관행 등 여러 방법론을 실천 또는 구상 중이다.
자동화된 보안 툴을 통해 소스코드를 스캔해 프로젝트 내에 신규 악성 요소를 찾는 등의 방법도 논의되고 있다.
오픈SSF가 보안 문제를 해결하기 위해 가장 중점을 두고 있는 것은 교육이다. 개발자라면 누구나 들을 수 있는, 15~20시간 분량의 코스로 구성됐다. 교육을 끝마치면 최후에 퀴즈가 있고, 이를 통과하면 인증을 받는 방식이다.
브라이언은 “해당 교육 코스의 목적은 소스코드를 개발할 때 방어적으로 코드를 개발하도록 하기 위함이다. 오픈소스 개발자로서 자신이 만든 소스코드가 해커에 의해 어떻게 악용될 수 있는지, 누군가의 나쁜 의도가 어떻게 작용할지 예측하도록 돕는 것”이라고 말했다.
이어서 “정말로 중요한 것은 역사적으로 어떤 종류의 오픈소스 패키지를 공격의 대상으로 삼았는지 이해하도록 돕는 것이다. SW 개발자는 제품을 디자인할 때 어떤 방법을 사용해야 사용자가 직면할 리스크를 최소화할 수 있는지를 생각해야 한다”며 “교육이 시작된지는 1년 정도가 지났다. 수천명의 개발자가 코스를 수료했는데, 우리는 이 과정이 필수 과정으로 오픈소스 SW 개발자에게 요구되기를 바란다”고 부연했다.