서지주요정보
Redesigning software-based defenses against privileged attackers on trusted computing = 신뢰 계산 시스템에서 특권을 가진 공격자들로부터의 소프트웨어적 방어 기법
서명 / 저자 Redesigning software-based defenses against privileged attackers on trusted computing = 신뢰 계산 시스템에서 특권을 가진 공격자들로부터의 소프트웨어적 방어 기법 / Jaebaek Seo.
발행사항 [대전 : 한국과학기술원, 2017].
Online Access 원문보기 원문인쇄

소장정보

등록번호

8031598

소장위치/청구기호

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

DCS 17025

휴대폰 전송

도서상태

이용가능(대출불가)

사유안내

반납예정일

리뷰정보

초록정보

For last decades, sophisticated and powerful cyber attacks have been emerging. Their targets are not only security-critical softwares such as the operating system but also hardware devices. These strong threats seriously tackles the traditional concept of Trusted Computing Base (TCB); in the long history of computer systems, we deal with the kernel as a TCB and let it manage all security-critical components of the system, but this principle is broken. To address this problem, Trusted Computing Group (TCG) developed Trusted Computing to ensure that a program is executed as expected. Relying on assists from the special hardware called Trusted Execution Environment (TEE), Trusted Computing provides applications with confidentiality and integrity. Intel Software Guard eXtension (SGX) is a set of new instructions of Intel CPU that fully supports Trusted Computing. Intel SGX is a state-of-the-art secure processor, but we observe that traditional attacks such as code reuse attacks are still available in SGX. Moreover, it is not trivial to enable Address Space Layout Randomization (ASLR) for SGX, which is the most widely adopted countermeasure against code reuse attack. This is because the initialization and memory management must be incorporated with the untrusted kernel (i.e., a threat model of Intel SGX). Thus, the memory layout of a SGX program is completely visible to the untrusted kernel and this opens the possibility that the kernel launches code reuse attacks through the communication channel between the enclave and its outside. We also observe that SGX alone cannot guarantee the confidentiality of user’s data, especially if the user who provides input and the program owners are separate entities. In fact, SGX is not designed to cater to such an adversary model. More precisely, SGX only provides primitive security services on confidentiality and integrity of the program, and it does not restrict how the program handles data provided to it. Missing this security guarantee severely endangers a user’s privacy, because the program owner can easily write their program to collect user’s data. In this dissertation, we claim that we must redesign existing software-based defenses to hide critical information from untrusted privileged entities in SGX that are considered as trusted parties in the design of existing defenses. We found that this principle is applied to solutions for those two problems (i.e., code reuse attacks by untrusted kernel and data leakage by malicious service program). For the first problem, we design SGX-Shield that is a redesigned Address Space Layout Randomization (ASLR) to hide the memory layout of an enclave against the untrusted kernel. We also design SECUREBOOTH, a redesign Software Fault Isolation (SFI), to guarantee that a service provider cannot leak the user’s data in a malicious purpose. Because of the architectural features and security implications of SGX, there are several challenges to resist against those strong attackers. We overcome those challenges and thoroughly evaluate each system in term of both security and performance. SGX-Shield shows a high degree of randomness in memory layouts and stops memory corruption attacks with a high probability. It also shows 7.61% performance overhead in running common micro-benchmarks and 2.25% overhead in running a more realistic workload of an HTTPS server. SECUREBOOTH guarantees the confidentiality of user data against malicious service provider. Moreover, it is efficient compared to its baseline system because of its memory sharing mechanism in the multi-threading model, which results in ×1.13 - 38.73 performance improvement.

