论文部分内容阅读
近年来CPU漏洞在数量和危害程度上日趋增大,相关的漏洞研究也得到了越来越多的关注。但是由于CPU漏洞纷繁复杂,且CPU漏洞研究尚处于起步阶段,现缺乏较为成熟完善的CPU漏洞检测方法及工具。现有CPU漏洞按漏洞的表现范围可以分为两类:CPU设计缺陷漏洞和CPU指令集漏洞。现主流的CPU安全研究主要集中于对CPU漏洞的发现和防护,现有CPU漏洞检测工具覆盖的漏洞面并不完整,同时在CPU指令集检测中,现有方法存在搜索效率低,误报率高和运行负载高等问题。针对上述问题,本文开展CPU漏洞检测关键技术研究,在CPU设计缺陷漏洞方面,对历史上发生的漏洞进行了系统性分析,提出一种基于漏洞特征的CPU漏洞检测方法。在CPU指令集漏洞方法,结合模糊测试理论对指令集进行测试,并针对现有方法的缺陷提出基于指令格式识别的CPU指令集测试优化方法,提高了现有方法的效率并降低了误报率。主要研究内容总结如下:1.针对现有CPU漏洞检测工具覆盖不完整的问题,本文针对CPU设计缺陷类漏洞和CPU指令集漏洞分别设计检测方法。设计基于漏洞特征的CPU漏洞检测方法解决CPU设计缺陷类漏洞触发点分散难以合并分析的问题,广泛收集漏洞特征,并相较于现有检测工具扩展了应用面。针对现有指令集测试方法的缺陷提出改进,提供了CPU指令集测试更好的解决方案。整合两种方法形成覆盖完整且针对性强的CPU漏洞检测工具。2.针对现有CPU指令集测试方法中搜索效率低的问题,提出一种基于指令格式识别的CPU指令集测试优化方法。基于现代反汇编器获取待测指令的内部结构,结合低效待测指令部分降低测试权重的搜索策略,最终实现低效测试指令的过滤以提升测试效率。3.针对现有指令集测试方法中指令误报较高的问题,本文提出基于误报可疑指令汇总分析的可疑指令复检机制,过滤误报的可疑指令,降低指令误报率。同时针对现有指令集测试方法运行内存负载过高的问题,本文基于指令格式的分析逻辑优化指令分类汇总的算法,降低指令集测试过程的负载,最终实现整体测试效率的提升。4.设计并实现CPU漏洞检测系统CPU-VUL-Detector,对其所包含的两个子系统的具体实现进行了详细的介绍。分别对两个模块进行了功能和性能的评估,实验结果显示CPUVUL-Detector的两个子系统均能实现对应漏洞的检测,同时CPU-VUL-FEA子系统比主流其他检测工具漏洞支持更丰富,CPU-VUL-ISA子系统比现有方法效率更高,且准确率有一定的提升同时还降低了运行时的负载。