Modern deep learning frameworks rely heavily on GPUs to accelerate the computation. However, the security implication of GPU device memory exploitation on deep learning frameworks has been largely neglected. In this dissertation, we argue that GPU device memory manipulation is a novel attack vector against deep learning systems. We present a novel attack method leveraging the attack vector, which makes deep learning predictions no longer different from random guessing by degrading the accuracy of the predictions. To manipulate GPU device memory, we also propose a novel exploit technique that can execute arbitrary code by exploiting a vulnerability of a GPU function. To the best of our knowledge, we are the first to show a practical attack that directly exploits deep learning frameworks through GPU memory manipulation. We demonstrate the attack against DjiNN, a DL inference server, in a realistic environment to present the practicality. We confirmed that our attack works on three popular deep learning frameworks. TensorFlow, CNTK, and Caffe, running on CUDA. Finally, we propose defense mechanisms against our attack, and discuss concerns of GPU memory safety.
현대의 딥러닝 시스템은 GPU의 대규모 병렬처리 능력에 의존하고 있다. 하지만, 이러한 중요성에도 불구하고 GPU는 딥러닝의 보안 요소로 심도 있게 연구되고 있지 않다. 본 학위 연구는 GPU 메모리 조작이 딥러닝 시스템에서 새로운 공격 벡터임을 논증한다. 이를 증명하기 위하여 GPU 코드 취약점을 이용하여 GPU 메모리를 조작할 수 있는 공격 방법과 이러한 GPU 메모리 조작을 통하여 딥러닝 시스템의 예측 정확도를 무작위 추측 수준으로 저하시키는 공격 방법을 최초로 제안하고 해당 공격 방법이 실제적이며 효과적임을 보인다. 실제 환경과 유사한 환경에서 딥러닝 추론 서버인 DjiNN에 공격을 수행하여, 해당 공격이 실제 위협이 될 수 있음을 증명하였으며, 실험 평가를 통하여 Tensorflow, Caffe, CNTK와 같은 다양한 딥러닝 프레임워크와 다양한 딥러닝 데이터에도 해당 공격이 효과적임을 확인하였다. 마지막으로 이에 대한 방어 방법을 제안하고, GPU 코드 취약점에 관하여 다룬다.