一种识别Android APP加固的方法及检测方法技术

技术编号:12625990 阅读:91 留言:0更新日期:2015-12-31 19:37
一种识别Android APP加固的方法,该方法为,获取待检测APP,启动检测程序;解析APP;获取APP内Androidmainfest.xml和classes.dex文件进行解析;获取Androidmainfest.xml中的注册组件列表和classes.dex中的声明组件列表进行匹配;若注册组件列表不能在声明组件列表中找到对应项,则确认APP加固;导出检测结果。通过本发明专利技术的静态分析方法,能够自动化判定APP的加固,弥补人工识别的所造成的误判和时间成本,在对抗代码混淆,敏感信息加密方面有显著的效果。

【技术实现步骤摘要】

本专利技术属于网络信息安全
,特别涉及一种识别Android APP加固的方法。
技术介绍
随着Android移动终端设备的普及,应用于Android上的APP (Applicat1n,应用程序)也随之被大量开发,各种不同类型APP的应用有效提升了人们日常生活效率。但由此也带来了各种风险,APP在安装过程中会从Android移动终端设备上获取各种权限,一旦恶意APP获得相应权限,Android移动终端系统防护将会失效,由此导致各种风险的发生,比如存在移动终端设备被他人冒用、设备上的恶意APP可以随意运行、设备上的网络接入和USB、蓝牙、红外等端口可以被随意连接使用等问题。这些问题严重影响了移动终端系统的安全性,容易导致使用者重要信息的泄露等诸多问题。为避免正常的APP被反编译、恶意二次打包及插入恶意代码的发生,通常APP开发完成后对其进行加固,然后形成安装包;另外,有些恶意软件通过加固后伪装成正常的APP安装包提供给用户使用。由此导致正常APP安装包与伪装的APP安装包混杂在各类Android应用商城中。普通使用者无法辨别安装的APP安装包是否为正常应用程序,因此,需要杀毒软件对APP安装包进行扫描。而杀毒厂商对加固APP和非加固APP采取不同的查杀方式,在进行查杀APP病毒之前,先识别APP加固,可对待测APP进行快速分类,提高查杀速率。对企图采用APP加固方式逃过杀毒软件检测的恶意软件,若先识别APP加固,可提高查杀的准确率。另外,如果APP能够快速被识别是否加固,逆向分析人员即可及时的根据不同的APP类型,采取不同的分析方式,能有效提高工作效率。现有识别APP加固通常是采用人工的方式,其识别方式较慢,而且还存在一定的误判,工作效率低且成本高。因此需要一种能够智能识别APP是否加固的技术来解决现有技术存在的问题。
技术实现思路
本专利技术针对现有技术的不足,提出一种识别Android APP加固的方法,该方法能够准确识别Android APP是否经过加固处理。本专利技术所述的一种识别Android APP加固的方法具体如下: 实现该方法的系统为一监控解析单元,所述监控解析单元包括APP程序识别获取模块、APP解析模块、组件名提取模块、信息匹配模块及数据库; 所述APP程序识别获取模块用于读取待检测的Android APP程序包,并判断待检测的Android APP程序包的有效性; 所述APP解析模块用于对Android APP程序包进行解析并提取Androidmainfest.xml文件和classes, dex文件; 所述组件名提取模块用于从Androidmainfest.xml文件中获取注册组件列表名及从classes, dex文件中获取声明组件列表名; 所述信息匹配模块用于比较所述注册组件列表名与所述声明组件列表名,并将比较结果存入数据库中; 所述数据库用于存储识别信息及结果; 所述方法包括如下步骤: (1)APP程序识别获取模块获取待识别的AndroidAPP程序包; (2)APP解析模块对待识别的Android APP程序包进行解析,并从解析文件中提取Androidmainfest.xml 文件和 classes, dex 文件; (3)组件名提取模块从Androidmainfest.xml文件中获取注册组件列表名及从classes, dex文件中获取声明组件列表名; (4)信息匹配模块比较组件名提取模块提取的注册组件列表名及声明组件列表名,如注册组件列表名及声明组件列表名相同,则确认Android APP程序包没有加固,如注册组件列表名及声明组件列表名不同,则确认Android APP程序包被加固; (5)信息匹配模块将识别信息及比较结果存入数据库中。具体的,所述识别信息包括Android APP程序包、提取的Androidmainfest.xml文件和classes, dex文件、提取的注册组件列表名及声明组件列表名。根据上述识别Android APP加固的方法,本专利技术还提出了一种APP加固检测流程,具体如下: (1)APP程序识别获取模块获取待检测的Andrο i d APP程序包,并判定待检测的Android APP程序包是否为有效文件,如果待检测的Android APP程序包为非有效文件,则直接转入步骤(8),即结束检测并将检测结果保存到数据库;否则进行步骤(2); (2)APP程序识别获取模块判断待检测的Android APP程序包是否加密,如已经加密,则直接准入步骤(7);否则进行步骤(3); (3)APP解析模块对待识别的Android APP程序包进行解析,并从解析文件中提取Androidmainfest.xml 文件和 classes, dex 文件; (4)APP解析模块解析Androidmainfeast.xml文件和classes, dex文件,并判断Androidmainfeast.xml 文件和 classes, dex 文件是否加密,如果 Androidmainfeast.xml 文件和classes, dex文件经过加密,则直接进入步骤(7),否则进行步骤(5); (5)组件名提取模块从Androidmainfest.xml文件中获取注册组件列表名及从classes, dex文件中获取声明组件列表名; (6)信息匹配模块比较组件名提取模块提取的注册组件列表名及声明组件列表名,如注册组件列表名及声明组件列表名相同,则确认Android APP程序包没有加固,如注册组件列表名及声明组件列表名不同,则确认Android APP程序包被加固; (7)信息匹配模块确认待检测的AndroidAPP程序包加固并生成的检测结果; (8 )结束检测,信息匹配模块将识别信息及比较结果存入数据库中。本专利技术所述技术方案的有益效果在于:通过静态解析APP的方式获取APP内的Androidmainfest.xml 和 classes, dex 文件,如果 Androidmainfeast.xml 文件和 classes,dex文件没有加密则对其进行解析,获取其中的注册组件列表和声明组件列表进行对比判断,该种方式弥补了人工识别的所造成的误判和时间成本,在对抗代码混淆,敏感信息加密方面有显著的效果。【附图说明】图1 一种识别Android APP加固的方法流程示意图; 图2 —种APP加固检测流程示意图。【具体实施方式】本专利技术主要提供了一种识别Android APP加固的方法,为使本专利技术的目的、技术方案及效果更加清楚、明确,以下参照附图并举实例对本专利技术做进一步说明。应当理解,此处所描述的具体实施例仅用以解释本专利技术,并不用于限定本专利技术。本专利技术涉及的相关技术术语的解释如下: DEX替换加固:即加固厂商通过一定的技术手段将APP中原始classes, dex加密隐藏,用加固厂商自己的classes, dex替换APP中原始classes, dex。解密文件:加固APP运行时将原始DEX解密时所需用到的加固厂商的解密文件。解包:即解析APP文件,获取APP中所包含的所有文件名。Androidmainfest.xml加固:即加固厂本文档来自技高网
...
一种<a href="http://www.xjishu.com/zhuanli/55/CN105205358.html" title="一种识别Android APP加固的方法及检测方法原文来自X技术">识别Android APP加固的方法及检测方法</a>

