Abstract
Graphics Processing Units (GPU) are widely used to accelerate computation in many applications such as autonomous vehicles, artificial intelligence and healthcare. However, most existing researches just focus on the performance but ignore the security issues of GPUs. In this paper, we design an efficient mechanism to dynamically monitor GPU heap buffer overflow by using the CPU. Concretely, we first analyze the specific requirements of GPU memory allocation. Second, in order to realize the monitoring from the CPU, we map the allocated device memory to the host-side. Third, the dynamic monitoring of buffer overflow is implemented based on the mapped memory. Our results show that it is feasible to protect the GPU memory from the CPU side. Our work can improve the efficiency of GPU memory allocation and increase the security at the same time. By offloading the detection of buffer overflow to the CPU, the performance of GPU kernels will not be affected significantly.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Gaikwad, A., Toke, I.M.: Parallel iterative linear solvers on GPU: a financial engineering case. In: 2010 18th Euromicro Conference on Parallel, Distributed and Network-based Processing, pp. 607–614. IEEE (2010)
Kim, J., Rajkumar, R., Kato, S.: Towards adaptive GPU resource management for embedded real-time systems. ACM SIGBED Rev. 10(1), 14–17 (2013)
Di Biagio, A., Barenghi, A., Agosta, G., Pelosi, G.: Design of a parallel AES for graphics hardware using the CUDA framework. In: 2009 IEEE International Symposium on Parallel & Distributed Processing, pp. 1–8. IEEE (2009)
Vasiliadis, G., Athanasopoulos, E., Polychronakis, M., Ioannidis, S.: PixelVault: using GPUs for securing cryptographic operations. In: Proceedings of the 2014 ACM SIGSAC Conference on Computer and Communications Security, pp. 1131–1142 (2014)
Nishikawa, N., Iwai, K., Kurokawa, T.: High-performance symmetric block ciphers on CUDA. In: 2011 Second International Conference on Networking and Computing, pp. 221–227. IEEE (2011)
Shi, L., Chen, H., Sun, J., Li, K.: vCUDA: GPU-accelerated high-performance computing in virtual machines. IEEE Trans. Comput. 61(6), 804–816 (2011)
Le, Y., Wang, Z.J., Quan, Z., He, J., Yao, B.: ACV-tree: a new method for sentence similarity modeling. In: IJCAI, pp. 4137–4143 (2018)
Di, B., Sun, J., Chen, H.: A study of overflow vulnerabilities on GPUs. In: Gao, G.R., Qian, D., Gao, X., Chapman, B., Chen, W. (eds.) NPC 2016. LNCS, vol. 9966, pp. 103–115. Springer, Cham (2016). https://doi.org/10.1007/978-3-319-47099-3_9
Di, B., Sun, J., Li, D., Chen, H., Quan, Z.: GMOD: a dynamic GPU memory overflow detector. In: Proceedings of the 27th International Conference on Parallel Architectures and Compilation Techniques, pp. 1–13 (2018)
Nvidia: CUDA-MEMCHECK. https://developer.nvidia.com/cuda-memcheck. Accessed 26 Aug 2020
Huang, X., Rodrigues, C.I., Jones, S., Buck, I., Hwu, W.M.: XMalloc: a scalable lock-free dynamic memory allocator for many-core machines. In: 2010 10th IEEE International Conference on Computer and Information Technology, pp. 1134–1139. IEEE (2010)
Widmer, S., Wodniok, D., Weber, N., Goesele, M.: Fast dynamic memory allocator for massively parallel architectures. In: Proceedings of the 6th Workshop on General Purpose Processor Using Graphics Processing Units, pp. 120–126 (2013)
Huang, X., Rodrigues, C.I., Jones, S., Buck, I., Hwu, W.M.: Scalable SIMD-parallel memory allocation for many-core machines. J. Supercomput. 64(3), 1008–1020 (2013)
Steinberger, M., Kenzel, M., Kainz, B., Schmalstieg, D.: ScatterAlloc: massively parallel dynamic memory allocation for the GPU. In: 2012 Innovative Parallel Computing (InPar), pp. 1–10. IEEE (2012)
Unified Memory. http://on-demand.gputechconf.com/gtc/2018/presentation/s8430-everything-you-need-to-know-about-unified-memory.pdf. Accessed 26 Aug 2020
Cowan, C., et al.: StackGuard: automatic adaptive detection and prevention of buffer-overflow attacks. In: USENIX Security Symposium, San Antonio, TX, vol. 98, pp. 63–78 (1998)
Zeng, Q., Wu, D., Liu, P.: Cruiser: concurrent heap buffer overflow monitoring using lock-free data structures. ACM SIGPLAN Not. 46(6), 367–377 (2011)
Zhang, J., Donofrio, D., Shalf, J., Kandemir, M.T., Jung, M.: NVMMU: a non-volatile memory management unit for heterogeneous GPU-SSD architectures. In: 2015 International Conference on Parallel Architecture and Compilation (PACT), pp. 13–24. IEEE (2015)
Manca, E., Manconi, A., Orro, A., Armano, G., Milanesi, L.: CUDA-quicksort: an improved GPU-based implementation of quicksort. Concurr. Comput. Pract. Exp. 28(1), 21–43 (2016)
Acknowledgment
This work was supported by NSFC Grants U19A2067, 61772543, U1435222, 61625202, 61272056; National Key R&D Program of China 2017YFB0202602, 2018YFC0910405, 2017YFC1311003, 2016YFC1302500, 2016YFB0200400, 2017YFB0202104; The Funds of Peng Cheng Lab, State Key Laboratory of Chemo/Biosensing and Chemometrics; the Fundamental Research Funds for the Central Universities, and Guangdong Provincial Department of Science and Technology under grant No. 2016B090918122.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2021 IFIP International Federation for Information Processing
About this paper
Cite this paper
Yang, Y., Wang, X., Peng, S. (2021). A Dynamic Protection Mechanism for GPU Memory Overflow. In: He, X., Shao, E., Tan, G. (eds) Network and Parallel Computing. NPC 2020. Lecture Notes in Computer Science(), vol 12639. Springer, Cham. https://doi.org/10.1007/978-3-030-79478-1_3
Download citation
DOI: https://doi.org/10.1007/978-3-030-79478-1_3
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-79477-4
Online ISBN: 978-3-030-79478-1
eBook Packages: Computer ScienceComputer Science (R0)