496. SBOM (Software Bill of Materials) 포맷 - SPDX, CycloneDX
핵심 인사이트 (3줄 요약)
- 본질: SBOM(소프트웨어 자재 명세서)은 거대한 소프트웨어를 배포할 때, 그 뱃속에 박혀있는 **수천 개의 오픈소스 라이브러리와 직접 짠 코드들의 이름, 버전, 라이선스, 의존성 관계(Tree)를 100% 투명하게 까발려 기계(JSON/XML)가 읽을 수 있도록 만든 '디지털 식품 영양 성분표'**다.
- 가치:
Log4j같은 치명적 제로데이(Zero-day) 폭탄이 전 세계에 터졌을 때, "우리 회사 1,000대 서버 중에 그 폭탄 들어간 놈 어딨어?!"라며 눈으로 코드를 뒤지던 1주일의 지옥을, **단 1초 만에 중앙 대시보드 검색 엔터 한 방으로 핀셋 락온(Lock-on) 해버리는 압도적인 가시성(Visibility)**과 사고 대응(Incident Response) 속도를 선사한다.- 융합: 앞장(495번)의 SCA(구성 분석) 스캐너가 토해내는 궁극의 산출물이며, 데브옵스(DevOps) CI/CD 파이프라인에서 빌드와 동시에 기계적으로 찍혀 나와, 클라우드 네이티브의 **무결성 검증(A08 방어)**과 국가 차원의 컴플라이언스(Compliance) 인증을 위한 거대한 신뢰의 블록체인으로 융합된다.
Ⅰ. 개요 및 필요성 (Context & Necessity)
-
개념: Bill of Materials(BOM)는 원래 제조업(현대자동차 등)에서 쓰는 '자재 명세서'다. "소나타 1대 = 엔진 1개 + 타이어 4개 + 볼트 1만 개" 라고 부품 내역을 쫙 적어놓은 장부다. 이걸 소프트웨어에 들고 온 것이 SBOM이다. "이 쇼핑몰 앱 = 내가 짠 코드 10% + Spring Framework v5.0 + Log4j v2.14 + ..." 라며, 눈에 보이지 않는 수천 개의 오픈소스 부품(Component)들을 트리(Tree) 구조의 JSON 텍스트 파일 하나로 싹 다 뽑아낸 영수증 쪼가리다.
-
필요성: 2020년 미국 펜타곤을 털어버린 사상 최악의 '솔라윈즈(SolarWinds) 공급망 해킹 사태'가 터졌다. 미국 정부는 분노했다. "니들 앱 안에 중국산 백도어 부품이 섞여 있는지, 해킹당한 오픈소스가 섞여 있는지 까보지도 않고 무지성으로 국가망에 납품했어?!" 이를 계기로 바이든 대통령은 행정명령을 내렸다. "앞으로 소프트웨어를 팔 때는, 그 안에 무슨 부품(오픈소스)을 썼는지 완벽하게 적힌 '영수증(SBOM)'을 같이 제출해라. 영수증 없으면 불법이다!" 개발자의 편의를 넘어 국가 안보와 생존의 법적 규제로 돌변한 절대적 필요성이다.
-
💡 비유: SBOM은 과자 봉지 뒤에 적힌 **'식품 영양 성분 및 알레르기 유발 물질 표시표'**와 똑같습니다. 소비자는 과자(앱) 겉봉투만 보고는 안에 땅콩(취약한 오픈소스)이 들어있는지 죽어도 모릅니다. 땅콩 알레르기(해킹)가 있는 사람이 먹으면 즉사합니다. 그래서 법으로 "이 과자에는 밀가루 50%, 땅콩버터 2%가 들어갔음"이라고 겉에 강제로 박아두게 한 것입니다. 나중에 "땅콩버터에서 독극물 발견!" 뉴스가 뜨면, 우리는 과자를 뜯어보지 않고 봉투 뒷면(SBOM) 글씨만 쓱 읽어보고 1초 만에 쓰레기통에 버려 목숨을 건질 수 있습니다.
-
등장 배경 및 발전 과정:
- 라이선스 소송의 피눈물 (과거): 초창기엔 해킹 때문이 아니었다. 오픈소스(GPL) 썼다가 소스코드를 강제 공개 당하는 법적 소송(License Compliance)을 피하려고, 변호사들이 "개발자들 무슨 라이브러리 쓰는지 엑셀로 다 적어 놔!"라며 손으로 만든 수동 장부였다.
- 오픈소스의 폭발과 수동 관리의 한계: 의존성이 수백 개로 꼬리를 물고 다운받아지는(NPM, Maven) 시대가 오자, 인간의 엑셀 타이핑으로는 절대 추적(Transitive Dependency)이 불가능해졌다.
- 표준 규격의 탄생과 자동화 (현재): "기계가 뽑고 기계가 읽게 포맷을 통일하자!"라며 Linux 재단의 **
SPDX**와 OWASP 재단의 **CycloneDX**라는 글로벌 양대 산맥 포맷이 탄생했다. 이제 젠킨스(CI)에서 빌드할 때 스캐너가 자동으로 1초 만에 JSON 족보를 뱉어내는 완벽한 자동화 시대로 진입했다.
-
📢 섹션 요약 비유: 옛날 소프트웨어는 **'마녀의 가마솥 짬뽕 수프'**였습니다. 맛(기능)은 기가 막힌데, 주방장도 안에 뱀 허물(취약점)이 들어갔는지 개구리 다리(라이선스 위반)가 들어갔는지 기억을 못 합니다. 먹고 탈 나면 위장을 다 까봐야 알죠. SBOM은 그 마녀의 수프 레시피를 **'전 세계 공용 바코드 스티커'**로 예쁘게 찍어서 냄비 겉면에 딱 붙여버리는 투명성의 마법입니다.
Ⅱ. 아키텍처 및 핵심 원리 (Deep Dive)
1. 양대 산맥 포맷: SPDX vs CycloneDX (★ 비교 암기 국룰)
둘 다 기계가 읽는 영수증이지만 태생과 주특기가 다르다.
| 척도 | SPDX (Software Package Data Exchange) | CycloneDX |
|---|---|---|
| 만든 곳 (태생) | Linux 재단 (전통의 오픈소스 대부) | OWASP 재단 (웹 해킹 방어의 대부) |
| 태생적 목적 | "이거 써도 고소 안 당해?" (라이선스 법적 컴플라이언스) 쪽에 뿌리가 깊음. | "이거 쓰면 서버 털려?" (보안 취약점 및 공급망 해킹 방어) 에 몰빵해서 만들어짐. |
| 특징 및 생태계 | ISO 글로벌 표준(ISO/IEC 5962) 획득으로 국가/공공기관의 묵직한 절대 규격. | 포맷이 JSON/XML로 엄청 가볍고 직관적. 보안 스캐너(SCA/CI파이프라인)와의 결합(DevSecOps) 생태계 1위. |
| 확장성 | 소프트웨어뿐만 아니라 클라우드, AI 모델 정보까지 담는 육중한 포맷으로 진화 중. | 취약점 연동(VEX) 등 실시간 보안 패치 봇(Dependabot)과의 연동성에 극한으로 최적화. |
| 형태 비유 | 변호사가 좋아하는 '엄밀하고 묵직한 법적 계약서' | 의사가 좋아하는 '바이러스 검출용 실시간 혈액 검사표' |
2. SBOM의 핵심 구성 요소 (이 영수증엔 뭐가 적혀있나?)
이 4가지 정보가 기계어(JSON)로 무식하게 1만 줄씩 박혀있다.
- 컴포넌트 식별자 (CPE, PURL): 라이브러리의 이름과 버전(
pkg:maven/org.apache.logging.log4j/log4j-core@2.14.0). 이게 있어야 NVD(해킹 족보) 데이터베이스와 1:1 매칭을 돌릴 수 있다. - 해시 체크섬 (Hash Checksum): SHA-256 지문. "이 라이브러리가 다운로드 도중에 해커한테 안 털리고 원본 그대로 왔음"을 수학적으로 증명하는 도장. (A08 무결성 방어)
- 의존성 관계 트리 (Dependency Tree): 내가 다운받은 A가 B를 부르고 B가 C를 불렀다는 족보. 꼬리 물기(Transitive)를 완벽하게 추적한다.
- 라이선스 (License): MIT, Apache 2.0, GPL 3.0 등 법적 딱지.
- 📢 섹션 요약 비유: 이 영수증 포맷 대결은 **'110V 돼지코와 220V 콘센트 규격 전쟁'**과 같습니다. 옛날엔 회사마다 엑셀 양식이 달라서 보안 툴에 집어넣을 수가 없었죠. 지금은 전 세계가 SPDX 아니면 CycloneDX 라는 딱 2가지 콘센트 구멍 모양으로 규격을 완전히 통일했습니다. 덕분에 구글 스캐너에 넣든, AWS 스캐너에 넣든 영수증(JSON)만 딱 꽂으면 1초 만에 "취약점 3개!"라고 불이 팍 켜지는 글로벌 호환성의 축복을 받게 된 것입니다.
Ⅲ. 융합 비교 및 다각도 분석
1. 소스코드(Git) vs 바이너리(Docker/JAR) vs 런타임(Runtime) SBOM
SBOM은 어디서 뽑아내느냐에 따라 위력이 다르다.
| 추출 위치 | 장단점 및 특징 |
|---|---|
| 소스코드 빌드 시점 (Source SBOM) | 개발자가 pom.xml을 짤 때 IDE나 젠킨스(CI)에서 가장 빠르고 깔끔하게 뽑아냄. 하지만 나중에 배포될 때 해커가 몰래 스크립트를 섞으면(무결성 실패) 맹인이 됨. |
| 컨테이너/바이너리 시점 (Binary SBOM) 💥 | 도커 깡통 덩어리(Image)나 jar 파일 자체를 엑스레이로 뚫어서 분석함. 내가 안 짠 리눅스 커널 패키지(apt-get)의 취약점까지 싹 다 발라내는 실전 방어의 끝판왕. |
| 런타임 시점 (Runtime SBOM) | 하드디스크에 깔려만 있고 실제로 서버 메모리에 안 올라가는(실행 안 되는) 껍데기 라이브러리를 제외하고, "지금 진짜로 숨 쉬고 있는 독극물"만 족집게로 뽑아내어 오탐을 0%로 죽임. (최첨단 트렌드) |
과목 융합 관점
-
소프트웨어 공학 (SCA, 구성 분석): SBOM은 단순히 텍스트 쪼가리다. 이 영수증 쪼가리를 살아있는 방어막으로 승격시켜 주는 융합 파트너가 바로 SCA(Software Composition Analysis) 스캐너다. 젠킨스가 빌드 중에 SBOM을 툭 뱉으면, SCA가 그 JSON 파일을 씹어 먹고 글로벌 해킹 족보(CVE)를 검색하여 "삐용! 이 영수증 안에 털린 부품 3개 있음! 빌드 Fail!"을 때리는 찰떡 콤비다. (이전 장 495번 연계)
-
데브옵스 / 보안 (VEX, 취약점 악용 가능성 거래소): SBOM이 완벽해지면서 새로운 재앙이 터졌다. "야, 영수증(SBOM) 뽑아보니까 취약점(CVE)이 1,000개야! 당장 다 고쳐!" 개발자가 죽어난다. 그래서 최근 **VEX (Vulnerability Exploitability eXchange)**라는 개념이 융합되었다. 보안팀이 VEX 문서에 "우리 SBOM에 저 1,000개 취약점 부품이 들어있긴 한데, 우리 방화벽 구조상 실제로 밖에서 뚫을 수 있는 건(Exploitable) 딱 5개뿐이고 나머진 가짜(False Positive)야 무시해!"라고 예외 처리 도장을 찍어주는 보완 명세서다. 맹목적 알람 피로도(Alert Fatigue)를 구원하는 현대 아키텍처의 구세주다.
-
📢 섹션 요약 비유: SBOM이 환자의 몸을 찍은 'MRI 엑스레이 사진(데이터)' 자체라면, SCA는 그 엑스레이 사진을 척 보고 "여기 암세포(취약점) 있네요"라고 판독해 주는 '의사'입니다. 그리고 VEX는 "암세포가 있긴 한데 악성이 아니라 양성 종양(무시 가능)이니까 수술 안 해도 됨!"이라고 불필요한 개복 수술(야근)을 막아주는 '최종 소견서'입니다. 이 3가지가 모여야 헛심을 쓰지 않습니다.
Ⅳ. 실무 적용 및 기술사적 판단
실무 시나리오
-
시나리오 — Log4j 대참사 시 CISO의 절규와 대시보드의 부재: 금요일 밤 전 세계를 강타한
Log4Shell해킹 사태. 1만 대의 마이크로서비스 서버를 굴리는 대기업 CISO가 소리쳤다. "우리 회사 서버 중에 저 Log4j 폭탄 들어간 놈 당장 색출해!" 아키텍트는 하얗게 질렸다. 서버 1만 대에 일일이 SSH로 접속해서find / -name log4j*.jar명령어를 치려면 2주일이 걸리고, 그사이 회사는 다 털린다.- 아키텍트의 해결책: 중앙화된 SBOM 자산 관제(Asset Inventory)의 부재다. 파이프라인에서 뽑아낸 SBOM 파일을 그냥 휴지통에 버리면 안 된다. 아키텍트는 젠킨스(CD)가 서버를 배포할 때마다, 그 서버의 최신 SBOM 영수증을 무조건
Dependency-Track이나Snyk같은 중앙 대시보드 저장소에 쏘도록 자동화 훅(Hook)을 걸어놔야 한다. 이게 되어있었다면 CISO가 소리친 지 딱 3초 만에 검색창에log4j를 치고, "서버 104번, 399번 등 총 14대 감염 확인! 즉각 패치 요망!" 이라며 회사를 구원하는 다크나이트가 되었을 것이다.
- 아키텍트의 해결책: 중앙화된 SBOM 자산 관제(Asset Inventory)의 부재다. 파이프라인에서 뽑아낸 SBOM 파일을 그냥 휴지통에 버리면 안 된다. 아키텍트는 젠킨스(CD)가 서버를 배포할 때마다, 그 서버의 최신 SBOM 영수증을 무조건
-
시나리오 — 납품처의 "영수증 내놔라!" 법적 협박과 개발자의 노가다: SI 개발 회사가 공공기관에 10억짜리 솔루션을 납품하려는데, 공공기관이 "최근 행안부 법 바뀌었어. 너네 소스코드에 들어간 모든 오픈소스 SBOM(SPDX) 파일로 제출 안 하면 계약 파기야!"라고 통보했다. 멘붕에 빠진 주니어 개발자가 1주일 내내
pom.xml과npm폴더를 뒤지며 엑셀표에 이름과 라이선스 버전을 손으로 복붙하며 타이핑 노가다를 치고 있다. 당연히 전이적 의존성(지하 3층 꼬리물기 라이브러리)은 수천 개라 찾지도 못했다.- 아키텍트의 해결책: 수작업 엑셀 문서화의 파멸적 안티패턴이다. 인간의 손으로 완벽한 SBOM을 만드는 것은 100% 불가능하다. 아키텍트는 즉시 엑셀을 덮고, Maven이나 NPM 빌드 스크립트 단에
CycloneDX Maven Plugin딱 한 줄을 주입(Inject) 시킨다. 1초 만에mvn verify를 돌리면, 컴파일과 동시에 기계가 땅속 100미터 깊이의 거미줄 같은 의존성까지 완벽하게 파헤쳐서 1만 줄짜리bom.json규격 문서를 자동으로 툭 뱉어낸다. 이 플러그인 1줄이 수억 원의 계약 파기 위기와 인건비 낭비를 1초 만에 합법적으로 막아낸다.
- 아키텍트의 해결책: 수작업 엑셀 문서화의 파멸적 안티패턴이다. 인간의 손으로 완벽한 SBOM을 만드는 것은 100% 불가능하다. 아키텍트는 즉시 엑셀을 덮고, Maven이나 NPM 빌드 스크립트 단에
도입 체크리스트
- 비즈니스적: 동적 환경(클라우드 오토스케일링)에서 죽어버린 SBOM 찌꺼기를 관리하는가? 쿠버네티스 파드(Pod)는 하루에도 100번씩 떴다가 죽는다. 서버가 죽었는데 중앙 대시보드에는 그 죽은 서버의 옛날 SBOM 영수증이 "이 서버 취약점 100개!"라고 시뻘겋게 떠 있다면 완벽한 쓰레기 데이터(Garbage)다. 클라우드 자원이 삭제될 때(Terminate), 관제탑에 쌓인 해당 인프라의 SBOM 영수증도 자동으로 파기(Prune)되는 동기화 라이프사이클이 맺어져야만 알람 피로도(Alert Fatigue)에 빠지지 않는다.
- 기술적: 서명(Signature)을 통해 SBOM 자체의 무결성을 증명하는가? "내 앱은 깨끗해!"라고 증명하는 SBOM 영수증 파일 자체를 해커가 중간에 조작해서 나쁜 성분을 살짝 지워버리고(위조 영수증) 제출하면 어떡할 것인가? 아키텍트는 젠킨스가 SBOM(
json) 파일을 뱉어낼 때, 회사의 마스터 비공개 키(Private Key)로 **SBOM 파일 자체에 디지털 서명(Sigstore, Cosign)**을 꽉 찍어버려야 한다. 이로써 법원이나 감사관 앞에서도 "이 영수증은 1바이트도 위조되지 않은 진본임"을 수학적으로 증명해 내는 '초무결성'이 보장된다.
안티패턴
-
"보안 스캔 툴 샀으니까 영수증(SBOM) 관리는 필요 없어!" (도구 맹신): 비싼 SAST/SCA 툴을 사놓고 "툴이 매일 알아서 막아주겠지 ㅋ"라며 산출물(SBOM) 데이터베이스를 전혀 구축하지 않는 바보 짓. 스캐너는 찰나의 순간(배포 시점)만 막아줄 뿐이다. 배포할 때는 100점짜리 무균 상태였더라도, 3달 뒤에 전 세계 해커가 제로데이를 터뜨리면 내 툴은 그걸 모른다. 과거에 내가 '어디에, 무슨 부품을 박아서 배포했는지(SBOM 자산 추적)' 족보를 중앙 저장소에 쌓아두지 않으면, 사후 징후가 터졌을 때 전 서버의 코드를 압수 수색해야 하는 석기시대로 돌아가게 된다.
-
📢 섹션 요약 비유: 스캐너(SCA)만 믿고 영수증(SBOM)을 안 모으는 것은, 톨게이트에서 **'지나가는 트럭을 검사만 하고, 차량 번호표(장부)는 안 적어두는 경비원'**과 같습니다. 통과할 땐 합법 트럭이었지만, 다음 날 뉴스에 "어제 그 트럭이 사실 도둑놈이었대!"라고 뜨면 난리가 납니다. 장부(SBOM)가 없으니 그 트럭이 우리 동네에 들어왔는지, 지금 어느 골목에 주차되어 있는지 알 길이 없어 동네 전체가 공포에 떨며 전수 수색을 해야 합니다. 기록(SBOM)이 곧 최후의 사후 방어막입니다.
Ⅴ. 기대효과 및 결론
정량/정성 기대효과
| 구분 | 해킹 사태 발생 시 수동 코드 전수 조사 (AS-IS) | 중앙화된 SBOM 족보 기반 핀셋 색출 및 자동화 (TO-BE) | 개선 효과 |
|---|---|---|---|
| 정량 | 취약한 Log4j 라이브러리 탑재 서버 수동 색출 7일 소요 | 중앙 SBOM 족보 쿼리(Query) 1초 컷 ➡ 감염 타겟 확정 | 침해 사고(Zero-day) 인지 및 조사 시간(MTTI) 99.9% 광속화 |
| 정량 | 공공기관/금융권 라이선스 심사 준비용 엑셀 수작업 1달 | CI 빌드 1분 만에 CycloneDX 포맷 100% 자동 산출 | 컴플라이언스(법적 증거) 통과율 100% 및 인건비 오버헤드 0원 |
| 정성 | "내가 안 짠 90%의 오픈소스 속에 뭐가 들었을까" 불안 | 내 앱 뱃속의 분자 단위(Transitive)까지 까발려진 투명함 | 블랙박스였던 서드파티 공급망(Supply Chain)에 대한 절대적 가시성 획득 |
미래 전망
- AI(LLM) 기반 자율 패치 봇과의 무한 콤보: 지금은 젠킨스가 SBOM 영수증을 뽑아주면 인간이 눈으로 보고 고친다. 미래에는 깃허브에 장착된 AI 봇(Renovate Bot 등)이 이 SBOM 영수증을 24시간 씹어 먹고 대기한다. 세계구급 취약점이 터지는 찰나의 순간, AI 봇이 인간을 깨우기도 전에 해당 낡은 버전을 뽑아내고 안전한 최신 버전으로 소스코드를 혼자 뜯어고친 뒤, 자동 테스트(Green)까지 마치고 라이브 배포 버튼을 스스로 눌러버리는 '자율 방어 면역 시스템'의 코어 혈관으로 작용할 것이다.
- 국가 간 소프트웨어 통관의 1급 여권(Passport)화: 사이버 전쟁 시대다. 미국 정부는 이미 행정명령(EO 14028)을 통해 "SBOM 영수증 없는 소프트웨어는 미국 공공기관에 절대 납품 불가"를 선언했다. 유럽연합(CRA)과 한국도 이를 법제화 중이다. 과거 SBOM이 "디버깅을 위한 개발팀의 편의 도구"였다면, 이제는 이
json파일 하나를 뽑아내지 못하는 기업은 글로벌 앱 스토어, B2B 거래망에서 합법적으로 물건을 팔 수조차 없게 되는 소프트웨어 유통의 필수 관세/통관 여권으로 군림하게 될 것이다.
참고 표준
- SPDX (Software Package Data Exchange): 리눅스 재단이 주도하는 ISO 글로벌 표준 SBOM 규격. 법적 라이선스 추적에 미친 듯이 깐깐해서, 국방부나 국가 기관에 묵직한 서류(계약서)를 납품할 때 무조건 찍어내야 하는 관공서용 규격 1티어.
- CycloneDX (사이클론DX): OWASP 재단이 만든 혁명적 포맷. SPDX보다 문법이 날렵하고 가벼워 개발자와 기계(스캐너)가 가장 선호한다. 해킹 방어(Vulnerability) 매핑과 피드백 연동에 최적화되어 전 세계 데브옵스 CI/CD 자동화 파이프라인의 90%를 장악한 생태계 최강자.
소프트웨어 자재 명세서(SBOM)는 개발자의 하드디스크 속에서만 굴러다니던 닫힌 코드 덩어리에 **'투명한 유리창(Transparency)'**을 달아버린 사이버 시대의 엑스레이 혁명이다. 우리가 마시는 콜라 한 캔, 먹는 소시지 한 봉지에도 빼곡하게 1%의 화학 성분까지 적혀 법적인 통제를 받는데, 정작 1억 명의 금융 자산과 생명을 쥔 거대 소프트웨어가 "안에 무슨 러시아 해커가 만든 찌꺼기 코드가 섞였는지" 아무도 모른 채 10년간 납품되어 왔다는 사실이야말로 인류 공학 역사상 가장 끔찍한 코미디였다. 기술사는 "내 코드는 잘 돈다"는 무책임한 낭만을 당장 멈춰야 한다. 당신이 npm install을 치고 pom.xml을 긁어오는 순간 당신은 수만 명의 낯선 오픈소스 개발자들과 생사를 묶은 연대 보증인이 된 것이다. 빌드 파이프라인 정중앙에 기계적 족쇄(SBOM 생성 플러그인)를 쾅 채워서, 내 손을 떠나는 모든 쇳덩어리(.jar) 뒤통수에 부끄러움 없는 100% 투명한 진실의 영수증(JSON)을 새겨 넣는 것. 그것만이 이 무법천지의 해킹 공급망 사태 속에서 기업의 목숨과 도덕성을 증명하는 아키텍트의 가장 숭고한 법적 의무이자 방패다.
- 📢 섹션 요약 비유: SBOM 없이 개발하는 것은 **'출처를 모르는 100가지 정체불명의 고기 찌꺼기를 갈아서 만든 소시지'**를 대기업 마트에 납품하려는 짓과 같습니다. 맛은 기가 막히겠지만(기능은 쌩쌩 돌겠지만), 식약처(보안팀, 국가 기관)가 "이 안에 썩은 닭고기(낡은 취약 라이브러리) 안 들어갔다는 증거 대봐!"라고 목을 쥘 때 영수증이 없으면 그 소시지 공장은 당일로 폐쇄당하고 구속됩니다. SBOM은 내 소시지가 100% 청정 호주산 소고기와 A급 후추(안전한 최신 오픈소스)로만 섞여 만들어졌음을 법과 기계 앞에서 당당하게 들이밀 수 있는 1만 줄짜리 엑스레이 성분 보증서입니다.
📌 관련 개념 맵 (Knowledge Graph)
| 개념 명칭 | 관계 및 시너지 설명 |
|---|---|
| SCA (소프트웨어 구성 분석) | SBOM을 낳고 또 삼키는 영혼의 사냥개. SCA 봇이 빌드할 때 의존성을 쫙 털어서 SBOM(영수증)을 예쁘게 뱉어내고, 그 영수증을 NVD 족보에 들이밀며 취약점을 차단하는 원팀(One-team) 파트너. (이전 장 495번) |
| 취약하고 만료된 컴포넌트 (A06) | OWASP 10대 해킹 기법 중 하나. 해커들이 SBOM 영수증 관리를 안 하는 회사들을 가장 가성비 좋게 털어먹는 심해의 지뢰밭. 이걸 막으려고 전 세계가 서류(SBOM) 작업에 매달렸다. (이전 장 483번) |
| 공급망 공격 (Supply Chain Attack) | 소프트웨어를 훔치는 게 아니라, 소프트웨어를 만드는 공장(배포 툴, 라이브러리)의 원재료에 독을 타는 현대 최악의 해킹. 이 원재료 독살을 추적하는 유일한 과학수사 기법이 바로 SBOM 엑스레이. |
| 무결성 실패 (A08) | 해커가 도커 컨테이너나 jar 덩어리를 몰래 변조(오염)시킬 때, 젠킨스가 뱉은 SBOM 영수증의 해시(Hash) 지문 도장과 최종 배포본의 지문이 1바이트라도 다르면 짝퉁으로 간주하고 방어해 내는 철벽. (이전 장 485번) |
| VEX (취약점 악용 가능성 거래소) | "SBOM 뽑아보니 에러 1,000개 떴어 ㅠㅠ" 라며 울부짖는 개발자에게, "야, 990개는 우리 구조상 털릴 일 없는 가짜니까 쫄지 마!"라고 예외 처리 면책 도장을 쾅 찍어주는 고마운 보충 문서(JSON). |
👶 어린이를 위한 3줄 비유 설명
- 마트에서 과자를 샀는데 겉봉투만 보면 이 과자 안에 밀가루가 들어갔는지, 딸기가 들어갔는지, 혹시 내가 알레르기가 있는 **'땅콩'**이 몰래 숨어 들어갔는지 아무도 모르잖아요?
- 그래서 과자 봉투 뒷면에 기계가 "밀가루 50%, 설탕 10%, 땅콩 0.1%"라고 들어간 모든 재료(오픈소스)를 100% 숨김없이 쫘르륵 다 적어놓게 법으로 만들었어요!
- 이렇게 나중에 "땅콩 먹고 배탈 나는 병(해킹)"이 돌 때, 컴퓨터(서버)를 뜯어보지 않고도 겉에 붙은 재료 성분표(JSON 파일)만 1초 만에 쓱 읽고 "아! 우리 프로그램엔 독이 든 재료가 없구나!" 하고 안심할 수 있게 만들어주는 디지털 영수증을 **'SBOM'**이라고 부른답니다!