CN109165512A - 一种应用程序的意图协议url漏洞检测方法及装置 - Google Patents

一种应用程序的意图协议url漏洞检测方法及装置 Download PDF

Info

Publication number
CN109165512A
CN109165512A CN201810936268.4A CN201810936268A CN109165512A CN 109165512 A CN109165512 A CN 109165512A CN 201810936268 A CN201810936268 A CN 201810936268A CN 109165512 A CN109165512 A CN 109165512A
Authority
CN
China
Prior art keywords
intent
landroid
program file
content
parsing module
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
CN201810936268.4A
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 CN201810936268.4A priority Critical patent/CN109165512A/zh
Publication of CN109165512A publication Critical patent/CN109165512A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/577Assessing vulnerabilities and evaluating computer system security
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/51Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability

Abstract

本发明公开了一种应用程序的意图协议URL漏洞检测方法及装置,该方法包括:获取待检测应用程序的安装包的程序文件;确定所述程序文件中是否包含解析模块,所述解析模块用于解析意图协议URL;若所述程序文件中包含解析模块,则通过确定所述包含解析模块的程序文件中是否包含校验模块,确定所述应用程序是否存在意图协议URL漏洞,所述校验模块用于校验意图协议URL。这种根据安装包的程序文件中是否包含校验模块的结果来判断应用程序是否存在意图协议URL漏洞的方式,使得应用开发人员可以根据应用程序的意图协议URL漏洞系数对应用程序采取相应的安全策略,克服了现有技术中恶意攻击者构造的有漏洞的意图协议URL,可能造成应用程序崩溃甚至用户机密信息泄露的问题。

Description

