基于WebGL接口的Rowhammer内存安全测评方法及装置与流程
本技术涉及计算机安全,具体而言,涉及一种基于webgl接口的rowhammer内存安全测评方法及装置。
背景技术:
1、随着大模型与智能体技术的发展,代码执行沙箱环境的应用场景正从传统的可信执行环境、云环境多租户资源隔离,向个人pc中的虚拟化、容器乃至语言运行时级别等轻量化方式迁移。在此背景下,代码执行环境的安全测评需求日益凸显。
2、目前,针对代码执行环境的安全检测技术主要聚焦于软件层面的漏洞挖掘,例如对虚拟化监控软件、容器软件或语言执行引擎进行组件级漏洞发现与接口渗透,或检测其依赖组件与配置是否存在缺陷。此外,也有部分技术从侧信道角度,利用cpu微架构漏洞或测量缓存命中率、内存带宽等信息发现信息泄露。然而,上述方法均高度依赖于cpu和操作系统的资源隔离机制,未充分考虑dram等硬件因素引入的安全隐患。
3、事实上,cpu、gpu及dram内存等各种硬件均是代码执行环境的组成部分。尤其随着代码执行沙箱向个人pc场景迁移,其dram和gpu显存普遍缺乏ecc等保护机制,极易受到rowhammer攻击的影响。rowhammer是一种利用现代dram单元间电磁干扰的硬件漏洞,攻击者通过反复高速访问特定内存行,可导致邻近行中的比特位发生翻转,进而被用于提权、跨域窃取信息等恶意行为,对代码执行环境的安全构成严重威胁。
4、现有的rowhammer测试工具(如基于原生c/c++代码的rowhammer-test)需要针对特定cpu架构、dram型号和操作系统进行逐一适配,技术复杂度高,通用性差,难以满足跨平台、高效的安全测评需求。因此,亟需一种跨平台、高效的针对代码执行沙箱环境的rowhammer缺陷安全测评方法。
技术实现思路
1、本技术实施例的目的在于提供一种基于webgl接口的rowhammer内存安全测评方法及装置,用以缓解现有技术存在的rowhammer安全测评依赖原生代码、需针对特定硬件和操作系统逐一适配、通用性差的问题。
2、第一方面,本发明提供一种基于webgl接口的rowhammer内存安全测评方法,包括:
3、响应于测评指令,通过浏览器中运行的webgl接口调用计算管线资源,并分配纹理资源;
4、通过所述计算管线资源,对所述纹理资源执行rowhammer内存访问操作;
5、将所述纹理资源中经所述rowhammer内存访问操作后的内容数据回读至主机端,与预期数据模式进行比对,以检测比特翻转事件;
6、基于检测到的比特翻转事件,生成内存安全测评结论。
7、在可选的实施方式中,所述通过浏览器中运行的webgl接口调用计算管线资源,并分配纹理资源,包括:
8、通过浏览器中运行的webgl接口请求获取适配器和设备;
9、在所述设备上创建texture_2d格式的纹理资源;
10、创建用于存储测评元数据的存储缓冲区;
11、编译计算着色器模块,所述计算着色器模块用于驱动所述rowhammer内存访问操作。
12、在可选的实施方式中,对所述纹理资源执行rowhammer内存访问操作,包括:
13、设置所述计算着色器模块的工作组尺寸和工作组分派数量,以启动多个并行线程;
14、每个线程基于其全局标识符生成伪随机种子,以驱动差异化的内存访问模式。
15、在可选的实施方式中,所述rowhammer内存访问操作包括:
16、在所述计算着色器模块的主循环中,基于所述伪随机种子动态计算多个内存访问偏移量;
17、根据所述内存访问偏移量,对所述纹理资源的不同区域执行多次纹理读取操作;
18、累积所述纹理读取操作的读取结果,以防止所述纹理读取操作被编译器优化丢弃。
19、在可选的实施方式中,每个线程执行的所述纹理读取操作的总次数不低于一百万次。
20、在可选的实施方式中,还包括:
21、在所述内存安全测评结论表明未检测到所述比特翻转事件时,触发所述纹理资源的销毁与重建,以将内容数据重新分配至不同的物理内存区域;
22、基于重建后的纹理资源,重新执行所述rowhammer内存访问操作,并再次将所述纹理资源的内容数据回读至主机端与所述预期数据模式进行比对。
23、在可选的实施方式中,触发所述纹理资源的销毁与重建的条件为:连续预设轮次未检测到所述比特翻转事件;
24、所述纹理资源的销毁与重建的终止条件为:检测到所述比特翻转事件,或达到预设的最大重映射轮次。
25、在可选的实施方式中,所述预期数据模式为交替比特模式;所述与预期数据模式进行比对,包括:将回读至主机端的内容数据与所述交替比特模式进行逐字节比对。
26、第二方面,本发明提供一种基于webgl接口的rowhammer内存安全测评装置,位于终端设备的浏览器环境中,包括:
27、gpu资源管理模块,用于响应于测评指令,通过浏览器中运行的webgl接口调用计算管线资源,并分配纹理资源;
28、内存访问执行模块,用于通过所述计算管线资源,对所述纹理资源执行rowhammer内存访问操作;
29、检测评估模块,用于将所述纹理资源中经所述rowhammer内存访问操作后的内容数据回读至主机端,与预期数据模式进行比对,以检测比特翻转事件,并基于检测到的比特翻转事件生成内存安全测评结论。
30、在可选的实施方式中,其中,所述终端设备包括cpu、系统内存和gpu;所述浏览器在所述终端设备上运行。
31、本技术提供的技术方案,与现有技术相比,至少具有以下有益效果:
32、通过浏览器中运行的webgl接口调用计算管线资源并分配纹理资源,以纹理模拟dram物理行结构,将rowhammer测评的执行环境从操作系统底层迁移至浏览器应用层。测评过程完全在web沙箱内进行,无需安装额外软件、无需获取系统特权,不依赖特定操作系统或硬件型号,实现了跨平台(包括windows、linux以及国产操作系统,适用于intel集显、amd、nvidia及国产显卡等)的“零部署”硬件内存安全测评,极大提升了测评手段的环境穿透力和通用性。
33、通过计算着色器的多工作组、多线程并行架构,在单次gpu提交中即可执行数千万至数亿次内存访问操作。每个线程基于其全局标识符生成伪随机种子,驱动差异化的内存访问模式,能够最大化对物理dram bank的并行压力,显著提高了rowhammer效应的触发效率和测评速度,替代了传统依赖原生代码或webgl片段着色器模拟计算的低效方案。
34、通过在计算着色器主循环中累积纹理读取操作的读取结果,有效防止编译器将安全关键的反复访问操作优化丢弃,确保了rowhammer内存访问操作的实际执行,保障了测评结果的可靠性。
35、通过在未检测到比特翻转时触发纹理资源的销毁与重建,强制图形驱动程序将纹理数据重新分配到不同的物理vram区域,能够探测不同物理bank结构下的脆弱点,并可在未发现翻转时自动递增测评迭代次数,提高了测评的适应性和覆盖率。
版权声明:本站专利文献数据主要来源于国家知识产权局等公开渠道,由 技术新讯 进行整理汇编。页面设计及数据汇编的著作权归本站所有。全部内容仅供个人学习、科研评估与技术交流参考,严禁用于任何商业用途(包括但不限于直接生产制造、技术转让、倒卖数据等)。
免责条款:专利技术具有时效性,本站不对资料的绝对准确性、完整性和可实施性提供任何明示或暗示的担保。因参考本站内容造成的直接或间接损失,本站不承担相关法律责任。若您认为本站内容有侵权问题,请及时提供权属证明与我们联系,本站将在核实后依法处理。反馈意见:yyfuon@163.com