[发明专利]一种Android平台下应用软件的安全漏洞挖掘方法和装置有效
申请号: | 201110460516.0 | 申请日: | 2011-12-31 |
公开(公告)号: | CN102411690A | 公开(公告)日: | 2012-04-11 |
发明(设计)人: | 吴世忠;张普含;时志伟;张*;韩建;吴迪 | 申请(专利权)人: | 中国信息安全测评中心 |
主分类号: | G06F21/00 | 分类号: | G06F21/00 |
代理公司: | 北京品源专利代理有限公司 11332 | 代理人: | 宋松 |
地址: | 100085 北*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 android 平台 应用软件 安全漏洞 挖掘 方法 装置 | ||
1.一种Android平台下应用软件的安全漏洞挖掘方法,其特征在于,包括:
S1.提取多种Android平台下应用软件源代码的漏洞规则,形成漏洞规则库;
S2.针对Android平台下应用软件的源代码构建ant脚本,对所述的源代码进行编译,形成字节码文件;
S3.控制流分析引擎负责解析所述的字节码文件,根据所述的字节码文件中的指令信息构建控制流图,为不安全方法的定位提供基础;
S4.数据流分析引擎是在所述的控制流图的基础上,分析变量中数据的传递过程,构建数据流图,为逆向动态追踪数据提供基础;
S5.根据所述漏洞规则库中的规则,调用所述的控制流引擎和数据流引擎,分析不安全方法的调用位置,逆向动态追踪变量中数据的传递过程,进行漏洞检测;
S6.将挖掘的安全漏洞过程及相关数据信息生成报告。
2.如权利要求1所述的Android平台下应用软件的安全漏洞挖掘方法,其特征在于,步骤S2及步骤S3之间还存在以下步骤:
S21.判断编译是否成功,若是,进入步骤S22,将编译后的字节码文件存放在与源代码同级目录下,为后续的分析、检测提供便利;若否,进入步骤S23,通过漏洞报告部件报告编译不成功原因。
3.如权利要求1所述的Android平台下应用软件的安全漏洞挖掘方法,其特征在于,步骤S5及步骤S6之间还存在以下步骤:
S51.判断逆向动态追踪变量中的数据是否进行过安全验证操作,如果是,进入步骤S52:放弃追踪,如果否,进入步骤S53:判断该数据的方法调用处存在安全漏洞,进入步骤S6。
4.如权利要求1所述的Android平台下应用软件的安全漏洞挖掘方法,其特征在于,所述的控制流分析引擎具有多个。
5.如权利要求1所述的Android平台下应用软件的安全漏洞挖掘方法,其特征在于,所述的数据流分析引擎具有多个。
6.一种Android平台下应用软件的安全漏洞挖掘装置,用于实现权利要求1所述的方法,其特征在于,包括:
漏洞规则库生成单元:提取多种Android平台下应用软件源代码的漏洞规则,形成漏洞规则库;
字节码生成文件单元:针对Android平台下应用软件的源代码构建ant脚本,对所述的源代码进行编译,形成字节码文件;
控制流图构建单元:与所述的字节码生成文件单元相连,用于控制流分析引擎负责解析经过所述的字节码文件,根据所述的字节码文件中的指令信息构建控制流图,为不安全方法的定位提供基础;
数据流图构建单元:数据流分析引擎是在所述的控制流图的基础上,分析变量中数据的传递过程,构建数据流图,为逆向动态追踪数据提供基础;
漏洞检测单元:与所述的数据流图构建单元相连,用于根据所述漏洞规则库中的规则,调用所述的控制流引擎和数据流引擎,分析不安全方法的调用位置,逆向动态追踪变量中数据的传递过程,进行漏洞检测;
漏洞报告生成单元:将挖掘的安全漏洞过程及相关数据信息生成报告。
7.如权利要求6所述的Android平台下应用软件的安全漏洞挖掘装置,其特征在于,还包括设置于字节码生成文件单元与控制流图构建单元间的用于判断编译是否成功的编译判断单元。
8.如权利要求6所述的Android平台下应用软件的安全漏洞挖掘装置,其特征在于,还包括设置于漏洞检测单元与漏洞报告生成单元间的安全验证单元。
9.如权利要求6所述的Android平台下应用软件的安全漏洞挖掘装置,其特征在于,所述的控制流分析引擎具有多个。
10.如权利要求6所述的Android平台下应用软件的安全漏洞挖掘装置,其特征在于,所述的数据流分析引擎具有多个。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国信息安全测评中心,未经中国信息安全测评中心许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110460516.0/1.html,转载请声明来源钻瓜专利网。