一种应用程序的意图协议URL漏洞检测方法及装置
技术领域
本发明涉及计算机技术领域,尤其涉及一种应用程序的意图协议URL漏洞检测方法及装置。
背景技术
Intent Scheme URL(意图协议URL)是一种用于在WEB页面中发送intent(意图)来启动终端APP(Application,应用程序)的特殊URL(Uniform Resource Locator,全球资源定位器),很多Android(安卓)浏览器都支持意图协议URL。意图协议URL的引入虽然给用户带来了一定的便捷性,但同时也给恶意攻击者提供了便利,APP的安全问题也越来越多。
很多恶意攻击者构造出有攻击漏洞的意图协议URL,当用户使用该意图协议URL时,该漏洞被触发,这样可能导致应用程序的崩溃,甚至可能导致用户机密信息的泄露。
因此,如何防止有漏洞的意图协议URL造成应用程序的崩溃和用户机密信息的泄露,从而提高APP的安全性是本发明所要解决的技术问题。
发明内容
本发明实施例中提供了一种应用程序的意图协议URL漏洞检测方法,以解决现有技术中恶意攻击者构造的有漏洞的意图协议URL,可能造成应用程序崩溃甚至用户机密信息泄露的问题。
本发明实施例中还提供了一种应用程序的意图协议URL漏洞检测装置。
为了解决上述技术问题,本发明是这样实现的:
第一方面,提供了一种应用程序的意图协议URL漏洞检测方法,该方法包括:
获取待检测应用程序的安装包的程序文件;
确定所述程序文件中是否包含解析模块,所述解析模块用于解析意图协议URL;
若所述程序文件中包含解析模块,则通过确定所述包含解析模块的程序文件中是否包含校验模块,确定所述应用程序是否存在意图协议URL漏洞,所述校验模块用于校验意图协议URL。
第二方面,提供了一种应用程序的意图协议URL漏洞检测装置,该装置包括:
获取单元,用于获取待检测应用程序的安装包的程序文件;
解析确定单元,用于确定所述程序文件中是否包含解析模块,所述解析模块用于解析意图协议URL;
漏洞确定单元,用于若所述程序文件中包含解析模块,则通过确定所述包含解析模块的程序文件中是否包含校验模块,确定所述应用程序是否存在意图协议URL漏洞,所述校验模块用于校验意图协议URL。
采用本发明实施例提供的上述至少一个技术方案,可以达到如下效果:
根据安装包的程序文件中是否包含校验模块的结果来判断应用程序是否存在意图协议URL漏洞的方式,使得应用开发人员可以根据应用程序的意图协议URL漏洞系数对应用程序采取相应的安全策略,克服了现有技术中恶意攻击者构造的有漏洞的意图协议URL,可能造成应用程序崩溃甚至用户机密信息泄露的问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1为本发明的一个实施例提供的一种应用程序的意图协议URL漏洞检测方法的流程示意图;
图2为本发明的一个实施例提供的一种应用程序的意图协议URL漏洞检测装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
以下结合附图,详细说明本发明各实施例中提供的技术方案。
实施例1
为解决现有技术中恶意攻击者构造的有漏洞的意图协议URL,可能造成应用程序崩溃甚至用户机密信息泄露的问题,本发明实施例1提供一种应用程序的意图协议URL漏洞检测方法。
该应用程序的意图协议URL漏洞检测方法的执行主体,可以是应用程序的开发人员,或者,该应用程序的意图协议URL漏洞检测方法的执行主体也可以是用于检测应用程序的安装包的服务器或服务器上运行的系统,等等。
为便于描述本发明实施例1,以下以该方法的执行主体为应用开发人员为例,对该方法进行介绍。
请参见说明书附图1,为本发明实施例1提供的该应用程序的意图协议URL漏洞检测方法的流程示意图,该流程具体包括如下步骤:
步骤11:获取待检测应用程序的安装包的程序文件;
本发明实施例1中,在一种实施方式中,所述待检测应用程序的安装包,是指应用开发人员对已载入应用市场或者即将载入应用市场的需要检测的各安卓(Android)应用程序(Application,即APP)的安装包。
所述安装包是Android安装包,即APK(Android Package)文件,它包含了一个Android应用程序的所有内容。该APK文件也可以理解为APP的程序文件所压缩成的一个压缩包,但是其文件后缀名为.apk。
所述APK文件经过解压(或解析)后所包含的文件如下,分别是:AndroidManifest.xml文件、classes.dex文件、resources.arsc文件,以及assets文件夹、lib文件夹、META-INF文件夹、res文件夹。
其中,classes.dex文件是应用程序的核心文件,是java语言的代码编译后的二进制字节码程序。这种字节码程序是编译了专供机器阅读的,类似于汇编语言的机器码。然而,如果想直接阅读程序,可以通过编译工具APKTool将该classes.dex文件反编译成smali程序文件。所述smali程序文件以.smali作为文件后缀名。
所述反编译,是指通过使用编译工具APKTool,将所述安装包中的程序(也称源代码)文件转换出来。
则,所述获取待检测应用程序的安装包的程序文件,具体是指,通过编译工具APKTool反编译所述待检测应用程序的安装包,获取所述安装包的smali程序文件。
步骤12:确定所述程序文件中是否包含解析模块,所述解析模块用于解析意图协议URL;
本发明实施例1中,在一种实施方式中,所述解析模块,是指,表明应用程序能够使用Intent.ParseUri来解析意图协议URL的计算机函数“Landroid/content/Intent;->parseUri”。
其中,所述计算机函数“Landroid/content/Intent;->parseUri”,表示用于解析意图协议URL的函数。
所述解析意图协议URL,具体是指,采用Intent.ParseUri来解析意图协议URL;所述解析,具体是指,获取到意图的对象。
本发明实施例1中,在一种实施方式中,所述程序文件中是否包含解析模块,是指,在所述安装包的smali程序文件中查找是否包含计算机函数“Landroid/content/Intent;->parseUri”。具体查找方式如下述所示:
通过Linux操作系统的系统命令,在所述安装包的smali程序文件中查找计算机函数“Landroid/content/Intent;->parseUri”,所述命令行代码具体为:grep-r-l"Landroid/content/Intent;->parseUri"\smali路径。
其中,所述计算机函数是由字符串组成的用于计算机程序调用的函数;
所述字符串,是指4个或更多可打印字符的任意序列,以换行符或空字符结束。
所述命令旨在获取smali程序文件中能够使用Intent.ParseUri解析意图协议URL的smali程序文件。
则,确定所述程序文件中是否包含解析模块,是指:确定所述smali程序文件中是否包含计算机函数“Landroid/content/Intent;->parseUri”。
具体判断方式如下述所示:
若通过Linux操作系统的系统命令,在所述smali程序文件中查找到字符串“Landroid/content/Intent;->parseUri”,那么系统的命令界面会匹配并显示出包含计算机函数“Landroid/content/Intent;->parseUri”的一个或多个smali程序文件名,则所述程序文件中包含解析模块。
若通过Linux操作系统的系统命令,在所述smali程序文件中没有查找到计算机函数“Landroid/content/Intent;->parseUri”,那么系统的命令界面就不会显示出smali程序文件名,则所述程序文件中不包含解析模块。
需要说明的是,本发明实施例1的步骤12中确定所述程序文件中是否包含解析模块是本发明实施例1的步骤13中确定所述包含解析模块的程序文件中是否包含校验模块的前提。
步骤13:若所述程序文件中包含解析模块,则通过确定所述包含解析模块的程序文件中是否包含校验模块,确定所述应用程序是否存在意图协议URL漏洞,所述校验模块用于校验意图协议URL。
本发明实施例1中,在一种实施方式中,所述包含解析模块的程序文件,具体是指上述包含计算机函数“Landroid/content/Intent;->parseUri”的一个或多个smali程序文件,用于对意图协议URL进行解析。
本发明实施例1中,在一种实施方式中,所述校验模块,具体是指表明应用程序已经对意图协议URL的意图对象进行安全校验过的计算机函数"Landroid/content/Intent;->addCategory"、"Landroid/content/Intent;->setComponent"和/或"Landroid/content/Intent;->setSelector"。
其中,所述计算机函数"Landroid/content/Intent;->addCategory"、"Landroid/content/Intent;->setComponent"、"Landroid/content/Intent;->setSelector"表示用于对意图协议URL进行安全校验的函数。
所述安全校验,是指对意图的对象的安全过滤规则;所述意图的对象,比如可以是类型addCategory,组件setComponent,选择器setSelector。
需要说明的是,所述过滤规则的缺失可能会导致应用程序存在意图协议URL漏洞。
本发明实施例1中,在一种实施方式中,所述包含解析模块的程序文件中是否包含校验模块,是指,在所述包含计算机函数“Landroid/content/Intent;->parseUri”的一个或多个smali程序文件中查找是否包含计算机函数"Landroid/content/Intent;->addCategory"、"Landroid/content/Intent;->setComponent"和/或"Landroid/content/Intent;->setSelector"。具体查找方式如下述所示:通过正则表达式,获取所述包含计算机函数“Landroid/content/Intent;->parseUri”的一个或多个smali程序文件中的计算机函数列表,在所述计算机函数列表中查找计算机函数"Landroid/content/Intent;->addCategory"、"Landroid/content/Intent;->setComponent"和/或"Landroid/content/Intent;->setSelector";所述正则表达式代码,具体为:.method(.*?).end method。
其中,所述正则表达式,是指一种文本模式,该模式用于在搜索文本时描述出要匹配的函数列表中的一个或多个函数。
则,确定所述包含解析模块的程序文件中是否包含校验模块,是指:确定所述包含计算机函数“Landroid/content/Intent;->parseUri”的一个或多个smali程序文件的计算机函数列表中是否包含计算机函数"Landroid/content/Intent;->addCategory"、"Landroid/content/Intent;->setComponent"和/或"Landroid/content/Intent;->setSelector"。
具体判断方式如下述所示:
通过正则表达式,获取包含计算机函数“Landroid/content/Intent;->parseUri”的一个或多个smali程序文件的计算机函数列表,若在所述计算机函数列表中查找到计算机函数"Landroid/content/Intent;->addCategory"、"Landroid/content/Intent;->setComponent"和/或"Landroid/content/Intent;->setSelector",则所述包含解析模块的程序文件中包含校验模块。
通过正则表达式,获取包含字符串“Landroid/content/Intent;->parseUri”的一个或多个smali程序文件的计算机函数列表,若在所述计算机函数列表中没有查找到计算机函数"Landroid/content/Intent;->addCategory"、"Landroid/content/Intent;->setComponent"和"Landroid/content/Intent;->setSelector",则所述包含解析模块的程序文件中不包含校验模块。
需要说明的是,本发明实施例1的步骤13中确定所述包含解析模块的程序文件中是否包含校验模块是本发明实施例1的步骤13中确定所述应用程序是否存在意图协议URL漏洞的前提。
则,通过确定所述包含解析模块的程序文件中是否包含校验模块,确定所述应用程序是否存在意图协议URL漏洞,具体判断方式如下述所示:
若所述包含解析模块的程序文件中包含校验模块,那么表明所述意图协议URL已经被安全校验过了,也即,所述应用程序不存在意图协议URL漏洞。
若所述包含解析模块的程序文件中不包含校验模块,那么表明所述意图协议URL没有被安全校验过,也即,所述应用程序存在意图协议URL漏洞。
采用本发明实施例1提供的方案,由于根据安装包的程序文件中是否包含校验模块的结果来判断应用程序是否存在意图协议URL漏洞的方式,使得应用开发人员可以根据应用程序的意图协议URL漏洞系数对应用程序采取相应的安全策略,克服了现有技术中恶意攻击者构造的有漏洞的意图协议URL,可能造成应用程序崩溃甚至用户机密信息泄露的问题。
实施例2
为解决现有技术中恶意攻击者构造的有漏洞的意图协议URL,可能造成应用程序崩溃甚至用户机密信息泄露的问题,本发明实施例2提供一种应用程序的意图协议URL漏洞检测装置20,该应用程序的意图协议URL漏洞检测装置20的具体结构示意图如图2所示,包括:获取单元21,解析确定单元22,漏洞确定单元23。以下具体介绍下各单元的功能:
获取单元21,用于获取待检测应用程序的安装包的程序文件;
解析确定单元22,用于确定所述程序文件中是否包含解析模块,所述解析模块用于解析意图协议URL;
漏洞确定单元23,用于若所述程序文件中包含解析模块,则通过确定所述包含解析模块的程序文件中是否包含校验模块,确定所述应用程序是否存在意图协议URL漏洞,所述校验模块用于校验意图协议URL。
本发明实施例2中,在一种实施方式中,获取待检测应用程序的安装包的程序文件,具体包括:
通过编译工具反编译所述待检测应用程序的安装包,获取所述安装包的smali程序文件。
本发明实施例2中,在一种实施方式中,所述解析模块,具体包括:计算机函数“Landroid/content/Intent;->parseUri”。
本发明实施例2中,在一种实施方式中,确定所述程序文件中是否包含解析模块,具体包括:根据在所述安装包的smali程序文件中查找是否包含计算机函数“Landroid/content/Intent;->parseUri”,确定所述程序文件中是否包含解析模块。
具体查找方式如下述所示:
通过Linux操作系统的系统命令,在所述安装包的smali程序文件中查找计算机函数“Landroid/content/Intent;->parseUri”,确定所述程序文件中是否包含解析模块。
则,本发明实施例2中,在一种实施方式中,确定所述程序文件中是否包含解析模块,所述解析模块用于解析意图协议URL,具体包括:
若通过Linux操作系统的系统命令,在所述smali程序文件中查找到计算机函数“Landroid/content/Intent;->parseUri”,那么系统的命令界面会匹配并显示出包含计算机函数“Landroid/content/Intent;->parseUri”的一个或多个smali程序文件名,则所述程序文件中包含解析模块。
若通过Linux操作系统的系统命令,在所述smali程序文件中没有查找到计算机函数“Landroid/content/Intent;->parseUri”,那么系统的命令界面就不会显示出smali程序文件名,则所述程序文件中不包含解析模块。
本发明实施例2中,在一种实施方式中,所述校验模块,具体包括:计算机函数"Landroid/content/Intent;->addCategory"、"Landroid/content/Intent;->setComponent"和/或"Landroid/content/Intent;->setSelector"。
本发明实施例2中,在一种实施方式中,确定所述包含解析模块的程序文件中是否包含校验模块,具体为:根据在所述包含计算机函数“Landroid/content/Intent;->parseUri”的一个或多个smali程序文件中查找是否包含计算机函数"Landroid/content/Intent;->addCategory"、"Landroid/content/Intent;->setComponent"和/或"Landroid/content/Intent;->setSelector",确定所述包含解析模块的程序文件中是否包含校验模块。
具体查找方式如下述所示:
通过正则表达式,获取包含计算机函数“Landroid/content/Intent;->parseUri”的一个或多个smali程序文件的计算机函数列表,在所述计算机函数列表中查找计算机函数"Landroid/content/Intent;->addCategory"、"Landroid/content/Intent;->setComponent"和/或"Landroid/content/Intent;->setSelector",确定所述包含解析模块的程序文件中是否包含校验模块。
则,本发明实施例2中,在一种实施方式中,通过确定所述包含解析模块的程序文件中是否包含校验模块,确定所述应用程序是否存在意图协议URL漏洞,所述校验模块用于校验意图协议URL,具体包括:
通过正则表达式,获取包含计算机函数“Landroid/content/Intent;->parseUri”的一个或多个smali程序文件的计算机函数列表,若在所述计算机函数列表中查找到计算机函数"Landroid/content/Intent;->addCategory"、"Landroid/content/Intent;->setComponent"和/或"Landroid/content/Intent;->setSelector",则所述包含解析模块的程序文件包含校验模块,则所述应用程序不存在意图协议URL漏洞。
通过正则表达式,获取包含计算机函数“Landroid/content/Intent;->parseUri”的一个或多个smali程序文件的计算机函数列表,若在所述计算机函数列表中没有查找到计算机函数"Landroid/content/Intent;->addCategory"、"Landroid/content/Intent;->setComponent"和"Landroid/content/Intent;->setSelector",则所述包含解析模块的程序文件不包含校验模块,则所述应用程序存在意图协议URL漏洞。
采用本发明实施例2提供的方案,由于根据安装包的程序文件中是否包含校验模块的结果来判断应用程序是否存在意图协议URL漏洞的方式,使得应用开发人员可以根据应用程序的意图协议URL漏洞系数对应用程序采取相应的安全策略,克服了现有技术中恶意攻击者构造的有漏洞的意图协议URL,可能造成应用程序崩溃甚至用户机密信息泄露的问题。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上所述仅为本发明的实施例而已,并不用于限制本发明。对于本领域技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本发明的权利要求范围之内。

