서지주요정보
Hardware support for secure virtualization under a vulnerable hypervisor = 하드웨어 지원을 통한 보안성이 강화된 가상화 기법 연구
서명 / 저자 Hardware support for secure virtualization under a vulnerable hypervisor = 하드웨어 지원을 통한 보안성이 강화된 가상화 기법 연구 / Seongwook Jin.
저자명 Jin, Seongwook ; 진성욱
발행사항 [대전 : 한국과학기술원, 2015].
Online Access 원문보기 원문인쇄

소장정보

등록번호

8028541

소장위치/청구기호

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

DCS 15025

SMS전송

도서상태

이용가능

대출가능

반납예정일

초록정보

Although cloud computing has emerged as a promising future computing model, security concerns due to malicious tenants have been deterring its fast adoption. In cloud computing, multiple tenants may share physical systems by using virtualization techniques. In such a virtualized system, a software hypervisor creates virtual machines (VMs) from the physical system, is responsible for isolating any illegal accesses across virtual machine boundaries. Therefore, the hypervisor has a full control over hardware resources and can access the memory pages of guest VMs without any restriction. However, there have been concerns over vulnerabilities in hypervisor. Although several recent studies improve the security of hypervisors, the hypervisors, which have been increasing their code sizes for better performance and more features, have become too complex to simply verify their secure execution. If hypervisors cannot be trusted, even a trustworthy cloud provider cannot guarantee the protection of a virtual machine from a malicious co-tenant. By compromising the hypervisor, a malicious user can access the memory contents of the VMs used by other users. Guarantee the availability of guest VMs is another important problem in cloud computing. Cloud providers may make their best effort to support the availability of the computing resources mandated by the service level agreement (SLA). However, compromised system administrators or remote attackers can potentially reduce the computing resources assigned for valid users, and redirect the stolen resources for their own benefit. Most of the current cloud computing systems employ virtualization, and a hypervisor in each physical system is responsible for allocating computing resources to each user VM. However, As described above, a hypervisor can be compromised and a compromised hypervisor or compromised administrator can assign arbitrary amount of computing resources to user VMs, violating SLA. Furthermore, a malicious user may exploit the system vulnerability to steal computing resources from co-tenants. In this dissertation, we propose hardware-based mechanisms to protect the memory of guest VMs from unauthorized accesses and to account allocated resources for cloud users, even with an untrusted hypervisor. To protect guest VMs from a compromised hypervisor, we propose the secure hardware with this mechanism, which is much less vulnerable than the software hypervisor. The proposed mechanism extends the current hardware support for memory virtualization with a small extra hardware cost. The hypervisor can still flexibly allocate physical memory pages to virtual machines for efficient resource management. However, the hypervisor can update nested page tables only through the secure hardware mechanism, which verifies each mapping change. Using the hardware-oriented mechanism in each system secures guest VMs under a vulnerable hypervisor. Among the cloud resources, CPU and memory are difficult to verify their actual allocation, since the current virtualization technique essentially attempts to hide the discrepancy of physical and virtual CPU and memory allocations. This dissertation proposes an on-line verifiable resource accounting technique for CPU and memory allocation for cloud computing, which can report the accurate resource allocation status to the cloud users. Unlike prior approaches for cloud resource accounting, the proposed accounting mechanism uses the hardware support for system management mode (SMM) and virtualization to provide secure resource accounting, even if the hypervisor or system administrator is compromised. The hardware-assisted SMM can provide a higher privileged execution environment the hypervisor cannot intervene. Using the isolated execution support, the proposed mechanism checks the resource allocation status by random sampling. Using a statistical random sampling method, the technique estimates the overall CPU and memory allocation status with negligible performance degradation.

