The invention discloses a Android system application vulnerability detection method, which can be used for penetration test and APK security test. The method of the invention firstly detected APK packets to determine the possible vulnerabilities types; and then find the early version of the APK package, and published in accordance with the time order; early version of loop through the APK package, APK usability testing on the existing network connection; for the APK package, by sniffing the network packet capture analysis the test, looking for loopholes; for there is no network connection of the APK package, unpack the reverse engineering operation, analysis of whether there are loopholes; find attacks using the vulnerability, to test whether the attack was successful, if successful, it is determined for the leak.
【技术实现步骤摘要】
一种Android系统应用程序漏洞检测方法
本专利技术属于网络空间安全
,尤其涉及一种Android系统应用程序漏洞检测方法。
技术介绍
近年来,智能移动端发展迅速,Android操作系统以其开源、界面美观、用户体验好等诸多优势在智能移动端操作系统林立涌现的局势下,迅速占据了最大的市场份额。Android的安装程序APK也由于其开发者入门门槛较低,支持第三方开发等原因,备受开发者的青睐。在一个APK开发到应用的过程中,正常情况要经历很多个版本,从一开始的内测版本到公测版本,再到后来的商用版本。每一次的更新都是对自身的一次提升,早期版本的APK由于技术所限,开发人员的经验不足,尤其是在开发过程中涉及到网络与信息安全问题的处理不当,很可能导致早期版本存在很多逻辑设计上或安全应用上的漏洞或者缺陷。对于最新版的APK应用程序,要想通过逆向工程手段进行分析是十分困难的,因为其代码一般采取了相应的保护措施。但是这一点在早期版本中并不明显。事实上,如果攻击者能对早期的APK包展开攻击,恢复出源代码,或者通过分析协议,拿到一些企业仍在使用的RestfulAPI接口,那么攻击者的能力就会变得非常强,很可能拿到一些有价值的信息,甚至直接对企业服务器展开攻击。前述逆向工程,顾名思义,就是通过现有的产品,采用一些技术手段对其进行逆向推演,最后还原出产品本来的系统架构、模块组成等。对于一个Android应用程序来说,我们可以通过最原始的APK包,利用一些工具还原出APK的逻辑代码、架构、函数调用树、界面源码等。常见的工具有APKTool和dex2jar,这也是我们主要使用的工 ...
【技术保护点】
一种Android系统应用程序漏洞检测方法,其特征在于,包括以下步骤:步骤一、分析待检测的APK包,确定其可能存在的漏洞种类;步骤二、寻找APK包的早期版本,并按照发布时间顺序从早到晚排序各版本;步骤三、从最早发布的APK包进行APK可用性的测试,即测试APK包能否正常使用;如果不能正常使用,按照发布时间顺序继续选择下一个APK包进行测试,以此类推,直至找到一个可用的APK包为止,找到后进入步骤四;步骤四、对于不存在网络连接的APK包,直接进入步骤五,对于存在网络连接的APK包,对APK包进行网络抓包嗅探分析测试,寻找漏洞;测试完毕后,对剩下的可用早期版本APK包逐一进行网络抓包嗅探分析测试,寻找漏洞,并记录找到的每一个漏洞;步骤五、对APK包进行解包逆向工程操作,分析其是否存在漏洞;对剩下的可用早期版本APK进行逆向工程测试,记录找到的每一个漏洞;步骤六、利用找到的漏洞进行攻击,试探攻击是否成功,如果成功,则确定为漏洞。
【技术特征摘要】
1.一种Android系统应用程序漏洞检测方法,其特征在于,包括以下步骤:步骤一、分析待检测的APK包,确定其可能存在的漏洞种类;步骤二、寻找APK包的早期版本,并按照发布时间顺序从早到晚排序各版本;步骤三、从最早发布的APK包进行APK可用性的测试,即测试APK包能否正常使用;如果不能正常使用,按照发布时间顺序继续选择下一个APK包进行测试,以此类推,直至找到一个可用的APK包为止,找到后进入步骤四;步骤四、对于不存在网络连接的APK包,直接进入步骤五,对于存在网络连接的APK包,对APK包进行网络抓包嗅探分析测试,寻找漏洞;测试完毕后,对剩下的可用早期版本APK包逐一进行网络抓包嗅探分析测试,寻找漏洞,并记录找到的每一个漏洞;步骤五、对APK包进行解包逆向工程操作,分析其是否存在漏洞;对剩下的可用早期版本APK进行逆向工程测试,记录找到的每一个漏洞;步骤六、利用找到的漏洞进行攻击,试探攻击是否成功,如果成功,则确定为漏洞。2.如权利要求1所述的Android系统应用程序漏洞检测方法,其特征在于,步骤一所述可能存在的漏洞种类包括:泄露沿用的核心算法;泄露沿用的UI设计;通信机制和内部协议;客户端与服务器协商的保密参数;泄露企业的编程风格;弱安全机制操作接口;早期版本暴露出来的操作接口;篡改源代码。3.如权利要求1所述的Android系统应用程序漏洞检测方法,其特征在于,步骤...
【专利技术属性】
技术研发人员:翁健,张悦,魏林锋,侯琳,
申请(专利权)人:暨南大学,
类型:发明
国别省市:广东,44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。