[发明专利]一种指引二进制漏洞挖掘路径的方法及其应用有效
| 申请号: | 201911350827.4 | 申请日: | 2019-12-24 |
| 公开(公告)号: | CN111523121B | 公开(公告)日: | 2023-08-29 |
| 发明(设计)人: | 何金;赵迪;董阳;陈亮;张国强;李洁 | 申请(专利权)人: | 国网天津市电力公司;国家电网有限公司 |
| 主分类号: | G06F21/57 | 分类号: | G06F21/57 |
| 代理公司: | 天津创智睿诚知识产权代理有限公司 12251 | 代理人: | 李玲 |
| 地址: | 300010*** | 国省代码: | 天津;12 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 指引 二进制 漏洞 挖掘 路径 方法 及其 应用 | ||
1.一种指引二进制漏洞挖掘路径的方法,其特征在于,包括下列步骤:
步骤1:将待挖掘漏洞的二进制程序逆向编译成可读形式,划分出基本块和片段;
步骤2:通过指令数量和指令类型计算所述基本块的复杂度;
步骤3:根据片段中包含的各基本块的复杂度以及基本块的数量按照层级加权累和计算片段的复杂度;
步骤4:通过路径经过的片段的复杂度和基本块的复杂度来计算路径的复杂度;
步骤5:根据步骤4计算的路径的复杂度,结合漏洞存在因素计算路径的优先度,所述漏洞存在因素包括不同漏洞类型的漏洞的对应代码出现频率和对应代码复杂度;
步骤6:对所有疑似漏洞点所在路径的优先度进行排序;
步骤2中,所述基本块的复杂度的计算公式为:
其中,Cb表示基本块的复杂度,ni是对应指令类型的指令数量,是该指令类型的指令的权重值,γ是影响系数,通常取值为0.01~0.1;是基本块中涉及到的每一次栈操作时,栈顶到栈底的距离;num是基本块中总的指令数量;
步骤3中,所述片段的复杂度计算公式为:
其中,θi是对应的片段中处于不同层级的基本块的权重;是不同层级中第一个基本块的复杂度,是不同层级中第二个基本块的复杂度;
步骤4中,所述路径的复杂度的计算公式为:
Cr=V(G)(Cf1+Cf2+…) (3)
V(G)=e-n+2 (4)
其中V(G)是一条路径的圈复杂度;Cfi是路径中涉及到的所有片段的复杂度;e是一条路径中边的数量,n是控制流图中的节点数量;
步骤5中,所述疑似漏洞点所在路径的优先度的计算公式为:
其中PV为对应代码出现频率,Pc为对应代码复杂度,Cri是一条路径的复杂度,α+β=1。
2.如权利要求1所述的指引二进制漏洞挖掘路径的方法,其特征在于,所述指令类型包括数据传送指令、算术运算指令、位运算指令、程序流程控制指令、串操作指令、处理器控制指令。
3.如权利要求2所述的指引二进制漏洞挖掘路径的方法,其特征在于,所述指令类型的指令的权重值参考指令的时间复杂度O(n)获得。
4.如权利要求1所述的指引二进制漏洞挖掘路径的方法,其特征在于,θ1=1,θi+1=0.1θi。
5.如权利要求1所述的指引二进制漏洞挖掘路径的方法,其特征在于,漏洞类型包括栈漏洞、整数溢出漏洞、格式化字符串漏洞、堆漏洞和逻辑漏洞,其中:
所述栈漏洞对应Pv=0.9,Pc=0.3;
所述整数溢出漏洞对应PV=0.6,Pc=0.3;
所述格式化字符串漏洞对应PV=0.6,Pc=0.6;
所述堆漏洞对应Pv=0.3,Pc=0.6;
所述逻辑漏洞对应Pv=0.3,Pc=0.9。
6.如权利要求1-5任一项所述的指引二进制漏洞挖掘路径的方法在漏洞挖掘中的应用,其特征在于,路径的优先度越高应越早进行漏洞挖掘。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于国网天津市电力公司;国家电网有限公司,未经国网天津市电力公司;国家电网有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911350827.4/1.html,转载请声明来源钻瓜专利网。
- 上一篇:切换先行关联预备支持方法和系统
- 下一篇:移动设备上的三维环境中的导航





