이 리포트는 오픈 소스 소프트웨어와 공급망 보안의 중요성을 중점적으로 다루고 있습니다. 오픈 소스 소프트웨어는 많은 기업에서 널리 사용되고 있으나, 보안 취약점과 공급망 공격 문제가 증가하고 있습니다. 대표적인 사례로 소프트웨어 공급망 보안 기업인 Sonatype이 발견한 악성코드 '파이토일러'와 XZ Utils의 백도어 사건이 있습니다. 이러한 문제 대응을 위해 SBOM(Software Bill of Materials)의 활용이 강조되고 있습니다. SBOM은 소프트웨어 구성 요소의 투명한 관리를 통해 보안 취약점 식별과 대응을 가능하게 합니다. 각국의 정책을 통해 SBOM 도입이 점차 의무화되고 있으며, 이는 기업들이 오픈 소스 소프트웨어의 보안 관리를 강화할 수 있도록 돕고 있습니다.
오픈 소스 소프트웨어는 사용자가 소프트웨어의 소스 코드를 열람하고 수정할 수 있는 프로그램을 말합니다. 이는 개발자들이 협업하여 소프트웨어를 개선하고, 누구나 무료로 사용할 수 있도록 합니다.
2024년 현재, 많은 기업들이 오픈 소스 소프트웨어를 채택하고 있습니다. 가트너는 기업, 기관이 사용하는 소프트웨어의 90% 이상이 오픈 소스 종속성을 포함하고, 74%는 고위험 종속성을 포함하고 있다고 보고하였습니다.
1990년대부터 시작된 오픈 소스 소프트웨어의 발전 과정은 2000년대 중반부터 본격화되었습니다. IT 산업의 급속한 확장과 인터넷의 발전으로 누구나 소프트웨어를 만들 수 있는 환경이 조성되었습니다. 이후, AI 기술의 발달로 소프트웨어 자동 생성이 가능해졌습니다. 오늘날 오픈 소스 소프트웨어는 다양한 산업 분야에서 광범위하게 사용되고 있으며, 이는 비용 절감과 개발 효율성 향상에 기여하고 있습니다.
공급망 보안은 기업의 IT 인프라와 소프트웨어 개발 과정에서 발생할 수 있는 모든 위협을 분석하고 대처하기 위한 전략을 의미합니다. 최근 악성코드가 포함된 공개 소프트웨어를 통해 기업이 해킹당하는 사건이 증가하면서, 이를 해결하기 위한 공급망 보안이 더욱 중요해지고 있습니다.
공급망 보안에 대한 위협은 여러 가지가 있으며, 그 중 대표적인 사례로는 다음과 같은 것들이 있습니다: 1. 소프트웨어 공급망에서의 악성코드 발견: 예를 들어, 2024년 5월, 소프트웨어 공급망 보안 기업 소나타입이 PyPI에서 악성코드 '파이토일러'(Pytoileur)를 발견했습니다. 이 악성코드는 사용자 감시 및 정보 탈취 기능을 가지고 있습니다. 2. XZ Utils의 백도어 사건: 2024년 3월, 인기 압축 라이브러리 XZ Utils에서 ssh를 통해 인증 없이 root 권한으로 로그인할 수 있는 백도어가 발견되었습니다. 이는 한 기여자가 의도적으로 삽입한 것으로 밝혔습니다.
기업들이 오픈 소스 소프트웨어를 사용할 때, 공급망 보안을 고려하지 않으면 심각한 피해를 입을 수 있습니다. 예를 들어, 2024년 1월, 젠킨스에서 발견된 취약점(CVE-2024-23897)은 인증되지 않은 공격자가 임의의 파일을 읽을 수 있게 하는 것이었습니다. 젠킨스를 사용하는 수많은 개발 회사에 위협이 되었으며, 이 취약점이 발견된 후에도 45,000대 이상의 젠킨스 서버가 여전히 취약한 상태였습니다. 따라서 기업들은 오픈 소스 소프트웨어의 보안 취약점을 신속히 파악하고 대응하기 위해 SBOM(Software Bill of Materials)을 도입하고 관리할 필요성이 있습니다.
최근 소프트웨어 공급망 보안기업 소나타입(Sonatype)은 2024년 5월, 파이썬 패키지 저장소인 PyPI에서 악성코드 '파이토일러(Pytoileur)'를 발견했습니다. 이 악성코드는 사용자 감시와 정보 탈취, 그리고 암호화폐 탈취 등의 기능을 가지고 있으며 발견 당시 이미 300회 이상의 다운로드가 이루어진 상태였습니다.
2024년 3월 29일, 마이크로소프트의 엔지니어는 인기 있는 압축 라이브러리인 XZ Utils에서 악성코드를 발견했습니다. 이 악성코드는 LZMA 압축 알고리즘을 제공하는 liblzma에 ssh에서 인증 없이 root 권한으로 로그인할 수 있는 백도어가 포함되어 있었으며(CVE-2024-3094, CVSS 10.0), 이 백도어는 2024년 2월 24일 출시된 XZ Utils 5.6.0 버전에서 처음 발견되었습니다. 조사 결과, 이 백도어는 기여자 'Jia Tan'에 의해 고의로 삽입된 것으로 드러났습니다.
2024년 1월에는 CI/CD용 공개 소프트웨어인 젠킨스(Jenkins) 일부 버전에서 인증되지 않은 공격자가 명령어 인터페이스(CLI)를 통해 젠킨스의 컨트롤러 파일 시스템에서 임의의 파일을 읽을 수 있는 취약점(CVE-2024-23897, CVSS 9.8)이 발견되었습니다. 이 취약점은 공격자가 서버에서 중요한 정보를 읽거나 원격 코드를 실행할 수 있는 위험을 초래했습니다. 젠킨스는 2024년 1월 24일에 이를 패치했으나, 1월 29일 기준으로 여전히 45,000대 이상의 젠킨스 서버가 취약한 상태라고 조사되었습니다. 또한, 팀시티(TeamCity)에서도 2023년 9월 원격 코드 실행 취약점(CVE-2023-42793, CVSS 9.8)이 발견되어 이를 악용한 침해사고가 발생했습니다.
SBOM(소프트웨어 자재 명세서)은 오픈소스 소프트웨어의 구성 요소 및 라이선스 정보를 관리하기 위한 문서로, 소프트웨어 공급망에서의 투명성을 높이는 데 중요합니다. SBOM은 마치 음식의 성분표와 같은 역할을 하여, 사용자가 소프트웨어의 보안 취약점을 식별하고 적절히 대응할 수 있도록 도와줍니다.
SBOM 관리체계를 통해 오픈소스 소프트웨어의 라이선스 문제 및 보안 취약점을 신속하게 파악할 수 있습니다. 예를 들어, SBOM을 통해 사용 중인 오픈소스 SW를 신속히 식별하고, 이에 대한 보안 대책을 수립하는 것이 가능해집니다. 이렇게 함으로써, 조직은 오픈소스 소프트웨어 사용 시 발생할 수 있는 여러 문제를 미리 예방할 수 있습니다.
SBOM의 국제 표준으로는 SPDX 기반의 문서 형식, CycloneDX, SWID 등이 있습니다. 각 표준은 오픈소스 SW의 보안 및 라이선스 관리에 대한 요구 사항을 다르고 있으며, 기업은 각자의 상황에 맞는 표준을 선택하여 활용할 수 있습니다. 이 표준들은 오픈소스 소프트웨어의 투명성과 관리를 증진하는 데 중점을 두고 있습니다.
미국에서는 바이든 정부의 행정명령(EO 14028)으로 연방정부에 납품되는 소프트웨어에 대해 SBOM(Software Bill of Materials) 제공을 의무화하고 있습니다. 이와 함께 2023년 3월에는 식품의약국(FDA)에서 의료기기의 사이버 보안을 강화하기 위해 FDA에 승인을 요청하는 모든 제조사에 대해 장치의 공개 소프트웨어 및 상용 소프트웨어의 구성요소 목록을 포함하는 SBOM을 제공하도록 요구하고 있습니다.
유럽연합에서는 사이버 복원력 법(Cyber Resilience Act, CRA) 제정안을 발의하여 역내에 공급되는 디지털 기기의 SBOM 제출을 의무화하고 있습니다. 이는 각국의 디지털 안전성을 높이기 위한 조치로, 공급망의 투명성을 확보하는 데 중요한 역할을 하고 있습니다.
한국에서는 과학기술정보통신부와 국가정보원, 디지털플랫폼정부위원회가 공동으로 2024년 5월에 「SW 공급망 보안 가이드라인」을 발표했습니다. 이 가이드라인은 공급망에서의 보안 취약점을 다루고 있으며, 기업들이 SBOM을 활용해 소프트웨어 구성 명세서를 작성하고 이를 기반으로 공급망 보안을 강화할 수 있도록 지침을 제공합니다.
리포트는 오픈 소스 소프트웨어와 공급망 보안의 중요성과 이를 보완할 수 있는 방법들을 제시합니다. 이러한 보안 문제는 기업이 큰 피해를 입을 수 있음을 사례를 통해 보여줍니다. 특히 SBOM(Software Bill of Materials)의 도입과 관리가 필수적이며, 보안 관리의 신속성과 효과성을 높이는 역할을 합니다. Sonatype과 같은 보안 기업의 연구는 이러한 문제의 심각성을 조명하는 데 기여합니다. 또한, CVE-2024-23897과 같은 취약점은 기업의 안전성을 위협할 수 있기 때문에 각국의 정책 및 지침이 마련되고 있으며, 기업들은 이에 대한 적절한 대비책을 갖춰야 함을 강조합니다. 미래에는 오픈 소스 소프트웨어의 안전한 활용을 위해 SBOM의 활용과 지속적인 관리, 점검이 더욱 중요해질 것입니다. 이를 통해 기업들은 보다 안전한 소프트웨어 환경을 조성할 수 있습니다.