Skip to main content
QUICK REVIEW

[논문 리뷰] TOFU: Target-Orienter FUzzer.

Zi Wang, Ben Liblit|arXiv (Cornell University)|2020. 04. 29.
Software Testing and Debugging Techniques참고 문헌 29인용 수 9
한 줄 요약

TOFU는 거리 메트릭을 사용해 입력을 특정 프로그램 위치로 유도하고 입력 구조에 대한 인식을 통합함으로써 지향적 퍼징을 가속화하는 타겟 지향 퍼저이다. xmllint에서 TOFU는 AFLGo 대비 28% 빠른 타겟 발견과 45% 높은 타겟 커버리지를 달성하여, 거리 유도와 구조적 입력 인식의 효과를 입증한다.

ABSTRACT

Program fuzzing---providing randomly constructed inputs to a computer program---has proved to be a powerful way to uncover bugs, find security vulnerabilities, and generate test inputs that increase code coverage. In many applications, however, one is interested in a target-oriented approach-one wants to find an input that causes the program to reach a specific target point in the program. We have created TOFU (for Target-Oriented FUzzer) to address the directed fuzzing problem. TOFU's search is biased according to a distance metric that scores each input according to how close the input's execution trace gets to the target locations. TOFU is also input-structure aware (i.e., the search makes use of a specification of a superset of the program's allowed inputs). Our experiments on xmllint show that TOFU is 28% faster than AFLGo, while reaching 45% more targets. Moreover, both distance-guided search and exploitation of knowledge of the input structure contribute significantly to TOFU's performance.

연구 동기 및 목표

  • 특정 타겟 프로그램 위치에 도달하는 입력을 효율적으로 발견할 수 있도록 지향적 퍼징 문제를 해결하기 위해.
  • 실행 트레이스가 타겟 지점에 얼마나 가까운지를 수량화하는 거리 메트릭을 도입하여 기존 퍼저를 향상시키기 위해.
  • 예외적인 입력의 구조적 지식(예: 문법 또는 포맷 사양)을 활용하여 퍼징 효율을 향상시키기 위해.
  • 거리 유도 검색과 입력 구조 인식이 타겟 발견 성능에 미치는 병합된 영향을 평가하기 위해.

제안 방법

  • TOFU는 각 입력의 실행 트레이스가 타겟 프로그램 위치에 얼마나 가까운지를 평가하기 위해 거리 메트릭을 사용한다.
  • 퍼저는 거리 점수가 낮은 입력을 우선시하는 유전 알고리즘을 활용하여 타겟 위치 쪽으로 검색을 유도한다.
  • TOFU는 프로그램이 허용하는 입력 포맷의 슈퍼셋을 따르는 입력를 검증하고 생성하기 위해 파서 또는 구조 인식 모델을 통합한다.
  • 실행 경로 추적과 거리 점수 효율적 계산을 위해 상징적 실행과 동적 타인팅 분석을 결합한다.
  • 변형과 교배를 통해 입력을 진화시키며, 타겟으로의 거리를 줄이고 구문적으로 유효성을 유지하는 입력을 선호한다.

실험 결과

연구 질문

  • RQ1거리 유도 검색은 퍼징에서 타겟 프로그램 위치에 도달하는 데 얼마나 효율성을 향상시키는가?
  • RQ2입력 구조 인식은 지향적 퍼징에서 타겟 발견에 얼마나 기여하는가?
  • RQ3거리 유도와 구조적 인식의 조합은 AFLGo와 같은 최첨단 기법과 비교해 어떻게 다른가?
  • RQ4실제 프로그램에서 TOFU를 사용할 경우 성능 향상(속도 및 커버리지 측면)은 어떠한가?

주요 결과

  • xmllint 프로그램에서 TOFU는 AFLGo 대비 28% 빠른 타겟 발견을 달성한다.
  • TOFU는 AFLGo보다 45% 더 많은 타겟 위치에 도달하여 지향적 퍼징에서 뛰어난 코드 커버리지를 보여준다.
  • 거리 유도 검색과 입력 구조 인식 모두 TOFU의 성능 향상에 기여하는 데 핵심적인 역할을 한다.
  • 구조적 입력 지식 통합으로 인해 무효 또는 관련 없는 입력의 수가 감소하여 검색 효율성이 향상된다.

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

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

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

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