【技术实现步骤摘要】
一种基于数据流分析的软件补丁检测方法及装置
本专利技术涉及计算机
,尤其涉及一种基于数据流分析的软件补丁检测方法及装置。
技术介绍
随着IoT的快速发展以及开源软件在IoT设备中的广泛应用,大量存在漏洞的设备暴露在互联网环境中。据Gartner发布的报告,预计至2020年全球范围内将有200亿物联网设备。虽然开源软件会定期发布漏洞补丁,然而由于缺乏有效的软件更新机制及补丁管理机制,大量漏洞仍然未被修补,比如2014年爆出的Heartbleed漏洞导致2亿多个安卓设备存在被攻击的风险,虽然OpenSSL及时发布了针对该漏洞的补丁,截至2017年仍然有超过20万个设备中的漏洞未被修补。因此无论对于安全研究人员还是企业软件产品的维护人员,高效准确的补丁检测工具成为亟需。然而由于软件产品的快速迭代以及产品发布平台的差异化导致补丁检测非常难以实现。当前的补丁检测方法包括:提取二进制代码的控制流并进行嵌入学习,继而将学得的特征向量利用分类器进行判别分析,该类方法虽然检测效率比较高,检测精度却存在极大限制。另一类方法采用基于符号执行结合数据流分析的方法对二进制代码中的补丁进行检测,然而该类方法效率极其低下,无法应用到大规模的软件产品检测任务中。这些使得现有补丁检测工具的效率和准确率受到了限制。高效准确的自动化补丁检测工具在物联网设备安全防护中具有极其重要的作用,然而目前已有的工作和装置在检测效率和准确度上还远远满足不了实际应用的需求。所以基于现有技术中软件补丁检测装置存在的问题和挑战,需要一种新的解决方案解决 ...
【技术保护点】
1.一种基于数据流分析的软件补丁检测方法,其特征在于,所示方法包括:/n步骤一:利用Extractor对补丁代码进行解析 ,按序选择检测所述补丁代码中赋值语句和条件语句、函数调用语句、类型相关语句、其它类型语句的修改语义作为待检测补丁的特征;建立二进制代码与源码之间的映射关系;/n步骤二:选择VEX-IR作为物联网环境中的设备固件的二进制代码提升的中间代码,使用开源的Angr对二进制代码进行分析,提取出控制流,其中,所述控制流以函数为单位,每个所述函数为包含节点为基本块,程序跳转为边的所述控制流;/n对所述基本块内的数据流进行分析,对所述基本块的代码进行反向逐条分析,提取每个语句中变量的使用链;/n对跨基本块的数据流进行分析,将分布于不同所述基本块内的数据流连接构成完整的数据信息;/n对提取出的数据流进行优化;/n从所述基本块中按序选择ITL语句、赋值语句以及所述基本块内的最后一条指令,对三者中包含的多个变量分别进行细粒度数据流提取,得到补丁特征;/n步骤三:对所述补丁特征进行多阶段匹配。/n
【技术特征摘要】
1.一种基于数据流分析的软件补丁检测方法,其特征在于,所示方法包括:
步骤一:利用Extractor对补丁代码进行解析,按序选择检测所述补丁代码中赋值语句和条件语句、函数调用语句、类型相关语句、其它类型语句的修改语义作为待检测补丁的特征;建立二进制代码与源码之间的映射关系;
步骤二:选择VEX-IR作为物联网环境中的设备固件的二进制代码提升的中间代码,使用开源的Angr对二进制代码进行分析,提取出控制流,其中,所述控制流以函数为单位,每个所述函数为包含节点为基本块,程序跳转为边的所述控制流;
对所述基本块内的数据流进行分析,对所述基本块的代码进行反向逐条分析,提取每个语句中变量的使用链;
对跨基本块的数据流进行分析,将分布于不同所述基本块内的数据流连接构成完整的数据信息;
对提取出的数据流进行优化;
从所述基本块中按序选择ITL语句、赋值语句以及所述基本块内的最后一条指令,对三者中包含的多个变量分别进行细粒度数据流提取,得到补丁特征;
步骤三:对所述补丁特征进行多阶段匹配。
2.根据权利要求1所述的基于数据流分析的软件补丁检测方法,其特征在于,步骤一中建立二进制与源码之间映射关系的过程为:提取源码中修改点为粒度的补丁信息;将所述源码应用待检测补丁,使用-g3选项对源码进行编译得到二进制代码;通过二进制分析工具建立二进制代码与所述补丁信息之间的对应关系。
3.根据权利要求1所述的基于数据流分析的软件补丁检测方法,其特征在于,步骤二中所述开源的Angr包括控制流构建接口CFGFast。
4.根据权利要求1所述的基于数据流分析的软件补丁检测方法,其特征在于,步骤二中所述基本块包括所述基本块所使用的所有变量信息,包含的指令,基本块跳出方式,其中,所述指令包括原始指令及翻译后的中间代码。
5.根据权利要求1所述的基于数据流分析的软件补丁检测方法,其特征在于,步骤二中所述跨基本块的数据流分析依赖所述基本块内数据流分析提供的到达-定值信息,其中,所述到达-定值信息包括,流...
【专利技术属性】
技术研发人员:李建欣,孙佩源,邵明来,周睿,邰振赢,
申请(专利权)人:北京航空航天大学,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。