[논문 리뷰] Targeted Greybox Fuzzing with Static Lookahead Analysis
이 논문은 최근 수정되었거나 취약한 코드와 같은 특정 프로그램 위치로 퍼즈를 이끌기 위해 온라인 정적 사전 분석을 사용하는 혁신적인 대상 지정 회색상자 퍼징 기법을 제시한다. 실시간으로 실행 가능한 프로그램 경로를 분석하고, 목표 위치에 도달할 수 없는 지점(스플릿 포인트)을 식별함으로써, 전용 파wr 스케줄을 통해 입력을 동적으로 우선순위 정렬함으로써 이더리움 스마트 컨트랙트에서 어려운 목표의 83%에 도달하는 데 최대 14배의 중앙값 속도 향상을 달성한다.
Automatic test generation typically aims to generate inputs that explore new paths in the program under test in order to find bugs. Existing work has, therefore, focused on guiding the exploration toward program parts that are more likely to contain bugs by using an offline static analysis. In this paper, we introduce a novel technique for targeted greybox fuzzing using an online static analysis that guides the fuzzer toward a set of target locations, for instance, located in recently modified parts of the program. This is achieved by first semantically analyzing each program path that is explored by an input in the fuzzer's test suite. The results of this analysis are then used to control the fuzzer's specialized power schedule, which determines how often to fuzz inputs from the test suite. We implemented our technique by extending a state-of-the-art, industrial fuzzer for Ethereum smart contracts and evaluate its effectiveness on 27 real-world benchmarks. Using an online analysis is particularly suitable for the domain of smart contracts since it does not require any code instrumentation---instrumentation to contracts changes their semantics. Our experiments show that targeted fuzzing significantly outperforms standard greybox fuzzing for reaching 83% of the challenging target locations (up to 14x of median speed-up).
연구 동기 및 목표
- 프로그램 내 특정이고 도달하기 어려운 목표 위치에 도달하는 데 회색상자 퍼징의 효과를 향상시키기 위해.
- 스마트 컨트랙트 테스트에 있어 정확성과 확장성 측면에서 오프라인 정적 분석의 한계를 해결하기 위해.
- 실행 가능한 경로에 대해 경로에 민감한 정적 분석을 사용해 실시간으로 퍼징을 동적으로 이끌기 위한 방법을 제공하기 위해.
- 소스 코드 또는 인스트루멘테이션 없이도 프로덕션 수준의 퍼저에 온라인 정적 분석을 원활하게 통합하기 위해.
- 온라인 사전 분석이 표준 회색상자 퍼징보다 대상 취약점 탐지에서 뚜렷한 성능 향상을 이끌 수 있음을 입증하기 위해.
제안 방법
- 퍼저는 매번 새로운 입력을 처리할 때 온라인 정적 사전 분석을 수행하여, 해당 입력이 탐색하는 경로를 분석하고, 목표 위치에 도달할 수 없는 경로의 접두사(prefix)를 식별한다.
- 분석은 실행 가능한 경로 접두사에 대해 경로 민감한 접근 방식을 사용하고, 모든 접미사 경로에 대해 경로 무관한 분석을 수행함으로써 정밀도와 확장성의 균형을 이룬다.
- 목표 위치에 도달할 수 없는 지점인 스플릿 포인트를 경로 상에서 식별하고, 이를 바탕으로 입력에 사전 분석 식별자(lookahead identifier)를 할당한다.
- 사전 분석 식별자와 스플릿 포인트 정보를 활용해, 목표 위치에 도달할 잠재력이 높은 입력에 더 많은 실행 에너지를 할당하는 전용 파워 스케줄을 이끌어낸다.
- 소스 코드나 인스트루멘테이션 없이도 EVM 바이트코드에 직접 분석을 수행하기 위해 추상 해석과 상수 전파 도메인을 사용한다.
- 이 기법은 이더리움 스마트 컨트랙트를 대상으로 하는 최첨단 산업용 퍼저 HARVEY에 통합되었으며, 핵심 실행 모델에 영향을 주지 않았다.
실험 결과
연구 질문
- RQ1온라인 정적 분석을 어떻게 경량화하고 정밀하게 활용하여 회색상자 퍼징을 특정 목표 위치로 이끌 수 있는가?
- RQ2실행 가능한 경로 상에서 목표 도달 가능성 분석의 정밀도를 극대화하기 위해 스플릿 포인트를 어떻게 최적의 전략으로 선택할 수 있는가?
- RQ3온라인 정적 분석의 결과를 퍼저의 파워 스케줄에 효과적으로 통신하여 타겟팅 효율을 향상시킬 수 있는가?
- RQ4온라인 사전 분석은 표준 접근 방식에 비해 회색상자 퍼징의 속도와 효과성에 얼마나 기여하는가?
- RQ5소스 코드나 인스트루멘테이션 없이도 저수준 바이트코드(예: EVM)에 대해 정밀도와 성능을 유지하면서 온라인 정적 분석을 적용할 수 있는가?
주요 결과
- 온라인 사전 분석을 활용한 대상 지정 회색상자 퍼징은 27개의 실제 이더리움 스마트 컨트랙트 벤치마크에서 어려운 목표 위치의 83%에 도달하는 데 최대 14배의 중앙값 속도 향상을 달성했다.
- 특히 복잡하거나 최근 수정된 코드 영역에서 표준 회색상자 퍼징보다 커버리지와 목표 도달 가능성 측면에서 뚜렷한 성능 향상을 보였다.
- 온라인 사전 분석은 정확도가 높은 '목표 도달 불가 접두사'를 식별하여, 소스 코드 인스트루멘테이션 없이도 효과적인 입력 우선순위 정렬이 가능했다.
- 퍼저의 파워 스케줄에 정적 분석을 통합함으로써, 고도의 구조적 복잡성을 지닌 경로에서 목표 위치 탐지 속도가 명확히 향상되었다.
- 실제 산업 환경에서 강력한 확장성과 실용성을 입증했으며, 이는 HARVEY라는 프로덕션 수준의 퍼저에 성공적으로 구현된 결과에서 확인할 수 있었다.
- 결과적으로 동적 경로 탐색과 경량 온라인 정적 분석을 조합함으로써 기존 방법보다 더 효과적이고 효율적인 대상 지정 퍼징이 가능함을 확인했다.
더 나은 연구,지금 바로 시작하세요
연구 설계부터 논문 작성까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.