Hardware based security technologies guarantee the execution of user space applications on the system software that is compromised, by providing trusted execution environment in a hardware manner.
Current technologies, however, only provide security for the processes that are running in the CPU, and they cannot provide security for high performance heterogeneous peripherals such as GPUs.
As large amount of data should be transferred to the GPU and stored in the GPU for acceleration, ensuring the security of data is currently needed. In this thesis, we proposes a trusted I/O technology that provides secure heterogeneous computing to processes that are running in the trusted execution environment. The proposed architecture deos not require modifications to GPU architecture. Instead, it provides security by modifying a CPU hardware based security technology called Intel SGX, and I/O interconnect architecture that is used to connect a GPU to the system, to protect the GPU from adversarial attacks from system software. We implement a prototype on an emulated machine with KVM and QEMU, and measure the overhead for security with a commercial GPU and GPU benchmarks. Experimental results show that the performance overheads, such as encryption overhead, are about 49\%, however, prove that it still has more advantages in terms of performance than using CPU hardware based security, if an application is compute-intensive and proper to be run in GPU.
하드웨어 기반 보안 기술은 시스템 소프트웨어가 공격당해 권한을 탈취당한 상태에서도 유저 영역 애플리케이션이 정상적으로 구동할 수 있도록 하드웨어적으로 신뢰할 수 있는 실행 공간을 제공하는 기술이다.
그러나 현재 기술들은 CPU에서 동작하는 프로세스에 대해서만 보안을 제공하며, GPU 등 최근 많이 사용되고 있는 이종 컴퓨팅 주변기기에 대해 보안을 제공하지 못한다. GPU 가속을 위해서는 대량의 유저 데이터를 GPU로 전송해 GPU에 저장해 놓아야 하는데, 이 과정에서 데이터의 보안을 제공하는 것이 요구되고 있다. 본 논문에서는 신뢰할 수 있는 영역에서 구동되는 프로세스가 안전하게 이종 컴퓨팅 하드웨어를 사용할 수 있도록 보안을 제공하는 기술을 제안한다. 제안한 기술은 GPU 하드웨어에 대한 수정을 필요로 하지 않으며, 대신 기존 CPU 기반 보안 기술인 인텔 SGX 기술과 GPU가 연결되는 I/O 아키텍처의 수정을 통해 시스템 소프트웨어가 GPU에 악의적으로 접근하는 것을 차단한다. KVM과 QEMU에 기반한 가상 머신에 프로토타입을 구현하고 GPU 벤치마크를 사용해 실제 GPU 환경에서 보안을 제공하기 위해 발생하는 오버헤드를 측정하였다. 암호화 등의 오버헤드로 인해 약 49\%의 성능 저하가 발생했음을 확인하였으나, GPU에 적합한 고연산을 요구하는 애플리케이션의 경우 기존 CPU 기반 보안 기술보다 본 기술을 사용하는 것이 성능상 이점이 있음을 증명했다.