CN109542509A - 一种资源文件的风险检测方法及装置 - Google Patents

一种资源文件的风险检测方法及装置 Download PDF

Info

Publication number
CN109542509A
CN109542509A CN201811342710.7A CN201811342710A CN109542509A CN 109542509 A CN109542509 A CN 109542509A CN 201811342710 A CN201811342710 A CN 201811342710A CN 109542509 A CN109542509 A CN 109542509A
Authority
CN
China
Prior art keywords
file
resource file
resource
risk
content
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201811342710.7A
Other languages
English (en)
Inventor
阚志刚
曹卫兵
倪冬鹤
徐磊
刘义
张志勇
张陈陈
陈彪
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Bang Bang Safety Technology Co Ltd
Original Assignee
Beijing Bang Bang Safety Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Bang Bang Safety Technology Co Ltd filed Critical Beijing Bang Bang Safety Technology Co Ltd
Priority to CN201811342710.7A priority Critical patent/CN109542509A/zh
Publication of CN109542509A publication Critical patent/CN109542509A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/77Software metrics

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本申请公开了一种资源文件的风险检测方法及装置,该方法包括:获取APK文件中与应用程序业务逻辑相关的资源文件;判断所述资源文件的文件内容是否符合所述资源文件的编码规则对应的语法规范;根据判断结果,确定所述资源文件是否存在风险。这种根据资源文件的文件内容是否符合所述资源文件的编码规则对应的语法规范的检测方式,使得应用程序的风险检测人员可以根据资源文件的文件内容是否符合所述资源文件的编码规则对应的语法规范的判断结果,来确定资源文件是否存在风险,从而解决了现有技术存在的如何检测APK文件中的资源文件是否存在风险的问题。

Description

