DIG: 원데이 취약점(One-Day Vulnerabilities)을 위한 오라클 가이드 기반 유도 입력 생성
요약
DIG는 패치 분석을 통해 취약점 트리거 조건을 식별하고, LLM 기반 오라클을 활용하여 원데이 취약점의 PoC 입력을 생성하는 연구입니다. 기존 퍼징 및 에이전트 방식의 한계를 극복하여 CVE 트리거 성능과 속도를 획기적으로 향상시켰습니다.
핵심 포인트
- 패치 분석을 통해 취약점 트리거를 위한 필수 제약 조건을 명시적으로 추출
- LLM 기반 오라클을 활용한 상위 수준의 생성기 진화 및 하위 수준의 유도 퍼징 결합
- 기존 SOTA 에이전트 및 퍼저 대비 CVE 트리거 성능 40% 향상
- 최대 3,664배의 빠른 취약점 트리거 속도 달성
- 실제 라이브러리에서 6개의 새로운 제로데이 취약점 발견
원데이 취약점(One-day vulnerabilities)은 패치 적용이 지연되거나 불완전하기 때문에 상당한 위험을 초래합니다. 따라서 실제 영향을 평가하기 위해서는 개념 증명 (PoC, proof-of-concept) 입력을 생성하는 것이 필수적입니다. 핵심 과제는 취약점을 트리거하기 위한 필수 제약 조건(constraints)을 식별하고 이를 효과적으로 해결하는 것입니다. 기존의 유도 퍼징 (directed fuzzing) 방식은 타겟 위치를 향해 입력을 우선시하지만, 필수 제약 조건을 명시적으로 식별하거나 효과적으로 해결하지 못하며, 대신 타겟 거리 피드백과 무작위 변이 (random mutation)에 의존합니다. 에이전트 기반 (Agentic) 접근 방식은 코드 추론과 구조화된 입력 생성을 통해 강력한 잠재력을 보여주지만, 장기 추론 (long-horizon reasoning) 과정에서의 목표 이탈 (goal drift)이 효과를 제한합니다. DIG는 원데이 취약점의 핵심 속성을 활용하여 이 문제를 해결합니다. 즉, 패치는 종종 트리거를 위한 필수 전제 조건을 드러낸다는 점을 이용합니다. DIG는 LLM을 사용하여 패치를 분석하고, 이러한 조건들을 명시적으로 만드는 오라클 (oracle)을 합성합니다. 이 오라클은 두 가지 수준에서 효과적인 PoC 생성을 지원합니다. 상위 수준에서 DIG는 오라클 가이드 기반의 생성기 진화 (generator evolution)를 수행하며, 여기서 에이전트는 오라클을 만족시키기 위해 제약 조건을 추론하고 해결합니다. 하위 수준에서 DIG는 오라클을 타겟 프로그램에 계측 (instrument)하고, 분기 거리 (branch-distance) 피드백을 사용하여 유도 퍼징에서의 무작위 변이를 가이드합니다. 평가 결과, DIG는 138개의 실제 CVE에 대해 2개의 최첨단 (state-of-the-art) 에이전트와 10개의 퍼저 (fuzzer)보다 뛰어난 성능을 보였습니다. DIG는 80개의 취약점을 트리거하여 이전 결과들을 능가했으며, 가장 우수한 베이스라인보다 40% 더 높은 성능을 기록했습니다 (57개 대 80개 CVE). 특히, DIG는 기존의 어떤 기술도 트리거할 수 없었던 9개의 취약점을 독점적으로 트리거했습니다. 다른 도구들의 평균과 비교했을 때, DIG는 92.9%의 사례에서 더 빠르게 취약점을 트리거했으며, 48.8%의 사례에서 100배 이상의 속도 향상을 달성했고, 최대 3,664배의 속도 향상을 기록했습니다. 원데이 PoC 생성을 넘어, DIG는 널리 배포된 라이브러리에서 이전에 알려지지 않았던 6개의 취약점을 발견하여 제로데이 (zero-day) 발견을 가능하게 했습니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 arXiv Codex (cs.SE)의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기