DSL 가이드 및 LLM 지원 패칭을 통한 TEE 파티셔닝 문제의 자동 복구
요약
TEE 애플리케이션의 잘못된 파티셔닝 문제를 자동으로 복구하는 프레임워크 TEERepair를 제안합니다. DSL을 통해 보안 규칙을 정의하고 LLM을 활용하여 문맥에 맞는 패치를 생성하며, 높은 복구 성공률을 입증했습니다.
핵심 포인트
- TEE 보안 파티셔닝 오류 자동 복구 프레임워크 TEERepair 제안
- DSL을 도입하여 보안 패턴을 인코딩하고 패치 템플릿 생성
- LLM을 활용한 코드 의미론 추론 및 문맥 인식 패치 합성
- 벤치마크에서 87.6%의 높은 복구 성공률 달성
- 실제 TEE 프로젝트에 적용하여 2개의 PR 병합 성공
신뢰 실행 환경 (Trusted Execution Environments, TEEs)은 잠재적으로 침해될 수 있는 운영 체제 (OS)로부터 민감한 데이터와 연산을 보호하기 위해 하드웨어 기반의 격리 (isolation)를 제공합니다. 그러나 TEE 애플리케이션은 SDK 인터페이스를 통해 신뢰할 수 없는 OS와 필연적으로 상호 작용하며, 부적절한 파티셔닝 (partitioning)은 데이터 유출 및 코드 주입 (code injection)과 같은 심각한 취약점을 유발할 수 있습니다. 기존 연구들이 이러한 문제를 탐지하기 위한 정적 분석 (static analysis) 도구들을 제안해 왔으나, 자동 복구 (automated repair) 영역은 여전히 미개척 상태로 남아 있습니다. 이 문제는 세 가지 TEE 특유의 요인으로 인해 특히 까다롭습니다: 표준화된 보안 개발 가이드라인의 부재, 저수준 C 코드에서 의미론적 정보 (semantic information)를 추출하는 것의 어려움, 그리고 성숙한 테스트 및 검증 방법의 부재입니다. 본 연구에서는 TEE 애플리케이션의 잘못된 파티셔닝 문제를 자동으로 복구하기 위한 프레임워크인 TEERepair를 제시합니다. 우리의 접근 방식은 일반적인 TEE 보안 패턴을 표현하고 포착하는 복구 규칙을 인코딩하기 위해 도메인 특화 언어 (Domain-Specific Language, DSL)를 도입함으로써 위의 과제들을 해결하며, 이 규칙들은 문맥 특화 변수를 위한 플레이스홀더 (placeholder)를 포함하는 패치 템플릿 (patch templates)으로 인스턴스화됩니다. 그런 다음 우리는 대규모 언어 모델 (Large Language Models, LLMs)을 활용하여 코드의 의미론을 추론하고 문맥을 인식하는 패치를 합성하며, 나아가 복구 사항을 검증하기 위한 테스트 클라이언트 (test clients)를 생성합니다. 우리는 TEE 파티셔닝 오류 벤치마크 (TEE Partitioning Errors Benchmark, PartitioningE-Bench)에서 TEERepair를 평가하였으며, 베이스라인 (baselines) 대비 현저히 높은 87.6%의 복구 성공률을 달성했습니다. 또한, 실제 TEE 프로젝트에 TEERepair를 적용하여 5개의 복구 풀 리퀘스트 (pull requests)를 제출하였으며, 그중 2개는 프로젝트 유지 관리자 (maintainers)에 의해 확인 및 병합 (merged)되었습니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 arXiv Codex (cs.SE)의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기