Due to the superiority in parallel computing, GPUs are increasingly deployed in high performance computing environments and clouds. As one of the fundamental technology, GPU virtualization improves the efficiency of resource utilization and management by enabling shared access to GPUs among multiple tenants. However, sharing GPUs in such scenarios incurs potential security risks. Specifically, GPU virtualization in Cloud environments has two security issues. First, when virtualizing GPUs with sequential task scheduling, malicious tasks have the chance to obtain the remaining program state from the memory of completed tasks, leading to data leakage. Second, when virtualizing GPUs by consolidating multiple tasks to improve concurrency, unauthorized access between different tasks may occur because of the lack of proper mechanisms that can guarantee isolated execution for GPU tasks. In this project, we propose a heterogeneous virtual memory management approach, with which we can provide support for page-based virtual memory translation for GPUs. Furthermore, with static program analysis and optimization, address space isolation, runtime authentication, and page grained security sensitive data purge, we will investigate systematic solutions about how to build a deployable system to address the security issues in GPU virtualization. We believe the research in this project can improve the security of sharing GPUs in the clouds, and extends the applicability of GPUs in general purpose computing.
GPU(图形处理单元)因其在并行计算方面的优势,正广泛应用于高性能计算和云计算领域。GPU虚拟化作为这种趋势的技术支撑,将GPU设备共享给多个用户以提高硬件资源的使用和管理效率,但同时也带来了安全风险。 特别地,云计算环境GPU虚拟化场景中的安全问题包括以下两个方面,第一,在串行调度的GPU虚拟化方法中,恶意任务可以获取其它已完成任务的内存残留状态,导致信息泄露;第二,在并行调度的GPU虚拟化方法中,多个任务非隔离执行,会造成任务间的越权访问。本项目以CPU与GPU异构虚拟内存管理为基础,为GPU虚拟内存管理提供分页机制和虚拟物理地址转换功能,从程序静态分析与优化、异构地址空间隔离、运行时鉴权、页粒度敏感数据清除等角度,结合已有的GPU虚拟化研究成果,提出针对上述安全问题的系统性解决方案,并实现可部署系统,提高云环境中GPU共享的安全性,扩展GPU在通用计算领域的适用性。
GPU(图形处理单元)因其在并行计算方面的优势,正广泛应用于高性能计算和云计算领域。GPU虚拟化作为这种趋势的技术支撑,将GPU设备共享给多个用户以提高硬件资源的使用,但同时也带来了安全风险。对此,我们提出针对上述安全问题的系统性解决方案,提高云环境中GPU共享的安全性。.在内存漏洞攻击设计方面,首先,对GPU堆进行了研究,发现可以利用CUDA的堆溢出来影响其他线程的执行,攻击者可以利用该漏洞来覆盖函数指针,从而实现操纵程序执行流的目的。另外,对GPU的Shared memory、Texture memory和TLB等多种共享资源进行分析,并结合各自特性,提出隐藏通道的攻击方法。.在内存溢出的检测方面,提出了一种基于地址压缩技术的动态检测GPU上内存溢出的方法,包括以下内容:为了能检查到内存溢出错误,该工具在用户动态分配的内存的首尾两端都插入了Canary来检测内存溢出;为了对用户程序造成尽可能小的影响并提供不间断的保护,该系统利用GPU的高并发性,让小部分线程运行检测器,大部分线程运行用户程序,从而使检测器独立于用户程序外并对用户程序进行不间断、透明的保护。.在程序分析方面,构造了一套针对CUDA的基准测试集,其中包含77个与C11标准中的核心语言相对应类别的未定义行为。通过该测试集,可以确定CUDA C中存在未定义行为。针对CUDA C中存在的未定义行为问题,设计了检测和定位可能导致CUDA程序产生未定义行为代码的方法,最后通过将该方法部署到CUDA SDK和一组实际的CUDA应用程序。.在GPU的堆分配器设计方面,设计了一种快速安全的GPU堆分配器及一种高效的地址随机化方法,为了有效地选择随机算法,实现了三种高效率的随机算法,并与CUDA中随机算法的性能进行了比较分析,并设计了有效的机制来解决线程之间的冲突问题。.在系统级的Cache防御方面,提出了一种基于动态随机化的系统级别的防御方法。该方法从代码随机化、栈随机化、堆随机化这三个角度细化随机粒度、将随机化时刻推迟到运行时、随机化物理地址,充分提高随机化水平。同时,应用LLVM的优化技术,使用一个编译转换器和运行时库去随机化程序布局,实现了动态随机化系统。.本研究将推动云计算环境中GPU 虚拟化的安全研究,具有重要意义。
{{i.achievement_title}}
数据更新时间:2023-05-31
黄河流域水资源利用时空演变特征及驱动要素
硬件木马:关键问题研究进展及新动向
MSGD: A Novel Matrix Factorization Approach for Large-Scale Collaborative Filtering Recommender Systems on GPUs
面向云工作流安全的任务调度方法
TGF-β1-Smad2/3信号转导通路在百草枯中毒致肺纤维化中的作用
KLD-12多肽/ rhBMP-2纤维凝胶的构建及复合BMSCs微创下植入诱导椎体间融合的试验研究
多人共享云计算服务环境中的安全问题研究
云计算环境中高效可靠虚拟化桌面的关键机制研究
云计算与云存储若干关键安全问题研究
虚拟化GPU资源的扩展性和可用性研究