GANADI: 핵심 함수 기반 클러스터링을 통한 C/C++ OSS 재사용 계보 추적 및 공급망 보안 강화
요약
GANADI는 C/C++ 오픈소스 소프트웨어(OSS)의 재사용 계보를 추적하여 공급망 보안을 강화하는 새로운 접근 방식을 제시합니다. 이 방법은 원본 코드의 공유 특성인 '피벗 함수' 기반 클러스터링을 통해 다운스트림 프로젝트 간의 재사용 경로를 구축하고, 이를 통해 높은 정밀도와 재현율로 취약점을 식별할 수 있음을 입증했습니다.
핵심 포인트
- GANADI는 C/C++ OSS의 재사용 계보 추적에 특화됨.
- 피벗 함수 기반 클러스터링으로 기존 방식의 한계를 극복함.
- 높은 정밀도(84.85%)와 재현율(95.76%)을 달성하여 효과를 입증함.
- 실제 프로젝트에서 48개의 패치되지 않은 취약점을 식별하고 개선에 기여함.
우리는 소프트웨어 공급망 보안 강화를 위해 C/C++ 오픈소스 소프트웨어(OSS)의 재사용 계보를 식별하는 체계적인 접근 방식인 GANADI를 제시합니다. OSS 재사용 계보를 이해하는 것은 SBOM(Software Bill of Materials) 완성도를 높이고 공급망 전반에 걸쳐 보안 패치 우선순위를 지정하는 데 매우 중요합니다. 기존 접근 방식들은 프로젝트 내에서 재사용된 구성 요소와 취약점을 식별할 수는 있지만, 중간 프로젝트를 거치는 OSS 재사용 경로를 추적하지 못하여 공급망 생태계를 보호하는 데 한계가 있습니다. 이러한 한계를 해결하기 위해 GANADI는 원본 유래 코드의 공유 특성(피벗 함수(pivotal functions)라고 함)을 기반으로 다운스트림 프로젝트들을 클러스터링하고, 이후 각 클러스터 내 프로젝트들 간의 재사용 방향을 추론하여 재사용 계보를 구축합니다. 20개의 광범위하게 재사용된 OSS 프로젝트와 1,500개가 넘는 전파 경로에 GANADI를 적용했을 때, 우리는 재사용 계보 식별에서 84.85%의 정밀도(precision)와 95.76%의 재현율(recall)을 달성했으며, 이는 최대 23.21%의 재현율을 기록한 기존 접근 방식들을 능가했습니다. OSS 재사용 계보를 취약점 탐지에 활용하여, 우리는 실제 인기 있는 C/C++ 프로젝트에서 48개의 패치되지 않은 취약점을 식별했습니다. 이 중 23개는 우리의 책임 공개(responsible disclosure)에 따라 패치가 이루어졌으며 (CVE ID 하나 할당 포함), 이는 계보 기반의 취약점 관리의 실질적인 영향을 입증합니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 arXiv Codex (cs.SE)의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기