SBOM: 소프트웨어 보안과 관리의 새로운 기준

와치텍

오늘날 소프트웨어는 다양한 시스템과 연결되어 있으며, 오픈소스 소프트웨어 활용도 빠르게 늘어나고 있습니다. 오픈소스는 개발 속도를 높이고 비용을 줄이는 데 유용하지만, 동시에 보안 취약점 관리가 중요해지면서 소프트웨어 구성 요소를 명확히 파악할 수 있는 SBOM의 필요성이 커지고 있습니다.

이 글의 핵심
  • SBOM은 소프트웨어를 구성하는 라이브러리, 프레임워크, 모듈 등 구성 요소를 나열한 소프트웨어 자재 명세서입니다.
  • 구성 요소의 이름, 버전, 라이선스, 개발자 정보 등을 확인할 수 있어 보안성, 신뢰성, 유지보수 가능성을 높이는 데 도움이 됩니다.
  • SBOM은 SCA, SAST, DAST와 같은 보안 테스트 도구와 연계되어 소프트웨어 공급망 보안 관리에 활용됩니다.

소프트웨어 보안, 어떻게 접근해야 할까요?

오늘날 소프트웨어는 다양한 시스템과 연결되어 있으며, 특히 오픈소스 소프트웨어를 많이 사용하는 추세입니다. 오픈소스는 개발 속도를 높이고 비용을 절감하는 데 유용하지만, 동시에 보안 취약점의 위험도 존재합니다.

이러한 이유로, 소프트웨어가 어떤 구성 요소로 만들어졌는지 명확히 알 수 있는 체계가 그 어느 때보다 중요해지고 있습니다.

소프트웨어 보안의 출발점은

내가 사용하는 소프트웨어가 무엇으로 구성되어 있는지 아는 것입니다.

SBOM의 정책 및 국내 동향

SBOM은 최근 몇 년간 소프트웨어 보안과 투명성을 강화하기 위한 주요 정책의 일환으로 떠오르고 있습니다.

국내에서는 SBOM 표준화 작업이 활발히 진행되고 있습니다. 정부는 SW 공급망 보안 강화를 위한 가이드라인을 발표하고, 이를 디지털플랫폼 정부 시스템에 시범적으로 적용하는 등 SBOM의 활용을 촉진하는 정책을 시도하고 있습니다.

또한 한국인터넷진흥원(KISA)은 소프트웨어 공급망 보안 강화를 위해 보안 취약점 관리 체계를 구축하고 있으며, 최근 몇 년 동안 보안 취약점에 대한 경고와 대응 방안을 강화해왔습니다.

SBOM이란?

SBOM(Software Bill of Materials, 소프트웨어 자재 명세서)은 소프트웨어를 구성하는 모든 라이브러리, 프레임워크, 모듈 등의 구성 요소를 나열한 목록입니다.

이 목록은 각 소프트웨어 구성 요소의 이름, 버전, 라이선스, 개발자 정보 등 다양한 정보를 포함하고 있어, 소프트웨어의 보안성, 신뢰성, 유지보수 가능성을 높이는 데 중요한 역할을 합니다.

SBOM의 개념적 구조를 설명하는 이미지

SBOM의 개념적 구조 예시 출처: NIPA 글로벌ICT포털

SBOM의 핵심 역할

SBOM은 소프트웨어가 어떤 구성 요소로 만들어졌는지 투명하게 보여주고, 특정 구성 요소에서 보안 취약점이 발견되었을 때 영향을 받는 범위를 빠르게 확인할 수 있도록 돕습니다.

SBOM의 주요 구성 요소

SBOM은 소프트웨어 구성 요소를 단순히 나열하는 것을 넘어, 각 구성 요소를 식별하고 관리하는 데 필요한 정보를 함께 포함합니다.

SBOM의 주요 구성 요소 설명 이미지

SBOM의 주요 구성 요소

  • 구성 요소 이름: 소프트웨어에 포함된 라이브러리, 프레임워크, 모듈 등의 이름을 확인할 수 있습니다.
  • 버전 정보: 각 구성 요소가 어떤 버전으로 사용되고 있는지 확인하여 취약점 영향 범위를 파악할 수 있습니다.
  • 라이선스 정보: 오픈소스 사용 시 준수해야 할 라이선스 조건을 확인할 수 있습니다.
  • 개발자 및 공급자 정보: 구성 요소의 출처와 관리 주체를 확인해 공급망 관리에 활용할 수 있습니다.
  • 취약점 연계 정보: 알려진 보안 취약점과 연결해 위험 여부를 빠르게 점검할 수 있습니다.

다시 말해, SBOM은 소프트웨어가 어떤 재료들로 만들어졌는지 투명하게 보여주면서, 보안 취약점이 발견되었을 때 어떤 구성 요소가 문제인지 빠르게 확인하고 대응할 수 있도록 도와줍니다.

그렇다면 SBOM은 어떻게 활용될까요?

SBOM이 보안 테스트 도구와 연계되어 활용되는 이미지

SBOM 활용 이미지 출처: Freepik

현재 SBOM을 지원하는 다양한 도구들이 등장하고 있으며, 한국을 포함한 전 세계에서 활발히 활용되고 있습니다.

CycloneDX와 SPDX는 SBOM 표준으로, 소프트웨어의 구성 요소에 대한 정보를 구조적으로 제공합니다. Syft는 컨테이너와 Docker 이미지에서 SBOM을 생성하는 오픈소스 도구입니다.

이러한 SBOM 정보는 보안 테스트 도구인 SCA(소프트웨어 구성 분석), SAST(정적 애플리케이션 보안 테스트), DAST(동적 애플리케이션 보안 테스트)와 연계되어 활용됩니다.

보안 테스트 도구와의 연계

SCA는 SBOM에 포함된 구성 요소들의 취약점을 분석하고, SAST와 DAST는 소스코드와 실행 환경에서 발생할 수 있는 취약점을 식별합니다. 이를 통해 소프트웨어 공급망 전반의 위험을 더 체계적으로 관리할 수 있습니다.

마무리하며

결론적으로, SBOM은 소프트웨어의 투명성을 높이고 보안 취약점에 빠르게 대응할 수 있도록 돕는 중요한 도구입니다.

한국을 포함한 세계 여러 국가에서 SBOM의 도입과 관련된 정책이 강화되고 있으며, 기업들은 이를 통해 소프트웨어 보안 관리에 큰 이점을 얻을 수 있습니다.

SBOM 관련 도구와 기술은 기업들이 보안 리스크를 효과적으로 관리하는 데 큰 도움이 되며, 앞으로도 SBOM 활용은 더욱 확대될 것입니다.

소프트웨어 공급망 보안과 구성 요소 관리를 체계화하고 싶다면, 와치텍의 기술 인사이트를 확인해보세요.

문의하기

 

목록
KR · EN