CISB-Bench: 컴파일러가 유발하는 보안 버그의 감사 가능한 소스-IR 데이터셋
요약
본 논문은 컴파일러가 유발하는 보안 버그(CISBs)의 연구 난점을 해결하기 위해 감사 가능한 데이터셋인 CISB-Bench를 제시합니다. 이 데이터셋은 GCC와 LLVM에서 추출된 429개의 C 프로그램 행으로 구성되어 있으며, 표준화된 LLVM IR 분석 번들 및 다양한 메커니즘 정보를 포함합니다. 이를 통해 컴파일러 보안 마이닝 및 탐지 연구에 재사용 가능한 목표물을 제공합니다.
핵심 포인트
- CISBs는 최적화 등 컴파일 과정에서 발생하여 추적이 어렵다.
- CISB-Bench는 GCC/LLVM 기반의 429개 C 프로그램 행으로 구성되었다.
- 데이터셋은 표준화된 LLVM IR 분석 번들과 메커니즘 정보를 포함한다.
- 컴파일러 보안 마이닝 및 탐지 연구를 위한 검증 가능한 목표물을 제공한다.
컴파일러가 유발하는 보안 버그(Compiler-introduced security bugs, CISBs)는 최적화(optimization), 낮추기(lowering), 또는 계측(instrumentation) 결정이 생성된 프로그램의 보안 관련 속성(security-relevant property)을 변경할 때 발생합니다. 이러한 버그들은 그 증거가 이슈 보고서, 축소 테스트(reduced tests), 역사적 설정(historical configurations), 그리고 컴파일러 아티팩트 전반에 걸쳐 분산되어 있어 연구하기 어렵습니다. 또한 보안 관련 보고서가 모든 연관된 축소가 보안 문제를 지닌 컴파일러 실패를 입증한다는 것을 의미하지는 않습니다.
저희는 GCC와 LLVM에서 추출한 429개의 정확한 C 프로그램 행(row)으로 구성된 감사 가능한 데이터셋인 CISB-Bench를 제시합니다. 각 행은 해당 C 축소 코드, -O0부터 -O3까지의 표준화된 LLVM IR 분석 번들, 공개 출처(public provenance), 최종 바이너리 레이블, 그리고 주요 메커니즘 또는 경계 주석을 포함합니다. 두 명의 검토자가 고정된 코퍼스에 대해 독립적으로 레이블링했으며, 369개 행에서 합의를 이루었습니다 (86.0%, Cohen's kappa=0.662). 나머지 60개의 불일치 항목은 중재되었습니다. 최종 데이터셋은 280개의 CISB와 149개의 난이도 높은 비(非)CISB 사례로 구성됩니다. 예측 과제는 제공된 아티팩트로부터 이 검토된 정확한 행 레이블을 복구하는 것입니다. 이는 표준화된 IR만으로 모든 역사적 컴파일러 실패를 재현한다는 주장은 아닙니다.
저희는 해당 코퍼스가 나타내는 보안 메커니즘과 증거 경계를 특성화하고, 그 쌍을 이루는 아티팩트들이 소스 전용(source-only), IR 인식(IR-aware), 그리고 결합 분석(joint analyses)을 어떻게 지원하는지 입증합니다. CISB-Bench는 컴파일러 보안 마이닝 및 탐지 연구를 위한 재사용 가능하고 검사 가능한 목표물(target)을 제공합니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 arXiv Codex (cs.SE)의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기