[发明专利]应用软件安全漏洞检测方法和系统有效
申请号: | 201611036378.2 | 申请日: | 2016-11-14 |
公开(公告)号: | CN107038378B | 公开(公告)日: | 2018-06-26 |
发明(设计)人: | 王金锭 | 申请(专利权)人: | 平安科技(深圳)有限公司 |
主分类号: | G06F21/57 | 分类号: | G06F21/57 |
代理公司: | 深圳市世纪恒程知识产权代理事务所 44287 | 代理人: | 胡海国 |
地址: | 518000 广东省深*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 调用 敏感 应用软件 应用软件安全 输入点 数据流信息 漏洞检测 外部 安全漏洞检测 漏洞检测系统 安全漏洞 变量参数 污点数据 运行过程 配置的 插桩 回溯 污染 采集 查找 成功 | ||
1.一种应用软件安全漏洞检测方法,其特征在于,所述应用软件安全漏洞检测方法包括以下步骤:
基于预先在应用软件敏感调用点配置的插桩,采集所述应用软件运行过程中流经所述敏感调用点的数据流信息;
根据所述数据流信息,判断所述敏感调用点是否被污点数据污染;
若所述敏感调用点被污染,则根据所述敏感调用点的变量参数,回溯查找所述敏感调用点对应的外部输入点;
若成功查找到所述敏感调用点对应的外部输入点,则确定所述外部输入点为所述应用软件的安全漏洞;
所述根据所述敏感调用点的变量参数,回溯查找所述敏感调用点对应的外部输入点的步骤包括:
根据所述变量参数,回溯查找输出所述变量参数的前驱调用点;
若所述前驱调用点是基于函数调用输出的返回值,则再次回溯查找返回所述前驱调用点实参的前驱调用点,确定源节点;
若所述源节点为外部输入点,则确定所述外部输入点为所述敏感调用点对应的外部输入点;
若找到多个输出所述变量参数且执行顺序先于所述敏感调用点的调用点,则确定所述多个调用点中执行顺序最接近所述敏感调用点的为所述前驱调用点;
所述数据流信息包括所述应用软件运行过程中,调用所述敏感调用点时传递给所述敏感调用点的参数,以及所述敏感调用点根据传递的参数执行函数调用后输出的返回值信息。
2.如权利要求1所述的应用软件安全漏洞检测方法,其特征在于,所述根据所述敏感调用点的变量参数,回溯查找所述敏感调用点对应的外部输入点的步骤还包括:
若所述源节点为常量赋值,则停止回溯,确定未找到所述敏感调用点对应的外部输入点。
3.如权利要求2所述的应用软件安全漏洞检测方法,其特征在于,所述根据所述敏感调用点的变量参数,回溯查找所述敏感调用点对应的外部输入点的步骤还包括:
若所述前驱调用点将所述变量参数作为赋值输出,则获取所述变量参数对应的右值;
若所述右值为外部输入点输入的变量,则确定所述外部输入点为所述敏感调用点对应的外部输入点;
若所述右值为常量赋值,则停止回溯,确定未找到所述敏感调用点对应的外部输入点。
4.如权利要求1、2或3所述的应用软件安全漏洞检测方法,其特征在于,所述基于预先在应用软件敏感调用点配置的插桩,采集所述应用软件运行过程中流经所述敏感调用点的数据流信息的步骤之前,还包括:
当所述应用软件运行时,在所述应用软件的各外部输入点输入污点数据。
5.如权利要求1、2或3所述的应用软件安全漏洞检测方法,其特征在于,所述确定所述外部输入点为所述应用软件的安全漏洞的步骤之后,还包括:
确定回溯找到所述外部输入点的路径为危险路径。
6.一种应用软件安全漏洞检测系统,其特征在于,所述应用软件安全漏洞检测系统包括:
采集模块,用于基于预先在应用软件敏感调用点配置的插桩,采集所述应用软件运行过程中流经所述敏感调用点的数据流信息;
判断模块,用于根据所述数据流信息,判断所述敏感调用点是否被污点数据污染;
回溯模块,用于若所述敏感调用点被污染,则根据所述敏感调用点的变量参数,回溯查找所述敏感调用点对应的外部输入点;
确定模块,用于若成功查找到所述敏感调用点对应的外部输入点,则确定所述外部输入点为所述应用软件的安全漏洞;
所述回溯模块还用于,根据所述变量参数,回溯查找输出所述变量参数的前驱调用点;若所述前驱调用点是基于函数调用输出的返回值,则再次回溯查找返回所述前驱调用点实参的前驱调用点,确定源节点;若所述源节点为外部输入点,则确定所述外部输入点为所述敏感调用点对应的外部输入点;
所述回溯模块还用于,若找到多个输出所述变量参数且执行顺序先于所述敏感调用点的调用点,则确定所述多个调用点中执行顺序最接近所述敏感调用点的为所述前驱调用点;
所述数据流信息包括所述应用软件运行过程中,调用所述敏感调用点时传递给所述敏感调用点的参数,以及所述敏感调用点根据传递的参数执行函数调用后输出的返回值信息。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于平安科技(深圳)有限公司,未经平安科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201611036378.2/1.html,转载请声明来源钻瓜专利网。