[发明专利]应用软件安全漏洞检测方法和系统有效
申请号: | 201611036378.2 | 申请日: | 2016-11-14 |
公开(公告)号: | CN107038378B | 公开(公告)日: | 2018-06-26 |
发明(设计)人: | 王金锭 | 申请(专利权)人: | 平安科技(深圳)有限公司 |
主分类号: | G06F21/57 | 分类号: | G06F21/57 |
代理公司: | 深圳市世纪恒程知识产权代理事务所 44287 | 代理人: | 胡海国 |
地址: | 518000 广东省深*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 调用 敏感 应用软件 应用软件安全 输入点 数据流信息 漏洞检测 外部 安全漏洞检测 漏洞检测系统 安全漏洞 变量参数 污点数据 运行过程 配置的 插桩 回溯 污染 采集 查找 成功 | ||
本发明公开了一种应用软件安全漏洞检测方法,该方法包括:基于预先在应用软件敏感调用点配置的插桩,采集所述应用软件运行过程中流经所述敏感调用点的数据流信息;根据所述数据流信息,判断所述敏感调用点是否被污点数据污染;若所述敏感调用点被污染,则根据所述敏感调用点的变量参数,回溯查找所述敏感调用点对应的外部输入点;若成功查找到所述敏感调用点对应的外部输入点,则确定所述外部输入点为所述应用软件的安全漏洞。本发明还公开了一种应用软件安全漏洞检测系统。本发明大大提高了应用软件的安全漏洞检测效率。
技术领域
本发明涉及数据安全技术领域,尤其涉及一种应用软件安全漏洞检测方法和系统。
背景技术
智能手机中安装的应用软件类型多样,为人们的生活、娱乐、工作带来了极大的便利。由于应用软件可能涉及各用户的隐私、财产安全,因此,应用软件的安全性一直是人们关注的重点。
现有应用软件安全漏洞检测大部分是基于静态的规则扫描和应用组件类的模糊测试实现,如墨贝系统和Drozer工具,是通过对应用软件代码的静态扫描实现软件安全性的检测。这样的检测方法方案比较粗糙,仅仅是基于代码文字的规则匹配,存在大量的误报和漏报;另一方面,由于检测的覆盖面有限,并不能深入发现应用软件的功能逻辑所存在的安全隐患。
因此,如何提高应用软件的安全漏洞检测效率成为了亟需解决的问题。
发明内容
本发明的主要目的在于提供一种软件安全漏洞检测方法和系统,旨在解决应用软件的安全漏洞检测效率低的技术问题。
为实现上述目的,本发明提供一种应用软件安全漏洞检测方法,所述应用软件安全漏洞检测方法包括以下步骤:
基于预先在应用软件敏感调用点配置的插桩,采集所述应用软件运行过程中流经所述敏感调用点的数据流信息;
根据所述数据流信息,判断所述敏感调用点是否被污点数据污染;
若所述敏感调用点被污染,则根据所述敏感调用点的变量参数,回溯查找所述敏感调用点对应的外部输入点;
若成功查找到所述敏感调用点对应的外部输入点,则确定所述外部输入点为所述应用软件的安全漏洞。
优选地,所述根据所述敏感调用点的变量参数,回溯查找所述敏感调用点对应的外部输入点的步骤包括:
根据所述变量参数,回溯查找输出所述变量参数的前驱调用点;
若所述前驱调用点是基于函数调用输出的返回值,则再次回溯查找返回所述前驱调用点实参的前驱调用点,确定源节点;
若所述源节点为外部输入点,则确定所述外部输入点为所述敏感调用点对应的外部输入点;
若所述源节点为常量赋值,则停止回溯,确定未找到所述敏感调用点对应的外部输入点。
优选地,所述根据所述敏感调用点的变量参数,回溯查找所述敏感调用点对应的外部输入点的步骤还包括:
若所述前驱调用点将所述变量参数作为赋值输出,则获取所述变量参数对应的右值;
若所述右值为外部输入点输入的变量,则确定所述外部输入点为所述敏感调用点对应的外部输入点;
若所述右值为常量赋值,则停止回溯,确定未找到所述敏感调用点对应的外部输入点。
优选地,所述基于预先在应用软件敏感调用点配置的插桩,采集所述应用软件运行过程中流经所述敏感调用点的数据流信息的步骤之前,还包括:
当所述应用软件运行时,在所述应用软件的各外部输入点输入污点数据。
优选地,所述确定所述外部输入点为所述应用软件的安全漏洞的步骤之后,还包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于平安科技(深圳)有限公司,未经平安科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201611036378.2/2.html,转载请声明来源钻瓜专利网。