Claims (10)

1.一种应用程序的意图协议URL漏洞检测方法,其特征在于,包括:
获取待检测应用程序的安装包的程序文件;
确定所述程序文件中是否包含解析模块,所述解析模块用于解析意图协议URL;
若所述程序文件中包含解析模块,则通过确定所述包含解析模块的程序文件中是否包含校验模块,确定所述应用程序是否存在意图协议URL漏洞,所述校验模块用于校验意图协议URL。
2.如权利要求1所述的方法,其特征在于,获取待检测应用程序的安装包的程序文件,具体包括:
通过编译工具反编译所述待检测应用程序的安装包,获取所述安装包的smali程序文件。
3.如权利要求2所述的方法,其特征在于,所述解析模块,具体包括:计算机函数“Landroid/content/Intent;->parseUri”;则,
所述确定所述程序文件中是否包含解析模块,具体包括:
根据所述smali程序文件中是否包含计算机函数“Landroid/content/Intent;->parseUri”,确定所述程序文件中是否包含解析模块。
4.如权利要求3所述的方法,其特征在于,根据所述smali程序文件中是否包含计算机函数“Landroid/content/Intent;->parseUri”,确定所述程序文件中是否包含解析模块,具体包括:
若通过操作系统命令,在所述smali程序文件中查找到计算机函数“Landroid/content/Intent;->parseUri”,则所述程序文件中包含解析模块。
5.如权利要求1所述的方法,其特征在于,所述校验模块,具体包括:计算机函数"Landroid/content/Intent;->addCategory"、"Landroid/content/Intent;->setComponent"和/或"Landroid/content/Intent;->setSelector";则,
所述确定所述包含解析模块的程序文件中是否包含校验模块,具体包括:
根据所述包含解析模块的程序文件中是否包含计算机函数"Landroid/content/Intent;->addCategory"、"Landroid/content/Intent;->setComponent"和/或"Landroid/content/Intent;->setSelector",确定所述包含解析模块的程序文件中是否包含校验模块。
6.如权利要求5所述的方法,其特征在于,根据所述包含解析模块的程序文件中是否包含计算机函数"Landroid/content/Intent;->addCategory"、"Landroid/content/Intent;->setComponent"和/或"Landroid/content/Intent;->setSelector",确定所述包含解析模块的程序文件中是否包含校验模块,具体包括:
通过正则表达式,获取所述包含解析模块的程序文件中的计算机函数列表,根据所述计算机函数列表中是否包含计算机函数"Landroid/content/Intent;->addCategory"、"Landroid/content/Intent;->setComponent"和/或"Landroid/content/Intent;->setSelector",确定所述包含解析模块的程序文件中是否包含校验模块。
7.如权利要求6所述的方法,其特征在于,通过正则表达式,获取所述包含解析模块的程序文件中的计算机函数列表,确定所述计算机函数列表中是否包含计算机函数"Landroid/content/Intent;->addCategory"、"Landroid/content/Intent;->setComponent"和/或"Landroid/content/Intent;->setSelector",确定所述包含解析模块的程序文件中是否包含校验模块,具体包括:
若在所述模块列表中没有查找到计算机函数"Landroid/content/Intent;->addCategory"、"Landroid/content/Intent;->setComponent"和"Landroid/content/Intent;->setSelector",则所述包含解析模块的程序文件中不包含校验模块。
8.如权利要求7所述的方法,其特征在于,通过确定所述包含解析模块的程序文件中是否包含校验模块,确定所述应用程序是否存在意图协议URL漏洞,具体包括:
若所述包含解析模块的程序文件中不包含校验模块,则所述应用程序存在意图协议URL漏洞。
9.一种应用程序的意图协议URL漏洞检测装置,其特征在于,包括:
获取单元,用于获取待检测应用程序的安装包的程序文件;
解析确定单元,用于确定所述程序文件中是否包含解析模块,所述解析模块,用于解析意图协议URL;
漏洞确定单元,用于若所述程序文件中包含解析模块,则通过确定所述包含解析模块的程序文件中是否包含校验模块,确定所述应用程序是否存在意图协议URL漏洞,所述校验模块用于校验意图协议URL。
10.如权利要求9所述的装置,其特征在于,获取待检测应用程序的安装包的程序文件,具体包括:
通过编译工具反编译所述待检测应用程序的安装包,获取所述安装包的smali程序文件。
CN201810936268.4A 2018-08-16 2018-08-16 一种应用程序的意图协议url漏洞检测方法及装置 Pending CN109165512A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810936268.4A CN109165512A (zh) 2018-08-16 2018-08-16 一种应用程序的意图协议url漏洞检测方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810936268.4A CN109165512A (zh) 2018-08-16 2018-08-16 一种应用程序的意图协议url漏洞检测方法及装置

