应用软件权限监控方法、系统及设备的制造方法_3

文档序号:9631492阅读:来源:国知局
088] 当手机端通知服务器端当前测试case已经执行完成时,发送如下格式内容。其中 参数2是测试case在job中的索引号,参数4是测试case返回的结果,其它参数固定。
[0089]
[0090] 此外,本次测试case的执行超时,服务器可通过如下内容通知手机端。
[0091]
[0092] 所有测试case完成后,服务器端先发送如下内容,手机端回复此内容,表示所有 测试case执行完成。
[0093]
[0094] 4)job:主要管理控制多组run和push操作的顺序完成。如下表格式:
[0095]
[0096] 具体而言,Job程序会通知测试终端(以下称为手机端)开始执行一个资源文件 的push操作,参数2是资源文件在job中的索引号,一般情况下是0表示从头开始,非0表 示是资源文件的断点续传(例如:2表示job前面两个资源文件不需要push了,将直接从 第3个文件开始push)。手机端也以同样的报文应答服务器端表示准备好了。
[0097] 在测试结束后,以下表格式通知手机端整个测试job已经完成,手机端不需要应 答,自己退出即可。
[0098]
[0099] 在本实施例中,下载的第三方应用软件是最新版本的。其有益效果是,保证服务 器端的解析器所解析出的信息是最新版本应用软件的Activity、Services、Broadcast、 process和Permissions。
[0100] 第三方应用软件包括应用列表和应用市场API。Android中获得第三方应用软件 列表,即已经安装的应用程序列表,主要使用PackageManager。PackageManager主要是管 理应用程序包,通过它就可以获取应用程序信息。通过API接口能够实现应用程序之间的 相互通信,同时API也是一种中间件,为各种不同平台提供数据共享,应用程序通过调用 API而去执行应用程序的命令。
[0101] 服务器端的APK解析器能够获取每个APK中权限和每个组件的情况和进程情况, 由于Android的开放性,具有更丰富的软件资源,使用APK解析器应用更广泛。
[0102] 例如,可以在云端建立应用市场中所有应用的包名和类名、其中广播组件的组件 名称、针对广播组件推荐是否禁用的状态之间的映射关系,构造一云端数据表。由移动终端 的服务进程将本地应用汇总发送给云端,请求云端给出推荐表,以该推荐表来更新本地数 据表,从而实现安全防患的效果。
[0103] 在云端的数据表中,可以通过统计安装有以本发明实现的程序所收集的针对每个 应用是否禁用其自启动的数据增设数据表,通过该数据表来标记和保存目标应用的包名和 类名、该应用的广播组件、广播组件的组件名称之间的映射关系。
[0104] 移动终端可通过远程规则库接口发送到云端服务器的特征信息,包括:Android 安装包的包名,和/或,版本号,和/或,数字签名,和/或,Android组件receiver的特征, 和/或,Android组件service的特征,和/或,Android组件activity的特征,和/或,可 执行文件中的指令或字符串,和/或,Android安装包目录下各文件的MD5值(签名)。
[0105] 各项软件对应的权限的系统参数的参数值分别与预置的参数库中保存的参数值 进行匹配。参数库中保存有已被识别的多项默认参数值;预置的参数库的数据需要对海量 环境数据挖掘统计得出,经过发明人对终端模拟器的设计结构进行分析和统计,除了以上 的权限,包名,版本号等的信息,还可以包括,通信号码、硬件设备号、运营商代码、语音信箱 号码、终端型号、编译标签、硬件编号、终端品牌、终端名称、应用设备、应用处理器、终端制 造商、主板平台、建立产品、系统指纹、模拟类型等。
[0106] 在另一个实施例中,服务器端可采用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可根据对比验证结果生成相 应的报表。
[0107] 以Android为例,移动终端与PC机连接的方式如下:
[0108] (1)移动终端需要打开USB调试模式,以允许PC机对移动终端进行通信和控制。 Android系统默认是关闭USB调试模式的,因此需要用户手动打开。优选地,可以增加一个 用户引导,提示用户开启USB调试模式的的方法。
[0109] 其中,每种类型的移动终端对于开启USB调试模式的方式不同,因此可以汇总目 前已有的Android移动终端打开USB调试模式的方法,根据用户的机型进行提示。
[0110] (2)打开USB调试之后,使用数据线把移动终端连接到PC机上。PC中的查毒工具 (例如急救箱)会枚举USB设备,并判断是否是移动终端设备,如果是,就试图通过socket 与手机内部的ADB(AndroidDebugBridge,调试桥)Server进程通信,并完成移动终端与 PC机的通信工作的初始化。
[0111] 在PC端可以启动模拟服务器。模拟服务器(MockServer)是一个API能够模仿任 何通过HTTP连接的服务器或服务,如REST或RPCservice。提供Java和JavaScript两种 API。本实施例中模拟服务器基于HTTP用于接受REST请求。
[0112] 对移动产品升级的进行自动化测试时,需要将升级的测试用例推送到移动终端 上,由移动终端进行测试。
[0113] 在上述步骤S5中,对比验证有三种方式,这三种方式均可独立进行。
[0114] 第一种验证方式是权限验证,将手机端识别出的第三方APK中的permissions中 包含的权限(要申请的权限)与服务器端自动生成的Job中所包含的权限(即安全软件对 该第三方APK解析出的权限)进行对比验证。
[0115] 应用软件权限可包括:应用自启,读短信,显示通知,联网,添加悬浮窗,获取位置 信息,使用话筒录音,打开摄像头,打开移动网络开关,拨打电话,发送短信,获取手机号,读 取通话记录,读取通信录,读取短信,写通话记录,写通信录,写短信,读取精确地理位置,读 取粗略地理位置,录音,打开摄像头,打开wifi开关,打开蓝牙开关,读取已安装应用列表, 获取设备id,及其他可能涉及到隐私数据的接口。Android也有很多权限,例如:
[0116] 访问网络连接的权限,android,permission.INTERNET
[0117]获取应用大小的权限,android, permission. GET_PACKAGE_SIZE
[0118] 获取任务信息的权限,android,permission.GET_TASKS
[0119] 安装应用程序的权限,android,permission.INSTALL_PACKAGES
[0120] 账户管理的权限
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1