클라우드 컴퓨팅은 새로운 컴퓨팅 패러다임으로써, 자원을 효율적으로 관리할 수 있으며, 또한 급격히 늘어나는 서비스 요구량에 유연하게 대응할 수 있다. 클라우드 컴퓨팅 사용자들은 자신의 프로그램을 가상화된 시스템에서 수행하며, 하나의 물리적인 시스템 위에 여러 사용자의 가상머신들이 같이 수행될 수 있다. 이러한 가상화된 클라우드 시스템은 효율적인 자원 관리의 측면에서는 장점을 가지지만, 여러 가지 보안 문제들을 야기시킨다. 특히 많은 사용자들의 가상머신이 하나의 물리적인 시스템을 공유하게 되므로, 가상머신들을 격리시키지 못할 경우 치명적인 보안 문제가 발생할 수 있다. 이러한 보안적인 문제들이 클라우드 컴퓨팅의 확산을 막고 있으며, 클라우드 컴퓨팅의 핵심 요소인 가상화 시스템을 보다 안전하게 만드는 것이 무엇보다 중요하다. 가상화시스템은 가상머신과 하이퍼바이저로 구성되어 있다. 하이퍼바이저는 가상머신을 생성하거 나 관리하는 특별한 소프트웨어로서, 각 가상머신들이 서로의 영역을 침범하지 않도록 격리시키는 역할을 담당하게 된다. 하지만 점점 많은 수의 하이퍼바이저 취약점이 공개되고 있다는 점을 생각하면, 하이퍼바이저의 보안을 장담할 수 없다. 특히 하이퍼바이저가 악의적인 경우, 가상화 시스템에서 동작하는 가상머신들은 손쉽게 공격에 노출되게 된다. 이전 연구들은 모두 하이퍼바이저를 이용하여 가상화 시스템을 보다 안전하게 만드는 것에 초점을 맞추었으므로, 하이퍼바이저가 악의적인 경우에는 가상머신을 보호할 수 없다. 하이퍼바이저가 악의적일지라도 가상머신을 안전하게 보호하는 것이 무엇보다 중요해지는데, 여러요소들 중에 가장 우선적으로 보호해야 할것은 바로 가상 머신의 메모리이다. 메모리는 가상머신의 코드와 데이터가 저장되는 곳으로서, 메모리가 보호되지 않으면 가상머신의 코드와 데이터가 노출되거나 변조될 수 있다. 가상화 시스템에서 하이퍼바이저는 가상머신에게 메모리를 할당하고 해제하는데, 이를 가상물리주소와 물리주소와의 변환 정보를 변경하고 관리하는 것으로 수행하게 된다. 본 학위논문에서는 하이퍼바이저가 담당하고 있는 메모리 격리 기능과 메모리 자원 관리기능을 분리하여, 하이퍼바이저는 메모리 자원 관리 기능만을 수행하도록 한다. 즉 이를 위하여 본 학위 논문에서는 Hardware-assisted Secure Virtual Machine (H-SVM)을 제안한다. H-SVM은하이퍼바이저가 수행하던 메모리 격리 기능을 대신 수행하게 된다. 즉 하이퍼바이저라 할지라도, 메모리를 할당하거나 해제하기 위해서는 H-SVM에 요청을 하여야 한다. 요청을 받은 H-SVM은 해당 요청이 올바른지 아닌지 판단한 뒤에 메모리 변환 정보를 갱신하게 된다. H-SVM은 메모리 할당 요청을 검증하기 위하여 메모리 소유자 정보를 확인하게 된다. 메모리 소유자 정보 테이블 (Page Ownership Table)에는 현재 물리주소의 메모리 소유자 정보가 기록되어 있으며, 해당 정보를 검색하여 이미 할당된 메모리를 다른 가상머신이나 하이퍼바이저에게 할당하는 것을 차단하게 된다. 이를 통하여 가상머신에게 할당된 메모리를 다른 가상머신이나 하이퍼바이저가 볼 수 없도록 한다. H-SVM은기존에제공되고있는 Memory Management Unit (MMU)의 기능을 확장하여, 페이지 테이블을 검색하여 Translation Lookaside Buffer (TLB)를 업데이트할 뿐만 아니라, 직접 페이지 테이블의 내용을 업데이트한다. 이는 아주 적은 부분의 하드웨어 변경을 의미하며, 가상머신의 메모리는 가상머신의 생성 시에 대부분 할당된다는 것을 고려해볼 때, 성능 저하도 미미하다. 가상머신의 메모리를 보호하는 것 뿐만 아니라 가상머신에 할당된 자원의 가용성을 보장하는 것 또한 클라우드 컴퓨팅에서 매우 중요한 문제이다. 클라우드 제공자는 Service Level Agreement (SLA) 에 의해 계약된 만큼의 컴퓨팅 자원을 할당하려고 하지만, 일부 악의적인 시스템 관리자나 외부의 악성 해커는 가상머신의 자원을 임의적으로 줄인 다음, 다른 가상머신에게 할당하거나 이용하여 금전적인 이득을 취할 수 있다. 만약 하이퍼바이저가 악의적인 경우에는 가상머신 자원을 가용성을 보장할 수 없다. 더 큰 문제는 메모리와 CPU 자원의 경우에는 실제 얼마나 할당되고 있는지를 확인하기가 매우 어렵다는 점이 다. 가상화 기술은 실제 물리적인 CPU와 메모리를 직접 제공하는 것이 아니라 가상화된 CPU와 메모리를 제공한 뒤에, 시간과 공간 단위로 각각 분할하여 여러 가상머신이 공유하게 된다. 따라서 얼마나 자원을 할당할 것인지는 하이퍼바이저에 의해 결정이 되며, 자원을 할당된 양은 하이퍼바이저만이 알 수 있다. 이를 해결하기 위하여 본 학위논문에서는 HRA (Hardware-assisted Resource Accounting)을 제안한다. HRA는 실시간으로 현재 할당된 CPU와 메모리 자원의 양을 측정하여 가상머신 사용자에게 알려주게 된다. 악의적인 하이퍼바이저 환경을 고려하기 때문에, 하이퍼바이저보다 더 높은 권한을 가진 실행환경이 필요하게 되고 이를 위하여 System Management Mode (SMM)을 이용한다. SMM은 시스템에 존재하는 어떤 소프트웨어보다 더 높은 권한을 가지게 되는데, SMM이 수행 시에는 하이퍼바이저를 포함한 모든 소프트웨어는 동작을 멈추게 된다. 이를 이용하여 HRA에서는 SMM 모드로 진입하여 모든 소프트웨어가 실행을 멈춘 뒤에, 실행 중이었던 소프트웨어의 존재를 파악하게 된다. 이런 정보를 바탕으로 각 가상머신과 하이퍼바이저가 얼마나 많이 실행되었는지를 확인하여 가상머신의 CPU 할당량을 알아낼 수 있다. 할당된 메모리 양을 알아내기 위해서는 페이지 테이블을 검색하게 된다. 페이지 테이블에 가상물리주소와 실제 물리주소간의 변환정보가 담겨 있으므로 각 가상머신에게 할당된 실제 물리주소의 양을 알게 되면, 가상머신에게 할당된 메모리 총량을 알 수 있다. HRA에서는 이러한 2가지 방식을 통하여 가상머신에게 할당된 CPU와 메모리 양을 알아 낼 수 있다. 매우 자주 확인하게 될 경우에는 성능저하를 발생시킬 수 있으므로, 샘플링기법을 사용하여 성능저하는 0.1% 0.5%로줄이고, 1%이하로 유지하도록 하였다. 본 학위논문에서는 하이퍼바이저가 악의적일지라도 가상머신의 메모리를 보호하고, 가상머신에게 할당된 자원의 양을 알 수 있는 매커니즘을 제안하였다. H-SVM은 페이지 테이블을 직접 변경하여 하이퍼바이저라 할지라도 가상머신의 메모리를 보거나 변경할 수 없도록 하였으며, HRA는 가상머신에 할당된 CPU와 메모리 자원의 양을 계산하여 사용자에게 알려줌으로써, SLA를 만족시키고 있는지 여부를 확인 할 수 있도록 하였다. 본 학위논문에서 제안한 매커니즘은 클라우드 컴퓨팅에서 우려되는 보안 문제들을 해결할 수 있으며, 이를 통하여 클라우드 컴퓨팅의 확산에 일조할 것이다.

서지기타정보

서지기타정보
청구기호 {DCS 15025
형태사항 vii, 75 p : 삽도 ; 30 cm
언어 영어
일반주기 저자명의 한글표기 : 진성욱
지도교수의 영문표기 : Seung Ryoul Maeng
지도교수의 한글표기 : 맹승렬
수록잡지명 : "H-SVM: Hardware-assisted Secure Virtual Machines under a Vulnerable Hypervisor". IEEE Transactions on Computers,
Including Appendix
학위논문 학위논문(박사) - 한국과학기술원 : 전산학부,
서지주기 References : p.
주제 Security
Virtualization
Resource Accounting
Cloud Computing
SLA
보안
가상화
가상 머신
서비스 수준 계약
클라우드 컴퓨팅
QR CODE qr code