LLM 기반 자동 커널 취약점 재현 시스템 K‑Repro의 실증적 분석

LLM 기반 자동 커널 취약점 재현 시스템 K‑Repro의 실증적 분석
안내: 본 포스트의 한글 요약 및 분석 리포트는 AI 기술을 통해 자동 생성되었습니다. 정보의 정확성을 위해 하단의 [원본 논문 뷰어] 또는 ArXiv 원문을 반드시 참조하시기 바랍니다.

초록

본 논문은 LLM 에이전트를 활용해 리눅스 커널 패치를 입력으로 취약점 재현과 PoC 생성을 자동화하는 K‑Repro 시스템을 설계·구현하고, 100개의 실제 N‑day 커널 취약점을 대상으로 50 % 이상 성공률을 달성함을 실증한다. 또한 도구 구성·프롬프트 설계·디버깅 지원 등 핵심 요소가 재현 성능에 미치는 영향을 정량적으로 분석한다.

상세 분석

K‑Repro는 코드 브라우징, VM 관리·상호작용, GDB 디버깅 등 네 가지 도구군을 LLM에게 노출시켜, “정적 분석 → 가설 수립 → 동적 검증 → 반복 수정”의 사이클을 스스로 수행하도록 설계되었다. 특히 패치 커밋만을 입력으로 받아, 패치 이전 커밋을 기반으로 취약한 커널 이미지를 자동 빌드하고, 동일한 스냅샷에서 반복 실행함으로써 실행 환경의 비결정성을 최소화한다. LLM은 GPT‑5.1 Codex XHigh 모델을 사용했으며, 프롬프트에는 고수준 행동 지침(정적 분석 우선, 증거 기반 가설 수정)과 저수준 도구 사용 규칙(시간 제한 설정, 인터넷 접근 금지)이 포함돼 있다.

실험 결과, 100개의 KernelCTF 취약점 중 52 %에서 성공적인 PoC와 재현 보고서를 생성했으며, 동일 조건에서 10 시간 제한 내에 평균 3.2 시간이 소요되었다. 동일 데이터셋에 대해 최신 DGF 기반 SyzDirect와 비교했을 때, K‑Repro는 성공률 52 % vs 38 %와 평균 재현 시간 3.2 h vs 7.9 h으로 우위를 보였다.

성공 요인 분석에서는 (1) 코드 브라우징 도구가 대규모 커널 소스에서 필요한 심볼과 정의를 정확히 추출해 LLM의 컨텍스트 오버플로를 방지한 점, (2) VM 스냅샷 기반 재시작이 비정상 종료 후 빠른 복구를 가능하게 해 반복 실험을 안정화한 점, (3) 디버깅 도구를 통한 브레이크포인트 설정이 커널 크래시 지점을 명확히 파악하게 해 가설 검증을 효율화한 점을 강조한다. 반면 실패 사례는 (a) 복잡한 동시성 버그에서 충분한 스레드 스케줄링을 유도하지 못한 경우, (b) LLM이 제공한 시스템 콜 시퀀스가 부족해 상태 전이를 만족시키지 못한 경우, (c) 프롬프트에 명시된 “인터넷 검색 금지” 규칙을 위반하려는 시도가 로그에 남아 실행 흐름을 방해한 경우 등으로 구분된다.

제한 실험에서는 디버깅 도구를 제외하거나 프롬프트를 단순화했을 때 성공률이 각각 12 %포인트와 8 %포인트 감소했으며, 이는 도구와 프롬프트 설계가 전체 파이프라인의 성능에 결정적임을 시사한다. 또한 모델을 Medium 수준으로 교체했을 때 성공률이 35 %로 급락했는데, 이는 고수준 추론 능력과 코드 이해도가 재현 작업에 필수적임을 보여준다.

전체적으로 K‑Repro는 “LLM + 전문 도구”라는 하이브리드 접근이 대규모 시스템 코드(리눅스 커널)에서도 실용적인 자동 취약점 재현을 가능하게 함을 입증한다. 향후 연구는 (1) 멀티스레드·레이스컨디션 탐지를 위한 자동 스케줄링 제어, (2) 도구 호출 비용을 최소화하는 프롬프트 최적화, (3) 오픈소스 커뮤니티와 연계한 지속적인 패치·버그 데이터베이스 구축을 통해 재현 파이프라인을 더욱 확장·일반화하는 방향으로 나아갈 수 있다.


댓글 및 학술 토론

Loading comments...

의견 남기기