[연구] 시스템보안연구실(지도교수 이호준), IEEE S&P 2027 논문 게재 승인
- 소프트웨어융합대학
- 조회수1997
- 2026-09-18
시스템보안연구실(지도교수 이호준)의 임하정, 김재윤이 저자로 참여한 논문 “OBLIVIAC: A Principled Virtual Architecture for Oblivious Computation”이 세계 4대 보안학회 중 하나인 IEEE Symposium on Security and Privacy (IEEE S&P) 2027에 게재 승인되었습니다.
신뢰 실행 환경(Trusted Execution Environment, TEE)은 외부로부터 민감한 데이터와 연산을 보호하기 위한 기술입니다. 그러나 최근에는 프로그램의 실행 시간이나 메모리 접근 흔적을 관찰해 비밀 정보를 추론하는 부채널 공격이 발전하면서, TEE로 보호된 프로그램에서도 정보가 유출될 수 있음이 밝혀지고 있습니다. 이러한 위협에 대응하려면 데이터의 내용뿐 아니라 프로그램이 실행되는 과정에서 드러나는 흔적까지 보호해야 합니다.
본 연구의 핵심 통찰은 “인터프리터의 관점에서는 프로그램 코드도 입력 데이터다(Code is now data)”라는 점입니다. 프로그램을 읽고 실행하는 인터프리터에는 코드와 데이터가 모두 입력으로 주어집니다. 따라서 입력에 따라 관찰 가능한 실행 흔적이 달라지지 않도록 인터프리터 자체를 설계하면, 데이터뿐 아니라 프로그램 코드의 기밀성까지 같은 원리로 함께 보호할 수 있습니다. 이는 개별 프로그램을 복잡하게 분석하고 변환해야 하는 부담을 줄이면서, 다양한 프로그램에 공통으로 적용할 수 있는 실행 환경 자체에 보안 원칙을 내재화하는 접근입니다.

▲ OBLIVIAC 가상 아키텍처 개요. 균일한 명령어 실행, 레지스터 기반 내부 상태 보호, 일정한 주기의 메모리 접근을 결합해 프로그램의 코드와 데이터를 보호한다.
연구팀은 이러한 통찰을 바탕으로 가상 아키텍처 OBLIVIAC을 설계하고 구현했습니다. OBLIVIAC은 가상 명령어들을 정해진 순서로 모두 실행하되, 실제로 필요한 연산의 결과만 내부 상태에 반영합니다. 이를 통해 동일한 가상머신 설정에서는 서로 다른 프로그램과 입력 데이터를 처리하더라도 외부에서 관찰되는 명령어 실행 순서와 메모리 접근 양상이 균일하게 유지되도록 했습니다. 코드와 데이터에 대한 보호를 가상머신의 실행 방식 자체로 실현한 것입니다.
또한 프로세서 레지스터를 활용한 캐시와 일정한 주기의 메모리 접근 방식을 결합해, 실행 흔적을 숨기는 데 필요한 메모리 보호 연산의 부담을 줄였습니다. 하나의 실행 주기에서 여러 유효 연산을 처리하는 최적화도 도입해 실행 효율을 높였습니다. WebAssembly 바이너리를 지원한다는 점에서 기존 프로그램에 대한 적용 가능성과 이식성도 확보했습니다.
연구팀은 실험을 통해 서로 다른 프로그램의 실행 흔적이 균일하게 유지됨을 확인하고, 34개 알고리즘과 실제 암호화 라이브러리인 libsodium 및 Mbed TLS의 15개 테스트 사례를 활용해 성능과 호환성을 평가했습니다. 기존 기법인 Obelix와의 비교 실험에서는 메모리 접근 패턴을 숨기는 ORAM의 접근 횟수를 평균 약 21~22분의 1로 줄였으며, 데이터 규모가 커질수록 성능상의 이점이 커지는 결과를 보였습니다. 이번 연구는 민감한 연산을 보호하기 위한 가상 실행 환경의 보안성과 확장성을 함께 높이는 설계 방향을 제시합니다.
연구실 홈페이지: https://sslab.skku.edu







