Font Size: a A A

Address Randomization For Dynamic Memory Allocators On The GPU

Posted on:2020-09-22Degree:MasterType:Thesis
Country:ChinaCandidate:C PengFull Text:PDF
GTID:2428330620950758Subject:Computer Science and Technology
Abstract/Summary:PDF Full Text Request
GPUs are widely deployed in HPC and cloud computing platforms to accelerate general-purpose computing tasks.Its rich thread-level parallelism can increase GPU utilization and maximize system throughput,so it is widely used in scenarios such as machine learning and data query.In these scenarios,multiple user kernels are executed in parallel on the GPU,ensuring the independence and security of the kernels between users becomes a problem.However,studies have shown that there are buffer overflow problems exist in the GPU,and a process can exploit buffer overflow to attack kernels of other users on the same GPU.Existing research about buffer overflows on the GPU has focused on the detection of heap buffer overflows and does not fundamentally protect against buffer overflows.In this paper,it is found that the buffer overflow on the GPU is mainly caused by the unreasonable allocation mechanism and the lack of correct access contro l strategy of the dynamic memory allocator.The dynamic memory allocator on the GPU allocates memory continuously,and the memory address allocated remains unchanged for each run of the program.Address randomization is a way to effectively prevent memory errors on the CPU.However,current GPUs lack similar support to defend the increasing threats of memory overflow.Based on this,in this paper,we propose an address randomization method for dynamic memory allocation on the GPU,so as to effectively prevent buffer overflow attacks on the GPU.The main work of this paper is as follows:(1)This paper designs and implements an efficient address randomization method for dynamic memory allocators on GPU.(2)In order to effectively select the random algorithm,three high-efficiency random algorithms are implemented in this paper.The random algorithm implemented in this paper and the random algorithm in CUDA are compared and analyzed.(3)This paper takes an effective mechanism to resolve conflicts between threads.(4)Elaborate discussions are presented to analyze the validity,security and practicability of address randomization designed in this paper.By analyzing the difficulty of crack our address randomization and comparing with the address randomization technology implemented in the dynamic memory allocator on the CPU,the validity and security of the proposed method are verified theoretically.In the experiment,the effectiveness of randomization is verified by a careful design test program.The effectiveness of this method to prevent buffer overflow attacks is verified by the use of a buffer overflow attack case on GPU.Through multiple scenarios,from multiple perspectives to analyze the performance overhead of the proposed method,this verifies the practicability of the randomization technique in this paper.
Keywords/Search Tags:GPU, CUDA, Address Randomization, Buffer overflow, Dynamic memory allocator
PDF Full Text Request
Related items