본문 바로가기

Dev/Article

소프트웨어 공급망 보안(Supply Chain Security)과 SBOM

1️⃣ 용어 정의

소프트웨어 공급망 보안(Software Supply Chain Security) 이란
애플리케이션을 구성하는 소스 코드, 오픈소스 라이브러리, 빌드 도구, CI/CD 파이프라인, 배포 아티팩트 전반에서 발생할 수 있는 보안 위협을 식별·차단하는 보안 전략입니다.

이 개념의 핵심 도구가 바로 SBOM (Software Bill of Materials) 입니다.

SBOM
“이 소프트웨어가 어떤 구성 요소들로 만들어졌는가”를 명시한 소프트웨어 구성 명세서입니다.


2️⃣ SBOM 개념도

출처 : https://scribesecurity.com/ko/sbom/#definition-of-software-bill-of-materials


3️⃣ 비교 도표: 기존 보안 vs 공급망 보안


구분 기존 애플리케이션 보안 공급망 보안 + SBOM
보안 범위 실행 코드 중심 의존성·빌드·배포 전 과정
취약점 대응 사후 대응 사전 식별 가능
오픈소스 관리 수동/부분적 자동 추적
영향 범위 파악 어려움 SBOM 기반 즉시 파악
규제 대응 제한적 정부/기업 규제 충족

4️⃣ 상세 설명

왜 이 주제가 중요해졌나?

최근 수년간 대형 보안 사고의 공통점은
“직접 작성한 코드가 아니라, 의존하고 있던 구성 요소” 였습니다.

대표 사례:

  • SolarWinds 공급망 공격
  • Log4j 취약점
  • 악성 NPM / PyPI 패키지 유포

이로 인해 다음 질문이 필수가 되었습니다.

“우리 서비스는 어떤 오픈소스를, 어떤 버전으로, 어디서 사용 중인가?

기존에는 이 질문에 정확히 답할 방법이 없었습니다.


SBOM이 해결하는 문제

SBOM은 다음 정보를 구조화해 제공합니다.

  • 라이브러리 이름 / 버전
  • 라이선스 정보
  • 해시값
  • 의존 관계(Transitive Dependency)
  • 빌드 시점 메타데이터

즉,
“소프트웨어의 성분표” 역할을 합니다.


실무 적용 흐름

  1. 빌드 시 SBOM 자동 생성
    • CycloneDX, SPDX 포맷
    • Maven, Gradle, npm, pip 등 지원
  2. CI/CD 파이프라인 연계
    • 취약점 DB(NVD)와 연동
    • High/Critical 취약점 발견 시 빌드 차단
  3. 운영 단계 활용
    • 신규 취약점 공개 시
      → SBOM 기준으로 영향 서비스 즉시 식별

주요 도구 예시

  • Syft: SBOM 생성
  • Grype: 취약점 스캔
  • OWASP Dependency-Check
  • Trivy
  • Anchore

5️⃣ 현재 상황과 미래 전망

📍 현재 상황

  • 미국 정부: SBOM 제출 의무화
  • 글로벌 기업: 보안 감사 시 SBOM 요구 증가
  • Kubernetes/CI/CD 환경에서 기본 옵션으로 채택 중

🔮 미래 전망

앞으로 SBOM은 단순 목록을 넘어:

  • 정책 기반 배포 차단
  • 라이선스 컴플라이언스 자동 검증
  • AI 기반 취약점 영향도 분석
  • 플랫폼 엔지니어링/IDP에 기본 내장

으로 발전할 가능성이 큽니다.

즉,

SBOM은 선택적 보안 도구가 아니라
"소프트웨어 운영의 기본 인프라 메타데이터" 로 이동 중 

 


✍️ 마무리

클라우드 네이티브, MSA, 오픈소스 의존도가 높아질수록
“내가 만든 코드”보다 “내가 의존한 코드”가 더 큰 리스크가 됩니다.