소스 레벨 증명 기반 코드 플랫폼 Lissom

Lissom은 소스 코드 단계에서 증명(Proof)과 인증서를 생성하는 Proof‑Carrying Code(PCC) 프레임워크이다. 기존 컴파일러 출력에 의존하던 방식을 탈피해, LISS라는 교육용 언어와 Coq 기반 증명 시스템을 활용한다. 학생들이 형식 검증 도구를 실제 모바일 코드 보안에 적용해 보는 실험적 플랫폼으로 설계되었으며, 현재는 주석 언어 설계, WHY 도구 연동, 증명 자동화 등 여러 모듈을 단계적으로 구현하고 있다.

저자: Joao Gomes, Daniel Martins, Simao Melo de Sousa

소스 레벨 증명 기반 코드 플랫폼 Lissom
본 논문은 Proof‑Carrying Code(PCC) 시스템을 소스 코드 단계에서 구현하려는 시도로서 Lissom 플랫폼을 제안한다. 전통적인 PCC는 컴파일러 최적화 후에 바이트코드나 기계어에 대한 증명을 생성하고, 이를 인증서 형태로 배포한다. 그러나 이러한 접근은 저수준 코드와 고수준 정책 사이의 추상화 격차를 메우기 어렵고, 기존 검증 도구를 재사용하기 힘들다는 한계가 있다. Lissom은 이러한 문제점을 해결하기 위해 두 가지 기본 원칙을 채택한다. 첫째, “소스 레벨 PCC가 정답”이라는 입장으로, 보안 정책을 소스 코드에 직접 주석(annotation) 형태로 명시하고, 그 주석을 기반으로 형식 검증을 수행한다. 둘째, “가능한 한 기존 도구 재사용”이라는 원칙으로, 이미 성숙한 검증 도구와 프레임워크를 최대한 활용한다. Lissom의 핵심 구성 요소는 다음과 같다. 1. **소스 언어 LISS**: 정수, 집합, 시퀀스 등을 지원하는 교육용 언어로, Java와 유사한 고수준 타입 시스템을 갖는다. 현재는 주석 시스템을 추가 설계 중이며, 이는 보안 정책을 논리식으로 표현한다. 2. **컴파일러**: LISS 코드를 바이트코드(스택 기반 가상 머신)로 변환하면서, 동시에 증명 목표(Proof Obligations)를 생성한다. 구조적 증명을 바이트코드 수준으로 매핑하는 과정은 기존 연구

원본 논문

고화질 논문을 불러오는 중입니다...

댓글 및 학술 토론

Loading comments...

의견 남기기