一种资源文件的风险检测方法及装置
技术领域
本申请涉及计算机技术领域,尤其涉及一种资源文件的风险检测方法及装置。
背景技术
近年来,随着Android(安卓)操作系统的快速发展,越来越多的用户使用Android操作系统上的应用程序(APP,Application),由此而带来的信息安全问题也日益增多。
Android操作系统上的应用程序可以通过APK文件(Android Package,安卓安装包)安装在诸如手机、平板电脑等移动终端。APK文件中通常包含有用于安装Android应用程序的资源文件,资源文件中包括实现应用程序相关业务逻辑的程序代码。
如果APK文件中的资源文件被恶意攻击者获取,则容易造成该应用程序业务逻辑的泄露,从而为使用该应用程序的用户带来信息安全风险。因此,如何检测APK文件中的资源文件是否存在风险,是本申请所要解决的技术问题。
发明内容
本申请实施例中提供了一种资源文件的风险检测方法,用以解决现有技术存在的如何检测APK文件中的资源文件是否存在风险的问题。
本申请实施例中还提供了一种资源文件的风险检测装置。
为了解决上述技术问题,本申请是这样实现的:
第一方面,本申请提供了一种资源文件的风险检测方法,该方法包括:
获取APK文件中与应用程序业务逻辑相关的资源文件;
判断所述资源文件的文件内容是否符合所述资源文件的编码规则对应的语法规范;
根据判断结果,确定所述资源文件是否存在风险。
第二方面,本申请提供了一种资源文件的风险检测装置,该装置包括:
文件获取单元,用于获取APK文件中与应用程序业务逻辑相关的资源文件;
文件判断单元,用于判断所述资源文件的文件内容是否符合所述资源文件的编码规则对应的语法规范;
风险确定单元,用于根据判断结果,确定所述资源文件是否存在风险。
采用本申请实施例中提供的上述至少一个技术方案,可以达到如下效果:
由于当资源文件的文件内容符合所述资源文件的编码规则对应的语法规范时,意味着资源文件的文件内容容易被恶意攻击者读取,也就说明资源文件存在风险,因此,采用本申请所提供的该方法,相当于是根据资源文件的文件内容是否符合所述资源文件的编码规则对应的语法规范的判断结果,来确定资源文件是否存在风险,从而解决了现有技术存在的如何检测APK文件中的资源文件是否存在风险的问题。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本申请的一个实施例中提供的一种资源文件的风险检测方法的流程示意图;
图2为本申请的一个实施例中提供的一种资源文件的风险检测装置的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
以下结合附图,详细说明本申请各实施例中提供的技术方案。
实施例1
为解决现有技术存在的如何检测APK文件中的资源文件是否存在风险的问题,本申请实施例1提供了一种资源文件的风险检测方法。
该资源文件的风险检测方法的执行主体,可以是用于检测应用程序的服务器或服务器上所运行的检测系统(或检测程序);又或者,该资源文件的风险检测方法的执行主体也可以是用于检测应用程序的客户端(或用户端),等等。
为便于描述本申请实施例1,以下详细说明均以该资源文件的风险检测方法的执行主体为检测应用程序的服务器上所运行的检测系统(以下简称为检测系统)为例,对该资源文件的风险检测方法进行介绍。
请参见说明书附图1,其为本申请实施例1提供的一种资源文件的风险检测方法的流程示意图,该流程具体包括如下步骤:
步骤11:获取APK文件中与应用程序业务逻辑相关的资源文件。
本申请实施例1中,在一种实施方式中,所述APK文件(Android Package),是指Android安装包。该APK文件中包含了一个Android(安卓)操作系统上应用程序(Application,简称APP)的所有内容。
该APK文件也可以理解为Android操作系统上应用程序的程序文件所压缩成的一个压缩包,但是该APK文件是以.apk作为文件的后缀名。比如可以是:xxx.apk,其中,所述xxx是Android操作系统上应用程序的开发者所命名的文件名。
本申请实施例1中,所述Android安装包,是指待检测的Android操作系统上应用程序的安装包,比如可以是已载入应用市场或者即将载入应用市场的需要检测的Android操作系统上各应用程序的安装包。
本申请实施例1中,在一种实施方式中,所述APK文件经过解压后所包含的文件及文件夹如下所示,主要分别是:
AndroidManifest.xml文件、classes.dex文件、resources.arsc文件,以及assets文件夹、lib文件夹、META-INF文件夹、res文件夹。
其中,进行上述解压所用的工具,比如可以是WinRAR解压软件、WinZip解压软件、7-Zip解压软件等解压缩工具。
需要说明的是,由于各应用程序的开发者不同,所以各APK文件解压后包含的文件除了上述特定文件外,还可以包括images文件夹、org文件夹等,这些文件夹不是特定的。
其中,所述AndroidManifest.xml文件是每个APK文件中都必须包含的一类文件,该文件用于描述应用程序的名字、版本、权限、引用的库文件等信息,可以用于查找组件;
所述classes.dex文件是java源码编译后所生成的java字节码文件,是虚拟机所执行的文件;
所述resources.arsc文件是编译后的二进制资源文件;
所述assets文件夹用于存放一些原始的配置文件;
所述lib文件夹用于存放所有的so库文件,这些so库文件供其它程序进行调用;
所述META-INF文件夹下存放的是签名、信息描述等,该文件夹是APK文件进行签名的时候签名证书所存放的位置;
所述res文件夹下存放的是图标、图片、JavaScript文件等多种类型的工程资源文件。
本申请实施例1中,在一种实施方式中,所述与应用程序业务逻辑相关的资源文件,具体包括:后缀名为.js的JavaScript文件中与应用程序业务逻辑相关的文件。
本申请实施例1中,在一种实施方式中,所述JavaScript文件的具体获取方式可以包括:检测系统通过执行程序代码来自动遍历解压后的APK文件中所包含的所有资源文件,以识别出所有后缀名为.js的JavaScript文件。
所述JavaScript文件,是指,一种以JavaScript脚本语言编写的文件。
需要说明的是,所述JavaScript文件,一般除了包括实现应用程序相关业务逻辑的程序代码外,也可能包括存储了一些公共方法的JavaScript库文件。由于包括实现应用程序相关业务逻辑的程序代码,因此,如果该js文件的文件内容被恶意攻击者读取,意味着实现应用程序相关业务逻辑的程序代码可能被恶意攻击者读取分析,这种情况下可能会产生使用该应用程序的用户敏感信息被泄露等危害。
而上述JavaScript库文件中所存储的是一些公共的基本方法,这些基本方法中不包含敏感信息等,因此,JavaScript库文件一般来说不会遭到恶意攻击者的攻击,从而,JavaScript库文件类的资源文件一般不会存在敏感信息泄露的风险。
基于上述说明,考虑到解压后的APK文件中可能包含JavaScript库文件类资源文件的这一类情形,则,本申请实施例1中,在一种实施方式中,所述获取APK文件中与应用程序业务逻辑相关的资源文件,具体包括:
根据资源文件库的方法特征,获取APK文件中与应用程序业务逻辑相关的资源文件。
本申请实施例1中,在一种实施方式中,所述资源文件库的方法特征,具体包括:资源文件库中表征公共方法名的字符串。
本申请实施例1中,在一种实施方式中,所述资源文件库中表征公共方法名的字符串,比如可以是:字符串“jQuery.extend”(表征JQuery方法)、字符串“angular.callbacks”(表征angular方法)、字符串“document.createElement”(表征Bootstrap方法)等。
其中,所述字符串,是指,多个可打印字符的任意序列,以换行符或空字符结束。
本申请实施例1中,在一种实施方式中,所述根据资源文件库的方法特征,获取APK文件中与应用程序业务逻辑相关的资源文件,具体包括:
通过压缩工具对所述APK文件进行解压,得到解压后的APK文件中所包含的所有资源文件;
根据资源文件库中表征公共方法名的字符串,从所述所有资源文件中获取出与应用程序业务逻辑相关的资源文件。
本申请实施例1中,在一种实施方式中,所述根据资源文件库中表征公共方法名的字符串,从所有资源文件中获取出与应用程序业务逻辑相关的资源文件,具体的获取方式如下述所示:
检测系统通过记事本工具读取所有资源文件的文本内容,在各资源文件的文本内容中扫描遍历所有字符串,从中自动识别出包含表征公共方法名的字符串的JavaScript库文件类的资源文件,然后筛选出除了JavaScript库文件类资源文件以外的资源文件。
本申请实施例1中,在一种实施方式中,所述获取APK文件中与应用程序业务逻辑相关的资源文件,比如可以是:检测系统遍历解压后的APK文件中所有的资源文件的文本内容,若只识别出包含字符串“jQuery.extend”的JavaScript库文件类资源文件,则自动筛选出除了该个(该些)包含字符串“jQuery.extend”的JavaScript库文件类资源文件以外的资源文件进行获取,那么,获取到的该个(该些)资源文件就是与应用程序业务逻辑相关的资源文件。
需要说明的是,若解压后的APK文件中不存在与应用程序业务逻辑相关的资源文件,则检测系统可以不对该资源文件的文件内容进行语法规范的校验,即这种情况下不执行后文所说的步骤12。因此,通过执行步骤11获取到APK文件中与应用程序业务逻辑相关的资源文件,是步骤12判断所述资源文件的文件内容是否符合所述资源文件的编码规则对应的语法规范的前提条件。
步骤12:判断通过执行步骤11获取到的与应用程序业务逻辑相关的资源文件的文件内容是否符合所述资源文件的编码规则对应的语法规范。
一般地,每一种编程语言都有一系列编码规则,用于描述在对应的编程语言中什么样的字符串被确认为是有效的程序代码。基于此,本申请实施例1的一种实施方式中,所述编码规则对应语法规范是指,由编码规则定义了对应的编程语言的语法规范。
本申请实施例1中,在一种实施方式中,所述判断所述资源文件的文件内容是否符合所述资源文件的编码规则对应的语法规范,具体包括:
通过脚本解析引擎对与应用程序业务逻辑相关的资源文件进行解析,判断该资源文件的文件内容是否符合该资源文件的编码规则对应的语法规范。
本申请实施例1中,在一种实施方式中,所述脚本解析引擎,具体包括:ScriptEngine Manager,它是一种类。
其中,该Script Engine Manager类中包括脚本编译方法等。
本申请实施例1中,在一种实施方式中,所述通过脚本解析引擎对与应用程序业务逻辑相关的资源文件进行解析,具体包括:
通过脚本解析引擎的脚本编译方法对与应用程序业务逻辑相关的资源文件的文件内容进行编译。
本申请实施例1中,在一种实施方式中,所述脚本编译方法,具体包括:compile()方法,该方法用于在脚本文件的程序代码中编译正则表达式。
其中,所述编译,是指,将程序代码转换成计算机可以执行的文件。
则,本申请实施例1中,在一种实施方式中,所述判断该资源文件的文件内容是否符合该资源文件的编码规则对应的语法规范,其目的在于确定所述脚本编译方法编译与应用程序业务逻辑相关的资源文件的文件内容时是否能够成功编译。
其中,所述是否能够成功编译,具体包括:
若检测系统的操作界面显示编译正确,则表示能够成功编译脚本;若检测系统的操作界面显示编译错误,则表示不能够成功编译脚本。
本申请实施例1中,在一种实施方式中,所述通过脚本解析引擎对所述资源文件进行解析,判断所述资源文件的文件内容是否符合所述资源文件的编码规则对应的语法规范,具体包括:
通过脚本解析引擎的脚本编译方法对与应用程序业务逻辑相关的资源文件的文件内容进行编译,判断该资源文件的文件内容是否符合该资源文件的编码规则对应的语法规范。
具体判断方式如下述所示:
通过compile()方法对与应用程序业务逻辑相关的资源文件的文件内容进行编译,判断该资源文件的文件内容是否符合该资源文件的编码规则对应的语法规范。
本申请实施例1中,在一种实施方式中,通过compile()方法对与应用程序业务逻辑相关的资源文件的文件内容进行编译,判断该资源文件的文件内容是否符合该资源文件的编码规则对应的语法规范,具体判断结果如下述所示:
通过compile()方法对与应用程序业务逻辑相关的资源文件的文件内容进行编译,若所述检测系统的操作界面显示编译正确,也就是能够成功编译脚本,则表示该资源文件的文件内容符合该资源文件的编码规则对应的语法规范,说明该资源文件的文件内容能够直接被读取;
通过compile()方法对与应用程序业务逻辑相关的资源文件的文件内容进行编译,若检测系统的操作界面显示编译错误,也就是不能够成功编译脚本,则表示该资源文件的文件内容不符合该资源文件的编码规则对应的语法规范,说明该资源文件的文件内容不能够直接被读取。
需要说明的是,判断所述资源文件的文件内容是否符合所述资源文件的编码规则对应的语法规范,目的在于确定该资源文件的文件内容是否能够直接被读取,从而可以确定出所述资源文件是否存在风险。因此,步骤12判断所述资源文件的文件内容是否符合所述资源文件的编码规则对应的语法规范,是步骤13根据判断结果,确定所述资源文件是否存在风险的重要前提条件。
步骤13:根据通过执行步骤12得到的判断结果,确定与应用程序业务逻辑相关的资源文件是否存在风险。
本申请实施例1中,在一种实施方式中,所述风险,具体包括:在实际应用中,与应用程序业务逻辑相关的资源文件的文件内容具有被恶意攻击者窃取的风险,特别是在文件内容未进行加密的情况下,恶意攻击者可以直接读取文件内容,这样可能造成应用程序业务逻辑的泄露。
本申请实施例1中,在一种实施方式中,所述根据判断结果,确定所述资源文件是否存在风险,具体判断结果如下述所示:
若判断结果为与应用程序业务逻辑相关的资源文件的文件内容符合该资源文件的编码规则对应的语法规范,说明该资源文件的文件内容不进行解密处理就能够直接被读取,则确定该与应用程序业务逻辑相关的资源文件存在风险,即APK文件中的资源文件存在风险;
若判断结果为与应用程序业务逻辑相关的资源文件的内容不符合该资源文件的编码规则对应的语法规范,说明所述资源文件的文件内容需进行解密处理才能够被读取,则确定该与应用程序业务逻辑相关的资源文件不存在风险,即APK文件中的资源文件不存在风险。
采用本申请实施例1提供的方案,由于当资源文件的文件内容符合所述资源文件的编码规则对应的语法规范时,意味着资源文件的文件内容容易被恶意攻击者获取,也就说明资源文件存在风险,因此,采用本申请所提供的该方法,相当于是根据资源文件的文件内容是否符合所述资源文件的编码规则对应的语法规范的判断结果,来确定资源文件是否存在风险,从而解决了现有技术存在的如何检测APK文件中的资源文件是否存在风险的问题。
实施例2
为解决现有技术存在的如何检测APK文件中的资源文件是否存在风险的问题,本申请实施例2提供了一种资源文件的风险检测装置20。
该资源文件的风险检测装置20的具体结构示意图如图2所示,包括:文件获取单元21,文件判断单元22,风险确定单元23。
以下具体介绍下各单元的功能:
文件获取单元21,用于获取APK文件中与应用程序业务逻辑相关的资源文件;
文件判断单元22,用于判断所述资源文件的文件内容是否符合所述资源文件的编码规则对应的语法规范;
风险确定单元23,用于根据判断结果,确定所述资源文件是否存在风险。
本申请实施例2中,在一种实施方式中,所述文件获取单元21,具体用于:
根据资源文件库的方法特征,获取APK文件中与应用程序业务逻辑相关的资源文件。
本申请实施例2中,在一种实施方式中,所述资源文件库的方法特征,具体包括:资源文件库中表征公共方法名的字符串。
本申请实施例2中,在一种实施方式中,所述根据资源文件库的方法特征,获取APK文件中与应用程序业务逻辑相关的资源文件,具体获取方式如下述所示:
通过压缩工具对所述APK文件进行解压,得到解压后的APK文件中所包含的所有资源文件;
根据资源文件库中表征公共方法名的字符串,从所有资源文件中获取出与应用程序业务逻辑相关的资源文件。
本申请实施例2中,在一种实施方式中,所述文件判断单元22,具体包括:
通过脚本解析引擎对所述资源文件进行解析,确定所述资源文件的文件内容是否符合所述资源文件的编码规则对应的语法规范。
本申请实施例2中,在一种实施方式中,通过脚本解析引擎对所述资源文件进行解析,确定所述资源文件的文件内容是否符合所述资源文件的编码规则对应的语法规范,具体包括:
通过脚本解析引擎的脚本编译方法对与应用程序业务逻辑相关的资源文件的文件内容进行编译,判断该资源文件的文件内容是否符合该资源文件的编码规则对应的语法规范。
具体判断结果如下述所示:
通过脚本解析引擎的脚本编译方法对与应用程序业务逻辑相关的资源文件的文件内容进行编译,若检测系统的显示界面显示编译正确,也就是能够成功编译脚本,则表示该与应用程序业务逻辑相关的资源文件的文件内容符合该资源文件的编码规则对应的语法规范;
通过脚本解析引擎的脚本编译方法对与应用程序业务逻辑相关的资源文件的文件内容进行编译,若检测系统的显示界面显示编译错误,也就是不能够成功编译脚本,则表示该与应用程序业务逻辑相关的资源文件的文件内容不符合该资源文件的编码规则对应的语法规范。
本申请实施例2中,在一种实施方式中,所述风险确定单元23,具体包括:
若判断结果为该与应用程序业务逻辑相关的资源文件的文件内容符合该资源文件的编码规则对应的语法规范,则确定该与应用程序业务逻辑相关的资源文件存在风险,即APK文件中的资源文件存在风险;
若判断结果为该与应用程序业务逻辑相关的资源文件的文件内容不符合该资源文件的编码规则对应的语法规范,则确定该与应用程序业务逻辑相关的资源文件不存在风险,即APK文件中的资源文件不存在风险。
采用本申请实施例2提供的方案,由于当资源文件的文件内容符合所述资源文件的编码规则对应的语法规范时,意味着资源文件的文件内容容易被恶意攻击者获取,也就说明资源文件存在风险,因此,采用本申请所提供的该方法,相当于是根据资源文件的文件内容是否符合所述资源文件的编码规则对应的语法规范的判断结果,来确定资源文件是否存在风险,从而解决了现有技术存在的如何检测APK文件中的资源文件是否存在风险的问题。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (10)

