Automated TEE Adaptation with LLMs: Identifying, Transforming, and Porting Sensitive Functions in Programs

이 논문은 개발자의 개입을 최소화하여 기존 프로그램의 민감한 함수를 식별하고 TEE(신뢰 실행 환경) 호환 버전으로 자동 변환하는 최초의 LLM 기반 도구인 AUTOTEE 를 제안하고, 자바와 파이썬 환경에서 높은 정확도와 성공률을 입증합니다.

Ruidong Han, Zhou Yang, Chengyan Ma, Ye Liu, Yuqing Niu, Siqi Ma, Debin Gao, David Lo

게시일 2026-03-06
📖 3 분 읽기☕ 가벼운 읽기

Each language version is independently generated for its own context, not a direct translation.

1. 문제 상황: "안전한 금고"가 있지만, 옮기기 너무 어려워요

**TEE(신뢰 실행 환경)**는 컴퓨터나 스마트폰 안에 있는 **'초강력 비밀 금고'**라고 생각하세요.

  • 일반적인 프로그램은 밖에서 돌아다니는 '평범한 사람'처럼, 해커나 악성 프로그램이 접근하면 정보를 훔쳐갈 수 있습니다.
  • TEE는 그 사람만 들어갈 수 있는 '금고' 안으로 들어가서 일을 처리합니다. 금고 안은 외부에서 절대 볼 수 없기 때문에 비밀번호, 지문, 암호화 키 같은 중요한 정보는 완벽하게 보호됩니다.

하지만 여기서 큰 문제가 생깁니다.

  • 수작업의 고통: 지금 개발자들이 프로그램을 이 '금고' 안으로 옮기려면, 마치 고층 빌딩을 해체해서 금고 벽돌 하나하나를 직접 손으로 옮기는 작업을 해야 합니다. 어떤 부분이 중요한지 찾아내고, 금고 안에서 작동하도록 코드를 다시 짜야 하는데, 이 과정이 너무 어렵고 시간이 많이 걸립니다.
  • 언어의 장벽: 보통 프로그램은 '고급 언어'(Java, Python 등) 로 쓰여 있는데, 금고 (TEE) 는 '저급 언어'(C, Rust 등) 로만 작동합니다. 마치 영어로 쓴 요리 레시피를 한자로 된 금고 내부 매뉴얼로 직접 번역해야 하는 것과 같습니다.

2. 해결책: "AUTOTEE"라는 똑똑한 비서 등장

이 논문은 **LLM(거대 언어 모델, 즉 AI)**을 이용해 이 과정을 자동으로 해주는 AUTOTEE를 제안합니다.

AUTOTEE 는 다음과 같이 작동합니다:

1 단계: "어디가 위험한지 찾아내기" (Sensitive Function Identifier)

  • 비유: 건물을 훑어보며 **"여기에는 금괴가 숨겨져 있네!"**라고 찾아내는 탐정 역할입니다.
  • 프로그램 전체를 분석해서 비밀번호 처리, 암호화, 지문 확인 등 **가장 민감한 부분 (Leaf Functions)**을 자동으로 찾아냅니다.

2 단계: "금고용 언어로 번역하기" (Code Transformer)

  • 비유: 찾은 민감한 부분을 영어로 된 레시피에서 한자 (Rust) 레시피로 번역하는 과정입니다.
  • AI 가 코드를 Rust 언어로 바꿉니다. 하지만 AI 가 처음부터 완벽하게 번역할 수는 없죠.
  • 반복 학습 (ReAct): 번역된 코드가 금고 (TEE) 에서 잘 작동하는지, 원래 코드와 결과가 같은지 AI 가 스스로 시험을 보고 (컴파일 및 테스트), 틀리면 다시 고치는 과정을 반복합니다. 마치 학생이 모의고사를 보고 오답 노트를 작성하며 실력을 키우는 것과 같습니다.

3 단계: "연결하기" (Execution Linker)

  • 비유: 보안 통로 (TLS) 를 설치하는 것입니다.
  • 밖에서 일하는 일반 프로그램과 금고 안에서 일하는 번역된 프로그램이 서로 안전하게 대화할 수 있도록 연결합니다. 밖에서는 금고 안의 내용을 볼 수 없지만, 필요한 결과물만 안전하게 받아옵니다.

3. 성과: 얼마나 잘할까요?

연구진은 68 개의 실제 프로젝트 (Java 와 Python) 를 분석해서 385 개의 민감한 함수를 찾아냈습니다. 그 결과:

  • 찾아내기: 민감한 함수를 **94%~87%**의 정확도로 찾아냈습니다. (거의 실수 없이 찾아냅니다.)
  • 옮기기: 찾은 함수를 금고용 코드로 성공적으로 옮긴 비율은 **Java 는 91.8%, Python 은 84.3%**였습니다.
  • 결론: AI 가 개발자의 손을 거의 빌리지 않고도, 복잡한 보안 작업을 자동으로 해결해 줄 수 있다는 것을 증명했습니다.

4. 왜 이것이 중요한가요?

지금까지 TEE(비밀 금고) 는 보안 전문가들만 쓸 수 있는 **'고급 장비'**였습니다. 하지만 AUTOTEE 가 등장하면:

  • 일반 개발자도 복잡한 보안 설정 없이, **"이 함수는 금고에 넣어줘"**라고 명령만 내리면 알아서 처리됩니다.
  • 보안 강화: 중요한 데이터가 해킹당할 확률이 크게 줄어듭니다.
  • 시간 절약: 수작업으로 몇 주 걸리던 작업을 AI 가 몇 분 만에 해결합니다.

요약

이 논문은 **"AI 를 이용해 복잡한 보안 코드를 자동으로 찾아내어, 더 안전한 금고 (TEE) 안으로 옮기는 자동화 시스템"**을 만들었다고 말합니다. 마치 보안 전문가가 직접 건물을 해체하고 재건축하는 대신, AI 로봇이 알아서 위험한 물건을 찾아내어 안전한 금고로 옮겨주는 것과 같습니다.

이 기술이 보편화되면, 우리 일상에서 사용하는 앱과 서비스의 개인정보 보호 수준이 획기적으로 높아질 것입니다.