[ET단상]SW에도 봄(BoM)이 필요하다

[ET단상]SW에도 봄(BoM)이 필요하다

소프트웨어(SW) 개발 과정에서 생산성과 경쟁력을 높이기 위해 외부의 오픈소스를 활용하는 비율이 가파르게 늘고 있다. 통계에 따르면 기업의 90% 이상이 오픈소스를 활용하고 개발된 애플리케이션의 오픈소스 사용률도 70%가 넘는다고 한다. 오픈소스 종류와 규모도 폭발적이다. 깃허브 기준으로 오픈소스 프로젝트는 2020년 1억9000만개를 넘어섰고, 매일 1만개 이상의 새로운 오픈소스 프로젝트가 생겨난다. 오픈소스 활용에는 두 가지 리스크가 있다.

하나는 라이선스 리스크다. 대부분 자유롭게 오픈소스를 사용하지만 의무 사항이 있다. 가령 내가 오픈해서 사용했으니 가져간 사람도 수정된 코드를 동일하게 오픈해야 한다는 것이 GPL 라이선스 요구다. 로열티보다 의무 조항이 대부분이다. 국내 H사는 고스트스크립트 오픈소스 공개 지침을 놓쳤다가 소송 취하에만 25억원을 배상한 적도 있다. 또 하나는 보안 취약 리스크다. 알려진 오픈소스의 취약점인 CVE만 15만여개이고, 매일 50개 이상 신규 취약점이 보고된다. 보안 취약점에 대한 검증을 거치지 않고 오픈소스를 활용하는 경우 여러 위험에 노출되기 쉽다.

리스크를 방지하기 위해서는 3rd Party SW나 오픈소스 사용 현황을 파악해야 한다. 하지만 오픈소스 대부분은 내용을 조금씩 수정해서 사용하는 경우가 많고, 각 오픈소스는 또 다른 오픈소스를 사용하는 등 복잡하게 얽혀 있어 출처를 찾기가 쉽지 않다. 고려대 보안연구소 CSSA에서 발표한 연구 결과에 따르면 깃허브 스타 상위 1만개의 오픈소스를 분석했을 때 오픈소스 컴포넌트를 부분 사용 또는 수정 사용이 95%에 이르고 있다는 보고가 있었다.

하드웨어의 경우 생산자가 원재료 명세서인 BoM(Bill of Materials)을 필수로 제공하면서 결함 부품 발견 시 영향 받은 제품 환경을 정확히 파악하고 보완한다. 그동안 SW에서도 BoM을 기반으로 해서 불량 부품을 찾아내는 방식대로 문제가 있는 SW 구성 요소의 관리 노력을 해 왔다. 특히 리눅스 파운데이션은 오픈소스의 안전한 공급 환경과 컴플라이언스 관리를 위해 'OpenChain' 프로젝트를 주도해 왔다.

오픈소스 컴플라이언스 활동의 기본은 공급 대상 SW에 포함된 오픈소스 현황 파악이고, 이는 SW BoM을 기반으로 한다. 애플리케이션에 BoM이 없거나 부정확하면 라이선스 점검은 물론 중요한 보안 취약점 패치와 긴급 업데이트가 필요할 때 추적이 어려워 리콜에 해당하는 SW 업데이트를 수행할 방법이 없다. 2014년에 HTTPS와 VPN 등 인터넷 보안의 많은 부분에서 의존한 OpenSSL SW의 취약점인 하트블리드가 공개됐고, 마이크로소프트에서는 문제 해결에 꼬박 6개월이 소요됐다.

안전한 SW 생태계를 위해 정확한 SW 부품명세서(SBoM)를 확보하는 일이 무엇보다 중요하다. 해외에서는 이미 SW 구성 명세서인 SBoM의 중요성을 인지하고 전문 서비스업체 출현은 물론 제도를 통해 앞서 나가고 있다. 미국 정부는 2014년 사이버 공급망과 특별법을 통과시켰다. 연방정부에서 조달하는 모든 제품의 SW에 대해서는 SW 구성 명세를 제공하고 취약점이 없음을 입증하도록 강제했으며, 2020년 말 모든 IoT 기기로 범위를 확대하는 법안을 통과시켰다.

국내에서도 최근 SBoM을 찾아주는 서비스가 생겨나 안전한 생태계 조성에 도움을 주고 있다. 그렇다면 SW BoM을 확보하고 점검하는 일은 누구의 몫일까. SW 생태계의 공급을 담당하는 SW 생산자는 물론 수요 측에 있는 사용자도 동등한 점검의 몫을 수행해야 SW 생태계의 균형과 안정을 이룰 수 있을 것이다. 즉 SW 서플라이체인의 모든 참여자가 각자 역할을 해야 SW의 안전성을 강화할 수 있다.

인공지능, 자율주행 시대가 다가올수록 SW의 안전한 활용은 필수다. 디지털 강국으로 가는 기초를 탄탄히 해서 SW를 안심하게 활용할 수 있어야 한다. 출발점은 정확한 SW BoM을 공유하는 일이다. 이는 공급자, 수요자, 정부 모두 관심을 기울여서 만들어야 할 일이기도 하다. 매일 이용하는 작은 식당조차 식재료의 원산지 표기 의무화를 통해 먹거리 안전성을 지향하듯이 디지털 가속화 시대에 SW의 BOM 표기는 너무나 당연한 일이다.

김진석 아이오티큐브 대표 jskim0957@iotcube.com