1.一种资源文件的风险检测方法,其特征在于,包括:
获取APK文件中与应用程序业务逻辑相关的资源文件;
判断所述资源文件的文件内容是否符合所述资源文件的编码规则对应的语法规范;
根据判断结果,确定所述资源文件是否存在风险。
2.如权利要求1所述的方法,其特征在于,所述判断所述资源文件的文件内容是否符合所述资源文件的编码规则对应的语法规范,具体包括:
通过脚本解析引擎对所述资源文件进行解析,判断所述资源文件的文件内容是否符合所述资源文件的编码规则对应的语法规范。
3.如权利要求1所述的方法,其特征在于,所述获取APK文件中与应用程序业务逻辑相关的资源文件,具体包括:
根据资源文件库的方法特征,获取APK文件中与应用程序业务逻辑相关的资源文件。
4.如权利要求3所述的方法,其特征在于,所述资源文件库的方法特征,具体包括:
资源文件库中表征公共方法名的字符串。
5.如权利要求1所述的方法,其特征在于,所述根据判断结果,确定所述资源文件是否存在风险,具体包括:
若判断结果为所述资源文件的文件内容符合所述资源文件的编码规则对应的语法规范,则确定所述资源文件存在风险;
若判断结果为所述资源文件的文件内容不符合所述资源文件的编码规则对应的语法规范,则确定所述资源文件不存在风险。
6.一种资源文件的风险检测装置,其特征在于,包括:
文件获取单元,用于获取APK文件中与应用程序业务逻辑相关的资源文件;
文件判断单元,用于判断所述资源文件的文件内容是否符合所述资源文件的编码规则对应的语法规范;
风险确定单元,用于根据判断结果,确定所述资源文件是否存在风险。
7.如权利要求6所述的装置,其特征在于,所述文件获取单元,具体包括:
根据资源文件库的方法特征,获取APK文件中与应用程序业务逻辑相关的资源文件。
8.如权利要求6所述的装置,其特征在于,所述文件判断单元,具体包括:
通过脚本解析引擎对所述资源文件进行解析,判断所述资源文件的文件内容是否符合所述资源文件的编码规则对应的语法规范。
9.如权利要求6所述的装置,其特征在于,所述风险确定单元,具体包括:
若判断结果为所述资源文件的文件内容符合所述资源文件的编码规则对应的语法规范,则确定所述资源文件存在风险;
若判断结果为所述资源文件的文件内容不符合所述资源文件的编码规则对应的语法规范,则确定所述资源文件不存在风险。
10.一种资源文件的风险检测装置,其特征在于,包括:
存储器,用于存储计算机程序指令;
处理器,用于读取所述存储器存储的计算机程序指令并在所述处理器上实现如权利要求1至5中任意一项所述的资源文件的风险检测方法的步骤。
CN201811342710.7A 2018-11-13 2018-11-13 一种资源文件的风险检测方法及装置 Pending CN109542509A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811342710.7A CN109542509A (zh) 2018-11-13 2018-11-13 一种资源文件的风险检测方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811342710.7A CN109542509A (zh) 2018-11-13 2018-11-13 一种资源文件的风险检测方法及装置

