FRESCO는 CHERI 아키텍처에서 그동안 해결되지 않았던 스택 use-after-return 취약점을 막는 하드웨어·소프트웨어 공동설계 기법이다. 스택 포인터에 함수 호출마다 고유한 provenance 색상을 부여해, 파생된 모든 capability가 함수 종료 시 자동으로 무효화되도록 한다. 정적 이스케이프 분석 도구 Color Saver로 색상 부여가 필요한 함수만 선별해 오버헤드를 줄이고, capability-color 세그멘테이션으로 스택과 힙의 시간적 안전성을 동시에 지원한다. CHERI-RISC-V QEMU와 CHERI-Toooba FPGA 구현 결과 NIST Juliet 테스트와 실제 CVE에서 관련 취약점을 모두 차단했으며, SPEC CPU 기준 평균 4%, SQLite·PostgreSQL 기준 10~14%의 낮은 오버헤드를 보였다.
- •스택 포인터에 호출별 provenance 색상을 부여해 함수 종료 시 capability를 하드웨어 차원에서 자동 무효화
- •정적 분석 도구 Color Saver로 색상 부여 대상 함수를 선별해 성능 오버헤드 최소화, 핵심 알고리즘은 Rocq로 검증
- •capability-color 세그멘테이션으로 스택·힙 시간적 안전성을 한 시스템에서 동시 지원
- •NIST Juliet·실제 CVE에서 취약점 전부 차단, SPEC CPU 4%·SQLite·PostgreSQL 10~14% 오버헤드로 실용성 입증
0단 자동
AI가 규칙대로 쓰고 그대로 게시했습니다. 사람이 따로 보지 않았습니다.
- 규칙 판
- 규칙 판 도입 이전 기사입니다.
- 남기는 것
- 규칙 판 · 모델 · 시각
- 판 기록
- 아직 없습니다.
FRESCO: Complete and Scalable Temporal Safety for CHERI Application Processors
- 1.CHERI 스택 프레임에 provenance ID 부여, 함수 종료 시 자동 무효화하는 FRESCO 제안
- 2.정적 이스케이프 분석 'Color Saver'로 색상 오버헤드 최소화, 핵심 알고리즘 Rocq로 검증
- 3.CHERI-RISC-V QEMU와 FPGA에서 구현, SPEC CPU 4%·SQLite/PostgreSQL 10~14% 오버헤드
- 4.NIST Juliet 테스트와 실제 CVE에서 use-after-return·use-after-free·double-free 전부 차단
왜 중요한가?
CHERI가 힙 시간 안전성은 다뤘지만 스택 use-after-return은 미해결이었는데, FRESCO가 힙과 스택의 시간적 메모리 안전성을 하나의 시스템에서 실용적 오버헤드로 동시에 제공한 최초 사례다.
본문 미리보기
arXiv:2608.26353v1 Announce Type: new Abstract: CHERI provides hardware-enforced spatial memory safety. While prior work extends it with heap temporal safety, stack use-after-return remains unaddressed. Existing defenses fall short: compiler analysis reliably catches only references that escape as function return values, while dynamic sanitizers impose overheads that preclude production deployment. We present FRESCO, built on the principle that a stack capability must not outlive the frame th
전체 내용이 궁금하다면?
원문을 직접 읽어보세요
이 글이 만들어진 과정
- 11:24AI 초안



