[发明专利]一种漏洞路径优先级的符号执行调度方法及系统有效
申请号: | 202010390833.9 | 申请日: | 2020-05-11 |
公开(公告)号: | CN111581099B | 公开(公告)日: | 2023-02-10 |
发明(设计)人: | 席泽生;张波;林为民;张涛;孙歆;马媛媛;邵志鹏;周诚;陈牧;管小娟;戴造建;李勇 | 申请(专利权)人: | 全球能源互联网研究院有限公司;国家电网有限公司;国网浙江省电力有限公司;南京理工大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36;G06F8/41;G06F8/74;G06F21/57 |
代理公司: | 北京三聚阳光知识产权代理有限公司 11250 | 代理人: | 刘静 |
地址: | 102209 北京*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 漏洞 路径 优先级 符号 执行 调度 方法 系统 | ||
本发明公开了一种漏洞路径优先级的符号执行调度方法及系统,通过将待挖掘漏洞二进制程序逆向编译的可读文本,并将可读文本划分成多个片段,每个片段中包含至少一个基本块;分析漏洞潜在性高的基本块的复杂度,片段的复杂度,程序执行路径的复杂度,结合漏洞存在因素计算疑似漏洞点所在程序执行路径的优先度,并对其进行排序,根据程序执行路径优先度调度符号执行测试,为实现高效的符号执行提供路径指导,有利于快速、高效发现漏洞路径。
技术领域
本发明涉及电力信息安全技术领域,具体涉及一种漏洞路径优先级的符号执行调度方法及系统。
背景技术
随着社会经济的高速发展,面向源代码的应用漏洞挖掘技术已经有了显著的发展,上线前安全渗透测试的强制性要求,能够有效发现应用中存在的部分漏洞,提升了应用的安全性。然而,面向源代码的应用漏洞挖掘也存在一些不足,由于开发时使用高级语言(C语言、Java等),实际运行时将被编译成二进制代码,在编译、链接的过程中可能由于设置不当等多种原因引入漏洞,使得这些新引入的漏洞难以被检测,然而面向二进制程序的漏洞挖掘具有语言无关性且不需要程序源代码,同时也不需要进行编译和链接,可以直接被执行,因此对二进制程序开展漏洞挖掘能够发现面向源代码的漏洞挖掘难以发现的漏洞。面向二进制程序的漏洞挖掘对于挖掘人员的技术要求高,整体挖掘难度较大,且需要较长时间。在电网网络资产中,诸如配电系统的应用大多为C/S架构(例如:配电用电网络安全监测系统),对于二进制程序的漏洞挖掘需求较大,依靠现有个别专业人员进行的手动挖掘难以在效率上满足。
目前,二进制程序漏洞的分析、挖掘通常利用符号执行和约束求解相结合的方法,由于符号执行存在路径爆炸、路径覆盖不全等问题,路径爆炸是目前符号执行遇到最大难题,是由于程序中可执行的路径太多,如果每条路径都用符号执行的方式检测,会产生大量的符号状态需要在内存中维持,这会大量占用计算机的内存资源,导致内存耗尽,符号执行中断。如果对所有的代码路径进行随机选择并进行漏洞挖掘,需要的时间周期长,对二进制程序来说,漏洞点所在位置的可达路径可能有多条,每条代码路径触发漏洞的难易程度不一样,越晚发现漏洞对于商业软件来说受到的损失越大。在实际使用时,符号执行只能对浅层代码进行测试,漏洞路径覆盖不全,加大计算量及计算时间。
发明内容
因此,本发明提供的一种漏洞路径优先级的符号执行调度方法及系统,克服现有技术中漏洞路径覆盖不全,计算量大及计算时间长的的缺陷,有利于快速、高效发现漏洞路径。
为达到上述目的,本发明提供如下技术方案:
第一方面,本发明实施例提供一种漏洞路径优先级的符号执行调度方法,包括:
获取待挖掘漏洞二进制程序逆向编译的可读文本,并将可读文本划分成多个片段,其中,每个片段中包含至少一个基本块;
计算各基本块的复杂度,并根据各基本块的复杂度计算片段的复杂度;
根据程序执行路径经过的片段的复杂度计算程序执行路径的复杂度;
根据程序执行路径的复杂度预测疑似漏洞点,结合漏洞存在因素计算疑似漏洞点所在程序执行路径的优先度,并对所有疑似漏洞点所在程序执行路径的优先度进行排序;
对优先度进行排序后的疑似漏洞点所在的程序执行路径进行符号执行,当符号执行遇到分支指令时,判断跳转后的代码是否存在于程序执行路径中,如果超出程序执行路径范围,则抛弃这一分支对应的符号求解值,否则,继续进行符号执行,直至发现崩溃或执行完全部程序执行路径。
在一实施例中,所述计算各基本块的复杂度,并根据各基本块的复杂度计算片段的复杂度的步骤,包括:
根据指令数量和指令类型计算各基本块的复杂度;
根据片段中各基本块的复杂度及基本块的数量,按照基本块的层级加权累和计算片段的复杂度,其中,基本块的层级由在本片段中到达的条件决定。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于全球能源互联网研究院有限公司;国家电网有限公司;国网浙江省电力有限公司;南京理工大学,未经全球能源互联网研究院有限公司;国家电网有限公司;国网浙江省电力有限公司;南京理工大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010390833.9/2.html,转载请声明来源钻瓜专利网。