Publications (1)

Publication Number Publication Date
CN109165512A true CN109165512A (zh) 2019-01-08

Family

ID=64896000

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810936268.4A Pending CN109165512A (zh) 2018-08-16 2018-08-16 一种应用程序的意图协议url漏洞检测方法及装置

Country Status (1)

Country Link
CN (1) CN109165512A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109816007A (zh) * 2019-01-18 2019-05-28 北京智游网安科技有限公司 应用程序文字信息的行业分类方法、存储介质及终端设备
WO2023236125A1 (en) * 2022-06-09 2023-12-14 Huawei Technologies Co., Ltd. Application live-patch control for consumer device malware detection

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160337400A1 (en) * 2015-05-15 2016-11-17 Virsec Systems, Inc. Detection of sql injection attacks
CN106548075A (zh) * 2015-09-22 2017-03-29 阿里巴巴集团控股有限公司 漏洞检测方法和装置
CN106934290A (zh) * 2015-12-31 2017-07-07 阿里巴巴集团控股有限公司 漏洞检测方法及装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160337400A1 (en) * 2015-05-15 2016-11-17 Virsec Systems, Inc. Detection of sql injection attacks
CN106548075A (zh) * 2015-09-22 2017-03-29 阿里巴巴集团控股有限公司 漏洞检测方法和装置
CN106934290A (zh) * 2015-12-31 2017-07-07 阿里巴巴集团控股有限公司 漏洞检测方法及装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
刘帅旗: "《Android移动应用开发从入门到精通》", 31 March 2012, 中国铁道出版社 *
张暑军等: "《基于HTML5的APP开发教程》", 30 November 2016, 北京理工大学出版社 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109816007A (zh) * 2019-01-18 2019-05-28 北京智游网安科技有限公司 应用程序文字信息的行业分类方法、存储介质及终端设备
WO2023236125A1 (en) * 2022-06-09 2023-12-14 Huawei Technologies Co., Ltd. Application live-patch control for consumer device malware detection

