본 포스트는 다음 학술 문서를 기반으로 공부 목적으로 요약 및 분석하여 작성한 포스트입니다.
최근 빠르게 확산 중인 오픈소스 CPU 아키텍처 RISC-V는 유연한 확장성과 생태계 확장성 덕분에 다양한 기업이 RISC-V 기반 CPU를 개발하고 있습니다. 그러나 이 '열린 구조'는 보안 관점에서 새로운 위험을 만들고 있습니다. 바로, CPU 구현체마다 생기는 미묘한 차이와 그로 인한 보안 허점입니다.
본 학술 문서는 바로 이러한 지점을 정조준합니다. 소스코드 없이, 실제 하드웨어에서 자동으로 CPU 보안 취약점을 찾아내는 퍼징 도구를 제안하며, 우리가 RISC-V 생태계에 대해 안심할 수 없음을 보여줍니다.
🔍 RISCVuzz란?
RISCVuzz는 서로 다른 RISC-V CPU에 동일한 명령어 시퀀스를 실행하고,실행 결과의 차이점(Differences)을 자동 분석해 버그나 취약점을 탐지하는 차등 퍼징(Differential Fuzzing) 프레임워크입니다.
- RTL 소스 없음
- 시뮬레이터(Golden Model) 없음
- 실제 하드웨어에서 동작
하지만, GhostWirte, DoS 취약점 등 중대 보안 문제를 수초 내 자동 탐지합니다.
⚙️ 어떻게 작동할까?
RISCVuzz는 다음과 같은 구조로 설계되었습니다 :
- 서버 : 명령어 시퀀스 생성, 실행 결과 수집 및 비교 분석
- 클라이언트 : 실물 RISC-V CPU, 받은 명령어를 실행하고 상태값을 반환
- 재현 기능 : 발견된 취약 시퀀스는 C코드로 자동 변환, 리포팅 및 분석 가능
단순한 퍼징이 아니라, 벤더 확장까지 포함한 전체 명령어 공간을 탐색할 수 있도록 설계되었고, 공유 라이브러리, 비결정적 명령어 필터링, 페이지 오류 처리 등도 자동화되어 있습니다.
🚨 발견된 취약점 사례
1. GhostWrite (C910)
- 벡터 명령어를 통한 비권한 사용자 → 임의 물리 메모리 쓰기 가능
- 페이지 테이블 조작 → 루트 권한 탈취, 커널 패치, M-mode 공격까지 가능
- TLS 키 저장 영역 조작 → RSA 키 복구 실현 (2048비트, 30분 내 복호화)
2. CPU Halting 명령어 (C906, C908)
- 특정 명령어(th.lbib, vsm.v 등) 실행 시, CPU가 정지
- 일반 사용자 권한 또는 Docker 컨테이너에서도 발생
- 운영체제 샌드박싱으로도 막을 수 없는 Dos
🧪 퍼징 속도 & 효율성
- 최대 97,000 instr/s 처리 (vs. RTL 퍼저 9 instr/s)
- 대부분 취약점은 테스트 시작 수 초 이내에 자동 탐지
- 멀티코어 확장 시 선형 성능 증가 가능
🧯 완화 방법은?
- GhostWrite의 경우 : 벡터 확장 비활성화로 방어 가능 → 하지만 memcpy 성능 최대 33% 하락
- C906/C908 정지 취약점 :
- 해당 벤더 확장 명령어 비활성화 불가
- DoS 방어 불가 → 보드 재부팅 외 대안 없음
설계 수준에서의 취약점 제거 필요
🔍 RISCVuzz의 차별성 vs 기존 연구
접근 방식소스 코드 필요하드웨어 사용undocumented instruction 탐지벤더 확장 탐지
접근 방식 | 소스코드 필요 | 하드웨어 사용 | undocumented instruction 탐지 | 벤더 확장 탐지 |
RTL 퍼저 (e.g. DifuzzRTL) | 필요 | ✖️ | 제한적 | 제한적 |
시뮬레이터 기반 퍼저 | 필요 | ✖️ | ✖️ | ✖️ |
RISCVuzz | ❌ | ✅ | ✅ | ✅ |
RISCVuzz는 실제 배포된 칩을 대상으로 보안성 검증이 가능하다는 점에서, 사후 검증(post-silicon verification)의 새로운 기준이 될 수 있습니다.
🔚 결론: 열린 아키텍처, 열린 보안 리스크
RISC-V는 열려 있는 ISA입니다.
하지만 열려 있다는 것은 곧, 누구나 만들 수 있다는 뜻이며, 누구나 실수할 수 있다는 의미이기도 합니다.
RISCVuzz는 이 생태계의 현실을 보여줍니다:
- RISC-V 칩은 벤더마다 ISA 구현 차이가 있고,
- 이 차이는 사용자 권한 공격 가능성, 클라우드 침해, CPU 정지 등 심각한 보안 리스크로 이어질 수 있습니다.
앞으로 RISC-V 생태계가 더 커질수록, RISCVuzz 같은 자동화 도구는 보안 품질 확보의 필수 도구가 될 것입니다.
'자료 리뷰 > ISO|SAE 21434(사이버보안)' 카테고리의 다른 글
차량 OBD 시스템 보안 취약점 분석: 실전 침투 테스트로 본 현실과 대책 (0) | 2025.05.24 |
---|---|
적응형 퍼징으로 진화하는 ECU 보안 테스트: 모듈형 테스트베드를 활용한 새로운 접근법 (0) | 2025.05.22 |
실시간 시스템의 새로운 보안 전략 - 제어 주기 변경으로 공격을 막는 D-Jitter (0) | 2025.05.10 |
칩 보안, 이제는 '위협 모델링'이 핵심이다 (0) | 2025.05.09 |
칩보안, 이제는 '공급망'이 핵심이다 (0) | 2025.05.08 |