Industry Issue

SBOM은 무엇인가?

Software Risk Analysis
작성자
관리자
작성일
2024-05-09 11:16
조회
105

SBOM은 무엇인가?

 

SBOM(Software Bill of Materials, 소프트웨어 자재 명세)은 코드베이스에 있는 모든 오픈소스 및 써드파티 구성 요소의 목록입니다. 또한 SBOM에는 해당 구성 요소를 관리하는 라이선스, 코드베이스에 사용되는 구성 요소 버전, 패치 상태가 나열되어 있어 보안팀이 관련 보안 또는 라이선스 위험을 신속하게 식별할 수 있습니다.

SBOM의 개념은 제조에서 파생되었으며 BOM(자재 명세서)은 제품에 포함된 모든 항목을 자세히 설명하는 목록입니다. 예를 들어, 자동차 산업에서 제조업체는 각 차량에 대한 자세한 BOM을 유지합니다. 이 BOM에는 원래 장비 제조업체에서 자체 제작한 부품과 써드파티 공급업체의 부품이 나열되어 있습니다. 결함이 있는 부품이 발견되면 자동차 제조업체는 어떤 차량이 영향을 받는지 정확하게 파악하고 차량 소유자에게 수리 또는 교체가 필요함을 알릴 수 있습니다.

마찬가지로, 소프트웨어를 구축하는 현명한 조직은 코드의 품질이 높고 규정을 준수하며 안전하다는 것을 보장하기 위해 써드파티 및 오픈소스 구성 요소의 목록을 포함하는 정확한 최신 SBOM을 유지 관리합니다.

 

조직에 SBOM이 필요한 이유는 무엇입니까?

Codecov, Kaseya 및 가장 최근의 Apache Log4j와 같은 세간의 이목을 끄는 보안 위반(모두 공급망 공격)으로 인해 바이든 대통령은 연방 부서, 기관 및 정부와 사업을 하는 계약자가 소프트웨어를 보호하기 위해 어떻게 해야 하는지에 대한 지침을 자세히 설명하는 사이버 보안 행정 명령을 발표했습니다. 권장 사항 중에는 연방 정부에서 사용하는 소프트웨어 애플리케이션의 안전과 무결성을 보장하기 위한 SBOM에 대한 필수 요건이 있었습니다.

사이버 보안 행정 명령은 정부와 비즈니스를 수행하는 조직을 대상으로 하지만 SBOM을 포함한 이러한 지침은 모든 조직이 소프트웨어 애플리케이션을 구축, 테스트, 보안 및 운영하는 방법에 대한 사실상의 기준이 될 가능성이 높습니다. CISA는 최근 보안 소프트웨어 개발 증명 양식을 발표했습니다. 중요 인프라에 사용되는 소프트웨어 제공업체는 90일 이내에 완성된 양식을 제출해야 하며, 미국 정부와 거래하는 모든 소프트웨어 제공업체도 180일 이내에 동일한 내용을 제출해야 합니다.

소프트웨어를 구축하는 모든 조직은 코드베이스에 대한 SBOM을 유지 관리해야 합니다. 조직에서는 일반적으로 맞춤형 코드, 상용 기성 코드 및 오픈소스 구성 요소를 혼합하여 사용하여 소프트웨어를 만듭니다. 주요 소프트웨어 공급망 제공업체의 한 수석 설계자는 "우리는 100개가 넘는 제품을 보유하고 있으며 각 제품에는 수백에서 수천 개의 써드파티 및 오픈소스 구성 요소가 포함되어 있습니다."라고 말했습니다. SBOM을 통해 조직은 코드베이스의 모든 구성 요소를 추적할 수 있습니다.

 

SBOM에는 무엇이 포함됩니까?

SBOM은 오픈소스 구성 요소, 해당 오픈소스 구성 요소에 대한 라이선스 및 버전 정보, 해당 구성 요소에 알려진 취약점이 있는지 여부를 포함하는 코드베이스의 전체 인벤토리입니다.

 

오픈소스 구성 요소

개발자가 코드에 오픈소스 구성 요소를 사용합니까? 오픈소스는 개발 시간을 단축하고 실행 속도를 높이며 고객에게 제품을 수익성 있게 제공하는 데 도움이 됩니다. 2024년 OSSRA(오픈소스 보안 위험 및 분석) 보고서에 따르면 스캔된 코드베이스의 96%에 오픈소스가 포함되어 있었습니다.

오픈소스는 독점 코드만큼 위험하지는 않지만 적절하게 보호하지 못하면 조직의 전반적인 보안에 더 큰 위험이 따릅니다. 자신이 사용하는 오픈소스에 대해 많은 가시성을 갖고 있는 회사는 거의 없으며, 오픈소스 구성 요소가 포함된 정확한 최신 SBOM을 생성할 수 있는 조직은 더욱 적습니다. 포괄적인 SBOM에는 애플리케이션의 모든 오픈소스 구성 요소와 해당 구성 요소의 라이선스, 버전 및 패치 상태가 나열됩니다.

 

