SBOM 기반 취약점 스캐너 일관성 자동 모니터링 솔루션
초록
본 논문은 SBOM 기반 취약점 스캐너(SVS)의 신뢰성 문제를 진단하기 위해 SVS‑TEST라는 체계적인 테스트 프레임워크를 제안한다. 16개의 정밀하게 설계된 SBOM 테스트 케이스와 7개의 상용·오픈소스 SVS 도구를 대상으로 실험한 결과, 다수 도구가 유효한 SBOM 입력에서도 침묵형 오류를 발생시켜 보안에 대한 오인된 안심을 초래함을 밝혀냈다. 연구 결과와 도구는 공개 저장소에 제공되며, 도구 개발자에게 사전 통보가 이루어졌다.
상세 분석
본 연구는 SBOM 기반 취약점 스캐너(SVS)의 내부 복잡성을 먼저 정리하고, 그 복잡성이 실제 도구 구현에 어떻게 영향을 미치는지를 분석한다. SBOM은 CycloneDX와 SPDX 두 가지 주요 포맷을 사용하며, 각각 CPE와 purl이라는 컴포넌트 식별자를 지원한다. 그러나 CPE와 purl의 매칭 로직은 표준이 명확히 정의되지 않아 구현마다 차이가 발생한다. 특히 CPE는 와일드카드와 빈 필드 처리 규칙이 복잡하고, purl은 버전 문자열을 “불투명 문자열”로 취급해 버전 비교에 일관성이 부족하다. 이러한 식별자 불일치는 취약점 데이터베이스(NVD 등)와의 매칭 단계에서 오탐·누락을 야기한다.
SVS‑TEST는 다섯 단계(테스트 케이스 라이브러리, 시나리오 조립, 테스트 실행, 출력 평가, 시나리오 해석)로 구성된 자동화 파이프라인을 제공한다. 테스트 케이스는 SBOM 파일과 기대 결과(정규식 혹은 오류 메시지)로 이루어지며, 인간이 이해하기 쉬운 설명과 동기를 함께 기록한다. 시나리오 조립 단계에서는 전문가가 관련 테스트 케이스를 그룹화하여 부분 요인 실험 설계(분수 팩토리얼 디자인)를 적용, 특정 오류 조건을 격리한다. 실행 단계에서는 각 SVS 도구에 SBOM을 투입하고, 반환된 취약점 리스트를 기대 결과와 비교한다. 평가 단계에서는 매칭 성공률, 오류 발생 여부, 침묵형 실패 등을 정량화하고, 시나리오 해석 단계에서는 결과를 기반으로 도구의 한계와 개선점을 도출한다.
케이스 스터디에서는 7개의 대표적인 SVS 도구(오픈소스·상용 포함)를 16개의 SBOM 시나리오에 적용하였다. 결과는 도구마다 취약점 탐지율이 크게 달라졌으며, 특히 CPE 기반 식별자를 사용하는 경우와 purl 기반 식별자를 사용하는 경우에 차이가 두드러졌다. 몇몇 도구는 특정 형식의 SBOM(예: SPDX XML)에서 전혀 응답하지 않거나, 잘못된 CPE 구문을 무시하고 침묵했다. 이러한 침묵형 실패는 보안 담당자가 위험을 과소평가하게 만들 위험이 있다.
연구는 또한 SVS 도구 개발자에게 사전 공개를 통해 즉각적인 패치와 개선을 유도했으며, 모든 테스트 자산과 결과를 공개 저장소에 공개함으로써 재현성과 커뮤니티 기반 검증을 촉진한다. 최종적으로 SVS‑TEST는 조직이 자체 SVS 파이프라인의 성숙도를 지속적으로 모니터링하고, 서비스형 SVS(As‑a‑Service) 제공자의 변동에도 대응할 수 있는 실용적인 도구임을 입증한다.
댓글 및 학술 토론
Loading comments...
의견 남기기