二进制程序过程间静态污点分析方法及系统技术方案

技术编号:26531256 阅读:37 留言:0更新日期:2020-12-01 14:11
本发明专利技术的二进制程序过程间静态污点分析方法及系统,包括:二进制控制结构分析模块、到达定值分析模块和污点传播分析模块,其中,二进制控制结构分析模块计算预设目标程序的控制结构视图;到达定值分析模块基于所述控制结构视图,运算出目标程序内各个程序点的到达定值状态;污点传播模块按照所运算出的到达定值状态,计算出目标程序内各个程序点的污点状态。本发明专利技术依托于统一的上下文敏感、流敏感的过程间静态分析框架定制具体的分析算法;通过到达定值分析获取运行时各个机器位置对应的定值集合,提升间接跳转、指针别名的解析精度;在此基础上构建静态过程间污点分析引擎,由此提供针对二进制程序的静态全路径污点传播分析能力手段。

【技术实现步骤摘要】
二进制程序过程间静态污点分析方法及系统
本专利技术属软件分析
,特别涉及一种二进制程序过程间静态污点分析方法及系统。
技术介绍
静态污点分析是当前安全研究人员发现、分析代码漏洞的一种重要手段。在不运行目标程序的情况下,该技术对目标程序内部所有静态可达路径进行安全分析,确认是否存在“外部输入可以对敏感程序位置产生影响”的程序路径,由此检测目标程序是否存在安全问题。该技术当前在对源码程序安全分析方面应用广泛。然而对于二进制程序,受制于指针别名解析不够完备等问题,当前相关研究大多隶属动态污点分析范畴,仅仅关注于单一执行路径中输入污点的传播过程,缺乏对目标程序全路径污点状态安全分析的能力。具体的,污点分析(又称污点传播分析)的主要思想,在于为目标程序中从外部环境中(诸如文件系统、命令行、网络数据报文等)读取的输入数据引入对应的污点标签,随之在程序执行过程中进行污点传播。通过判断“外部输入对敏感程序位置是否能够产生影响”,确认目标程序是否存在安全问题。该技术当前已成为信息安全领域的一个研究热点。依据是否运行目标程序,该技术可分为静态本文档来自技高网...

【技术保护点】
1.一种二进制程序过程间静态污点分析系统,其特征在于,所述系统包括:二进制控制结构分析模块、到达定值分析模块和污点传播模块,其中,二进制控制结构分析模块计算预设目标程序的控制结构视图;到达定值分析模块基于所述控制结构视图,运算出目标程序内各个程序点的到达定值状态,所述定值状态指各程序点处的程序变量对应的预设取值集合;污点传播模块按照所运算出的到达定值状态,计算出目标程序内各个程序点的污点状态,所述污点状态指目标程序内各个程序点处程序变量受外部输入影响情况。/n

【技术特征摘要】
1.一种二进制程序过程间静态污点分析系统,其特征在于,所述系统包括:二进制控制结构分析模块、到达定值分析模块和污点传播模块,其中,二进制控制结构分析模块计算预设目标程序的控制结构视图;到达定值分析模块基于所述控制结构视图,运算出目标程序内各个程序点的到达定值状态,所述定值状态指各程序点处的程序变量对应的预设取值集合;污点传播模块按照所运算出的到达定值状态,计算出目标程序内各个程序点的污点状态,所述污点状态指目标程序内各个程序点处程序变量受外部输入影响情况。


2.根据权利要求1所述的二进制程序过程间静态污点分析系统,其特征在于,污点传播分析模块为隶属于“基于格的抽象解释理论”的静态分析技术提供了统一的静态抽象分析模块构建平台,所述到达定值分析模块和污点传播分析模块以过程间上下文敏感、流敏感的方式对目标程序进行分析。


3.根据权利要求2所述的二进制程序过程间静态污点分析系统,其特征在于,所述控制结构视图包括:预设目标程序内各个段的地址空间布局、各个函数的过程内控制流图及对应中间语言表现形式和过程调用图的控制结构信息。


4.根据权利要求3所述的二进制程序过程间静态污点分析系统,其特征在于,所述二进制控制结构分析模块应用反汇编、过程内控制流分析计算出目标程序各个函数的过程内控制流图;应用调用图分析计算出目标程序的调用图;应用中间语言提升方法计算出目标程序各个函数中每个基本块的中间语言表现形式,形成目标程序的静态控制结构视图。


5.根据权利要求1所述的二进制程序过程间静态污点分析系统,其特征在于,所述程序静态污点状态为二进制程序过程间静态污点分析系统提供“程序关键位置敏感操作数是否为外部输入可控”关键信息,有效约减静态分析误报情况,强化分析系统的漏洞检测能力...

【专利技术属性】
技术研发人员:黄晖陆余良黄曙光赵顺恺甘桂华赵军钟晓峰卢灿举
申请(专利权)人:中国人民解放军国防科技大学
类型:发明
国别省市:湖南;43

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

1