Dynamic tainting tracks the influence of certain inputs (taint sources) through execution and it is a powerful tool for information flow analysis and security. Taint tracking has primarily targeted CPU program executions. Motivated by recent recognition of information leaking in GPU memory and GPU-resident malware, this paper presents the first design and prototype implementation of a taint tracking system on GPUs. Our design combines a static binary instrumentation with dynamic tainting at runtime. We present new performance optimizations by exploiting unique GPU characteristics–a large portion of instructions on GPU runtime parameters and constant memory can be safely eliminated from taint tracking; large GPU register file allows fast maintenance of a hot portion of the taint map. Experiments show that these techniques improved the GPU taint tracking performance by 5 to 20 times for a range of image processing, data encryption, and deep learning applications. We further demonstrate that GPU taint tracking can enable zeroing sensitive data to minimize information leaking as well as identifying and countering GPU-resident malware.
References
2017
USENIX ATC
GPU Taint Tracking
Ari B. Hayes, Lingda Li, Mohammad Hedayati, and
3 more authors
In Proceedings of the 2017 USENIX Conference on Usenix Annual Technical Conference, Jun 2017
Dynamic tainting tracks the influence of certain inputs (taint sources) through execution and it is a powerful tool for information flow analysis and security. Taint tracking has primarily targeted CPU program executions. Motivated by recent recognition of information leaking in GPU memory and GPU-resident malware, this paper presents the first design and prototype implementation of a taint tracking system on GPUs. Our design combines a static binary instrumentation with dynamic tainting at runtime. We present new performance optimizations by exploiting unique GPU characteristics–a large portion of instructions on GPU runtime parameters and constant memory can be safely eliminated from taint tracking; large GPU register file allows fast maintenance of a hot portion of the taint map. Experiments show that these techniques improved the GPU taint tracking performance by 5 to 20 times for a range of image processing, data encryption, and deep learning applications. We further demonstrate that GPU taint tracking can enable zeroing sensitive data to minimize information leaking as well as identifying and countering GPU-resident malware.
@inproceedings{hayesetalatc17,author={Hayes, Ari B. and Li, Lingda and Hedayati, Mohammad and He, Jiahuan and Zhang, Eddy Z. and Shen, Kai},title={GPU Taint Tracking},year={2017},isbn={9781931971386},publisher={USENIX Association},address={USA},booktitle={Proceedings of the 2017 USENIX Conference on Usenix Annual Technical Conference},pages={209–220},numpages={12},location={Santa Clara, CA, USA},series={USENIX ATC '17}}