Skip to main content

A Dynamic Protection Mechanism for GPU Memory Overflow

  • Conference paper
  • First Online:
Network and Parallel Computing (NPC 2020)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 12639))

Included in the following conference series:

  • 1148 Accesses

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 99.00
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 129.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

References

  1. 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)

    Google Scholar 

  2. Kim, J., Rajkumar, R., Kato, S.: Towards adaptive GPU resource management for embedded real-time systems. ACM SIGBED Rev. 10(1), 14–17 (2013)

    Article  Google Scholar 

  3. 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)

    Google Scholar 

  4. 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)

    Google Scholar 

  5. 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)

    Google Scholar 

  6. 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)

    Article  MathSciNet  Google Scholar 

  7. 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)

    Google Scholar 

  8. 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

    Chapter  Google Scholar 

  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)

    Google Scholar 

  10. Nvidia: CUDA-MEMCHECK. https://developer.nvidia.com/cuda-memcheck. Accessed 26 Aug 2020

  11. 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)

    Google Scholar 

  12. 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)

    Google Scholar 

  13. 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)

    Article  Google Scholar 

  14. 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)

    Google Scholar 

  15. Unified Memory. http://on-demand.gputechconf.com/gtc/2018/presentation/s8430-everything-you-need-to-know-about-unified-memory.pdf. Accessed 26 Aug 2020

  16. 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)

    Google Scholar 

  17. 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)

    Article  Google Scholar 

  18. 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)

    Google Scholar 

  19. 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)

    Article  Google Scholar 

Download references

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

Authors

Corresponding author

Correspondence to Shaoliang Peng .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2021 IFIP International Federation for Information Processing

About this paper

Check for updates. Verify currency and authenticity via CrossMark

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)

Publish with us

Policies and ethics