Publications (1)

Publication Number Publication Date
CN109542509A true CN109542509A (zh) 2019-03-29

Family

ID=65847035

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811342710.7A Pending CN109542509A (zh) 2018-11-13 2018-11-13 一种资源文件的风险检测方法及装置

Country Status (1)

Country Link
CN (1) CN109542509A (zh)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140237603A1 (en) * 2013-02-20 2014-08-21 International Business Machines Corporation Rule matching in the presence of languages with no types or as an adjunct to current analyses for security vulnerability analysis
CN106055980A (zh) * 2016-05-30 2016-10-26 南京邮电大学 一种基于规则的JavaScript安全性检测方法
CN106933645A (zh) * 2017-01-17 2017-07-07 深圳市能信安科技股份有限公司 一种Apk安全风险自动化静态审计系统以及方法
CN107368741A (zh) * 2016-05-13 2017-11-21 南京理工大学 一种基于静态分析的Android应用JavaScript安全漏洞检测方法
WO2018006241A1 (en) * 2016-07-04 2018-01-11 Mcafee, Inc. Method and apparatus to detect security vulnerabilities in web application
CN107622201A (zh) * 2017-09-18 2018-01-23 湖南大学 一种抗加固的Android平台克隆应用程序快速检测方法
US20180032735A1 (en) * 2015-02-25 2018-02-01 Veracode, Inc. System and method for enhancing static analysis of software applications
CN108647517A (zh) * 2018-05-17 2018-10-12 华中科技大学 一种Android混合应用代码注入的漏洞检测系统及方法

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140237603A1 (en) * 2013-02-20 2014-08-21 International Business Machines Corporation Rule matching in the presence of languages with no types or as an adjunct to current analyses for security vulnerability analysis
US20180032735A1 (en) * 2015-02-25 2018-02-01 Veracode, Inc. System and method for enhancing static analysis of software applications
CN107368741A (zh) * 2016-05-13 2017-11-21 南京理工大学 一种基于静态分析的Android应用JavaScript安全漏洞检测方法
CN106055980A (zh) * 2016-05-30 2016-10-26 南京邮电大学 一种基于规则的JavaScript安全性检测方法
WO2018006241A1 (en) * 2016-07-04 2018-01-11 Mcafee, Inc. Method and apparatus to detect security vulnerabilities in web application
CN106933645A (zh) * 2017-01-17 2017-07-07 深圳市能信安科技股份有限公司 一种Apk安全风险自动化静态审计系统以及方法
CN107622201A (zh) * 2017-09-18 2018-01-23 湖南大学 一种抗加固的Android平台克隆应用程序快速检测方法
CN108647517A (zh) * 2018-05-17 2018-10-12 华中科技大学 一种Android混合应用代码注入的漏洞检测系统及方法

