CHERI 기반 효율적인 연결형 구획화 모델 소개
요약
본 논문은 CHERI 메모리 안전성을 활용하여, 프로세스 내(in-process) 연결형 구획화 모델을 제시합니다. 이 모델은 전체 UNIX 사용자 공간에 걸쳐 10K개 이상의 세밀한 구획화를 가능하게 하며, 기존 방식보다 훨씬 많은 보호 영역을 지원합니다. 개발팀은 Armv8-A와 RISC-V 버전에 구현했으며, 다양한 프로세서에서 성능과 확장성을 입증했습니다.
핵심 포인트
- CHERI 기반의 연결형 구획화 모델 제시
- 단일 주소 공간에서 10K개 이상의 세밀한 구획화 가능
- Armv8-A 및 RISC-V 아키텍처에 구현 및 검증
- 메모리 위임, 디버깅 등 확장성 입증
우리는 CHERI 메모리 안전성을 기반으로 구축된, 프로세스 내(in-process) 연결형 구획화(linkage-based compartmentalization) 모델을 제시합니다. 이 모델은 전체 UNIX 사용자 공간에 대한 세밀한 구획화를 가능하게 하며, 데스크톱 시스템에서 10K개 이상의 구획까지 확장됩니다. 이 모델의 '원터치' 방식 구획화는 기존 라이브러리 경계를 따라 진행되며, Chromium과 같은 대규모 애플리케이션의 경우 프로세스당 정기적으로 500개 이상의 구획을 호스팅합니다. 이는 다른 메커니즘(예: Intel MPK의 최대 16개)이 지원하는 동시 사용 가능한 보호 영역 수보다 훨씬 많은 수치입니다. 사용자 지정 정책을 통해 라이브러리를 추가로 세분화할 수 있습니다. 테스트된 수천 개의 C/C++ 프로그램 중 V8 JavaScript 엔진만이 소스 레벨 적응(가비지 컬렉션 및 JIT 컴파일 관련 변경 코드 300줄 미만)이 필요했습니다. 우리는 컴파일러 툴체인과 운영 체제 지원을 통해 CHERI 확장된 Armv8-A와 RISC-V 버전에 이 모델을 구현합니다. 사례 연구는 구획 간 메모리 원활한 위임, 구획 인식 디버깅 및 시각화, 그리고 복잡한 관리 언어 런타임으로의 확장성을 보여주며, 우리의 단일 주소 공간(single-address-space) 모델의 이점을 입증합니다. 우리는 Arm의 슈퍼스칼라 Morello와 특히 최초의 상용 CHERI 지원 RISC-V 애플리케이션 코어인 Codasip의 인-오더 듀얼-이슈 X730을 포함한 여러 프로세서로 평가를 수행했습니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 arXiv cs.AR의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기