toplogo
Sign In

BOOM, Rocket Core 및 CVA6 프로세서의 타이밍 취약점 탐지 및 위치 파악을 위한 WhisperFuzz: 화이트 박스 퍼징 기법


Core Concepts
WhisperFuzz는 프로세서 설계의 마이크로아키텍처 상태 전이를 활용하여 타이밍 취약점을 탐지하고 위치를 파악하는 최초의 화이트 박스 퍼징 기법이다.
Abstract
WhisperFuzz는 프로세서 설계의 마이크로아키텍처 상태 전이를 모델링하는 Micro-Event Graph를 사용하여 타이밍 취약점을 탐지하고 위치를 파악한다. Micro-Event Graph를 자동으로 추출하여 프로세서 모듈의 타이밍 동작을 세부적으로 표현한다. 계층적 분석 전략을 통해 모듈별 타이밍 동작을 효율적으로 분석하여 취약점을 신속하게 탐지한다. Micro-Event Graph의 속성을 활용하여 탐지된 취약점의 근본 원인을 자동으로 파악한다. 커버리지 피드백 퍼징을 통해 프로세서의 타이밍 동작을 효과적으로 탐색한다. WhisperFuzz는 BOOM, Rocket Core, CVA6 등 3개의 고급 RISC-V 프로세서에서 12개의 새로운 타이밍 취약점을 탐지했으며, 이 중 8개는 RISC-V Zkt 확장의 심각한 보안 취약점으로 간주된다. 또한 기존 취약점의 위치도 정확하게 파악했다.
Stats
DIVUW 명령어 실행 시 CVA6 프로세서에서 최대 56 사이클의 타이밍 차이가 발생한다. REMW 명령어 실행 시 CVA6 프로세서에서 최대 56 사이클의 타이밍 차이가 발생한다. DIVUW + REM 명령어 연속 실행 시 BOOM 프로세서에서 최대 101 사이클의 타이밍 차이가 발생한다. C.ADD[W], C.SUB[W], C.AND, C.OR, C.XOR, [C.]MV 압축 명령어 실행 시 CVA6 프로세서에서 최대 12 사이클의 타이밍 차이가 발생한다.
Quotes
"WhisperFuzz는 프로세서 설계의 마이크로아키텍처 상태 전이를 활용하여 타이밍 취약점을 탐지하고 위치를 파악하는 최초의 화이트 박스 퍼징 기법이다." "WhisperFuzz는 BOOM, Rocket Core, CVA6 등 3개의 고급 RISC-V 프로세서에서 12개의 새로운 타이밍 취약점을 탐지했으며, 이 중 8개는 RISC-V Zkt 확장의 심각한 보안 취약점으로 간주된다."

Key Insights Distilled From

by Pallavi Bork... at arxiv.org 03-18-2024

https://arxiv.org/pdf/2402.03704.pdf
WhisperFuzz

Deeper Inquiries

프로세서 타이밍 취약점 탐지를 위한 다른 접근 방식은 무엇이 있을까

다른 프로세서 타이밍 취약점 탐지 접근 방식으로는 정적 분석, 동적 분석, 하드웨어 가속기를 활용한 방법 등이 있습니다. 정적 분석은 프로세서의 소스 코드를 검토하여 잠재적인 취약점을 식별하는 방법이며, 동적 분석은 프로세서를 실행하여 런타임 중에 발생하는 문제를 감지하는 방법입니다. 하드웨어 가속기를 사용하면 프로세서의 동작을 더 빠르게 분석할 수 있어 타이밍 취약점을 더 효과적으로 탐지할 수 있습니다.

타이밍 취약점 외에 프로세서 설계에서 발견될 수 있는 다른 유형의 취약점은 무엇이 있을까

프로세서 설계에서 발견될 수 있는 다른 유형의 취약점으로는 전력 공격, 사이드 채널 공격, 물리적 공격 등이 있습니다. 전력 공격은 프로세서가 소비하는 전력을 분석하여 비밀 정보를 유출하는 공격이며, 사이드 채널 공격은 프로세서의 동작에서 발생하는 부차적인 정보를 분석하여 비밀 정보를 유출하는 공격입니다. 물리적 공격은 프로세서의 물리적 구조를 이용하여 비밀 정보를 유출하는 공격입니다.

프로세서 설계 보안을 향상시키기 위해 하드웨어 및 소프트웨어 측면에서 어떤 추가적인 방법들이 고려될 수 있을까

프로세서 설계 보안을 향상시키기 위해 하드웨어 측면에서는 물리적 보안 기술을 도입하고, 소프트웨어 측면에서는 암호화 기술을 강화하는 방법이 고려될 수 있습니다. 물리적 보안 기술로는 실리콘 및 칩 디자인의 물리적 침입 방지, 전원 및 신호 라인의 보호, 칩 내부의 물리적 보안 요소 등이 있습니다. 암호화 기술을 강화하기 위해 프로세서에서 처리되는 데이터의 암호화 및 복호화 과정을 강화하고, 안전한 키 관리 시스템을 구축하여 데이터 보호를 강화할 수 있습니다.
0