System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及计算机,尤其涉及一种指令空间的指令检测方法、装置、电子设备及存储介质。
技术介绍
1、处理器是网络安全空间中数据处理的最终执行实体,是网络信息系统的基础。计算机系统的安全性依赖于操作系统等软件和处理器硬件。指令缺陷的存在影响到了指令集的可靠性,隐藏指令的存在影响到了指令集的完整性。指令缺陷和隐藏指令是处理器硬件生产过程中引入的问题,很难通过软件漏洞修复的方法解决。处理器中存在的指令缺陷和隐藏指令能够绕过恶意代码检测工具的检查,从而给计算机系统带来潜在的安全威胁。例如,攻击者使用二进制重写的方法将二进制形式的指令缺陷和隐藏指令注入到被攻击的程序中,则会影响程序的正常行为。即使开发者使用反汇编器对软件程序进行反汇编,也难以发现指令缺陷和隐藏指令的真实语义信息。所以,我们有必要对所使用的x86处理器进行全面的测试,对合法指令空间和预留指令空间进行全面搜索,发现其中的指令缺陷和隐藏指令,并及时的提出对应的解决方案,提升计算机系统的安全性。
2、指令系统是计算机软件和硬件交互的接口,其设计和发展要遵循兼容性、通用性、高效性和安全性。现有的与指令集相关的研究工作有基于遍历的方法、基于随机指令生成的方法。基于遍历的方法无法在有限的时间内实现较高的覆盖率。基于随机指令生成的方法无法保证指令空间的覆盖率,而且,在生成指令的过程当中,随机的方法会生成大量的冗余的指令。综上可知,现有的对指令空间的指令的检测的准确性低。
技术实现思路
1、本专利技术提供一种指令空间的指令检测方法
2、第一方面,本专利技术提供一种指令空间的指令检测方法,包括:
3、基于x86处理器的指令空间的搜索深度,确定所述指令空间的测试指令,所述搜索深度是基于历史测试指令的历史执行结果、历史搜索深度和必要搜索深度确定的,所述必要搜索深度表征测试指令在测试过程中需要达到的搜索深度;
4、执行所述测试指令,得到执行结果;
5、对所述测试指令进行反汇编,得到反汇编结果;
6、基于所述执行结果和所述反汇编结果,检测所述测试指令中的缺陷指令或者隐藏指令。
7、根据本专利技术提供的指令空间的指令检测方法,所述历史测试指令包括第一历史测试指令和第二历史测试指令,所述第一历史测试指令为所述测试指令的上一条已测试指令,所述第二历史测试指令为所述第一历史测试指令的上一条已测试指令,所述历史搜索深度为所述第一历史测试指令的搜索深度,所述必要搜索深度为所述第一历史测试指令的必要搜索深度;
8、基于所述历史测试指令的所述历史执行结果、所述历史搜索深度和所述必要搜索深度,确定所述搜索深度,包括:
9、当所述第一历史测试指令的第一历史指令长度大于所述第二历史测试指令的第二历史指令长度,且所述历史搜索深度小于所述必要搜索深度时,确定所述第一历史指令长度与所述必要搜索深度的比较结果;其中,所述第一历史指令长度是基于所述第一历史测试指令的第一历史执行结果确定的,所述第二历史指令长度是基于所述第二历史测试指令的第二历史执行结果确定的;
10、当所述比较结果为所述第一历史指令长度小于所述必要搜索深度时,将所述第一历史指令长度作为所述搜索深度;
11、当所述比较结果为所述第一历史指令长度大于所述必要搜索深度时,将所述必要搜索深度作为所述搜索深度。
12、根据本专利技术提供的指令空间的指令检测方法,所述执行结果包括所述测试指令的第一指令长度和异常信号检测结果,所述反汇编结果包括所述测试指令的第二指令长度和指令语义信息;
13、所述基于所述执行结果和所述反汇编结果,确定所述测试指令为缺陷指令或者隐藏指令,包括:
14、当基于所述指令语义信息确定所述测试指令为合法指令,且所述第一指令长度和所述第二指令长度不匹配、所述异常信号检测结果为未检测到非法指令异常信号时,确定所述测试指令为所述缺陷指令;
15、当基于所述指令语义信息确定所述测试指令为预留指令,且所述异常信号检测结果为未检测到非法指令异常信号时,确定所述测试指令为所述隐藏指令。
16、根据本专利技术提供的指令空间的指令检测方法,确定所述必要搜索深度,包括:
17、分析所述历史测试指令的目标指令格式,以从必要搜索深度表中匹配出所述目标指令格式对应的所述必要搜索深度,所述必要搜索深度表是基于所述指令空间中指令的指令格式及其所述必要搜索深度的映射关系建立的。
18、根据本专利技术提供的指令空间的指令检测方法,基于所述历史测试指令的所述历史执行结果和所述历史搜索深度,确定所述搜索深度,包括:
19、当第一历史测试指令的第一历史指令长度大于第二历史测试指令的第二历史指令长度时,将所述历史搜索深度增加固定阈值,得到搜索深度;
20、当所述历史搜索深度等于第一历史指令长度,且所述第一历史指令长度为最大第一指令长度时,将所述历史搜索深度减少所述固定阈值,得到所述搜索深度。
21、根据本专利技术提供的指令空间的指令检测方法,所述对所述测试指令进行反汇编,得到反汇编结果,包括:
22、基于至少一种反汇编器,对所述测试指令进行反汇编操作,得到至少一种初始反汇编结果;
23、比较所述初始反汇编结果,以去除所述初始反汇编结果中的错误数据,得到所述反汇编结果。
24、根据本专利技术提供的指令空间的指令检测方法,所述执行所述测试指令,得到执行结果之后,所述方法还包括:
25、当所述执行结果的异常信号检测结果为检测到异常信号时,对所述测试指令的测试环境进行初始化,以执行下一条所述测试指令。
26、第二方面,本专利技术还提供一种指令空间的指令检测装置,包括:
27、指令生成模块,用于基于x86处理器的指令空间的搜索深度,确定所述指令空间的测试指令,所述搜索深度是基于历史测试指令的历史执行结果、历史搜索深度和必要搜索深度确定的,所述必要搜索深度是所述历史测试指令应该达到的所述搜索深度,所述历史测试指令为所述测试指令的上一条已测试指令;
28、指令执行模块,用于执行所述测试指令,得到执行结果;
29、反汇编模块,用于对所述测试指令进行反汇编,得到反汇编结果;
30、分析模块,用于基于所述执行结果和所述反汇编结果,检测所述测试指令中的缺陷指令或者隐藏指令。
31、第三方面,本专利技术提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述指令空间的指令检测方法的步骤。
32、第四方面,本专利技术还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述指令空间的指令检测方法的步骤。
33、本专利技术提供的指令空本文档来自技高网...
【技术保护点】
1.一种指令空间的指令检测方法,其特征在于,包括:
2.根据权利要求1所述的指令空间的指令检测方法,其特征在于,所述历史测试指令包括第一历史测试指令和第二历史测试指令,所述第一历史测试指令为所述测试指令的上一条已测试指令,所述第二历史测试指令为所述第一历史测试指令的上一条已测试指令,所述历史搜索深度为所述第一历史测试指令的搜索深度,所述必要搜索深度为所述第一历史测试指令的必要搜索深度;
3.根据权利要求1所述的指令空间的指令检测方法,其特征在于,所述执行结果包括所述测试指令的第一指令长度和异常信号检测结果,所述反汇编结果包括所述测试指令的第二指令长度和指令语义信息;
4.根据权利要求1所述的指令空间的指令检测方法,其特征在于,确定所述必要搜索深度,包括:
5.根据权利要求1所述的指令空间的指令检测方法,其特征在于,基于所述历史测试指令的所述历史执行结果和所述历史搜索深度,确定所述搜索深度,包括:
6.根据权利要求1所述的指令空间的指令检测方法,其特征在于,所述对所述测试指令进行反汇编,得到反汇编结果,包括:
8.一种指令空间的指令检测装置,其特征在于,包括:
9.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述指令空间的指令检测方法的步骤。
10.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述指令空间的指令检测方法的步骤。
...【技术特征摘要】
1.一种指令空间的指令检测方法,其特征在于,包括:
2.根据权利要求1所述的指令空间的指令检测方法,其特征在于,所述历史测试指令包括第一历史测试指令和第二历史测试指令,所述第一历史测试指令为所述测试指令的上一条已测试指令,所述第二历史测试指令为所述第一历史测试指令的上一条已测试指令,所述历史搜索深度为所述第一历史测试指令的搜索深度,所述必要搜索深度为所述第一历史测试指令的必要搜索深度;
3.根据权利要求1所述的指令空间的指令检测方法,其特征在于,所述执行结果包括所述测试指令的第一指令长度和异常信号检测结果,所述反汇编结果包括所述测试指令的第二指令长度和指令语义信息;
4.根据权利要求1所述的指令空间的指令检测方法,其特征在于,确定所述必要搜索深度,包括:
5.根据权利要求1所述的指令空间的指令检测方法,其特征在于,基于所...
【专利技术属性】
技术研发人员:孟丹,朱子元,王光,
申请(专利权)人:中国科学院信息工程研究所,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。