[논문 리뷰] TheHuzz: Instruction Fuzzing of Processors Using Golden-Reference Models for Finding Software-Exploitable Vulnerabilities
TheHuzz는 골든 레퍼런스 모델을 사용하여 명령 시퀀스를 생성하는 하드웨어 퍼저로, 소프트웨어에 exploitable한 하드웨어 취약점을 밝혀내고 기존 퍼저와 무작위 회귀 방식보다 우수합니다.
The increasing complexity of modern processors poses many challenges to existing hardware verification tools and methodologies for detecting security-critical bugs. Recent attacks on processors have shown the fatal consequences of uncovering and exploiting hardware vulnerabilities. Fuzzing has emerged as a promising technique for detecting software vulnerabilities. Recently, a few hardware fuzzing techniques have been proposed. However, they suffer from several limitations, including non-applicability to commonly used Hardware Description Languages (HDLs) like Verilog and VHDL, the need for significant human intervention, and inability to capture many intrinsic hardware behaviors, such as signal transitions and floating wires. In this paper, we present the design and implementation of a novel hardware fuzzer, TheHuzz, that overcomes the aforementioned limitations and significantly improves the state of the art. We analyze the intrinsic behaviors of hardware designs in HDLs and then measure the coverage metrics that model such behaviors. TheHuzz generates assembly-level instructions to increase the desired coverage values, thereby finding many hardware bugs that are exploitable from software. We evaluate TheHuzz on four popular open-source processors and achieve 1.98x and 3.33x the speed compared to the industry-standard random regression approach and the state-of-the-art hardware fuzzer, DiffuzRTL, respectively. Using TheHuzz, we detected 11 bugs in these processors, including 8 new vulnerabilities, and we demonstrate exploits using the detected bugs. We also show that TheHuzz overcomes the limitations of formal verification tools from the semiconductor industry by comparing its findings to those discovered by the Cadence JasperGold tool.
연구 동기 및 목표
- 전통적인 형식 검증 및 런타임 검사 outside of formal verification 및 자동 확장형 하드웨어 취약점 탐지의 필요성에 대한 동기 제시.
- (i) Verilog/VHDL HDLs를 지원하고, (ii) 표준 IC 설계 흐름과의 통합을 가능하게 하며, (iii) 사전 설계 지식 없이도 소프트웨어에 exploitable한 하드웨어 취약점을 탐지하는 하드웨어 퍼저를 개발합니다.
- 하드웨어 고유 동작을 특성화하고, 신호 전이, 떠다니는 와이어, FSM 및 기타 RTL 특성을 포착하는 커버리지 메트릭을 도출하여 퍼징을 안내합니다.
- 실제 오픈 소스 프로세서에서 TheHuzz의 효과를 시연하고 기존 하드웨어 퍼저 및 형식 검증 도구와 비교합니다.
제안 방법
- Seed 생성, 자극 생성, 변이 엔진, 골든 레퍼런스 모델과의 비교를 이용한 버그 탐지 모듈로 구성된 TheHuzz 아키텍처를 제안합니다.
- 조합/순차 로직, 신호 전이, 떠다니는 와이어, FSM 상태를 포착하는 하드웨어 특화 커버리지 메트릭을 정의합니다.
- ISA 레벨 시드 입력(구성 명령 및 테스트 명령)을 생성하고, 이진 수준에서 명령을 변이시켜 규격 외 입력을 탐색합니다.
- 커버리지를 최대화하면서 테스트된 쌍의 집합을 최소화하는 방향으로 명령-변이 쌍을 선택하는 최적화 기반 접근법을 사용합니다.
- 골든 레퍼런스 모델과 RTL 시뮬레이션 트레이스를 매칭하여 버그를 탐지하고 분석을 위한 불일치를 표시합니다.
실험 결과
연구 질문
- RQ1하드웨어 퍼저가 내재된 RTL 동작을 효과적으로 포착하여 보안 관련 버그를 발견할 수 있는 방법은 무엇인가요?
- RQ2하드웨어 의식적 커버리지를 가진 RTL에서 직접 작동하는 퍼징 접근 방식이 소프트웨어 기반 또는 기존 하드웨어 퍼저보다 소프트웨어에 exploitable한 취약점을 더 잘 발견할 수 있나요?
- RQ3명령 변이 쌍을 최적화하는 것이 실제 프로세서 설계에서 커버리지 및 버그 발견 효율성에 미치는 영향은 무엇인가요?
주요 결과
- TheHuzz는 업계 표준 무작위 회귀 방식 대비 1.98배의 속도향상 및 DiffuzRTL 대비 3.33배의 속도향상을 달성했습니다.
- 네 가지 프로세서(orr1200, mor1kx, Ariane, Rocket Core)에서 평가한 결과 TheHuzz는 11개의 버그를 발견했으며, 그 중 8개는 새로운 취약점입니다.
- 발견된 버그에는 권한이 없는 소프트웨어로 입증된 소프트웨어에 exploitable한 문제가 포함됩니다.
- Cadence JasperGold와 비교할 때 TheHuzz는 상태 폭발, 자원 집약성 및 전문가 지식 의존도를 극복합니다.
- 저자들은 하드웨어 퍼징 연구를 촉진하기 위해 TheHuzz를 오픈소스로 공개할 계획입니다.
더 나은 연구,지금 바로 시작하세요
연구 설계부터 논문 작성까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.