CN105389263B - 应用软件权限监控方法、系统及设备 - Google Patents
应用软件权限监控方法、系统及设备 Download PDFInfo
- Publication number
- CN105389263B CN105389263B CN201510991458.2A CN201510991458A CN105389263B CN 105389263 B CN105389263 B CN 105389263B CN 201510991458 A CN201510991458 A CN 201510991458A CN 105389263 B CN105389263 B CN 105389263B
- Authority
- CN
- China
- Prior art keywords
- application software
- party application
- authority
- software
- party
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 44
- 238000012544 monitoring process Methods 0.000 title claims abstract description 15
- 238000012360 testing method Methods 0.000 claims abstract description 62
- 238000012795 verification Methods 0.000 claims abstract description 39
- 230000000694 effects Effects 0.000 claims abstract description 33
- 230000008569 process Effects 0.000 claims abstract description 22
- 238000009434 installation Methods 0.000 claims description 15
- 238000013507 mapping Methods 0.000 claims description 3
- 235000013399 edible fruits Nutrition 0.000 claims 1
- 238000004891 communication Methods 0.000 description 7
- 230000004044 response Effects 0.000 description 4
- 230000001960 triggered effect Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 241000208340 Araliaceae Species 0.000 description 1
- 241001269238 Data Species 0.000 description 1
- 235000005035 Panax pseudoginseng ssp. pseudoginseng Nutrition 0.000 description 1
- 235000003140 Panax quinquefolius Nutrition 0.000 description 1
- 241000700605 Viruses Species 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 235000008434 ginseng Nutrition 0.000 description 1
- 238000011835 investigation Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000013515 script Methods 0.000 description 1
- GOLXNESZZPUPJE-UHFFFAOYSA-N spiromesifen Chemical compound CC1=CC(C)=CC(C)=C1C(C(O1)=O)=C(OC(=O)CC(C)(C)C)C11CCCC1 GOLXNESZZPUPJE-UHFFFAOYSA-N 0.000 description 1
- 230000009897 systematic effect Effects 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3604—Software analysis for verifying properties of programs
- G06F11/3612—Software analysis for verifying properties of programs by runtime analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了应用软件权限监控的方法和系统,该方法包括,下载第三方应用软件安装包;解析出所述第三方应用软件的属性、启动时的进程名及申请的权限,所述属性至少包括包名、activity、services、broadcast和permission;根据解析得到的信息生成对比验证的job;将所述生成的job安装于具有安全软件的被测试终端,由所述被测试终端根据所述job的描述安装第三方应用软件并进行对比验证。本发明的方法既可以自动获取需要的软件,还能够快速自动进行对比测试。
Description
技术领域
本发明涉及设备中应用软件的管理,特别涉及应用软件权限监控和评估软件管理效果的方法。
背景技术
现代电子设备如电脑、手机等安装了越来越多的第三方应用软件(APP)。现在的无线终端市场存在三大系统android,ios,windows。特别是android手机,操作系统开源,涉及的厂商多太多太杂。相应地,第三方应用软件的来源也非常多。对这些安装的软件进行有效的管理,以保障电子设备安全可靠的运行是非常重要的。因此,电子设备的应用软件管理程序(以下简称“安全软件”)对这些第三方应用软件的管理是一个很重要的功能。测试人员目前基本是通过人工方式来进行测试验证以评估安全软件对这些应用软件的管理的有效性。但是第三方应用软件数以万计,测试人员显然难以对每个应用都人工进行验证,因而评估安全软件的效率和测试的可靠性都有待提高。
发明内容
本发明的目的之一在于,提供应用软件权限监控的方法,以至少可用于对安全软件的第三应用软件管理能力进行测评。
根据本发明的一个方面,提供了一种科学评估安全产品软件管理效果的方法,包括:下载第三方APK(Android应用软件安装包);解析出所述第三方应用软件的属性、启动时的进程名及申请的权限,所述属性至少包括包名、activity、services、broadcast和permission;根据解析得到的信息生成对比验证的job;将所述生成的job安装于具有安全软件的被测试终端,由所述被测试终端根据所述job的描述安装第三方应用软件并进行对比验证。
在一些实施方式中,下载排行在前的预定数量的第三方应用软件。下载的第三方应用软件优选是最新版本的。这样可以提高对安全软件测试的有效性和可靠性。
在一些实施方式中,第三方应用软件包括应用列表和应用市场API。其有益效果是,android获得第三方应用程序列表,即已经安装的应用程序列表,主要使用PackageManager就可以。通过API接口能够实现应用程序之间的相互通信,同时API也是一种中间件,为各种不同平台提供数据共享,应用程序通过调用API去执行应用程序的命令。
在一些实施方式中,对比验证包括:对被测试终端安装的第三方应用软件所申请的权限与所述安全软件识别的权限进行对比验证。
在一些实施方式中,对比验证包括:监控被测试终端的所述第三方应用软件安装包的activity是否能够启动。
在一些实施方式中,对比验证包括:通过发送Broadcast,在待测软件自启动被允许和被禁止情况下,分别监控Services是否能启动或启动是否正常。
根据本发明的另一方面,提供了应用软件权限监控的系统,包括服务器端和测试终端,其中所述服务器端包括:下载更新引擎,下载第三方应用软件;APK解析模块,解析出所述第三方应用软件的属性、启动时的进程名及申请的权限,所述属性至少包括包名、activity、services、broadcast和permission;Job生成模块,根据解析出来的所述第三方应用软件的属性,生成测试Job程序;任务调度模块,配置为控制被测试终端执行如下操作:安装所述测试Job程序并按照所述测试Job程序的描述下载并安装第三方应用软件安装包,将被测试终端安装的第三方应用软件中的Activity、Services、process和Permissions与所述测试Job程序中的相应属性做对比验证。
根据本发明的又一方面,还提供了应用软件权限监控的设备,包括:下载更新引擎,下载第三方应用软件;APK解析模块,解析出所述第三方应用软件的属性、启动时的进程名及申请的权限,所述属性至少包括包名、activity、services、broadcast和permission;Job生成模块,根据解析出来的所述第三方应用软件的属性,生成测试Job程序;任务调度模块,配置为控制被测试终端执行如下操作:安装所述测试Job程序并按照所述测试Job程序的描述下载并安装第三方应用软件安装包,将被测试终端安装的第三方应用软件中的Activity、Services、process和Permissions与所述测试Job程序中的相应属性做对比验证。
根据本发明,通过上述一系列步骤构成的自动化的方法,以及与其相应的系统及设备,不但可以自动获取需要的软件,还能自动解析测试项和验证项,快速自动进行对比测试,可避免人工测试的繁琐及不能适应大量软件测试需要的缺陷,具有良好和广泛的应用前景。
附图说明
图1为根据本发明一实施方式的实现应用软件权限监控的系统架构图;
图2为根据本发明一实施方式的应用软件权限监控的方法流程图。
具体实施方式
下面结合附图对本发明的实施方式作进一步详细的说明。
图1示意性地显示了根据本发明一实施例的实现评估软件管理效果的框架示意图。该框架包括服务器端和测试终端。其中服务器端包括下载更新引擎101,APK解析器102,Job生成器103,任务调度器104,还可包括报表模块105。其中,下载更新引擎101可根据应用包名列表配置文件,从网络上公开的应用市场中下载第三方应用软件。APK解析器102可以从下载的第三方应用软件中解析出Activity、Services、process和Permissions等相关属性。Job生成器103用于将解析出来的Activity、Services、Broadcast、和Permission生成一个Job程序,将此Job程序安装入待测手机中。任务调度器104指示手机端按照Job程序的描述开始下载并安装第三方APK。将手机端安装的第三方APK中的Activity、Services、process和Permissions与Job程序中的相应属性做对比验证,看是否一致。另外,当已下载的第三方APK有更新时,任务调度器104还能根据Job程序的描述下载并安装有更新的APK。报表模块105可根据对比验证结果生成相应的报表。
下面结合图2具体说明实现根据本发明的实施方式的评估软件管理效果的方法。如图2所示,该方法包括如下步骤:
S1:从公开的应用市场中,在服务器端开始下载第三方应用。该下载可根据从第三方获取的应用包名列表来进行,例如下载该列表排行前50或100甚至更多数量的应用软件的APK(Android安装包)。
S2:服务器端的APK解析器102对第三方应用软件的APK进行解析,解析出其manifest中包含的Activity、Services、Broadcast和Permissions等属性。这些属性对于android应用程序是基本的属性。实践中也可以根据需要获取其它的属性。
S3:Job生成器根据解析出来的Activity、Services、和Permissions等属性,生成测试Job程序,将此Job程序装入安装有安全软件的待测手机中。该job程序描述了测试case所需要的具体行为,即对比验证对应的被测试的第三方软件的上述属性信息。可以通过一个ini形式的配置文件进行编写,再加上相关的case脚本或jar即构成。以下示例说明ini形式的job配置文件的格式。
每个配置文件中包括若干个段(section),固定段有2个:description,phone;另有一个可扩充的段为copyXX。其中XX是从0开始的连续数字,如:copy0,copy1,copy2。除了description为必须的外,其它各段视需要而添加;每个段有若干对key=value形式的下定义,例如:
[section]
key1=value1
key2=value2
各段详细定义如下:
A.第一个段:description,用于描述job基本信息,是唯一一个不可缺少的段。配置文件中定义举例如下:
[description]
name=第三方应用软件属性对比验证
timeout=10
各key的定义为:
name是对这个job的通用描述,以便于理解这个job的目的
timeout是job执行的超时时间,超时后就放弃这个job
B.第二个段:copyXX(XX是从0开始的连续数字),不是必须段,可配置一个或多个这类段。这个段用于描述job在手机端上运行所需要的资源文件集合,这些资源文件可存放在服务器上。如果客户端需要运行某个job时,需要将job所需要的资源文件push到手机端去,在配置文件中定义举例如下:
其中,各key的定义为:
src是job所需要的资源文件名,这些资源文件视布署情况来定是否包括路径,多个资源文件可用英文的分号分隔。
dest是src中资源文件所要push到手机端中的位置,应该是一个客户端绝对路径,不能有两个,若需要push到两个不同位置,则需要再加一个copyXX段。
C.第三个段,phone描述手机端如何利用之前push的资源执行job。配置文件中定义举例如下:
各key的定义为:
phX:X为从0开始的数字,一个段中必须对ph0,ph1,ph2等依次
定义使用,同时job的执行顺序由ph后面的数字决定,优先级从高到低:
0,1,2等。这个key实际描述的是可在客户端运行的一条测试case。
本实施方式中自动生成的Job程序的验证处理将在下文中说明。
S4:设置于服务器端的任务调度器104控制手机端按照Job程序的描述开始下载并安装第三方APK。任务调度器104还可以根据已下载的第三方APK的更新信息,在有更新时,按照Job程序的描述下载并安装有更新的APK。
S5:将手机端安装的第三方应用软件APK中的属性如Activity、Services、Broadcast、process和Permissions等与Job程序中的即已被服务器端APK解析器102解析出的该第三方应用软件的相应属性做对比验证,验证是否一致。具体对比验证方式将在下文说明。
S6:最后,在服务器端由报表模块根据对比验证结果,生成相应的对比验证结果报表。
在上述过程中,服务器端与测试终端之间可以采用如下通讯协议定义。
A.通用报文格式:
报文长度 | command | 参数1 | 参数2 | 参数3 | … |
报文最前面由2个字节来表示后面部分的长度,报文长度后面各字段为可见字符组成,编码为utf-8。报文长度与command之间没有分隔符。
除报文长度字段外,每条报文至少有两个字段:command及一个参数,字段之间用分隔符(如:##)分开。例如:pc##finish代表意义是pc客户端连接会话已经完成。
B.文件数据流报文格式:
报文长度 | 文件的数据流 |
报文长度为文件数据流的字节长度,数据流为job资源文件原生二进制数据流。
C.报文基本规则:
每条请求应答报文通过TCP连接发送。
每条通讯命令第一个字段代表当前会话的身份,多个会话组成一个CS通讯,即为一次无线端测试任务或PC端的一次控制任务。
每条通讯命令从第二个字段开始是会话通知对方的将要执行Action或自己的当前Status。
D.以下对协议报文中的command示例说明:
1)login:客户端需要登录服务器,服务器对客户端身份进行识别记录,如:无线客户端(手机端)要登录服务器,其中字段第一个参数由手机型号,系统版本号组成,可根据需要扩展,第二个参数固定为通讯协议版本号。示例如下:
login | HTC D816w&Android=21 | 1.0 |
服务器支持对方协议的应答时:
login | PcServer | OK |
而服务器不支持对方协议的应答时:
login | PcServer | error | OK |
当客户端通知服务器自己退出时:
login | exit |
2)push:服务器向手机端push相关资源文件。格式如下:
其功能是:服务器通知手机端将要push的资源文件。参数2是服务器端文件名,参数3是手机端文件名(包括路径),参数4是文件长度,参数5是文件的md5值。
当手机端回复需要接收文件数据流,按如下格式向服务器发信,随后服务器端将按照文件数据流报文格式持续发送文件内容,直到发送完成。
push | content |
在本次资源push结束时,由服务器先发下述内容,客户端应答,各发一次。
push | OK |
3)run:在手机端运行相关的测试case,并采集数据回传服务器端。
参数2 | 参数3 | 参数4 | ||
run | exe | 0 | uiautomator runtest/sdcard/test.jar com.test | true |
在此命令下,服务器端通知手机端开始执行一条测试case,参数2是测试case在job中的索引号,参数3是测试case的可执行命令行,参数4有两个值,true表示服务器需要等此命令执行完后才能开始下一条,false则不必等(可并行执行其它测试case)。
手机端发出如下格式内容,通知服务器端已经开始执行一条测试case,参数2是测试case在job中的索引号,其它参数如表中不变。
参数2 | 参数3 | ||
run | exe | 0 | running |
手机端实时发送测试数据给服务器端时,发送内容格式如下表。其中参数2是测试job的ID,参数3是当前正在运行的测试case生成的一条测试数据。
参数2 | 参数3 | ||
run | log | job201508 | 测试数据 |
当手机端通知服务器端当前测试case已经执行完成时,发送如下格式内容。其中参数2是测试case在job中的索引号,参数4是测试case返回的结果,其它参数固定。
参数2 | 参数3 | 参数4 | ||
run | exe | 0 | run_done | -1 |
此外,本次测试case的执行超时,服务器可通过如下内容通知手机端。
run | timeout |
所有测试case完成后,服务器端先发送如下内容,手机端回复此内容,表示所有测试case执行完成。
run | OK |
4)job:主要管理控制多组run和push操作的顺序完成。如下表格式:
job | Job201508 | 0 | push |
具体而言,Job程序会通知测试终端(以下称为手机端)开始执行一个资源文件的push操作,参数2是资源文件在job中的索引号,一般情况下是0表示从头开始,非0表示是资源文件的断点续传(例如:2表示job前面两个资源文件不需要push了,将直接从第3个文件开始push)。手机端也以同样的报文应答服务器端表示准备好了。
在测试结束后,以下表格式通知手机端整个测试job已经完成,手机端不需要应答,自己退出即可。
job | Job201508 | OK |
在本实施例中,下载的第三方应用软件是最新版本的。其有益效果是,保证服务器端的解析器所解析出的信息是最新版本应用软件的Activity、Services、Broadcast、process和Permissions。
第三方应用软件包括应用列表和应用市场API。Android中获得第三方应用软件列表,即已经安装的应用程序列表,主要使用PackageManager。PackageManager主要是管理应用程序包,通过它就可以获取应用程序信息。通过API接口能够实现应用程序之间的相互通信,同时API也是一种中间件,为各种不同平台提供数据共享,应用程序通过调用API而去执行应用程序的命令。
服务器端的APK解析器能够获取每个APK中权限和每个组件的情况和进程情况,由于Android的开放性,具有更丰富的软件资源,使用APK解析器应用更广泛。
例如,可以在云端建立应用市场中所有应用的包名和类名、其中广播组件的组件名称、针对广播组件推荐是否禁用的状态之间的映射关系,构造一云端数据表。由移动终端的服务进程将本地应用汇总发送给云端,请求云端给出推荐表,以该推荐表来更新本地数据表,从而实现安全防患的效果。
在云端的数据表中,可以通过统计安装有以本发明实现的程序所收集的针对每个应用是否禁用其自启动的数据增设数据表,通过该数据表来标记和保存目标应用的包名和类名、该应用的广播组件、广播组件的组件名称之间的映射关系。
移动终端可通过远程规则库接口发送到云端服务器的特征信息,包括:Android安装包的包名,和/或,版本号,和/或,数字签名,和/或,Android组件receiver的特征,和/或,Android组件service的特征,和/或,Android组件activity的特征,和/或,可执行文件中的指令或字符串,和/或,Android安装包目录下各文件的MD5值(签名)。
各项软件对应的权限的系统参数的参数值分别与预置的参数库中保存的参数值进行匹配。参数库中保存有已被识别的多项默认参数值;预置的参数库的数据需要对海量环境数据挖掘统计得出,经过发明人对终端模拟器的设计结构进行分析和统计,除了以上的权限,包名,版本号等的信息,还可以包括,通信号码、硬件设备号、运营商代码、语音信箱号码、终端型号、编译标签、硬件编号、终端品牌、终端名称、应用设备、应用处理器、终端制造商、主板平台、建立产品、系统指纹、模拟类型等。
在另一个实施例中,服务器端可采用PC机代替服务器。该PC机可包括下载更新引擎101,APK解析器102,Job生成器103和任务调度器104。还可包括报表模块105。其中,下载更新引擎101可根据应用包名列表配置文件,从网络上公开的应用市场中下载第三方应用软件。APK解析器102可以从下载的第三方应用软件中解析出Activity、Services、process和Permissions等相关属性。Job生成器103用于将解析出来的Activity、Services、Broadcast、和Permission生成一个Job程序,将此Job程序安装入待测手机中。任务调度器104指示手机端按照Job程序的描述开始下载并安装第三方APK。将手机端安装的第三方APK中的Activity、Services、process和Permissions与Job程序中的相应属性做对比验证,看是否一致。另外,当已下载的第三方APK有更新时,任务调度器104还能根据Job程序的描述下载并安装有更新的APK。报表模块105可根据对比验证结果生成相应的报表。
以Android为例,移动终端与PC机连接的方式如下:
(1)移动终端需要打开USB调试模式,以允许PC机对移动终端进行通信和控制。Android系统默认是关闭USB调试模式的,因此需要用户手动打开。优选地,可以增加一个用户引导,提示用户开启USB调试模式的的方法。
其中,每种类型的移动终端对于开启USB调试模式的方式不同,因此可以汇总目前已有的Android移动终端打开USB调试模式的方法,根据用户的机型进行提示。
(2)打开USB调试之后,使用数据线把移动终端连接到PC机上。PC中的查毒工具(例如急救箱)会枚举USB设备,并判断是否是移动终端设备,如果是,就试图通过socket与手机内部的ADB(Android Debug Bridge,调试桥)Server进程通信,并完成移动终端与PC机的通信工作的初始化。
在PC端可以启动模拟服务器。模拟服务器(MockServer)是一个API能够模仿任何通过HTTP连接的服务器或服务,如REST或RPC service。提供Java和JavaScript两种API。本实施例中模拟服务器基于HTTP用于接受REST请求。
对移动产品升级的进行自动化测试时,需要将升级的测试用例推送到移动终端上,由移动终端进行测试。
在上述步骤S5中,对比验证有三种方式,这三种方式均可独立进行。
第一种验证方式是权限验证,将手机端识别出的第三方APK中的permissions中包含的权限(要申请的权限)与服务器端自动生成的Job中所包含的权限(即安全软件对该第三方APK解析出的权限)进行对比验证。
应用软件权限可包括:应用自启,读短信,显示通知,联网,添加悬浮窗,获取位置信息,使用话筒录音,打开摄像头,打开移动网络开关,拨打电话,发送短信,获取手机号,读取通话记录,读取通信录,读取短信,写通话记录,写通信录,写短信,读取精确地理位置,读取粗略地理位置,录音,打开摄像头,打开wifi开关,打开蓝牙开关,读取已安装应用列表,获取设备id,及其他可能涉及到隐私数据的接口。Android也有很多权限,例如:
访问网络连接的权限,android.permission.INTERNET
获取应用大小的权限,android.permission.GET_PACKAGE_SIZE
获取任务信息的权限,android.permission.GET_TASKS
安装应用程序的权限,android.permission.INSTALL_PACKAGES
账户管理的权限,android.permission.ACCOUNT_MANAGER
最后可由报表模块根据对比验证结果生成对比验证报表。
可以在手机端中配置有相应的终端设备83驱动程序和adb(Android DebugBridge,安卓调试桥)等相关工具性的程序。
第二种验证方式是,在原始情况下,也就是没有启动安全软件的情况下,按照Job的描述监测Activity的启动状态(是否能启动)。最后可由报表模块生成对比验证结果。
第三种验证方式是,在启动安全软件并进行对应设置的情况下,由服务器端发送一些Broadcast,在待测软件进行自启动的允许和禁止情况下,监测Services状态,即是否能正常自启动。最后可由报表模块生成对比验证结果。
通过以上的测试监控过程,可以在设置拦截策略的时候,针对每个组件遵循以下规则中的至少一项规则:
Activity组件是可视化组件,其引发的启动行为不能被拦截,因为这种行为大多由用户触发,并非严格意义上的应用程序的自启动;
Broadcast Receiver组件的唤醒是操作系统的行为,因此,对该组件所引发的自启动请求一般不进行拦截;以及
Content Provider组件所引发的自启动请求,可以将权限交给用户,因此,每个用户可以根据自身需求设置个性化的过滤或拦截策略。
在预先设置的应用程序授权权限列表库中,某些应用程序对应有一应用程序授权权限列表,应用程序授权权限列表以应用程序标识(即,前述的包标识)为标记。在每一应用程序授权权限列表中,存储有用户预先为该应用程序授权的行为权限。如果该列表中没有对应于该应用程序的行为权限,则没有具体权限建议,但用户仍可对所有权限授权或禁止。
对于准备或者正在进行安装的应用程序而言,本发明可以通过将自身注册为默认安装器的形式,获取该应用程序的安装广播信息。继而,将这个新安装应用程序作为目标应用程序,将其安装包或签名之类的特征信息通过远程规则库接口发送到云端服务器中,由云端服务器对其做出安全性判断。一种实施例中,云端服务器为应用程序的安全级别设定黑、灰、白三种级别,分别代表不同危险程度,并设定对应的处理规则。例如,黑应用程序禁止安装,灰应用程序由用户自行选择,白应用程序则可径行安装。
以上所述的仅是本发明的一些实施方式。对于本领域的普通技术人员来说,在不脱离本发明创造构思的前提下,还可以做出若干变形和改进,这些都属于发明的保护范围。
Claims (22)
1.应用软件权限监控方法,包括:
下载第三方应用软件安装包;
解析出所述第三方应用软件的属性、启动时的进程名及申请的权限,所述属性至少包括包名、activity、services、broadcast和permission;
根据解析得到的信息生成对比验证的job;
将所述生成的job安装于具有安全软件的被测试终端,由所述被测试终端根据所述job的描述安装第三方应用软件并进行对比验证。
2.根据权利要求1所述的方法,其中,所述对比验证包括对被测试终端安装的第三方应用软件所申请的权限与所述安全软件对所述第三方应用软件识别的权限进行对比验证。
3.根据权利要求2所述的方法,其中所述权限包括:应用自启,读短信,显示通知,联网,添加悬浮窗,获取位置信息,使用话筒录音,打开摄像头,打开移动网络开关,拨打电话,发送短信,获取手机号,读取通话记录,读取通信录,读取短信,写通话记录,写通信录,写短信,读取精确地理位置,读取粗略地理位置,录音,打开摄像头,打开wifi开关,打开蓝牙开关,读取已安装应用列表,获取设备id,及其他可能涉及到隐私数据的接口。
4.根据权利要求1所述的方法,其中,所述对比验证包括监控被测试终端的所述第三方应用软件安装包的activity是否能够启动。
5.根据权利要求1所述的方法,其中,所述对比验证包括通过发送Broadcast,在所述待测软件自启动被允许和被禁止情况下,分别监控Services是否能启动或启动是否正常。
6.根据权利要求1-5任一项所述的方法,还包括:在云端建立应用市场中所有应用的包名和类名、其中广播组件的组件名称、针对广播组件推荐是否禁用的状态之间的映射关系,构造一云端数据表。
7.根据权利要求6所述的方法,还包括:根据已下载的第三方应用软件安装包的更新信息,下载并安装有更新的应用软件安装包。
8.根据权利要求7所述的方法,其中下载第三方应用软件安装包包括:根据应用软件列表和应用市场的应用程序界面,选择排列在前的多个第三方应用软件安装包下载安装。
9.应用软件权限监控系统,包括服务器端和测试终端,其中所述服务器端包括:
下载更新引擎,下载第三方应用软件;
APK解析模块,解析出所述第三方应用软件的属性、启动时的进程名及申请的权限,所述属性至少包括包名、activity、services、broadcast和permission;
Job生成模块,根据解析出来的所述第三方应用软件的属性,生成测试Job程序;
任务调度模块,配置为控制被测试终端执行如下操作:
安装所述测试Job程序并按照所述测试Job程序的描述下载并安装第三方应用软件安装包,
将被测试终端安装的第三方应用软件中的Activity、Services、process和Permissions与所述测试Job程序中的相应属性做对比验证。
10.根据权利要求9所述的系统,其中所述任务调度模块还配置为当已下载的第三方应用软件安装包有更新时,根据Job程序的描述下载并安装有更新的APK。
11.根据权利要求9所述的系统,其中所述测试Job程序配置为对被测试终端安装的第三方应用软件所申请的权限与所述安全软件对所述第三方应用软件识别的权限进行对比验证。
12.根据权利要求11所述的系统,其中所述权限包括:应用自启,读短信,显示通知,联网,添加悬浮窗,获取位置信息,使用话筒录音,打开摄像头,打开移动网络开关,拨打电话,发送短信,获取手机号,读取通话记录,读取通信录,读取短信,写通话记录,写通信录,写短信,读取精确地理位置,读取粗略地理位置,录音,打开摄像头,打开wifi开关,打开蓝牙开关,读取已安装应用列表,获取设备id,及其他可能涉及到隐私数据的接口。
13.根据权利要求9所述的系统,其中所述测试Job程序配置为监控被测试终端的所述第三方应用软件安装包的activity是否能够启动。
14.根据权利要求9所述的系统,其中所述测试Job程序配置为通过发送Broadcast,在所述待测软件自启动被允许和被禁止情况下,分别监控Services是否能启动或启动是否正常。
15.根据权利要求8-14任一项所述的系统,还包括:
报表模块,配置为根据对比验证结果生成相应的报表。
16.应用软件权限监控的设备,包括:
下载更新引擎,下载第三方应用软件;
APK解析模块,解析出所述第三方应用软件的属性、启动时的进程名及申请的权限,所述属性至少包括包名、activity、services、broadcast和permission;
Job生成模块,根据解析出来的所述第三方应用软件的属性,生成测试Job程序;
任务调度模块,配置为控制被测试终端执行如下操作:
安装所述测试Job程序并按照所述测试Job程序的描述下载并安装第三方应用软件安装包,
将被测试终端安装的第三方应用软件中的Activity、Services、process和Permissions与所述测试Job程序中的相应属性做对比验证。
17.根据权利要求16所述的设备,其中所述任务调度模块还配置为当已下载的第三方应用软件安装包有更新时,根据测试Job程序的描述下载并安装更新的APK。
18.根据权利要求16所述的设备,其中所述测试Job程序配置为对被测试终端安装的第三方应用软件所申请的权限与所述安全软件对所述第三方应用软件识别的权限进行对比验证。
19.根据权利要求18所述的设备,其中所述权限包括:应用自启,读短信,显示通知,联网,添加悬浮窗,获取位置信息,使用话筒录音,打开摄像头,打开移动网络开关,拨打电话,发送短信,获取手机号,读取通话记录,读取通信录,读取短信,写通话记录,写通信录,写短信,读取精确地理位置,读取粗略地理位置,录音,打开摄像头,打开wifi开关,打开蓝牙开关,读取已安装应用列表,获取设备id,及其他可能涉及到隐私数据的接口。
20.根据权利要求19所述的设备,其中所述测试Job程序配置为监控被测试终端的所述第三方应用软件安装包的activity是否能够启动。
21.根据权利要求16所述的设备,其中所述测试Job程序配置为通过发送Broadcast,在所述待测软件自启动被允许和被禁止情况下,分别监控Services是否能启动或启动是否正常。
22.根据权利要求16-21任一项所述的设备,还包括报表模块,配置为根据对比验证结果生成相应的报表。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510991458.2A CN105389263B (zh) | 2015-12-24 | 2015-12-24 | 应用软件权限监控方法、系统及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510991458.2A CN105389263B (zh) | 2015-12-24 | 2015-12-24 | 应用软件权限监控方法、系统及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105389263A CN105389263A (zh) | 2016-03-09 |
CN105389263B true CN105389263B (zh) | 2017-12-19 |
Family
ID=55421569
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510991458.2A Active CN105389263B (zh) | 2015-12-24 | 2015-12-24 | 应用软件权限监控方法、系统及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105389263B (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106022101B (zh) * | 2016-05-17 | 2019-12-06 | Oppo广东移动通信有限公司 | 一种应用管理方法及终端 |
CN106294068A (zh) * | 2016-08-03 | 2017-01-04 | 福建星海通信科技有限公司 | 一种安卓系统apk监控管理方法及其装置 |
CN106156608B (zh) * | 2016-08-24 | 2020-04-21 | 北京双湃智安科技有限公司 | 一种禁止后台应用自启动方法及装置 |
CN107977566B (zh) * | 2017-11-27 | 2021-03-19 | 珠海市君天电子科技有限公司 | 一种功能触发方法、装置及电子设备 |
CN109379337B (zh) * | 2018-09-18 | 2021-01-26 | 四川长虹电器股份有限公司 | 一种安卓平台下应用进程的保活方法 |
CN110768839B (zh) * | 2019-10-30 | 2022-07-22 | 南宁市指搜信息技术有限公司 | 基于智能设备监测和用户身份绑定的第三方软件授权系统 |
CN111131613A (zh) * | 2019-12-25 | 2020-05-08 | 惠州Tcl移动通信有限公司 | 一种数据发送方法、装置、存储介质及移动终端 |
US11182054B2 (en) | 2020-03-27 | 2021-11-23 | Coupang Corp. | Web-browser plugin for consolidating requested disaggregated information |
CN111459833B (zh) * | 2020-04-13 | 2021-01-29 | 大汉软件股份有限公司 | 一种实现政企移动端多端多平台自动化测试和监控的方法 |
CN111984340B (zh) * | 2020-08-20 | 2024-05-14 | 北京像素软件科技股份有限公司 | 应用程序的启动方法及装置、可读存储介质、电子设备 |
CN112559293B (zh) * | 2020-12-22 | 2023-03-07 | 上海哔哩哔哩科技有限公司 | 应用程序包的监控方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104462978A (zh) * | 2014-12-24 | 2015-03-25 | 北京奇虎科技有限公司 | 一种应用程序权限管理的方法和装置 |
GB2524737A (en) * | 2014-03-31 | 2015-10-07 | Kainos Worksmart Ltd | A system and method for testing a workflow |
CN105068921A (zh) * | 2015-07-23 | 2015-11-18 | 清华大学 | 基于App对比分析的Android应用商店可信度评价方法 |
CN105095090A (zh) * | 2015-09-16 | 2015-11-25 | 北京奇虎科技有限公司 | 应用安装包的测试方法及装置 |
-
2015
- 2015-12-24 CN CN201510991458.2A patent/CN105389263B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2524737A (en) * | 2014-03-31 | 2015-10-07 | Kainos Worksmart Ltd | A system and method for testing a workflow |
CN104462978A (zh) * | 2014-12-24 | 2015-03-25 | 北京奇虎科技有限公司 | 一种应用程序权限管理的方法和装置 |
CN105068921A (zh) * | 2015-07-23 | 2015-11-18 | 清华大学 | 基于App对比分析的Android应用商店可信度评价方法 |
CN105095090A (zh) * | 2015-09-16 | 2015-11-25 | 北京奇虎科技有限公司 | 应用安装包的测试方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN105389263A (zh) | 2016-03-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105389263B (zh) | 应用软件权限监控方法、系统及设备 | |
CN104363264B (zh) | 移动终端软件的多渠道sdk接入系统 | |
CN111045756B (zh) | 生成接口服务的方法、装置、计算设备和介质 | |
US8819638B2 (en) | Application protoyping suite | |
US9349015B1 (en) | Programmatically detecting collusion-based security policy violations | |
CN111078554B (zh) | 一种小程序调试方法、装置、设备及存储介质 | |
CN106357609B (zh) | 一种创建用户的方法和系统、公网服务器及私有云设备 | |
CN108418787B (zh) | 企业资源计划数据的采集方法、终端设备及介质 | |
EP2595423A1 (en) | Application security evaluation system and method | |
KR101229858B1 (ko) | 웹을 통한 테스팅 자원 공유 방법 및 그 시스템 | |
CN105338110A (zh) | 远程调试方法和平台、服务器 | |
CN111414193A (zh) | 基于微服务框架的业务系统的实现方法及相关装置 | |
CN111026672A (zh) | 测试方法、终端设备以及mock服务器 | |
CN110119350A (zh) | 软件开发工具包测试方法、装置和设备及计算机存储介质 | |
CN110149363A (zh) | 一种消息推送方法、装置及存储介质 | |
CN105704178A (zh) | 任务平台的接入方法及装置 | |
CN106934272A (zh) | 一种应用信息的校验方法和装置 | |
CN114564387A (zh) | 一种针对OpenStack云平台的场景式自动化测试方法及系统 | |
CN117914755A (zh) | 基于微服务架构的链路压测方法、系统、设备及存储介质 | |
CN115248922A (zh) | 用于远程接入的设备以及方法 | |
CN104158812B (zh) | 一种终端应用的安全控制方法及系统 | |
CN107145342A (zh) | 应用的渠道信息的处理方法和装置 | |
CN111131324A (zh) | 业务系统的登陆方法及装置、存储介质、电子装置 | |
CN109348472A (zh) | 一种基于单点推送的ota升级方法及系统 | |
CN110166636B (zh) | 压力测试的装置、方法及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20220727 Address after: Room 801, 8th floor, No. 104, floors 1-19, building 2, yard 6, Jiuxianqiao Road, Chaoyang District, Beijing 100015 Patentee after: BEIJING QIHOO TECHNOLOGY Co.,Ltd. Address before: 100088 room 112, block D, 28 new street, new street, Xicheng District, Beijing (Desheng Park) Patentee before: BEIJING QIHOO TECHNOLOGY Co.,Ltd. Patentee before: Qizhi software (Beijing) Co.,Ltd. |