2020년 SolarWinds, 2021년 Log4Shell 사태 이후 소프트웨어 공급망(Supply Chain) 보안이 핵심 이슈로 부상했습니다. SBOM·SSDF·SLSA 프레임워크를 통해 SW 공급망 전반의 무결성·투명성을 확보합니다.
1. 소프트웨어 공급망 공격 유형
| 공격 유형 | 사례 | 설명 |
|---|---|---|
| 빌드 시스템 침해 | SolarWinds Orion | 빌드 파이프라인에 악성 코드 삽입 |
| 오픈소스 종속성 공격 | event-stream npm 패키지 | 인기 패키지에 악의적 기여자 침투 |
| Typosquatting | PyPI/npm 악성 패키지 | 유사 이름 패키지 배포로 설치 유도 |
| 의존성 혼란 공격 | Dependency Confusion | 내부 패키지명을 공개 레지스트리에 선점 |
| 취약 라이브러리 | Log4Shell(Log4j) | 광범위하게 사용되는 오픈소스 취약점 |
2. SBOM (Software Bill of Materials)
2-1. 개념
소프트웨어를 구성하는 모든 컴포넌트·라이브러리·버전·라이선스 정보를 기계 판독 가능한 형식으로 목록화한 명세서입니다. 미국 행정명령 EO 14028(2021)에서 연방 조달 SW에 SBOM 제공을 의무화했습니다.
2-2. SBOM 표준 형식
| 표준 | 주관 | 형식 | 특징 |
|---|---|---|---|
| SPDX | Linux Foundation | JSON/RDF/Tag-Value | ISO/IEC 5962 표준, 라이선스 준수 중심 |
| CycloneDX | OWASP | JSON/XML | 보안 취약점 연계(VEX) 지원, DevSecOps 친화 |
| SWID | ISO/IEC | XML | 엔터프라이즈 자산 관리 중심 |
2-3. SBOM 활용
취약점 영향 분석: CVE 발생 시 영향받는 컴포넌트 즉시 식별
라이선스 컴플라이언스: GPL·MIT 등 라이선스 의무 자동 확인
VEX(Vulnerability Exploitability eXchange): 취약점이 실제로 악용 가능한지 상태 명시
공급자 검증: 납품 SW의 컴포넌트 투명성 확인
라이선스 컴플라이언스: GPL·MIT 등 라이선스 의무 자동 확인
VEX(Vulnerability Exploitability eXchange): 취약점이 실제로 악용 가능한지 상태 명시
공급자 검증: 납품 SW의 컴포넌트 투명성 확인
3. SSDF (Secure Software Development Framework)
3-1. NIST SP 800-218 SSDF
NIST가 발표한 보안 소프트웨어 개발 실천 프레임워크로, SW 개발 수명주기(SDLC) 전 단계에 보안 활동을 내재화합니다.
| 실천 그룹 | 약어 | 주요 활동 |
|---|---|---|
| 조직 준비 | PO | 보안 정책·교육·도구 체계 수립 |
| SW 보호 | PS | 코드·빌드 환경·파이프라인 무결성 보호 |
| 보안 SW 생산 | PW | 위협 모델링·보안 코딩·취약점 테스트 |
| 취약점 대응 | RV | 발견된 취약점 식별·수정·공개 |
4. SLSA (Supply chain Levels for Software Artifacts)
4-1. SLSA 개요
Google이 제안한 SW 공급망 무결성 보장을 위한 프레임워크로, 빌드 아티팩트의 출처(Provenance)를 검증합니다.
4-2. SLSA 4단계 레벨
| 레벨 | 요건 | 보장 수준 |
|---|---|---|
| SLSA 1 | 빌드 프로세스 문서화, Provenance 생성 | 아티팩트 출처 추적 가능 |
| SLSA 2 | 버전 관리 + 호스팅 빌드 서비스 사용 | 빌드 이력 보존 |
| SLSA 3 | 격리된 빌드 환경, 감사 로그 | 빌드 환경 조작 탐지 |
| SLSA 4 | 두 명 이상 코드 리뷰, 재현 가능 빌드 | 내부자 위협 포함 최고 수준 보장 |
5. SW 공급망 보안 구현 전략
① SBOM 자동 생성: CI/CD 파이프라인에 Syft·Trivy 통합 → 빌드 시 SBOM 자동 생성
② SCA(Software Composition Analysis): Snyk·Dependabot으로 의존성 취약점 스캔
③ 아티팩트 서명: Sigstore(Cosign)로 컨테이너 이미지·바이너리 서명·검증
④ 신뢰할 수 있는 레지스트리: 내부 Nexus/Artifactory로 외부 패키지 프록시·검증
⑤ SLSA 레벨 달성: SLSA 2~3 목표로 CI/CD 파이프라인 강화
② SCA(Software Composition Analysis): Snyk·Dependabot으로 의존성 취약점 스캔
③ 아티팩트 서명: Sigstore(Cosign)로 컨테이너 이미지·바이너리 서명·검증
④ 신뢰할 수 있는 레지스트리: 내부 Nexus/Artifactory로 외부 패키지 프록시·검증
⑤ SLSA 레벨 달성: SLSA 2~3 목표로 CI/CD 파이프라인 강화
6. 결론
소프트웨어 공급망 보안은 SBOM으로 투명성을 확보하고, SSDF로 개발 프로세스를 보안화하며, SLSA로 빌드 무결성을 검증하는 3축 전략이 필요합니다. CI/CD 파이프라인에 보안 자동화를 내재화(Shift Left)하는 DevSecOps 문화가 핵심입니다.