[发明专利]一种Apk安全风险自动化静态审计系统以及方法在审
申请号: | 201710030223.6 | 申请日: | 2017-01-17 |
公开(公告)号: | CN106933645A | 公开(公告)日: | 2017-07-07 |
发明(设计)人: | 符利华 | 申请(专利权)人: | 深圳市能信安科技股份有限公司 |
主分类号: | G06F9/45 | 分类号: | G06F9/45 |
代理公司: | 深圳市中联专利代理有限公司44274 | 代理人: | 李俊 |
地址: | 518000 广东省深*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 apk 安全 风险 自动化 静态 审计 系统 以及 方法 | ||
1.一种Apk安全风险自动化静态审计方法,其特征在于,包括如下步骤:
步骤S101,反编译出Apk的AndroidManifest.xml、classes.dex和资源文件,读取其Dalvik字节码和AndroidManifest.xml文件,以所述AndroidManifest.xml文件作为函数入口解析所有的函数调用指令并生成基本函数调用图;
步骤S102,将Apk中使用到的具有异步性质的调用函数、生命周期相关的函数的Android库都加入所述基本函数调用图中,得到扩展函数调用图;
步骤S103,对所述扩展函数调用图中的代码路径进行过滤,得到包含可能污点数据传播行为的可疑路径集合;
步骤S104,污点分析器对可疑路径集合中每条可疑路径函数的字节码指令进行模拟执行,基于内存对象模型进行污点分析,并准确的检测污点数据信息以及污点数据传播行为。
2.根据权利要求1所述的Apk安全风险自动化静态审计方法,其特征在于,所述基于内存对象模型进行污点分析,进一步包括:
当污点分析器遇到包含未知值的未知条件分支时,引入模糊规则来进行控制流的决策,将未知条件分支分为未知值分支、无限循环分支和无限递归分支三种模式并分别进行处理。
3.根据权利要求2所述的Apk安全风险自动化静态审计方法,其特征在于,所述将未知条件分支分为未知值分支、无限循环分支和无限递归分支三种模式并分别进行处理,具体包括:
未知值分支重建上下文环境,恢复到已知分支状态;
无限循环分支设定循环最大次数阀值p,当计数达到p时,跳出循环,继续执行后续字节码;
无限递归设定递归最大深度阀值q,当计数达到最大深度q时,中止递归,恢复后续字节码执行。
4.根据权利要求1所述的Apk安全风险自动化静态审计方法,其特征在于,所述方法还包括:
步骤S105,根据检测的污点数据信息以及污点数据传播行为结果,输出检测报告。
5.一种Apk安全风险自动化静态审计系统,其特征在于,包括Web应用服务器、文件服务器和审计服务器;其中:
所述Web应用服务器用于用户登录以及将待测应用程序的APK文件发送给审计服务器;
所述文件服务器用于存储所述待测应用程序的APK文件;
所述审计服务器用于将所述Web应用服务器发送来的APK文件进行解析,反编译出Dalvik字节码和AndroidManifest.xml文件,并以AndroidManifest.xml文件作为函数入口解析所有的函数调用指令生成基本函数调用图;同时,将Apk中使用到的具有异步性质的调用函数、生命周期相关的函数的Android库都加入所述基本函数调用图中,得到扩展函数调用图;对所述扩展函数调用图中的代码路径进行过滤,得到包含可能污点数据传播行为的可疑路径集合;以及对所述可疑路径集合中每条可疑路径函数的字节码指令进行模拟执行,基于内存对象模型进行污点分析,并准确的检测污点数据信息以及污点数据传播行为。
6.根据权利要求5所述的Apk安全风险自动化静态审计系统,其特征在于,所述扩展函数调用图包含Dalvik字节码执行中遇到的所有的显式和隐式的控制流以及所有的代码路径。
7.根据权利要求5所述的Apk安全风险自动化静态审计系统,其特征在于,所述审计服务器包括:
解析模块,用于对所述待测应用程序的APK文件进行解析,反编译出Dalvik字节码和AndroidManifest.xml文件;
函数调用图生成模块,用于以AndroidManifest.xml文件作为函数入口解析所有函数调用指令生成基本函数调用图;同时,将Apk中使用到的具有异步性质的调用函数、生命周期相关的函数的Android库都加入所述基本函数调用图中,得到扩展函数调用图;
过滤模块,用于对所述扩展函数调用图中的代码路径进行过滤,得到包含可能污点数据传播行为的可疑路径集合;
污点分析模块,用于对所述可疑路径集合中每条可疑路径函数的字节码指令进行模拟执行,基于内存对象模型进行污点分析,并准确的检测污点数据信息以及污点数据传播行为。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳市能信安科技股份有限公司,未经深圳市能信安科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710030223.6/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种根据不同产品加载不同固件的方法
- 下一篇:云应用系统的负载管理方法及系统