오픈소스 라이선스

귀하의 애플리케이션에 대한 오픈소스 구성 요소에 대한 라이선스가 허용적인지 아니면 바이러스성인지 알고 계십니까? 최고의 오픈 소스 라이선스 중 하나를 사용하고 있습니까, 아니면 일회용 변형을 사용하고 있습니까?

오픈소스 라이선스를 준수하지 않으면 기업은 소송 및 지적 재산(IP) 침해의 심각한 위험에 처할 수 있습니다. OSSRA 보고서에서 감사된 코드베이스의 53% 이상이 일반적으로 GNU General Public License와 관련된 오픈소스 소프트웨어 라이선스 충돌을 포함하고 있습니다. 이러한 갈등은 인수합병, 공급업체 분쟁, 유통 문제 등 심각한 영향을 미칠 수 있습니다. SBOM에는 귀하가 사용하는 구성 요소를 관리하는 오픈소스 라이선스가 나열되어 있으므로 법적 및 IP 위험을 정확히 찾아내고 평가할 수 있습니다.

 

오픈소스 버전

코드베이스의 오픈소스 구성 요소가 유지 관리되고 있는지 아닌지 알고 계십니까? 팀이 오래된 구성 요소, 최근 개발 활동이 없는 구성 요소 또는 코드를 유지 관리할 충분한 개발자 커뮤니티가 없는 프로젝트의 구성 요소를 사용하는 경우 운영 위험이 발생할 수 있습니다. 열악한 코드 품질, 안정성 및 유지 관리 문제 외에도 운영 위험은 보안 위험으로 이어질 수도 있습니다. 버그를 찾아 수정하는 개발자가 없으면 보안 결함을 찾아 공개하고 수정하는 개발자도 없으므로 위협 행위자의 표적이 되기 쉽습니다. SBOM은 코드의 오픈소스 구성 요소 버전 목록을 제공합니다. 이 목록은 오래되고 잠재적으로 안전하지 않은 코드를 사용하고 있는지 확인하는 데 도움이 됩니다.

 

오픈소스 취약점

사용 중인 오픈소스 구성 요소에 알려진 취약점이 있는지 알고 계십니까? OSSRA 보고서에 따르면 감사 대상 코드베이스 2,400개 중 81%에 공개 오픈소스 취약점이 하나 이상 있는 것으로 나타났습니다. Apache Struts  또는  OpenSSL에 악명 높은 영향을 미치는 취약점과 같은 소수의 오픈 소스 취약점만이 널리 악용될 가능성이 있습니다. 그러나 이러한 공격이 발생하면  2017년 Equifax 데이터 보안 침해 사건처럼 오픈소스 보안의 필요성이 첫 페이지 뉴스가 됩니다. Equifax 침해 사고의 주요 원인은 회사의 포괄적인 IT 자산 인벤토리가 부족했기 때문입니다. 즉, SBOM이 부족했습니다. " 이로 인해 Equifax가 네트워크에 취약점이 존재하는지 파악하는 것이 불가능하지는 않더라도 어려워졌습니다", “취약점을 찾을 수 없으면 패치할 수 없습니다.” 라고 사건에 대한 보고서에서는 결론지었습니다.

Log4j 와 같은 취약점은 SBOM 보유의 중요성을 강조하는 또 다른 교훈이 됩니다. Log4j와 같은 심각한 취약점이 공개되면 악의적인 행위자가 이를 악용하기 전에 패치를 구현하기 위한 경쟁이 시작됩니다. 매 순간이 중요한 상황에서 SBOM이 있으면 코드베이스의 위험을 신속하게 식별하고 평가하는 데 도움이 될 수 있습니다.

 

소프트웨어 자재 명세서는 어떻게 받나요?

Black Duck과 같은 강력한  소프트웨어 구성 분석 도구는 완전한 오픈 소스 SBOM을 생성할 수 있으며 써드파티 및 맞춤형 구성 요소를 포함하는 기능도 제공합니다. 가장 중요한 점은 소프트웨어 구성 분석 도구가 이러한 정보를 지속적으로 제공하여 오픈소스 위험에 대한 최신 정보를 얻을 수 있다는 것입니다.

오픈소스가 오늘날 애플리케이션 개발의 필수 구성 요소라는 점을 감안할 때 모든  소프트웨어 개발팀은 효과적인 소프트웨어 구성 분석 도구를 사용하여 코드의 오픈 소스 및 써드파티 구성 요소를 목록화해야 합니다.

오픈 소스 소프트웨어 사용에 수반될 수 있는 보안, 라이선스 및 운영 위험에 신속하게 대응하려면 SBOM을 유지하는 것이 중요합니다.

 

BlackDuck 더 알아보기 CLICK!!!

 

원문 게시일: 2024.03.17

원문 기고자: Fred Bals

출처: https://www.synopsys.com/blogs/software-security/software-bill-of-materials-bom.html

/about-us/inquiry/
https://www.youtube.com/@softflow2018
https://blog.naver.com/softflow_group
#