지난 수십 년 동안 사이버 공격은 더욱 정교하고 강력해졌다. 이들의 목표는 운영 체제와 같은 보안에 중요한 소프트웨어뿐만 아니라 하드웨어 장치도 포함한다. 이러한 강력한 위협은 전통적으로 TCB (Trusted Computing Base) 라 여겨왔던 시스템의 기저에 대해 다시 정의하기를 강요한다. 컴퓨터 시스템의 오랜 역사에서 우리는 커널을 TCB로 취급하고 시스템의 모든 보안에 중요한 구성 요소를 관리하게해왔다. 그러나 강력한 공격자들로부터 더 이상 이 원칙은 지켜지지 않는다는 것이 증명되었다. 이 문제를 해결하기 위해 TCG (Trusted Computing Group)는 신뢰할 수 있는 컴퓨팅을 개발하여 프로그램이 예상대로 실행되도록 하는 것을 보장한다. 우리는 이러한 computing 을 Trusted Computing 이라 정의하고 Trusted Execution Environment (TEE)라는 특수 하드웨어의 도움을 받아 기밀성과 무결성을 보장 받는다. Intel SGX (Software Guard eXtension)는 Trusted Computing 을 완벽하게 지원하는 새로운 Intel CPU 아키텍처이다. 하지만 이런 최신의 보안 프로세서인 Intel SGX에서도 코드 재사용 공격과 같은 기존의 공격은 여전히 유효하다. 더욱이 코드 재사용 공격에 대한 방어로 가장 널리 사용되고 있는 주소 공간 레이아웃 무작위화 (ASLR) 를 SGX 에서 사용하는 것은 몇 가지 문제를 포함하기 때문에 쉽지 않다. 이는 SGX 가 만들어주는 비밀 공간(즉, enclave)에 대한 초기화 및 메모리 관리가 신뢰할 수 없는 커널 (즉, Intel SGX의 위협 모델)에 의해 이루어지기 때문이다. 따라서 SGX 프로그램의 메모리 레이아웃은 신뢰할 수없는 커널에서 완전히 볼 수 있으므로 커널이 enclave 내부와 외부 사이의 통신 채널을 통해 코드 재사용 공격을 실행할 수 있다. 우리는 또한 SGX만으로는 사용자의 데이터의 기밀성을 보장 할 수 없다는 것을 관찰했다. 데이터의 소유자인 사용자와 프로그램 소유자인 서비스가 분리된 경우 사용자 데이터의 기밀성은 보장 받을 수 없다. 실제로 SGX는 공격자에 대해 방어하도록 설계되지 않았다. 보다 정확하게 SGX는 프로그램의 기밀성과 무결성에 대한 일차적 보안만을 제공하며 프로그램이 제공하는 데이터를 처리하는 방법을 제한하지는 않는다. 따라서 프로그램 소유자가 악의적으로 사용자의 데이터를 수집하기위한 프로그램을 쉽게 작성할 수 있다. 이 논문에서 전통적으로는 TCB로 여겨져왔던 entity 가 공격자로 가정될 때 이에 대한 소프트웨어적 방어 시스템 설계에 있어 중요한 정보들을 숨기는 방향으로 새로운 설계가 필요하다는 것을 주장한다. 우리는 이 원칙이 신뢰할 수 없는 커널에 의한 코드 재사용 공격과 악의적인 서비스 프로그램에 의한 데이터 누출이라는 두 가지 문제에 대한 솔루션에 적용된다는 것을 발견했다. 첫 번째 문제의 경우 신뢰할 수 없는 커널에 대해 enclave의 메모리 레이아웃을 숨기기 위해 주소 공간 레이아웃 무작위화 (ASLR) 를 재설계한 SGX-Shield를 통해 해결했다. 또한 서비스 제공자가 악의적 목적으로 사용자의 데이터를 유출하지 못하도록 보장하기 위해 Soft-Fault Isolation (SFI) 을 이용한 시스템인 SECUREBOOTH를 설계했다. 이 과정에서 SGX의 아키텍처 특징과 강력한 공격자를 가정한 점 때문에 몇 가지 어려운 문제들이 존재하였다. 우리는 이러한 문제들을 극복하고 보안 및 성능면에서 각 시스템을 철저히 평가했다. SGX-Shield는 메모리 레이아웃에서 높은 수준의 무작위성을 보여주고 높은 확률로 메모리 손상 공격을 막아낸다. 또한 일반적인 마이크로 벤치 마크 실행시 7.61 %의 성능 오버 헤드와 HTTPS 서버의 실제적인 워크로드 실행시 2.25 %의 오버 헤드를 보여 낮은 성능 오버 헤드를 보였다. SECUREBOOTH는 악의적인 서비스 공급자에 대한 사용자 데이터의 기밀성을 보장한다. 또한 멀티 스레딩 모델에서 메모리 공유 메커니즘으로 인해 기본 시스템과 비교할 때 효율성이 높으며 결과적으로 성능 향상은 1.13 - 38.73배였다.

서지기타정보

서지기타정보
청구기호 {DCS 17025
형태사항 vii, 53 p. : 삽화 ; 30 cm
언어 영어
일반주기 저자명의 한글표기 : 서재백
지도교수의 영문표기 : In Sik Shin
지도교수의 한글표기 : 신인식
학위논문 학위논문(박사) - 한국과학기술원 : 전산학부,
서지주기 References: p. 47-50
QR CODE

책소개

전체보기

목차

전체보기

이 주제의 인기대출도서