Similar Documents

Publication Publication Date Title
Gupta et al. Enhancing the browser-side context-aware sanitization of suspicious HTML5 code for halting the DOM-based XSS vulnerabilities in cloud
CN108763928B (zh) 一种开源软件漏洞分析方法、装置和存储介质
Backes et al. Reliable third-party library detection in android and its security applications
CN108229112B (zh) 一种保护应用程序、应用程序的运行方法以及装置
JP6257754B2 (ja) データの保護
TWI461953B (zh) 運算環境安全方法和電子運算系統
Yu et al. Patching vulnerabilities with sanitization synthesis
CN110457628B (zh) 网页版本校验方法、装置、设备及存储介质
TWI541669B (zh) Detection systems and methods for static detection applications, and computer program products
Huang et al. Detecting sensitive data disclosure via bi-directional text correlation analysis
CN111163094B (zh) 网络攻击检测方法、网络攻击检测装置、电子设备和介质
CN111163095A (zh) 网络攻击分析方法、网络攻击分析装置、计算设备和介质
CN106709281B (zh) 补丁发放和获取方法、装置
CN105354485B (zh) 一种便携式设备数据处理方法
CN109165512A (zh) 一种应用程序的意图协议url漏洞检测方法及装置
CN105760761A (zh) 软件行为分析方法和装置
CN112632550B (zh) 口令和密钥的应用安全的检测方法及其电子设备
CN108664796B (zh) 一种so文件保护方法及装置
CN109492392B (zh) 一种核心函数的检测方法及系统
CN109409038A (zh) 一种动态链接库文件的破解风险检测方法及装置
CN109033837A (zh) 一种安装包风险检测的方法及装置
CN109740386A (zh) 一种静态资源文件的检测方法及装置
EP4365763A1 (en) Certified copy paste
CN109542509A (zh) 一种资源文件的风险检测方法及装置
EP4273726A1 (en) Risk assessment based on augmented software bill of materials

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: 20190108