AFL++을 활용한 효과적인 퍼징 테스트 기법 노하우 공유
요약
본 글은 작성자가 6년간 약 1,000개 프로젝트를 퍼징 테스트하며 축적한 경험을 바탕으로 AFL++ 사용 노하우를 공유합니다. C 및 C++ 타겟의 퍼징 효율성을 높이기 위해 Address Sanitizer (ASan)와 Undefined Behavior Sanitizer (UBSan) 같은 어설션 활용법과, 테스트 간 전역 상태 격리 방법을 제시합니다. 또한, 큰 버퍼 크기를 줄여서 오버플로우 등 '슈퍼-언해피 패스'에 빠르게 도달하는 기법을 설명합니다.
핵심 포인트
- ASan 및 UBSan 사용: 어설션 추가는 퍼징 테스트의 효과를 높입니다.
- 테스트 격리 필수: 이전 테스트가 전역 상태에 영향을 주지 않도록 초기화해야 합니다.
- 버퍼 크기 축소: 큰 버퍼(예: 65536)를 줄여서 취약점 탐색 속도를 높일 수 있습니다.
- 목표는 오버플로우: 실행 경로 중 가장 어려운 '슈퍼-언해피 패스'에 도달하는 것이 중요합니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 HN Developer Trends의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기0