[发明专利]一种抗隐式污点传播的动态污点检测方法及系统有效
申请号: | 202010064646.1 | 申请日: | 2020-01-20 |
公开(公告)号: | CN111240991B | 公开(公告)日: | 2023-03-14 |
发明(设计)人: | 刘思源 | 申请(专利权)人: | 重庆富民银行股份有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 重庆强大凯创专利代理事务所(普通合伙) 50217 | 代理人: | 蒙捷 |
地址: | 401121 重庆市*** | 国省代码: | 重庆;50 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 抗隐式 污点 传播 动态 检测 方法 系统 | ||
1.一种抗隐式污点传播的动态污点检测方法,其特征在于:包括以下步骤,
S1、将从外部获取的不可信数据标记为污点数据,并将所述污点数据存入内存中;
S2、采集在内存中被调用的污点数据,并根据污点标记策略对污点数据进行筛选、过滤得到相应的有效污点数据;所述步骤S2中进行筛选、过滤得到相应的有效污点数据具体包括以下步骤:
S201、使用四元组序列(P,T,x,c)表示漏洞位置,其中P代表源程序,x是输入数据,c是脆弱性条件,T是x在P上的执行路径;
S202、使用T(P,c)表示漏洞签名,即由输入x所获得的程序P上的执行路径为T,脆弱性条件c在执行路径T上被检查;
S203、如果T满足脆弱性条件,记作|T|=c;定义脆弱性语言Lp*c,描述对于程序P,输入x,产生执行路径满足脆弱性条件c;令∑*表示程序P的输入域,Lp*c={x∈∑*|T(P,c)=c},那么一个漏洞签名满足下列属性:
其中exploit代表满足脆弱性条件,产生漏洞;benign代表不满足脆弱性条件,不可以被利用;
S3、捕获被测程序载入污点数据运行后的数据流信息,将有效污点数据按字节变异,并将变异后的污点数据作为模拟数据重新载入被测程序,再捕获隐式数据流信息;所述步骤S3中污点数据的变异具体包括以下步骤:
S301、捕获被测程序载入有效污点数据运行后的数据流信息;
S302、将有效污点数据按字符进行变异得到变异数据;
S303、将变异数据作为被测程序的模拟输入,并调用插桩工具对被测程序进行插桩;
S304、捕获被测程序载入污点数据运行后的隐式数据流信息,重复执行步骤S302,获取若干条隐式数据流信息;
S4、根据所捕获的数据流信息和隐式数据流信息进行对比,寻找数据流信息与隐式数据流信息之间的依赖关系;所述步骤S4中数据间的依赖关系的求解包括以下步骤:
S401、将数据流信息与若干条隐式数据流信息进行比对,寻找数据流信息与隐式数据流信息之间的依赖关系;
S402、再根据依赖关系分析并获取含有外部输入类型信息的安全漏洞。
2.根据权利要求1所述的一种抗隐式污点传播的动态污点检测方法,其特征在于:所述步骤S1中污点数据的标记具体包括以下步骤:
S101、根据配置文件的污点标记策略,建立起外部不可信数据与污点标记的一一映射关系。
3.根据权利要求1所述的一种抗隐式污点传播的动态污点检测方法,其特征在于:所述不可信数据为引起程序产生各类安全问题的数据,不可信数据的来源包括:键盘的输入、读写磁盘的输入、网络接口的输入和客户端Web参数。
4.根据权利要求1所述的一种抗隐式污点传播的动态污点检测方法,其特征在于:所述插桩工具包括ATOM、Dynis、Valgrind、Pin、Nirvana和HDTrans。
5.一种抗隐式污点传播的动态污点检测系统,其特征在于:运用了权利要求1-4任一所述的方法,包括以下模块,
污点标记模块:用于将从外部获取的不可信数据标记为污点数据,并将所述污点数据存入内存中;
数据采集模块:用于采集在内存中被调用的污点数据,并根据污点标记策略对污点数据进行筛选、过滤得到相应的有效污点数据;
数据变异模块:用于捕获被测程序载入污点数据运行后的数据流信息,将有效污点数据按字节变异,并将变异后的污点数据作为模拟数据重新载入被测程序,再捕获隐式数据流信息;
对比标记模块:用于根据所捕获的数据流信息和隐式数据流信息进行对比,寻找数据流信息与隐式数据流信息之间的依赖关系,再根据依赖关系分析并获取含有外部输入类型信息的安全漏洞。
6.根据权利要求5所述的一种抗隐式污点传播的动态污点检测系统,其特征在于:所述不可信数据在标记为污点数据之前,所述系统还包括,
数据预处理模块:用于使用特定字符数组,以单个字符的形式预处理所有不可信数据。
7.根据权利要求6所述的一种抗隐式污点传播的动态污点检测系统,其特征在于:所述污点标记模块还包括以下子模块,
文件I/O数据标记子模块:用于在对文件I/O数据进行标记时,通过配置文件指定I/O数据的特定路径来对特定的I/O数据进行标记。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于重庆富民银行股份有限公司,未经重庆富民银行股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010064646.1/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种可调节的汽车座椅头枕及汽车座椅
- 下一篇:带有压力检测的滚边头组件