【技术保护点】
一种识别Android APP加固的方法,其特征在于:实现该方法的系统为一监控解析单元,所述监控解析单元包括APP程序识别获取模块、APP解析模块、组件名提取模块、信息匹配模块及数据库;所述APP程序识别获取模块用于读取待检测的Android APP程序包,并判断待检测的Android APP程序包的有效性;所述APP解析模块用于对Android APP程序包进行解析并提取Androidmainfest.xml文件和classes.dex文件;所述组件名提取模块用于从Androidmainfest.xml文件中获取注册组件列表名及从classes.dex文件中获取声明组件列表名;所述信息匹配模块用于比较所述注册组件列表名与所述声明组件列表名,并将比较结果存入数据库中;所述数据库用于存储识别信息及结果;所述方法包括如下步骤:(1)APP程序识别获取模块获取待识别的Android APP程序包;(2)APP解析模块对待识别的Android APP程序包进行解析,并从解析文件中提取Androidmainfest.xml文件和classes.dex文件;(3)组件名提取模块从Androidmainfest.xml文件中获取注册组件列表名及从classes.dex文件中获取声明组件列表名;(4)信息匹配模块比较组件名提取模块提取的注册组件列表名及声明组件列表名,如注册组件列表名及声明组件列表名相同,则确认Android APP程序包没有加固,如注册组件列表名及声明组件列表名不同,则确认Android APP程序包被加固;(5)信息匹配模块将识别信息及比较结果存入数据库中。...

【技术特征摘要】

【专利技术属性】
技术研发人员:安亚龙
申请(专利权)人:中科信息安全共性技术国家工程研究中心有限公司
类型:发明
国别省市:北京;11

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

1