[发明专利]一种针对安卓手机APP的漏洞检测方法在审
申请号: | 201710369224.3 | 申请日: | 2017-05-23 |
公开(公告)号: | CN107330332A | 公开(公告)日: | 2017-11-07 |
发明(设计)人: | 甘刚 | 申请(专利权)人: | 成都联宇云安科技有限公司 |
主分类号: | G06F21/57 | 分类号: | G06F21/57 |
代理公司: | 成都弘毅天承知识产权代理有限公司51230 | 代理人: | 李春芳 |
地址: | 610041 四川*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 针对 手机 app 漏洞 检测 方法 | ||
技术领域
本发明属于安卓应用安全防护领域,尤其涉及一种漏洞检测方法。
背景技术
安卓(Android)系统作为自由及开放源代码的操作系统,近几年大量使用在智能设备,如智能手机和平板电脑上。随之而来的是各种针对安卓应用的漏洞也如雨后春笋般膨胀起来,应用程序存在漏洞可能会被各种病毒木马利用,从而遭受网银被盗、被监听监视、无端扣费、隐私泄露、成为病毒传播源等诸多损害。因此,及早发现安卓APP的漏洞对安卓设备的整体安全非常重要。另一方面,目前安卓APP的种类数量非常巨大,如果使用人工手动检测,必然耗费大量人力物力,几乎是不可完成的任务,因此,自动化检测十分必要。
幸运的是,目前完成安卓APP漏洞检测的基础技术已经成熟。Python并行分布式框架Celery已广泛使用在各种分布式应用中,并经受了实践考验,可以稳定的承担检测任务管理的重任;Golang语言原生支持并行化,并具有垃圾回收功能,部署依赖少,系统兼容性好,执行效率高,可轻松解决某些检测环节,检测时间长的难题;Virtualbox、Docker等开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口,这些特性可以方便的实现安卓动态检测虚拟机的管理维护;自动测试技术可以自动化的遍历被测试应用的各个界面,并可自动执行点击按钮等操作,这为安卓APP动态检测中自动化测试提供了有力工具;Django Web应用快速开发框架具有友好的人机交互界面,为二次开发提供了优秀便捷的开发工具。
现有技术中,针对安卓应用的漏洞检测只要有以下几种:a.仅仅基于安卓应用静态特征的检测;b.仅仅基于安卓应用动态行为的检测;c.静态特征检测和动态行为检测的简单组合。
现有技术仅仅基于安卓应用静态特征的检测方案中,静态检测使用串行操作完成,检测速度慢,多任务成本高,无动态行为检测的缺点。现有技术仅仅基于安卓应用动态行为的检测方案中,缺少静态特征检测,对APP的漏洞检测不够全面。现有技术静态特征检测和动态行为检测的简单组合的方案中,存在静态检测速度慢,多任务检测资源占用大,用户操作体验不佳,部署方式单一等缺点。
发明内容
本发明的目的在于:提供一种针对安卓手机APP的漏洞检测方法,以解决现有技术中静态检测效率低、检测内容不全面和用户操作体验不佳的技术问题,弥补了现有方案的不足。
本发明采用的技术方案如下:
一种针对安卓手机APP的漏洞检测方法,其特征在于,包括以下步骤:
步骤一:在数据库中预置已检测过安卓APP的指纹信息记录及其静态检测报告和动态监测报告;
步骤二:用户通过检测程序的web界面提交待检测安卓APP;
步骤三:检测程序通过任务管理者生成和提交待检测安卓APP的指纹信息;
步骤四:检测程序逐一将该指纹信息与数据库中安卓APP的指纹信息记录作比对,如果找到记录(说明已经检测过),则直接返回该安卓APP的静态检测报告及动态检查报告(即直接从数据库中匹配、提取),本次检测结束;如果未找到记录,继续下步工作;
步骤五:任务管理者启动静态检测引擎,静态检测引擎将静态检测子任务分配给并行分布式运行的检测任务单元;由并行分布式运行的静态检测子任务执行单元执行各个检测任务单元的静态检测子任务,将检测结果报告静态检测引擎;静态检测引擎根据报告模板生成该安卓APP的静态检测报告,并向用户展示该静态检测报告,静态检测完成;
步骤六:任务管理者将静态检测报告存档,并启动动态检测引擎;
步骤七:动态检测引擎分配并启动检测容器,待检测容器启动成功后,自动将待检测安卓APP安装到检测容器内的安卓系统上;
步骤八:动态检测引擎启动待检测的安卓APP,检测容器自动遍历该安卓APP的各个界面,自动执行各种输入,驱动程序执行,检测其执行过程和结果,发现和记录安卓APP的漏洞,并向动态检测引擎报告结果;
步骤九:动态检测引擎关闭检测容器的安卓系统,回收检测容器,根据报告模板生成动态检测报告,并向用户展示该动态检测报告,动态检测完成;
步骤十:任务管理者将动态检测报告存档,至此,一次完整的检测任务完成。
进一步的,静态检测子任务包括APP脱壳、反编译APP、权限检测、广播检测、敏感数据检测、Internet通信检测、危险API调用检测和弱加密检测。
进一步的,静态检测子任务还包括压力测试。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于成都联宇云安科技有限公司,未经成都联宇云安科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710369224.3/2.html,转载请声明来源钻瓜专利网。