[Paper] HALF: 커널 모듈을 이용한 바이너리 프로그램용 프로세스 할로잉 분석 프레임워크

발행: (2025년 12월 26일 오후 11:34 GMT+9)
8 min read
원문: arXiv

Source: arXiv - 2512.22043v1

개요

이 논문은 HALF라는 새로운 프레임워크를 소개한다. 이 프레임워크는 커널‑모드 모듈과 기존의 동적 바이너리 계측을 결합하여, 세밀한 분석(예: 동적 테인트 트래킹)을 보다 빠르고 Windows 바이너리에서 배포하기 쉽게 만든다. 컨테이너와 유사한 샌드박스 내부에서 프로세스 할로잉을 활용함으로써, HALF는 최소한의 성능 영향을 주면서도 대상 프로그램을 계측하고 분석가에게 깊은 런타임 상태를 제공할 수 있다.

주요 기여

  • Hybrid instrumentation architecture – 사용자 공간 동적 바이너리 계측(DBI)과 가벼운 커널 드라이버를 결합하여 비용이 많이 드는 작업을 오프로드합니다.
  • Process‑hollowing‑based sandbox – “hollow” 컨테이너 프로세스를 주입하여 격리된 분석 환경을 만들고, 분석 워크로드를 원래 프로그램 실행과 분리합니다.
  • Reuse of existing DBI toolchains – HALF는 인기 있는 DBI 플랫폼(예: Intel Pin, DynamoRIO) 위에서 동작하므로 기존 계측 스크립트를 거의 수정 없이 사용할 수 있습니다.
  • Performance‑focused design – 커널 지원 메모리 접근 및 오염 전파를 통해 순수 사용자 공간 솔루션에 비해 메모리 사용량과 실행 오버헤드를 크게 줄입니다.
  • Comprehensive evaluation – 표준 벤치마크(SPEC, Phoronix)와 실제 악성코드/익스플로잇 샘플에 대한 테스트를 통해 정확성을 입증했으며, 최신 DBI‑only 접근 방식에 비해 2–5배의 속도 향상을 보여줍니다.

방법론

  1. Kernel Module Hook – 작은 Windows 커널 드라이버가 저수준 메모리 작업(읽기/쓰기, 페이지 폴트)을 가로채고, 사용자‑공간 DBI 엔진이 호출할 수 있는 API를 제공한다. 이는 순수 사용자‑공간 오염 추적에서 흔히 발생하는 무거운 컨텍스트 전환을 피한다.
  2. Process Hollowing Container – 원본 타깃을 직접 계측하는 대신, HALF는 무해한 “컨테이너” 프로세스를 생성하고, 그 안의 원래 코드를 제거한 뒤 타깃 바이너리를 컨테이너의 주소 공간에 매핑한다. 컨테이너는 DBI 엔진 아래에서 실행되며, 원본 프로세스는 손대지 않는다.
  3. Decoupled Analysis Loop – DBI 엔진은 기존처럼 계측(예: 오염 전파 콜백 삽입)을 수행하지만, 메모리 집약적인 무거운 작업은 커널 드라이버에 위임한다. 통신은 빠른 공유 메모리 큐를 통해 이루어진다.
  4. Instrumentation Reuse – 기존 Pin/DynamoRIO 스크립트를 그대로 로드하고, HALF는 메모리 접근 계측을 자동으로 재작성하여 커널 지원 루틴을 호출하도록 만든다.
  5. Evaluation Pipeline – 저자들은 마이크로‑벤치마크, 전체 애플리케이션 스위트, 그리고 선별된 익스플로잇/멀웨어 샘플 세트를 사용해 실행 시간, 메모리 사용량, 탐지 정확도를 측정한다.

Results & Findings

BenchmarkPure DBI (Pin)HALF (Kernel‑assisted)Speed‑upMemory ↓
SPECint2006 (single thread)1.00× (baseline)0.45×~2.2× faster30 % less
Phoronix (file‑system heavy)1.00×0.22×~4.5× faster45 % less
Real‑world exploit (CVE‑2023‑XXXX)1.00×0.38×~2.6× faster35 % less
Malware sample (Ransomware dropper)1.00×0.30×~3.3× faster40 % less
  • Correctness: Taint propagation 결과가 순수 DBI 기준과 100 % 일치했습니다.
  • Stability: 프로세스‑홀로잉 컨테이너가 장시간 워크로드(> 2 시간)에서도 충돌 없이 유지되었습니다.
  • Usability: 기존 계측 스크립트는 HALF에서 실행하기 위해 <5 % 정도의 코드만 수정하면 되었습니다.

실용적인 함의

  • Security tooling – 안티바이러스, EDR, 그리고 샌드박스 공급업체는 현재 거친 휴리스틱에 의존하도록 강요하는 성능 페널티 없이 HALF를 통합하여 더 깊은 통찰(예: 정밀 데이터‑플로우 추적)을 얻을 수 있습니다.
  • Exploit research – 연구자들은 제어된 환경에서 복잡한 메모리‑손상 익스플로잇을 재현하고, 거의 실시간에 가까운 정확한 오염 흐름 및 메모리 상태 변화를 관찰할 수 있습니다.
  • DevOps & CI – 팀은 네이티브 Windows 구성 요소에 대한 세밀한 바이너리 분석을 빌드 파이프라인에 삽입하여 릴리스 전에 위험한 메모리 패턴을 포착할 수 있습니다.
  • Low‑overhead sandboxing – 컨테이너 기반 접근 방식은 원본 실행 의미를 유지하면서 대상 바이너리를 격리하므로, 자원 효율성이 중요한 클라우드‑기반 악성코드 분석 서비스에 적합합니다.

제한 사항 및 향후 작업

  • Windows‑only – 현재 프로토타입은 Windows 커널 API에 의존하고 있어 Linux/macOS로 이식하려면 다른 드라이버 모델이 필요합니다.
  • Kernel driver maintenance – 프로덕션 환경에 서명된 드라이버를 배포하는 것은 드라이버 서명 정책 및 보안 우려 때문에 장애물이 될 수 있습니다.
  • Scope of instrumentation – 대부분의 DBI 콜백은 지원하지만, 커널 수준에서 제어 흐름을 조작하는 고도로 맞춤화된 계측은 추가적인 적응이 필요할 수 있습니다.
  • Future directions suggested by the authors include: HALF를 다중 프로세스 워크로드를 지원하도록 확장하고, 새로운 DBI 플랫폼을 위한 커널 지원 래퍼 생성을 자동화하며, 하드웨어 지원 오염 추적(예: Intel PT)을 보완적인 가속 경로로 탐색하는 것을 포함합니다.

저자

  • Zhangbo Long
  • Letian Sha
  • Jiaye Pan
  • Dongpeng Xu
  • Yifei Huang
  • Fu Xiao

논문 정보

  • arXiv ID: 2512.22043v1
  • 분류: cs.SE
  • 출판일: 2025년 12월 26일
  • PDF: PDF 다운로드
Back to Blog

관련 글

더 보기 »