一种面向多种补丁模式的差异分支识别方法及系统技术方案

技术编号:20160899 阅读:40 留言:0更新日期:2019-01-19 00:13
本发明专利技术提供一种面向多种补丁模式的差异分支识别方法,步骤包括:对补丁前后的二进制程序进行比对,识别出补丁后程序中的差异函数及其包含的差异块,该差异块为新增块或修改块;对于控制流补丁,如果差异块的后继结点中有一个是新增块,且该新增块包含另一侧基本块的所有指令,则将从差异块到该新增块的分支作为差异分支;如果差异块含有两个后继结点,则将从差异块到距离函数退出结点最近的后继结点的分支作为差异分支;对于数据流补丁,如果差异块的前驱结点和后继结点均为匹配块,且前驱结点含有两个后继结点,则将该前驱结点到差异块的分支作为差异分支。

【技术实现步骤摘要】
一种面向多种补丁模式的差异分支识别方法及系统
本专利技术涉及漏洞挖掘领域,主要关注基于补丁分析发现漏洞的方向,具体为一种面向多种补丁模式的差异分支识别方法及系统。
技术介绍
补丁发布是用于修复计算机程序漏洞的,它同时也透露了漏洞相关信息。漏洞研究者可根据补丁前后二进制代码的差异,结合分析调试,定位漏洞所在。因此基于补丁分析发现漏洞的研究是漏洞挖掘领域重要的组成部分。补丁分析研究主要集中在两个方面:1)如何对补丁前后二进制程序进行比对,从而提取出差异信息;2)如何通过分析差异构造出能验证补丁前程序中漏洞存在的输入。大部分现有研究的重心在于提高二进制补丁比对的准确性。而目前业界的BinDiff比对工具已经到达较高的准确率,因此,问题的关键在于如何基于比对结果和补丁模式来提取出能验证漏洞的输入需满足的条件,进而基于该条件生成输入、验证漏洞。现有技术APEG能一定程度解决上述问题,然而它只能针对一种添加输入检查的补丁模式,即只有输入满足检查后才会执行原来代码,从而避免了非法输入触发异常。APEG对于这种模式提取出的验证漏洞的输入条件为:输入不满足新添加检查,因为这样的输入往往是非法的,能触发本文档来自技高网...

【技术保护点】
1.一种面向多种补丁模式的差异分支识别方法,步骤包括:对补丁前后的二进制程序进行比对,识别出补丁后程序中的差异函数及其包含的差异块,该差异块为新增块或修改块;对于控制流补丁,如果差异块的后继结点中有一个是新增块,且该新增块包含另一侧基本块的所有指令,则将从差异块到该新增块的分支作为差异分支;如果差异块含有两个后继结点,则将从差异块到距离函数退出结点最近的后继结点的分支作为差异分支;对于数据流补丁,如果差异块的前驱结点和后继结点均为匹配块,且前驱结点含有两个后继结点,则将该前驱结点到差异块的分支作为差异分支。

【技术特征摘要】
1.一种面向多种补丁模式的差异分支识别方法,步骤包括:对补丁前后的二进制程序进行比对,识别出补丁后程序中的差异函数及其包含的差异块,该差异块为新增块或修改块;对于控制流补丁,如果差异块的后继结点中有一个是新增块,且该新增块包含另一侧基本块的所有指令,则将从差异块到该新增块的分支作为差异分支;如果差异块含有两个后继结点,则将从差异块到距离函数退出结点最近的后继结点的分支作为差异分支;对于数据流补丁,如果差异块的前驱结点和后继结点均为匹配块,且前驱结点含有两个后继结点,则将该前驱结点到差异块的分支作为差异分支。2.如权利要求1...

【专利技术属性】
技术研发人员:李丰彭佳琪刘丙昌许丽丽陈宏程刘炳宏霍玮邹维
申请(专利权)人:中国科学院信息工程研究所
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1