sitelink1 | |
---|---|
sitelink2 | |
sitelink3 | |
sitelink4 | |
extra_vars5 | |
extra_vars6 |
SBOM(Software Bill of Materials)을 생성하기 위한 분석 도구들은 분석 방식에 따라 크게 4가지 유형으로 나뉩니다.
각 유형은 입력 자료와 분석 목적에 따라 선택되며, 장단점이 있습니다.
SBOM 분석 도구의 주요 유형
1. 메타데이터 기반 분석 (Manifest 기반)
-
설명:
package.json
,pom.xml
,requirements.txt
,Package.swift
등의 패키지 매니저 파일을 분석 -
입력 데이터: 프로젝트의 의존성 정의 파일 (manifest)
-
장점:
-
빠르고 가볍다
-
의존성 구조 파악에 적합
-
-
단점:
-
실제 사용된 라이브러리와 다를 수 있음
-
패키지 매니저 지원 여부에 따라 제한
-
-
대표 도구:
2. 정적 분석 기반 (Source Code 분석)
-
설명: 소스 코드, 디렉토리 이름, 주석, license 파일 등을 스캔해 라이선스 및 구성 요소 파악
-
입력 데이터: 전체 소스 코드
-
장점:
-
바이너리/패키지 매니저가 없어도 분석 가능
-
오픈소스 컴포넌트 식별 및 라이선스 컴플라이언스에 유리
-
-
단점:
-
정확도 떨어질 수 있음 (패턴 매칭 기반)
-
실행 파일/라이브러리 식별에는 부족
-
-
대표 도구:
3. 동적 분석 기반 (실행 환경 추적)
-
설명: 소프트웨어 실행 중 로딩되는 라이브러리, 의존성 추적 (런타임 분석)
-
입력 데이터: 실행 가능한 소프트웨어 환경
-
장점:
-
실제 사용되는 의존성만 추적 가능
-
운영환경 기반 분석에 유리
-
-
단점:
-
실행 가능한 환경 필요
-
자동화가 어렵고 분석 비용 큼
-
-
대표 도구:
-
strace, lsof (Linux 기반 도구)
-
자체 스크립트 또는 상용 솔루션 활용
-
4. 바이너리 분석 기반
-
설명: 컴파일된 바이너리 파일에서 문자열, 심볼, 라이브러리 정보 추출
-
입력 데이터:
.exe
,.so
,.dll
,.dylib
등 바이너리 파일 -
장점:
-
소스 없이도 SBOM 생성 가능
-
상용 제품의 보안 분석 및 감사에 적합
-
-
단점:
-
정보가 제한적이고 정확도 낮을 수 있음
-
오픈소스 식별은 제한적
-
-
대표 도구:
-
[Syft](binary 모드)
-
[Black Duck](상용, 바이너리 분석 포함)
정리 표
유형 | 주요 입력 | 대표 도구 | 장점 | 단점 |
---|---|---|---|---|
메타데이터 기반 | 패키지 매니저 파일 | Syft, FOSSLight Dep | 빠름, 정확 | 매니페스트 누락 시 불가 |
정적 분석 기반 | 소스 코드 | FOSSLight Source, ScanCode | 오픈소스 식별, 라이선스 확인 | 정확도 낮을 수 있음 |
동적 분석 기반 | 실행 중인 앱 | strace, lsof | 실제 사용 의존성 추적 | 복잡, 자동화 어려움 |
바이너리 분석 | 실행 파일 | Syft, Binwalk | 소스 없어도 분석 가능 | 정보 제한적 |
원하시면 특정 환경(macOS 앱, Java, Python 등)에 맞는 추천 도구 조합도 안내드릴게요.