[发明专利]二进制程序过程间静态污点分析方法及系统有效
申请号: | 202011151815.1 | 申请日: | 2020-10-26 |
公开(公告)号: | CN112016099B | 公开(公告)日: | 2021-04-02 |
发明(设计)人: | 黄晖;陆余良;黄曙光;赵顺恺;甘桂华;赵军;钟晓峰;卢灿举 | 申请(专利权)人: | 中国人民解放军国防科技大学 |
主分类号: | G06F21/57 | 分类号: | G06F21/57 |
代理公司: | 中国和平利用军工技术协会专利中心 11215 | 代理人: | 刘光德 |
地址: | 410073 湖*** | 国省代码: | 湖南;43 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 二进制 程序 过程 静态 污点 分析 方法 系统 | ||
本发明的二进制程序过程间静态污点分析方法及系统,包括:二进制控制结构分析模块、到达定值分析模块和污点传播分析模块,其中,二进制控制结构分析模块计算预设目标程序的控制结构视图;到达定值分析模块基于所述控制结构视图,运算出目标程序内各个程序点的到达定值状态;污点传播模块按照所运算出的到达定值状态,计算出目标程序内各个程序点的污点状态。本发明依托于统一的上下文敏感、流敏感的过程间静态分析框架定制具体的分析算法;通过到达定值分析获取运行时各个机器位置对应的定值集合,提升间接跳转、指针别名的解析精度;在此基础上构建静态过程间污点分析引擎,由此提供针对二进制程序的静态全路径污点传播分析能力手段。
技术领域
本发明属软件分析技术领域,特别涉及一种二进制程序过程间静态污点分析方法及系统。
背景技术
静态污点分析是当前安全研究人员发现、分析代码漏洞的一种重要手段。在不运行目标程序的情况下,该技术对目标程序内部所有静态可达路径进行安全分析,确认是否存在“外部输入可以对敏感程序位置产生影响”的程序路径,由此检测目标程序是否存在安全问题。该技术当前在对源码程序安全分析方面应用广泛。然而对于二进制程序,受制于指针别名解析不够完备等问题,当前相关研究大多隶属动态污点分析范畴,仅仅关注于单一执行路径中输入污点的传播过程,缺乏对目标程序全路径污点状态安全分析的能力。
具体的,污点分析(又称污点传播分析)的主要思想,在于为目标程序中从外部环境中(诸如文件系统、命令行、网络数据报文等)读取的输入数据引入对应的污点标签,随之在程序执行过程中进行污点传播。通过判断“外部输入对敏感程序位置是否能够产生影响”,确认目标程序是否存在安全问题。该技术当前已成为信息安全领域的一个研究热点。
依据是否运行目标程序,该技术可分为静态污点分析、动态污点分析两类。前者一般基于传统数据流分析技术,以流敏感的方式展开污点传播计算,最终求解出目标程序所有控制流图静态可达路径的污点传播信息。后者则仅关注于目标程序的某一给定的程序执行路径的污点传播状况,一般基于指令编译时插桩、动态二进制翻译等技术,在目标路径每条指令执行时刻进行动态挂钩,实时计算该指令对应的污点传播操作语义,在路径执行过程中同时进行污点传播。
当前,静态污点分析技术和动态污点分析技术在漏洞挖掘、软件脆弱性分析等方面都有着较为广泛的研究。前者一般用于对目标程序进行全路径污点状态分析,后者则大多用于对单一路径进行安全属性分析。但是在二进制程序安全分析方面,由于传统数据流分析方法在过程间程序分析时对调用上下文信息不够敏感、指针别名解析不够精确等问题,当前针对该型目标的分析方法更多以动态污点分析为主,普遍缺乏过程间静态污点分析的能力手段。
因此,目前迫切需要本领域技术人员解决的一个技术问题就是:如何能够创新的提出一种有效的二进制程序过程间静态污点分析方法,克服现有技术的缺陷,满足实际应用中的更多需求。
发明内容
本申请实施例的目的是提出一种二进制程序过程间静态污点分析方法及系统,将二进制程序提升为中间语言表现形式,随之以流敏感、上下文敏感的方式展开过程间静态污点分析,可以计算出目标程序内任意程序点处程序变量对应的污点状态,将该方法与静态漏洞检测工具相结合,可以有效提升漏洞检测的分析精度。
为解决上述技术问题,本申请实施例是这样实现的:
根据本申请实施例的第一方面,提出了一种二进制程序过程间静态污点分析系统,所述系统包括:二进制控制结构分析模块、到达定值分析模块和污点传播模块,其中,二进制控制结构分析模块计算预设目标程序的控制结构视图;到达定值分析模块基于所述控制结构视图,运算出目标程序内各个程序点的到达定值状态,所述定值状态指各程序点处的程序变量对应的预设取值集合;污点传播模块按照所运算出的到达定值状态,计算出目标程序内各个程序点的污点状态,所述污点状态指目标程序内各个程序点处程序变量受外部输入影响情况。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国人民解放军国防科技大学,未经中国人民解放军国防科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011151815.1/2.html,转载请声明来源钻瓜专利网。