1. 왜 SCA·OSS License가 중요한가 — 코드의 90%는 남이 만들었다
Synopsys 2024 OSSRA(Open Source Security & Risk Analysis): 평균 상용 코드베이스의 96% OSS 포함·평균 526개 OSS 컴포넌트·84% 알려진 취약점 보유·74% 고위험 라이선스 충돌. Sonatype 2024: 매년 OSS 다운로드 6조회·매분 5,500 신규 패키지. OSS 없이는 현대 SW 불가능, 그러나 무관리 의존성은 가장 큰 공급망 위험.
대표 사건:
- xz-utils backdoor(2024.3·CVE-2024-3094): jia tan 사회공학 2년간 신뢰 획득 → liblzma 백도어 → OpenSSH 침해 가능 — Andres Freund Microsoft 엔지니어 발견(0.5초 SSH 지연으로)
- event-stream(2018): npm 패키지 인수 → 비트코인 탈취 멀웨어
- ua-parser-js(2021.10): 7M 다운로드·계정 도용·악성 추가
- color.js·faker.js(2022.1): 개발자 항의 자살 코드
- Codecov(2021): CI/CD 봇 자격증명 노출
- PyPI·npm·RubyGems: 매주 악성 패키지 발견
- Log4Shell(2021.12): Log4j RCE — 거의 모든 Java 영향
- Spring4Shell(2022.3): Spring Framework RCE
라이선스 분쟁:
- Cisco vs Free Software Foundation(2008): Linksys GPL 위반
- VMware vs Hellwig(2011~2019): Linux Kernel GPL 위반
- Vizio vs SFC(2021~): TV GPL 소스 미공개
- GitHub Copilot 집단소송(2022.11): MIT·GPL 코드 학습·재생산
- Stable Diffusion 집단소송(2023.1): 라이선스 미공개 학습
오해 1 — “OSS는 무료니까 OK.” 라이선스 위반 시 — 손해배상·IP 압류·M&A 무산. 오해 2 — “GitHub Dependabot이면 충분.” 직접 의존성만·전이 의존성 90%+ 미커버. 오해 3 — “전이 의존성은 책임 없음.” EU CRA·NIST SSDF·OFAC 모두 — 모든 의존성 책임.
압박:
- EU CRA(2024.10) Article 13: SBOM·취약점 처리 의무
- EU NIS2 Article 21: 공급망 보안
- NIST SSDF SP 800-218(블로그 별도): PS.3·PW.3·RV.1
- CISA SBOM 권고·NTIA SBOM 최소 요소
- OMB M-22-18·M-23-16: 미 연방 SBOM 의무
- PCI DSS v4.0.1: 6.3 SW 컴포넌트
- 한국 ISMS-P: 개발 보안·외주 관리
- K-시큐어 SW 공급망 가이드(2024)
2. SCA 도구 매트릭스
상용 SCA:
| 솔루션 | 강점 |
|---|---|
| Snyk | 개발자 친화·시장 점유 1위 |
| Black Duck(Synopsys·2024.9 Sonatype 인수) | 라이선스 강함 |
| Sonatype Nexus IQ + Lifecycle | Nexus Repository 통합 |
| Mend(전 WhiteSource) | 자동 시정 강함 |
| JFrog Xray | Artifactory 통합 |
| Veracode SCA(전 SourceClear) | DAST·SAST 통합 |
| Checkmarx SCA | One Platform 통합 |
| GitLab Ultimate Dependency Scanning | GitLab 통합 |
| GitHub Advanced Security Dependabot | 무료 OSS·유료 Enterprise |
| Endor Labs | Reachability 강함 |
| Aikido Security | 가성비·종합 |
| Socket·Phylum·Argon·Lineaje | 신규 — 행동 분석 |
OSS·무료 도구:
- OWASP Dependency-Check·OWASP Dependency-Track
- Trivy(Aqua)·Grype(Anchore)·Syft(Anchore·SBOM)
- OSV-Scanner(Google)·OSV.dev
- Retire.js·Safety(Python)·bundler-audit(Ruby)·cargo-audit(Rust)
- Renovate(Mend·OSS): 자동 업데이트 PR
- Dependabot(GitHub): 자동 업데이트
License Tools:
- FOSSA: 라이선스 + SCA 통합
- FOSSology(Linux Foundation·OSS)
- ScanCode Toolkit(nexB)
- ClearlyDefined(MS·OSS): 라이선스 데이터 베이스
- OSADL OSS License Compliance: 호환성 매트릭스
- REUSE Tool(FSFE): SPDX 라이선스 헤더
SBOM Tools(블로그 SLSA 참조):
- Syft·CycloneDX CLI·SPDX Tools·SBOM Tool(Microsoft)
Reachability Analysis(2023~ 신규):
- Endor Labs: Call Graph 기반·실제 사용 함수만
- Snyk Reachability: 도달 가능성 평가
- Semgrep Supply Chain: 코드 패턴 분석
- 효과 — Critical CVE 70~90% 노이즈 제거
3. OSS License 카테고리
Permissive(허용·기업 친화):
| 라이선스 | 특징 |
|---|---|
| MIT | 가장 단순·무제한 |
| BSD 2/3-Clause | MIT 형 |
| Apache 2.0 | + 특허 명시·기업 가장 선호 |
| ISC | MIT 형 |
| Unlicense·CC0 | 공공 도메인 |
| Zlib | 매우 허용 |
Weak Copyleft(약한 Copyleft):
| 라이선스 | 특징 |
|---|---|
| LGPL 2.1·3.0 | 라이브러리 — 동적 링크 OK |
| MPL 2.0 | 파일 단위 |
| EPL 2.0 | Eclipse·기업 |
| CDDL | Sun/Oracle |
Strong Copyleft(강한 Copyleft·기업 위험):
| 라이선스 | 특징 |
|---|---|
| GPL 2.0·3.0 | 파생 작품 동일 라이선스 의무 |
| AGPL 3.0 | SaaS·네트워크 사용도 의무 — 가장 위험 |
| EUPL 1.2 | EU 표준 |
| OSL 3.0 | Strong Copyleft |
상업·기타:
- SSPL 1.0(MongoDB·Elastic·Redis): 부분 상업·Cloud 제공 시 OSS 의무
- BUSL(HashiCorp Vault·Terraform 2023.8): 4년 후 MPL — 비상업
- Commons Clause·Server Side Public License: 비표준
라이선스 호환성:
- OSADL OSS License Compliance Matrix: 단방향·양방향 매트릭스
- GPL Incompatible: Apache 2.0와 GPL 2.0(혼합 X)·해결 → GPL 3.0
- AGPL는 SaaS 의무 — 상업 SW에 거의 사용 X
License Risk Tier:
- High Risk: GPL·AGPL·SSPL·BUSL — 사용 금지 또는 격리
- Medium: LGPL·MPL·EPL — 동적 링크·격리
- Low: MIT·BSD·Apache 2.0·ISC — 자유 사용
4. xz-utils Backdoor — 2024 최악의 공급망 공격
xz-utils(liblzma): Linux·BSD·macOS 표준 압축 라이브러리·거의 모든 시스템에 의존.
Timeline(jia tan):
- 2021.4: 신원 등장·xz-utils 패치 제출 시작
- 2022~2023: 점진적 신뢰 획득·메인테이너 합류
- 2024.2: jia tan, 단독 메인테이너 (Lasse Collin 부재 동안)
- 2024.2.24: xz 5.6.0 출시·백도어 코드 포함(테스트 파일에 숨김)
- 2024.3.9: xz 5.6.1 출시
- 2024.3.29: Andres Freund(Microsoft Postgres 엔지니어)·SSH 0.5초 지연 의문 → 발견·공개
기술 분석:
- CVE-2024-3094(CVSS 10.0)
- 빌드 시 — 테스트 파일에 숨긴 페이로드 추출
liblzma에 백도어 삽입sshd가liblzma사용 시 트리거- 특정 ED448 키로 인증된 명령 실행
- 사실상 모든 Linux 서버 SSH 침해 가능(다행히 안정 버전 도달 전 발견)
영향 범위:
- Debian sid·Ubuntu 24.04 dev·Fedora Rawhide·openSUSE Tumbleweed
- 다행히 안정 버전 도달 전·실제 침해 없음(공식 발표)
- Andres Freund 단순 호기심 — 우연 발견
교훈:
- 단독 메인테이너 위험: OSS 60%+ 단독·번아웃
- 사회공학: 2년+ 신뢰 빌딩 후 공격
- 테스트 데이터 위험: 빌드 스크립트 외 위치
- 자동 빌드 신뢰 X: 정형 검토·서명 의무
- 국가 후원 추정: jia tan 패턴 — APT 기법
- OSS 헬스 모니터링: OpenSSF Scorecard·메인테이너 활동
대응:
- OpenSSF: Sigstore·Scorecard 강화
- Linux Foundation: Open Source Consumption Manifesto
- CISA Open Source Security Roadmap(2023.9·갱신)
- EU CRA: Security Importer·SBOM
- xz-utils: Maintainer 모집·검토 프로세스 강화
5. Stage 1 — Inventory·정책·도구 (1~3개월)
Dependency Inventory:
- 모든 프로젝트·언어별(npm·PyPI·Maven·Gradle·Cargo·Go Modules·NuGet·RubyGems·CocoaPods)
- 직접·전이 의존성(평균 직접 100·전이 1,000+)
- License·취약점·메인테이너
SBOM 생성(블로그 SLSA·CRA·CVE 참조):
- CycloneDX·SPDX
- 빌드마다·Release마다
- 도구: Syft·Trivy·Microsoft SBOM Tool
- 저장·갱신·VEX 발행
OSS Policy:
- 허용 라이선스(MIT·Apache 2.0·BSD·ISC)
- 격리 라이선스(LGPL·MPL·EPL — 동적 링크)
- 금지 라이선스(GPL·AGPL·SSPL — 사용 금지 또는 격리)
- 예외 승인 절차
도구 선택:
- 상용: Snyk·Sonatype Nexus IQ·Mend·Black Duck·JFrog Xray
- GitHub Enterprise: Advanced Security
- OSS·중소: Dependency-Track·Trivy·Grype·OSV-Scanner
Repository Mgmt:
- Sonatype Nexus Repository·JFrog Artifactory·Harbor·GitHub Packages
- Private Mirror·승인 의존성만
- Quarantine·신규 의존성 검토
6. Stage 2 — Vulnerability·License 자동 (3~6개월)
SCA in CI/CD:
- PR·Push 시 자동
- Build 차단(Critical CVE·금지 라이선스)
- Slack·Email·Jira 통합
- 도구: Snyk·Mend·Sonatype·Dependabot·Renovate
Vulnerability Management(블로그 CVE 참조):
- KEV·EPSS·CVSS 통합
- VEX 자동 발행
- SLA: Critical 7일·High 30일
자동 업데이트 PR:
- Dependabot(GitHub·무료)
- Renovate(Mend·OSS·강력)
- 정기 업데이트·자동 머지(안전한 경우)
Reachability Analysis:
- Endor Labs·Snyk Reachability·Semgrep Supply Chain
- Critical CVE 노이즈 70~90% 제거
- Call Graph·Function Reachable
License Compliance:
- FOSSA·FOSSology·ScanCode
- 자동 발견·등록·라이선스 헤더 강제
- Notice/Attribution 파일 자동 생성
- Source Code Disclosure(GPL 의무)
OpenSSF Scorecard(블로그 SLSA·OSS 평가):
- 18 Categories·0~10 점수
- 자체 + 의존성 평가
- 도구:
ossf/scorecard(OSS) - Critical 의존성 — 7.0+ 요구
OSS Health 지표:
- 마지막 커밋·이슈 응답 시간
- 메인테이너 수·다양성(번아웃 위험)
- 다운로드·인기
- 보안 정책·VDP
7. Stage 3 — 공급망 공격 대응 (3~6개월)
Dependency Confusion 차단:
- Alex Birsan(2021): 내부 패키지 이름 → 공개 레지스트리 우선
- 차단: Scoped Packages(@org/pkg)·Private Registry·
--reject-foreign - 도구: Snyk·Sonatype Firewall·Mend·내부 Mirror
Typosquatting 차단:
reactvsreakt·requestsvsrequest- 매주 수십 건 npm·PyPI 발견
- 도구: 자동 발견·차단·Policy
Malicious Package Detection:
- Socket: 행동 분석·Postinstall 스크립트
- Phylum: 신규 패키지 위험 평가
- Argon·Lineaje: 공급망 전용
- OpenSSF Allstar: GitHub 정책 적용
Code Signing·서명(블로그 SLSA·HSM):
- Sigstore Cosign(블로그 SLSA)
- 패키지 서명·검증 의무
- npm Provenance(2023.4·GitHub)
- PyPI Trusted Publishers
- GPG·MFA 강제
SLSA·Provenance:
- SLSA L2~L3(블로그 SLSA)
- 빌드 출처 증명
- GitHub Artifact Attestations(2024.6)
CISA Open Source Security Roadmap(2023.9·갱신):
- 4 Goals: Establish CISA’s role·assess OSS·reduce risks to federal·harden OSS ecosystem
- Tools·Guidance·Funding
8. Stage 4 — VEX·EU CRA·운영 (지속)
VEX(Vulnerability Exploitability eXchange)(블로그 CVE 참조):
- CSAF 2.0(OASIS)
- CycloneDX VEX
- OpenVEX(Chainguard 2023)
- 자체 제품에 영향 있는지 — 공식 발표
- 4 상태: affected·not_affected·fixed·under_investigation
EU CRA·CISA 요구:
- 모든 디지털제품 SBOM·VEX·취약점 처리(2027~)
- 평생 책임
- 24h·14일·1개월 통보 SLA
Continuous Compliance:
- 라이선스 변경 모니터링(BUSL·SSPL 전환)
- EOL·미유지 의존성 알람
- 신규 CVE 자동 영향 분석
M&A Due Diligence:
- 인수 시 OSS Audit 의무
- 라이선스 위반·전이 의존성
- 도구: FOSSA·Black Duck·Synopsys M&A Audit
Bug Bounty for OSS(블로그 Bug Bounty):
- Internet Bug Bounty(HackerOne·OSS)·Sovereign Tech Fund·OpenSSF Alpha-Omega
- 자체 OSS 후원·Bug Bounty 운영
9. Stage 5 — 거버넌스·고도화 (지속)
거버넌스 체계:
- OSPO(Open Source Program Office) — TODO Group·Linux Foundation
- 분기 위원회: Engineering·Legal·Security·CISO
- 정책 갱신·예외 검토
- KPI·이사회 보고
OSPO 책임:
- OSS 정책·라이선스·교육
- 외부 기여·후원
- 공급망 보안
- Inner Source 추진
KPI:
- SBOM 100%
- Critical CVE SLA(7일)
- 라이선스 금지 0
- OpenSSF Scorecard 7.0+
- 자동 업데이트 PR 비율
- Reachability·노이즈 감소율
OSS Contribution:
- 자체 OSS 출시·기여
- Linux Foundation·Apache Foundation·CNCF 후원
- 한국 — Open Source Software Promotion Forum(OSSPF)·OSCONF
- 카카오·네이버·삼성·LG 자체 OSS
AI Code & License:
- GitHub Copilot·Cursor·Codeium 출력
- 라이선스 검증·출처(블로그 Deepfake C2PA)
- 학습 데이터 라이선스(GitHub Copilot 소송 등)
- 도구: BlueOak·Tabnine·자체 분리 모델
Quantum-resistant OSS:
- PQC 라이브러리(블로그 PQC)
- liboqs·BoringSSL·OpenSSL 3.5+
- 핵심 OSS PQC 통합
컴플라이언스 매핑:
- EU CRA Article 13·NIS2·CER
- NIST SSDF·SP 800-161
- CISA SBOM·OMB M-22-18·M-23-16
- PCI DSS v4.0.1 6.3
- 한국 ISMS-P·K-시큐어 SW 공급망
10. 비용·ROI
| 항목 | 비용 (연간) |
|---|---|
| 상용 SCA(Snyk·Sonatype·Mend·Black Duck) | 1~30억 |
| GitHub Advanced Security | 직원당 $49/월 |
| OSS 도구(Dependency-Track·Trivy·Grype) | 0 + 인력 |
| License(FOSSA·Black Duck License) | 1~10억 |
| OSPO 인력(1~5명) | 2~25억 |
| OSS 기여·후원 | 1천~5억 |
| AI 코드 검증·Reachability | 1~10억 |
| 합계 (중견 제조사) | 5~80억 |
ROI:
- xz-utils 형 침해 회피 — 평균 $50M+ 손실
- 라이선스 분쟁 손해배상 회피(평균 1억~수십억)
- M&A 가치 — OSS 부채로 인한 평가 절하 회피
- EU CRA 미준수 — 매출 2.5% 또는 €15M 과징금
- 사이버보험 — SCA·SBOM 운영 시 10~15% 할인
- 개발 속도 — 자동 업데이트로 패치 시간 70% 절감
11. 자가 점검
Inventory·정책:
- 모든 의존성 SBOM(CycloneDX·SPDX)
- OSS Policy·허용·격리·금지
- License Risk Tier
- Sonatype Nexus·JFrog Artifactory·Harbor 격리
SCA·Vulnerability:
- Snyk·Sonatype·Mend·Black Duck·GitHub AS
- CI/CD 자동 차단
- KEV·EPSS·CVSS 통합
- VEX 자동 발행
- SLA Critical 7일
자동·Reachability:
- Dependabot·Renovate
- Endor Labs·Snyk Reachability
- OpenSSF Scorecard 7.0+
License Compliance:
- FOSSA·FOSSology·ScanCode
- OSADL Matrix·호환성
- GPL·AGPL 격리
- Attribution·Notice 자동
공급망 공격:
- Dependency Confusion 차단
- Typosquatting 자동
- Malicious Package(Socket·Phylum)
- Sigstore Cosign 서명
- SLSA L2~L3 Provenance
- npm·PyPI Trusted Publishers
거버넌스·고도화:
- OSPO 운영
- OSS 후원·기여
- AI 코드 라이선스 검증
- M&A Due Diligence
- EU CRA·NIST SSDF·CISA·ISMS-P·K-시큐어 매핑
12. 마무리 — 코드의 90%는 남이 만들었다
SCA·OSS License·OSS 공급망 보안은 ① Inventory·정책·도구, ② Vulnerability·License 자동, ③ 공급망 공격 대응, ④ VEX·EU CRA·운영, ⑤ 거버넌스·고도화 — 5단계로 정착시킨다. xz-utils 2024.3 사건이 가르치는 진실: 단독 메인테이너·사회공학·2년 잠복 — 어느 OSS도 안전하지 않다. SCA + Reachability + Cosign + SLSA + OpenSSF Scorecard + OSPO + EU CRA의 통합 운영체가 2025년 표준이고, AI 코드 검증 + PQC OSS + OSS Contribution이 2030년 도전이다.
통합 사이클
- OSINT·Threat Hunting·Purple Team·Cyber Range
- ASD Essential Eight·국가별 사이버 프레임워크
- Security Awareness Training·Phishing
- Physical Security·데이터센터·PSIM
- Hardware Security Side-channel·UEFI·TPM
- 5G·O-RAN·Telecom Security
- Aviation·Aerospace·Defense 사이버보안
- Financial Cybersecurity SWIFT·FFIEC·NYDFS
- Healthcare 사이버보안 HIPAA·FDA
- CISO·Security Program·CSMA
- Bug Bounty·VDP·Responsible Disclosure
- HSM·KMS·PKI·Key Management
- NIST PQC·FIPS 140-3
- Ransomware 방어·Immutable Backup
- GRC 통합·NIST RMF·CCM
- TPRM·공급망 위험관리
- Cyber Insurance(사이버보험)
- Privacy Engineering·PETs
- API Security OWASP API Top 10
- Kubernetes 컨테이너 보안
- Cloud Security CNAPP
- AI/LLM 보안 OWASP LLM Top 10
- SLSA·OpenSSF·Sigstore
- NIST SSDF SP 800-218
- CWE·CVSS·EPSS·KEV
- DevSecOps Shift-Left CI/CD
- Threat Modeling STRIDE·PASTA·LINDDUN
- Penetration Testing·Red Team
- OWASP Top 10·ASVS·SAMM
- ISO 27001 인증
- 한국 ISMS-P
- NIST CSF 2.0
- EU NIS2
- EU CRA
- MITRE ATT&CK
