서지주요정보
Side-channel attacks and countermeasures on intel SGX = SGX 환경에서 부채널 공격과 방어에 관한 연구
서명 / 저자 Side-channel attacks and countermeasures on intel SGX = SGX 환경에서 부채널 공격과 방어에 관한 연구 / Deokjin Kim.
발행사항 [대전 : 한국과학기술원, 2019].
Online Access 원문보기 원문인쇄

소장정보

등록번호

8034760

소장위치/청구기호

학술문화관(문화관) 보존서고

DIS 19005

휴대폰 전송

도서상태

이용가능(대출불가)

사유안내

반납예정일

리뷰정보

초록정보

The introduction of Intel Software Guard Extension (SGX) for the trusted execution environment prompted security researchers to verify its effectiveness. Since Intel SGX is designed to provide confidentiality and integrity to an application even if the underlying system is compromised, various side-channel attacks by privileged attackers have been studied. One of the frequently discussed attacks against SGX is the side-channel attack by gathering page faults (controlled-channel attack). Owing to SGX’s hardware features, the faulting address of the enclave (a secure region) memory is page-masked. Therefore, both the controlled-channel attack and the defenses of SGX are built under the assumption that an attacker observes the memory access attempts of the target enclave code with page-granularity. Van Bulck et al. recently demonstrated a controlled-channel attack technique which negates the prior assumption of page-granularity by using high-frequency interrupts. However, side-channel attacks still require a static analysis of the target enclave code. In this dissertation, I explain various side-channel attacks on SGX and introduce a novel class of attack that stems from the reduced controlled-channel granularity, i.e., Version IDentification attack (VID). The goal of the VID attack is identifying the detailed code information inside SGX enclave by analyzing the fine-grained SGX controlled-channel without the target enclave code. According to experiments, the VID attack can be used to identify information such as version, algorithm, and library type of cryptographic functions in the target enclave without its static analysis. Therefore, attackers can use the acquired information to prepare for next-stage attacks. To protect enclave memory from side-channel attacks, I design and implement SGX-LEGO, an automated system that adopts execution polymorphism to the SGX enclave code. Previous defense approaches against controlled-channel attacks can be broadly categorized into two types: (i) disclosing the fault information and (ii) making the monitored fault information useless. SGX-LEGO uses the latter approach by permuting the memory access sequence at the instruction level. In SGX-LEGO design, I leverage the concept of code-reuse programming to overcome the implementation challenges regarding SGX page management. In the evaluation, I demonstrate the efficacy of SGX-LEGO in security perspective and explain its performance. The results show that it causes a relatively small overhead compared to the previous related works. Because it is compatible with the standard Intel SGX SDK, it can be utilized to protect SGX enclaves against various side-channel attacks without any additional H/W or S/W support.

