[논문 리뷰] HyPFuzz: Formal-Assisted Processor Fuzzing
HyPFuzz는 공식 검증을 하드웨어 퍼징과 결합하여 도달하기 어려운 프로세서 설계 공간을 탐색하고, 더 빠른 커버리지와 새로운 취약점 발견을 달성한다.
Recent research has shown that hardware fuzzers can effectively detect security vulnerabilities in modern processors. However, existing hardware fuzzers do not fuzz well the hard-to-reach design spaces. Consequently, these fuzzers cannot effectively fuzz security-critical control- and data-flow logic in the processors, hence missing security vulnerabilities. To tackle this challenge, we present HyPFuzz, a hybrid fuzzer that leverages formal verification tools to help fuzz the hard-to-reach part of the processors. To increase the effectiveness of HyPFuzz, we perform optimizations in time and space. First, we develop a scheduling strategy to prevent under- or over-utilization of the capabilities of formal tools and fuzzers. Second, we develop heuristic strategies to select points in the design space for the formal tool to target. We evaluate HyPFuzz on five widely-used open-source processors. HyPFuzz detected all the vulnerabilities detected by the most recent processor fuzzer and found three new vulnerabilities that were missed by previous extensive fuzzing and formal verification. This led to two new common vulnerabilities and exposures (CVE) entries. HyPFuzz also achieves 11.68$ imes$ faster coverage than the most recent processor fuzzer.
연구 동기 및 목표
- 대형 프로세서에서 더 빠르고 더 완전한 하드웨어 취약점 발견의 필요성을 동기 부여한다.
- 공식 검증과 하드웨어 퍼징을 통합하는 하이브리드 퍼징 프레임워크를 제안한다.
- 커버리지와 효율성을 극대화하기 위한 스케줄링, 포인트 선택 및 통합 메커니즘을 개발한다.
- 실제 오픈 소스 프로세서에서 HyPFuzz를 시연하고 커버리지 속도 및 취약점 발견을 기준선과 비교한다.
제안 방법
- 커버리지-율 비교를 기반으로 퍼징과 공식 검증 사이를 전환하는 동적 스케줄러를 개발한다.
- 이후 퍼징 커버리지를 극대화하는 미커버리지 설계 포인트를 겨냥하는 포인트 선택 전략을 만든다.
- 커버리지 포인트로부터 커버 속성을 생성하고 형식 도구의 출력을 퍼저의 실행 가능한 시드로 변환한다.
- 형식 도구의 불리언 할당을 퍼징 시드용 유효한 테스트 케이스 바이너리로 변환한다.
- 형식 도구와 퍼저 간의 원활한 통합을 가능하게 하는 속성 생성기와 테스트 케이스 컨버터를 구현한다.
- 다섯 개의 오픈 소스 프로세서(Rocket Core, CVA6, BOOM, mor1kx, OR1200)에 대해 HyPFuzz를 평가하고 TheHuzz 및 임의 회귀와 비교 벤치마크를 수행한다.
실험 결과
연구 질문
- RQ1공식 검증 지침을 퍼징과 효과적으로 스케줄링하여 하드웨어 설계 커버리지를 극대화하려면 어떻게 해야 하는가?
- RQ2형식 도구와 퍼징을 결합할 때 커버리지 포인트를 선택하는 어떤 전략이 커버리지의 가장 빠른 진행을 산출하는가?
- RQ3대형 프로세서 설계에 대해 형식 도구의 출력과 퍼징 시드 간의 원활한 변환이 달성될 수 있는가?
- RQ4이전 퍼저/형식 방법으로 놓친 취약점을 HyPFuzz가 탐지하는 영향은 무엇인가?
- RQ5HyPFuzz가 다수의 널리 사용되는 프로세서 코어와 ISA(RISC-V 및 OpenRISC)에서 어떻게 확장되는가?
주요 결과
- HyPFuzz는 최신 프로세서 퍼저(TheHuzz)보다 커버리지를 11.68배 더 빠르게 달성한다.
- HyPFuzz는 TheHuzz가 발견한 모든 취약점을 탐지하고 새로운 취약점 3건을 발견하여 두 개의 CVE(CVE-2022-33021, CVE-2022-33023)를 초래한다.
- HyPFuzz는 실행 시간에서 TheHuzz에 비해 3.06배 빠르고 명령어 커버리지에서 3.05배 빠르다.
- HyPFuzz는 커버리지에서 무작위 회귀에 비해 239.93배 빠르다.
- CVA6에서 HyPFuzz는 72시간 만에 94.78%의 분기 커버리지에 도달한다(별도 평가에서 JasperGold가 8일만에 달성한 94.51%와 비교).
- 하이브리드 실행을 활용하여 형식 도구 단독보다 커버리지가 11.68배 빠르면서 더 적은 시간으로 달성한다.
더 나은 연구,지금 바로 시작하세요
연구 설계부터 논문 작성까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.