Non-Patent Citations (6)

* Cited by examiner, † Cited by third party
Title
4LWIN: "Android静态安全检测->资源文件泄露风险", 《HTTPS://BLOG.CSDN.NET/U013107656/ARTICLE/DETAILS/53396601》 *
SIEGFRIED RASTHOFER: "Secure Software Engineering", 《HTTPS://BLOGS.UNI-PADERBORN.DE/SSE/2013/09/16/JAVA-SCRIPT-ATTACK-VECTOR/》 *
吕秋云: "《网络空间安全技术实践教程》", 30 September 2017 *
王小峰: "《高级语言程序设计》", 31 December 2016, 厦门大学出版社 *
王浩宇等: "基于代码克隆检测技术的Android应用重打包检测", 《中国科学:信息科学》 *
陈其龙: "代码克隆检测技术的Android应用重打包检测", 《电脑知识与技术》 *

Similar Documents

Publication Publication Date Title
US9600668B2 (en) Method and device for extracting characteristic code of APK virus
US20170161496A1 (en) Method and device for identifying virus apk
CN108229112B (zh) 一种保护应用程序、应用程序的运行方法以及装置
CN110502222B (zh) 外发依赖内部基础库的aar方法、装置、介质和设备
TWI461953B (zh) 運算環境安全方法和電子運算系統
Allix et al. A Forensic Analysis of Android Malware--How is Malware Written and How it Could Be Detected?
US11301357B1 (en) Method to check application programming interface correctness in software
US10834289B2 (en) Detection of steganography on the perimeter
US20180089437A1 (en) Automated security testing for a mobile application or a backend server
US10310956B2 (en) Techniques for web service black box testing
CN106897607A (zh) 一种应用程序监控方法及装置
CN105760761A (zh) 软件行为分析方法和装置
CN109241707A (zh) 应用程序的混淆方法、装置和服务器
CN106709281B (zh) 补丁发放和获取方法、装置
US11531763B1 (en) Automated code generation using analysis of design diagrams
US20190236269A1 (en) Detecting third party software elements
CN111737304B (zh) 一种区块链数据的处理方法、装置及设备
CN109165512A (zh) 一种应用程序的意图协议url漏洞检测方法及装置
CN109684846A (zh) 一种文件提取方法及装置
CN109542509A (zh) 一种资源文件的风险检测方法及装置
CN109117642A (zh) 一种应用程序的文件读取漏洞检测方法及装置
Du et al. An Empirical Analysis of Hazardous Uses of Android Shared Storage
CN109033837A (zh) 一种安装包风险检测的方法及装置
CN109409038A (zh) 一种动态链接库文件的破解风险检测方法及装置
CN109492392B (zh) 一种核心函数的检测方法及系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20190329