Skip to main content
QUICK REVIEW

[논문 리뷰] PTrix: Efficient Hardware-Assisted Fuzzing for COTS Binary

Yaohui Chen, Dongliang Mu|arXiv (Cornell University)|2019. 05. 25.
Software Testing and Debugging Techniques참고 문헌 25인용 수 9
한 줄 요약

PTrix는 Intel Processor Tracing(PT)를 활용하여 동적 인스트루먼테이션의 성능 저하 문제를 해결하고 바이너리 온리 퍼지잉을 가속화하는 하드웨어 지원 퍼저이다. 트레이서를 병렬로 파싱하고 코드 커버리지 재구성 대신 원시 PT 패킷을 직접 피드백으로 사용함으로써, 전통적인 코드 커버리지 피드백보다 더 정확하고 정보가 풍부한 경로 탐색이 가능해져, 잘 퍼지된 바이너리에서 35개의 새로운 취약점을 발견했으며 이 중 11개는 CVE로 할당됨.

ABSTRACT

Despite its effectiveness in uncovering software defects, American Fuzzy Lop (AFL), one of the best grey-box fuzzers, is inefficient when fuzz-testing source-unavailable programs. AFL's binary-only fuzzing mode, QEMU-AFL, is typically 2-5X slower than its source-available fuzzing mode. The slowdown is largely caused by the heavy dynamic instrumentation. Recent fuzzing techniques use Intel Processor Tracing (PT), a light-weight tracing feature supported by recent Intel CPUs, to remove the need of dynamic instrumentation. However, we found that these PT-based fuzzing techniques are even slower than QEMU-AFL when fuzzing real-world programs, making them less effective than QEMU-AFL. This poor performance is caused by the slow extraction of code coverage information from highly compressed PT traces. In this work, we present the design and implementation of PTrix, which fully unleashes the benefits of PT for fuzzing via three novel techniques. First, PTrix introduces a scheme to highly parallel the processing of PT trace and target program execution. Second, it directly takes decoded PT trace as feedback for fuzzing, avoiding the expensive reconstruction of code coverage information. Third, PTrix maintains the new feedback with stronger feedback than edge-based code coverage, which helps reach new code space and defects that AFL may not. We evaluated PTrix by comparing its performance with the state-of-the-art fuzzers. Our results show that, given the same amount of time, PTrix achieves a significantly higher fuzzing speed and reaches into code regions missed by the other fuzzers. In addition, PTrix identifies 35 new vulnerabilities in a set of previously well-fuzzed binaries, showing its ability to complement existing fuzzers.

연구 동기 및 목표

  • 동적 인스트루먼테이션과 PT 트레이스 복구에 의존하는 기존 하드웨어 지원 퍼저의 성능 저하 문제를 해결한다.
  • QEMU-AFL의 동적 인스트루먼테이션으로 인한 바이너리 온리 퍼지잉에서의 성능 저하(2–5배 속도 저하)를 해결한다.
  • 소스 미제공 바이너리에 대해 고속의 경로 민감한 퍼지잉을 실현하기 위해 Intel PT의 저오버헤드 트레이싱 기능을 최대한 활용하는 시스템을 설계한다.
  • 코드 커버리지 재구성 대신 원시 PT 패킷을 피드백 입력으로 사용함으로써 피드백의 정확도를 향상시키고, 엣지 기반 커버리지보다 더 나은 경로 탐색을 가능하게 한다.
  • 최신 기술 수준의 퍼저들과 비교해 실제 바이너리에서 뛰어난 취약점 탐지 성능을 입증한다.

제안 방법

  • 타겟 프로그램 실행과 별개로 PT 트레이스 처리를 분리하는 병렬적이고 확장 가능한 트레이스 파싱 기법을 도입하여, 프로그램이 실행되는 동안 동시에 트레이스를 파싱하는 스레드를 사용한다.
  • 실행 윈도우를 동적으로 조정하는 경계 업데이트 메커니즘을 구현하여 트레이스 경계 업데이트 지연을 방지하고 파싱 스레드가 뒤처지지 않도록 한다.
  • 기존의 엣지 기반 코드 커버리지 피드백을 대체하여, 디코딩된 PT 패킷 스트림을 직접 퍼지잉 피드백으로 인코딩하는 PT 친화적인 피드백 메커니즘을 구현한다.
  • 원시 PT 트레이스 스트림을 경로 민감한 피드백 신호로 사용함으로써, 엣지 기반 커버리지보다 더 정밀하고 정보가 풍부한 경로 탐색 가이드라인을 제공한다.
  • 기존 퍼지잉 워크플로우와의 호환성을 유지하기 위해, 수정된 AFL 유사 퍼저 아키텍처에 새로운 피드백 메커니즘을 통합한다.
  • 중간 재구성 단계를 최소화하여 저지연 트레이스 처리와 고스루풋 퍼지잉을 실현하기 위해 시스템을 최적화한다.

실험 결과

연구 질문

  • RQ1Intel Processor Tracing(PT)를 사용하여 바이너리 온리 퍼지잉에서 동적 인스트루먼테이션의 오버헤드를 제거할 수 있는가?
  • RQ2기존 PT 기반 퍼저들이 하드웨어 트레이싱을 사용하고도 QEMU-AFL보다 성능이 열 劣하는 이유는 무엇인가?
  • RQ3원시 PT 패킷 스트림은 코드 커버리지 재구성 없이도 효과적이고 효율적인 퍼지잉 피드백 메커니즘으로 활용될 수 있는가?
  • RQ4PT 트레이스 기반의 경로 민감한 피드백은 엣지 기반 피드백보다 코드 커버리지 향상과 취약점 탐지 능력을 향상시키는가?
  • RQ5PTrix는 실제 COTS 바이너리에서 최신 기술 수준의 퍼저들과 비교해 속도와 결함 탐지 능력 면에서 뛰어나게 성능을 발휘할 수 있는가?

주요 결과

  • PTrix는 QEMU-AFL보다 뚜렷이 높은 퍼지잉 속도를 달성했으며, 이는 동적 인스트루먼테이션 오버헤드를 제거함으로써 발생한 성능 향상 덕분이다.
  • 원시 PT 패킷 피드백 메커니즘은 피드백 계산 비용을 줄여 코드 커버리지 재구성 시스템보다 더 빠르고 반응성이 뛰어난 퍼지잉을 가능하게 했다.
  • PTrix는 다른 퍼저들이 놓친 코드 영역, 특히 잘 퍼지된 바이너리에서 이전에 알려지지 않은 경로까지 탐색하는 데 성공했다.
  • 시스템은 COTS 바이너리 세트에서 35개의 새로운 취약점을 발견했으며, 이 중 11개는 CVE 식별자를 할당받았다.
  • 병렬적이고 확장 가능한 트레이스 파싱 기법은 트레이스 경계 업데이트 지연을 효과적으로 완화하여 파싱 스레드의 효율적 활용을 보장했다.
  • PTrix는 QEMU-AFL과 다른 PT 기반 퍼저들(kAFL, PTFuzz 등)을 모두 능가하여 퍼지잉 스루풋과 코드 커버리지 커버리지 범위 면에서 뛰어난 성능을 보였다.

더 나은 연구,지금 바로 시작하세요

논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.