본 논문은 SECOMP, 상호 불신하는 C 프로그램 구획을 위한 공식적으로 안전한 컴파일러를 소개한다.
주요 내용은 다음과 같다:
CompCert 컴파일러를 확장하여 구획화된 C 프로그램을 지원한다. 각 구획은 상호 불신하며 오직 프로시저 호출과 반환을 통해서만 상호작용할 수 있다.
정의되지 않은 동작의 영향을 해당 구획으로 제한하는 공식적인 안전성 보장을 제공한다. 이를 위해 Abate et al.이 제안한 RSCDC^MD 안전 컴파일 기준을 만족한다.
컴파일러 정정성 증명, 역변환, 재구성, 귀책 등의 기법을 활용하여 RSCDC^MD 기준을 달성한다. 이는 메인스트림 프로그래밍 언어에 대해 이러한 강력한 안전 컴파일 기준을 증명한 최초의 사례이다.
컴파일러 정정성 증명을 확장하여 구획화된 프로그램을 지원하며, 역변환과 재구성을 위한 새로운 기법을 개발한다.
검증된 RISC-V 어셈블리 수준의 구획 격리 추상화를 제공하며, 이를 검증되지 않은 CHERI 기반 백엔드로 구현한다.
他の言語に翻訳
原文コンテンツから
arxiv.org
深掘り質問