핵심 개념
기계 학습 기반 하드웨어 퍼저 ChatFuzz는 복잡한 프로세서 설계의 취약점을 효과적으로 탐지하고 기존 퍼징 기법보다 빠르게 높은 커버리지를 달성할 수 있다.
초록
이 논문은 기계 학습 기반 하드웨어 퍼저 ChatFuzz를 소개한다. ChatFuzz는 다음과 같은 특징을 가진다:
- 대규모 언어 모델(LLM)을 활용하여 프로세서 언어의 구조와 특성을 학습하고, 이를 바탕으로 데이터/제어 흐름이 얽힌 의미 있는 의사 난수 명령어 시퀀스를 생성한다.
- 강화 학습(RL)을 통해 커버리지 지표를 보상 함수로 활용하여 입력 생성 과정을 최적화한다.
- RISC-V 기반 RocketCore와 BOOM 프로세서를 대상으로 실험한 결과, ChatFuzz는 기존 최신 퍼저 대비 34.6배 빠르게 75% 커버리지를 달성하였고, BOOM 프로세서에서는 49분 만에 97.02%의 커버리지를 달성하였다.
- ChatFuzz는 기존 퍼저에서 발견된 모든 버그를 찾아냈으며, 캐시 일관성 관리 문제와 실행 추적 문제와 같은 2개의 새로운 버그를 추가로 발견하였다. 또한 RocketCore의 RISC-V ISA 시뮬레이터와의 동작 차이를 드러냈다.
이러한 결과는 ChatFuzz의 효과성과 효율성을 보여주며, 프로세서 취약점 탐지 및 하드웨어 보안 분야에 기여할 것으로 기대된다.
통계
5,866개의 실행 추적 불일치가 초기에 식별되었으며, 이 중 100개 이상의 고유한 불일치가 자동 분석을 통해 확인되었다.
ChatFuzz는 RocketCore에서 74.96%의 조건 커버리지를 52분 만에 달성하였으며, 이는 기존 최신 퍼저 대비 34.6배 빠른 속도이다.
ChatFuzz는 BOOM 프로세서에서 49분 만에 97.02%의 조건 커버리지를 달성하였다.
인용구
"ChatFuzz demonstrably expedites enhancing condition coverage, attaining a coverage level of 74.96% within less than one hour. In contrast, the current leading hardware fuzzer, TheHuzz [9], requires a much longer period of roughly 30 hours to achieve the same coverage, i.e., 34.6× faster."
"In the case of BOOM, ChatFuzz accomplishes a remarkable 97.02% condition coverage in 49 minutes."