403호
10:45~11:10
Time-Travel Debugging at the Virtual Hardware Level on x86_64
JUNIOR
#디버깅
정지효 I 한세사이버보안고등학교 클라우드보안과 3학년
안녕하세요, 한세사이버보안고등학교 클라우드 보안과 3학년 정지효입니다. 저는 2024년 글로벌 AI 주니어 육성 프로젝트 1기 수료를 시작으로 인공지능과 임베디드 시스템에 호기심을 가지고 꾸준히 연구를 이어가 BoB 14기 보안제품개발 트랙을 수료하였습니다. 현재 연구 중인 분야는 시스템 프로그래밍, 컴퓨터 하드웨어, 프로그래밍 언어입니다.

본 발표에서는 기존 소프트웨어 중심 디버깅 방식이 가지는 구조적 한계를 스냅샷 기반 가상 하드웨어 디버깅으로 극복하는 새로운 접근법을 소개합니다.

전통적인 디버거인 GDB, WinDbg, Trace32는 실행 흐름이 선형적으로 진행된다는 가정하에 설계되어 있어, 인터럽트, DMA, 레이스 컨디션과 같은 비결정적

하드웨어 이벤트에 대해서는 제한적인 재현성만을 제공합니다. JKDBG는 하드웨어 레벨에서 의미 있는 상태만을 선택적으로 추적합니다. 구체적으로

CPU 레지스터 상태, 인터럽트 컨트롤러 상태, MMIO 접근 흐름, Port I/O 이벤트, 그리고 물리 메모리의 변경 영역을 중심으로 추적 및 저장함으로써, 커널 및

드라이버 디버깅에 필요한 핵심 정보에 집중합니다. 이러한 선택적 상태 추적은 디버깅 정확도를 유지하면서도 저장 공간과 처리 비용을 최소화할 수 있습니다.

본 발표에서는 JKDBG의 전체 아키텍처를 소개하며, QEMU 플러그인을 통한 가상 머신 내부 이벤트 수집 구조, MTTCG와 유사한 방식의 증분 스레드 실행 모델,

그리고 인터럽트 기반 상태 변화 추적 메커니즘을 설명합니다. 또한 하드웨어 상태를 시각적으로 탐색할 수 있는 인터페이스를 제시합니다.

특히 JKDBG는 인터럽트 발생 지점을 기준으로 실행을 분해하고 스냅샷과 결합함으로써, 기존 디버거로는 재현이 어려웠던 커널 패닉, 비동기 하드웨어 이벤트,

레이스 컨디션을 반복적으로 관찰하고 분석할 수 있도록 합니다.

마지막으로 본 연구의 핵심 목표가 기존 소프트웨어 디버거의 실행 모델 한계와, 기존 하드웨어 디버거가 제공하지 못했던 디버깅 친화적 실행 재현 환경이라는

두 문제를 동시에 해결하는 데 있음을 설명합니다. 이를 바탕으로 커널 익스플로잇 재현, 디지털 포렌식등 다양한 보안 분야로의 확장 가능성을 제시하며,

스냅샷 주도형 가상 하드웨어 디버깅이 새로운 디버깅 패러다임으로 자리 잡을 수 있음을 제안합니다.