APK文件安全检测方法及装置制造方法及图纸

技术编号:13837918 阅读:30 留言:0更新日期:2016-10-16 00:24
本发明专利技术公开了一种APK文件安全检测方法及装置,包括:利用反编译工具对APK文件进行反编译处理得到代码,静态分析代码,得到第一服务端API信息;安装APK文件,动态模拟执行APK中的功能,抓取得到第二服务端API信息;合并第一服务端API信息和第二服务端API信息,利用安全扫描器对合并后服务端API信息进行安全检查。根据本发明专利技术提供的APK文件安全检测方法及装置,通过静态分析和动态模拟执行的方式从APK中最大可能的获取服务端API信息,利用安全扫描器对获取的服务端API信息进行安全检查,从而提高了安全扫描器针对该APK所连接的服务安全性的评估效果,减少了由于APK服务端存在安全问题,而导致的用户信息泄密等问题。

【技术实现步骤摘要】

本专利技术涉及智能终端软件领域,尤其涉及一种APK文件安全检测方法及装置
技术介绍
随着移动智能终端的发展,移动平台上的安全问题也日益突出。移动应用存在的安全隐患直接威胁到移动智能终端用户的信息安全,除了移动应用客户端存在的安全性,还包括移动应用客户端所连接的服务器端的安全性。移动应用服务器端的安全隐患严重时可直接导致数据泄露,造成经济损失。为避免移动应用服务器端存在安全隐患,通过漏洞扫描技术检测移动应用中服务端API安全漏洞。扫描APK中服务端API的安全漏洞就需要涉及到服务端API信息的提取,现有技术通过以下方式从APK中提取服务端API:1)通过Web安全扫描工具根据用户输入的URL作为起始URL,采用爬虫的方式去收集更多的URL,然后进行扫描。但由于APK中服务端API信息中所包含的URL往往都是孤岛链接,无法通过爬虫的方式去获取。当该服务端API不能被爬虫发现,也就无法进行安全扫描,从而导致不能察觉到漏洞的存在。2)通过用户手动给执行APK的模拟器或真实设备设置代理,然后用户手动去触发APK中的按键,执行APK程序,通过刚刚设置的代理服务器抓取服务端API信息。此方法虽然可以得到服务端API信息,但需要人工介入,无法实现大规模的自动化测试。
技术实现思路
本专利技术的专利技术目的是针对现有技术的缺陷,提供了一种APK文件安全检测方法及装置,用于解决现有技术中无法对APK服务端API接口进行安全性验证等问题。根据本专利技术的一个方面,提供了一种APK文件安全检测方法,包括:利用反编译工具对APK文件进行反编译处理得到代码,静态分析代码,得到第一服务端API信息;安装APK文件,动态模拟执行APK中的功能,抓取得到第二服务端API信息;合并第一服务端API信息和第二服务端API信息,利用安全扫描器对合并后服务端API信息进行安全检查。根据本专利技术的另一个方面,还提供了一种APK文件安全检测装置,包括:静态分析模块,用于利用反编译工具对APK文件进行反编译处理得到代码,静态分析代码,得到第一服务端API信息;动态模拟模块,用于安装APK文件,动态模拟执行APK中的功能,抓取得到第二服务端API信息;安全检查模块,用于合并第一服务端API信息和第二服务端API信息,利用安全扫描器对合并后服务端API信息进行安全检查。根据本专利技术提供的APK文件安全检测方法及装置,通过静态分析和动态模拟执行的方式从APK中最大可能的获取服务端API信息,利用安全扫描器对获取的服务端API信息进行安全检查,从而提高了安全扫描器针对该APK服务端安全性的评估效果,减少了由于APK服务端存在安全问题,而导致的用户信息泄密等问题。附图说明图1为本专利技术提供的APK文件安全检测方法实施例的流程图;图2为图1中静态分析获取服务端API信息实施例的流程图;图3为图1中动态模拟获取服务端API信息实施例的流程图;图4为本专利技术提供的APK文件安全检测装置实施例的功能框图。具体实施方式为充分了解本专利技术之目的、特征及功效,借由下述具体的实施方式,对
本专利技术做详细说明,但本专利技术并不仅仅限于此。图1为本专利技术提供的APK文件安全检测方法实施例的流程图,如图1所示,本实施例的方法具体包括如下步骤:步骤S101,利用反编译工具对APK文件进行反编译处理得到代码,静态分析代码,得到第一服务端API信息。通过步骤S101,静态分析反编译得到的代码,得到第一服务端API信息具体包括了如下步骤,可参照图2所示:步骤S1011,利用反编译工具对APK文件进行反编译处理,得到反编译后的代码。APK(Android Package)文件即Android安装包,是类似Symbian Sis或Sisx的文件格式。将APK文件直接传到Android模拟器或Android手机中执行即可安装。APK文件和sis一样,通过android sdk编译,工程文件会打包为安装程序文件,格式为APK。APK反编译工具可以将APK文件中的源文件和资源反编译出来,得到源文件和资源文件。现有常用的反编译工具如apktool、easyapk、apkdb、doapk等。利用这些反编译工具对APK文件进行反编译处理,可以得到反编译后的代码。步骤S1012,提取代码中的URL地址信息要素。利用自动化分析程序,可以由APK反编译代码中提取URL地址信息要素。URL地址信息要素包括了协议头、域名、端口、虚拟目录、文件名等要素。协议头用于通知浏览器如何处理将要打开的文件,如http,https、ftp、file、news等。域名中包含一个或一个以上的“.”,后缀应该以com,cn等顶级域名结尾,或为某IP地址。端口一般在域名或IP地址后。虚拟目录为到达该URL的路径,不同级目录间以斜线分隔。文件名为到达该URL地址的文件本身的名称,当URL地址以斜线结尾时,文件名为虚拟目录中最后一个目录的默认文件,一般为index.html或default.htm。步骤S1013,对URL地址信息要素进行正则匹配,得到URL地址信息。通过S1012得到URL地址信息要素后,对该URL地址信息要素进行正则匹配,正则匹配需要包括URL地址信息要素,按照正确的顺序进行排列,如(http|ftp|https):\\/\\/[\\w\\-_]+(\\.[\\w\\-_]+)+([\\w\\-\\.,@?^=%&:/~\\+#]*[\\w\\-\\@?^=%&/~\\+#])?该正则匹配表达式仅为举例,实施时根据具体需要,编写对应的正则匹配表达式。通过正则匹配,将原零散的URL地址信息要素进行整理,得到正确顺序的URL地址信息。步骤S1014,利用语义分析引擎,完善URL地址信息,得到第一服务端API信息。语义分析是对结构上正确的文字或代码进行上下文有关性质的审查,进行类型审查,审查有无语义错误等。通过步骤S103得到URL地址信息后,利用语义分析引擎,进一步完善URL地址信息,保证URL地址信息的正确性。API(Application Programming Interface,应用程序编程接口),为程序代码相互调用的接口,包括客户端的接口和服务器端的接口。本实施例中主要为得到服务器端的接口,也就是APK连接服务器端时调用的接口,连接网络的接口。从APK反编译代码中得到的URL地址信息即服务器端调用的接口信息,即第一服务端API信息。步骤S102,安装APK文件,动态模拟执行APK中的功能,抓取得到第二服务端API信息。通过步骤S102,动态模拟执行APK中的功能,抓取得到第二服务端API信息具体包括了如下步骤,可参照图3所示:步骤S1021,在模拟终端上安装APK文件,将模拟终端连入预先设置的代理服务器。模拟终端可采用模拟移动终端设备或模拟虚拟机。模拟移动终端设备可以采用在PC端接入移动终端设备,使该移动终端设备与PC端相连,并在该移动终端设备上安装APK文件。移动终端设备包括智能手机、平板电脑、移动互联网设备(MID,Mobile Internet Devices)或可穿戴式智能设备等。模拟虚
拟机可以在PC端安装如安卓虚拟机,安卓虚拟机可以在PC端模拟运行Android本文档来自技高网
...

【技术保护点】
一种APK文件安全检测方法,其特征在于,包括:利用反编译工具对APK文件进行反编译处理得到代码,静态分析所述代码,得到第一服务端API信息;安装APK文件,动态模拟执行APK中的功能,抓取得到第二服务端API信息;合并所述第一服务端API信息和所述第二服务端API信息,利用安全扫描器对合并后服务端API信息进行安全检查。

【技术特征摘要】
1.一种APK文件安全检测方法,其特征在于,包括:利用反编译工具对APK文件进行反编译处理得到代码,静态分析所述代码,得到第一服务端API信息;安装APK文件,动态模拟执行APK中的功能,抓取得到第二服务端API信息;合并所述第一服务端API信息和所述第二服务端API信息,利用安全扫描器对合并后服务端API信息进行安全检查。2.根据权利要求1所述的方法,其特征在于,所述利用反编译工具对APK文件进行反编译处理得到代码,静态分析所述代码,得到第一服务端API信息进一步包括:利用反编译工具对所述APK文件进行反编译处理,得到反编译后的代码;提取所述代码中的URL地址信息要素;对所述URL地址信息要素进行正则匹配,得到URL地址信息;利用语义分析引擎,完善所述URL地址信息,得到第一服务端API信息。3.根据权利要求2所述的方法,其特征在于,所述URL地址信息要素包括协议头、域名、端口、虚拟目录、文件名。4.根据权利要求1所述的方法,其特征在于,所述安装APK文件,动态模拟执行APK中的功能,抓取得到第二服务端API信息进一步包括:在模拟终端上安装APK文件,将所述模拟终端连入预先设置的代理服务器;通过调试桥工具,动态模拟执行APK中所有的功能,由预先设置的代理服务器抓取所有网络请求;从所述网络请求中得到第二服务端API信息。5.根据权利要求4所述的方法,其特征在于,所述模拟终端为模拟移动终端设备或模拟虚...

【专利技术属性】
技术研发人员:汪德嘉沈杰张瑞钦
申请(专利权)人:江苏通付盾科技有限公司
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1