신뢰 실행 환경을 제공하기 위해 Intel Software Guard Extension (SGX) 기술이 소개된 이후, 여러 연구자 들은 이 기술의 유효성에 대해 검증하기 시작했다. SGX는 공격자가 시스템 권한을 가지고 있는 경우에도 기밀성과 무결성을 제공하도록 설계되었기 때문에, 시스템 권한을 가진 부채널 공격들이 다양하게 연구되고 있다. 게다가 SGX의 하드웨어 특성상 정교하지 않은 페이지 단위의 정보만 얻을 수 있었던 제한도 최근 연구된 높은 빈도의 인터럽트를 사용하는 공격에서는 정교한 정보를 얻을 수 있도록 개선되었다. 하지만 여전히 기존 부채널 공격은 대상 인클레이브 (enclave, 보호되는 메모리 영역)에 대한 정적 분석을 요구한다. 본 논문에서는 SGX 환경에서 수행되는 다양한 부채널 공격들에 대해서 살펴본다. 그리고 대상 인클레이브의 정적 분석 없이도 소프트웨어의 버전 및 정보를 식별할 수 있는 공격 (버전 식별 공격, Version IDentification 공격, VID 공격)을 소개한다. 이 공격은 페이지 테이블 기반의 부채널 공격을 명령어 단위로 정교하게 수행 하고, 그 결과들을 수집하여 이용한다. 우리는 VID 공격을 이용해서 해쉬, 대칭키 그리고 비대칭키 암호화 알고리즘 등을 사용하는 다양한 SGX 어플리케이션에 대해 실험을 수행했다. 그 결과 대상 인클레이브의 직 접적인 정적 분석이 없더라도 알고리즘 종류와 버전, 그리고 구현된 라이브러리 종류와 같은 정보를 파악할 수 있었다. 게다가 이렇게 수집된 정보는 공격자가 대상 인클레이브의 취약점을 찾거나 다음 단계의 공격을 준비하는데 활용될 수 있다. 한편 방어적 관점에서 VID 공격과 같은 부채널 공격들에 대응할 수 있도록, 본 논문에서는 SGX-LEGO 라는 새로운 방어 기술을 제시한다. SGX-LEGO는 다양한 가젯 (gadget, 단위 기능의 실행 코드) 형태로 기존 인클레이브 실행 코드를 변환하고, 이를 코드 재사용 프로그래밍 (Code-Reuse Programming, CRP) 기법을 이용하여 원격으로부터 받은 페이로드 (payload)에 따라 임의적으로 반복하여 실행한다. 따라서 SGX-LEGO를 이용하여 인클레이브를 보호하면, 공격자가 페이로드 없이 대상 인클레이브 코드만으로는 실행 흐름을 정적으로 분석할 수가 없다. 그뿐만 아니라, 부채널 공격을 수행하여 대상 인클레이브가 접근하는 페이지 정보를 수집하더라도, 의미 있는 정보가 노출되지 않는다. 본 논문에서는 다양한 암호 알고리즘에 SGX-LEGO를 적용하여 효과적으로 페이지 접근 패턴을 제거한 결과를 제공한다. 실험 결과를 보면, 알 고리즘이 수행될 때 나타나는 페이지 접근 패턴을 정규화하거나 임의적으로 만들었기 때문에 공격자는 더 이상 의미 있는 정보를 얻을 수 없다. 게다가, 기존의 인클레이브 바이너리를 SGX-LEGO 형태로 변환하는 작업은 구조적으로 자동화되어 있기 때문에 보호하길 원하는 인클레이브 바이너리에 SGX-LEGO 방어 기 술을 쉽게 적용할 수 있다. SGX-LEGO 형태로 변환된 인클레이브가 수행될 때, 예측 실행을 하지 못하기 때문에 발생하는 약 10∼20배 정도의 성능 저하는 80∼4000배 이상의 성능 저하를 야기한 기존 연구에 비해 개선되었다. 게다가 H/W 혹은 S/W의 추가 지원이 요구되었던 기존 연구와 달리, SGX-LEGO는 기본 SGX SDK만을 이용하여 인클레이브을 부채널 공격으로부터 방어한다. 따라서 추가적인 H/W나 S/W의 지원 없이도 향후 다양한 부채널 공격으로부터 SGX 어플리케이션를 방어하는데 사용될 수 있다.

서지기타정보

서지기타정보
청구기호 {DIS 19005
형태사항 vi, 61 p. : 삽화 ; 30 cm
언어 영어
일반주기 저자명의 한글표기 : 김덕진
지도교수의 영문표기 : Brent Byung Hoon Kang
지도교수의 한글표기 : 강병훈
수록잡지명 : "SGX-LEGO: Fine-Grained SGX Controlled-Channel Attack and its Countermeasure". Computers & Security, Volume 82, pp.118-139(2019)
학위논문 학위논문(박사) - 한국과학기술원 : 정보보호대학원,
서지주기 References : p. 56-59
QR CODE

책소개

전체보기

목차

전체보기

이 주제의 인기대출도서