用于移动终端系统的应用安全测试方法、装置及测试工具与流程

文档序号:11250781阅读:1316来源:国知局
用于移动终端系统的应用安全测试方法、装置及测试工具与流程

本发明涉及测试领域,尤其涉及一种用于移动终端系统的应用安全测试方法、装置及测试工具。



背景技术:

手机等移动终端的操作系统如安卓(android)系统中一般有几十种应用,供用户使用。但是这些应用是否安全,即是否存在泄露用户个人信息如电话号码、通信录、账户及密码等安全隐患,则需要进行测试。

目前,移动终端的应用安全测试方式不仅少,而且作用单一。如android系统的应用安全测试大都通过以下两种方式实现:

一种方式是安卓安装包(androidpackage,apk)形式,测试时将测试程序安装入手机,依次点击apk提供的功能并人工对其结果进行分析。

另一种方式是通过通用串行总线(universalserialbus,usb)与手机相连,通过在命令行中不断地输入命令进行测试。

在实现本发明的过程中,发明人发现现有技术中至少存在如下技术问题:

由于上述两种测试方式功能单一且都由人工操作执行,导致移动终端的应用安全测试繁复,测试效率大大降低。如以apk形式对系统中的几十种应用进行测试,需要进行几十次安装,导致测试时间过长,大大降低了测试效率。第二种则需要人工针对每项应用安全测试输入命令,操作不仅繁复,而且准确性低,导致测试效率低下。



技术实现要素:

本发明提供的用于移动终端系统的应用安全测试方法、装置及测试工具,能够提升移动终端的应用安全测试效率。

第一方面,本发明提供一种用于移动终端系统的应用安全测试方法,由测试工具执行,包括:

接收用于进行至少两项应用安全检测的测试指令;

根据所述测试指令,将相应的应用安全检测命令发送给待测试的移动终端,其中,所述相应的应用安全检测命令与所述至少两项应用安全检测相对应,用于指示所述移动终端进行所述至少两项应用安全检测;

接收所述移动终端返回的检测数据,其中,所述检测数据为所述移动终端执行所述至少两项应用安全检测的结果;

根据所述检测数据判断所述移动终端的系统中的安全隐患。

可选地,所述接收用于进行至少两项应用安全检测的测试指令,包括:

接收用于进行以下检测中的至少两项应用安全检测的测试指令:系统挂载检测、应用运行权限检测、日志敏感信息检测、文件系统权限检测和安全渗透工具检测。

可选地,所述根据所述测试指令,将相应的应用安全检测命令发送给待测试的移动终端之前,所述方法还包括:

接收配置指令,并根据所述配置指令配置敏感信息,以用于所述日志敏感信息检测。

可选地,所述根据所述检测数据判断所述移动终端的系统中的安全隐患,包括:

检查所述检测数据中是否包含有所述敏感信息,若所述检测数据中包含有 所述敏感信息,则判定所述移动终端的系统存在安全隐患;其中,敏感信息包括电话号码、通信内容、地理位置、联系人信息、账户、密码和日历活动信息中的至少一种信息。

可选地,所述根据所述测试指令,将相应的应用安全检测命令发送给待测试的移动终端,包括:

根据所述测试指令,将应用权限检测命令和意图发送检测命令中的至少一种命令发给所述移动终端。

第二方面,本发明提供一种用于移动终端系统的应用安全测试装置,设置于测试工具中,包括:

指令接收单元,用于接收用于进行至少两项应用安全检测的测试指令;

指令执行单元,用于根据所述测试指令,将相应的应用安全检测命令发送给待测试的移动终端,其中,所述相应的应用安全检测命令与所述至少两项应用安全检测相对应,用于指示所述移动终端进行所述至少两项应用安全检测;

数据接收单元,用于接收所述移动终端返回的检测数据,其中,所述检测数据为所述移动终端执行所述至少两项应用安全检测的结果;

安全分析单元,用于根据所述检测数据判断所述移动终端的系统中的安全隐患。

可选地,所述指令接收单元用于:

接收用于进行以下检测中的至少两项应用安全检测的测试指令:系统挂载检测、应用运行权限检测、日志敏感信息检测、文件系统权限检测和安全渗透工具检测。

可选地,所述装置还包括:

配置单元,用于在所述指令执行单元根据所述测试指令,将相应的应用安全检测命令发送给待测试的移动终端之前,接收配置指令,并根据所述配置指令配置敏感信息,以用于所述日志敏感信息检测。

可选地,所述安全分析单元用于:

检查所述检测数据中是否包含有所述敏感信息,若所述检测数据中包含有所述敏感信息,则判定所述移动终端的系统存在安全隐患;其中,敏感信息包括电话号码、通信内容、地理位置、联系人信息、账户、密码和日历活动信息中的至少一种信息。

可选地,所述指令执行单元用于:

根据所述测试指令,将应用权限检测命令和意图发送检测命令中的至少一种命令发给所述移动终端。

第三方面,本发明提供一种测试工具,所述测试工具包括上述用于移动终端系统的应用安全测试装置。

本发明实施例提供的用于移动终端系统的应用安全测试方法、装置及测试工具,由测试工具执行:接收用于进行至少两项应用安全检测的测试指令;根据所述测试指令,将相应的应用安全检测命令发送给待测试的移动终端,其中,所述相应的应用安全检测命令与所述至少两项应用安全检测相对应,用于指示所述移动终端进行所述至少两项应用安全检测;接收所述移动终端返回的检测数据,其中,所述检测数据为所述移动终端执行所述至少两项应用安全检测的结果;根据所述检测数据判断所述移动终端的系统中的安全隐患。与现有技术相比,本发明能够通过测试工具一次进行至少两项应用安全检测,不仅实现了用于移动终端系统的应用安全测试的自动化,而且实现了测试方式的功能多样 化,即一种测试工具具有多种测试功能,有效地提升了用于移动终端系统的应用安全测试的效率。

附图说明

图1为本发明实施例提供的一种用于移动终端系统的应用安全测试方法的流程图;

图2为本发明实施例提供的另一种用于移动终端系统的应用安全测试方法的流程图;

图3为本发明实施例提供的一种用于移动终端系统的应用安全测试装置的结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明实施例提供的用于移动终端系统的应用安全测试方法中,移动终端可以是具有数据处理和通信能力的便携式电子设备,如手机、个人数据助理(personaldigitalassistant,pda)、平板电脑等。这些移动终端中的操作系统可以是安卓(android)、苹果公司开发的移动操作系统ios、微软开发的手机操作系统wp(windowsphone)和windowsmobile等。

本发明实施例提供的用于移动终端系统的应用安全测试方法由测试工具执行,该测试工具与待测试的移动终端之间可通过usb连接。

本发明实施例提供的一种用于移动终端系统的应用安全测试方法参见图1,该方法包括:

s11、接收用于进行至少两项应用安全检测的测试指令。

例如,测试工具上可具备人机交互接口如键盘触摸屏等,测试人员可通过人机接口进行应用安全测试操作来下达测试指令,如打开测试程序,选择需要测试的应用安全项。测试工具接收通过该操作下达的测试指令。

示例性的,本操作即所述接收用于进行至少两项应用安全检测的测试指令,可包括:

接收用于进行以下检测中的至少两项应用安全检测的测试指令:系统挂载检测、应用运行权限检测、日志敏感信息检测、文件系统权限检测和安全渗透工具(如drozer)检测。即一个测试指令可用于进行多项应用安全检测。也就是说用户只需下达一个测试指令即可进行多项应用安全检测。

s12、根据所述测试指令,将相应的应用安全检测命令发送给待测试的移动终端,其中,所述相应的应用安全检测命令与所述至少两项应用安全检测相对应,用于指示所述移动终端进行所述至少两项应用安全检测。

本实施例中,待测试的移动终端即与测试工具通过usb相连的移动终端。

当步骤s11中接收的测试指令用于进行系统挂载检测和应用运行权限检测时,则测试工具向待测试的移动终端发送系统挂载检测命令和应用运行权限检测命令;当步骤s11中接收的测试指令用于进行日志敏感信息检测、文件系统权限检测和安全渗透工具检测时,则测试工具向待测试的移动终端发送日志敏感信息检测命令、文件系统权限检测命令和安全渗透工具检测命令;当步骤s11中接收的测试指令用于进行应用运行权限检测、日志敏感信息检测、文件系统 权限检测和安全渗透工具检测时,则测试工具向待测试的移动终端发送应用运行权限检测命令、日志敏感信息检测命令、文件系统权限检测命令和安全渗透工具检测命令;等等。只要测试工具向移动终端发送的指令与接收的测试指令所用于进行的应用安全测试项目一一对应即可,这里不再穷举。

例如,对基于安卓(android)平台(操作系统为安卓的手机)的应用安全测试中,各个应用安全检测项的实现原理大体一致,即以批处理的方式调用自开发单元或公开命令,使手机执行一些必要的操作。

本发明实施例中,测试工具可以批处理方式执行上述测试指令。当测试指令用于进行多项应用安全检测时,可将一系列命令放入可执行文件中,避免了手工每次输入且执行一条命令的弊端,且计算机执行速度远远高于手工输入速度,所以可以大大减少测试时间。

当进行安全渗透工具检测时,本发明实施例提供的用于移动终端系统的应用安全测试方法中,所述根据所述测试指令,将相应的应用安全检测命令发送给待测试的移动终端,包括:

根据所述测试指令,将应用权限检测命令和意图发送检测命令中的至少一种命令发给所述移动终端。

其中,应用权限检测命令主要是用来检测移动终端操作系统中各个应用是否存在权限滥用的现象。意图发送检测命令主要是用来检测安卓目的(androidintent)数据发送机制中是否存在使用空故意模糊(intentfuzz)时出现异常现象。

例如,drozer是开源的渗透测试工具,可对其进行扩展,使其具有更多功能,如在应用权限检测项中,可开发自定义drozer单元查找所有具有发送短信权限的应用。

s13、接收所述移动终端返回的检测数据,其中,所述检测数据为所述移动终端执行所述至少两项应用安全检测的结果。

移动终端执行上述步骤s12中测试工具发送的检测命令后,生成检测数据,并返回给测试工具,以用于安全分析。

s14、根据所述检测数据判断所述移动终端的系统中的安全隐患。

例如,对基于安卓平台(操作系统为安卓的手机)的应用安全测试中,测试工具使用一系列脚本对批处理命令的结果(即被测试手机返回的检测数据)进行分析,判断是否存在安全威胁。相对于现有技术使用代码处理来代替人工分析和判断,既可一劳永逸,节省时间,又可达到准确的效果。

本发明实施例提供的用于移动终端系统的应用安全测试方法中,由测试工具执行:接收用于进行至少两项应用安全检测的测试指令;根据所述测试指令,将相应的应用安全检测命令发送给待测试的移动终端,其中,所述相应的应用安全检测命令与所述至少两项应用安全检测相对应,用于指示所述移动终端进行所述至少两项应用安全检测;接收所述移动终端返回的检测数据,其中,所述检测数据为所述移动终端执行所述至少两项应用安全检测的结果;根据所述检测数据判断所述移动终端的系统中的安全隐患。与现有技术相比,本发明能够通过测试工具一次进行至少两项应用安全检测,不仅实现了用于移动终端系统的应用安全测试的自动化,而且实现了测试方式的功能多样化,即一种测试工具具有多种测试功能,有效地提升了用于移动终端系统的应用安全测试的效率。

例如,本发明实施例提供的用于移动终端系统的应用安全测试方法以批处理方式实现安卓系统安全测试的自动化,即能够融合多种测试工具和测试方法, 形成一个适用于安卓系统安全测试的项目集合(即达到了一种工具多种功能的效果),且将其自动化。这样,测试人员只需在测试前修改配置文件,并进行少量操作,几分钟即可完成对安卓系统应用的安全测试,减少了测试过程中的重复性操作,并采用一系列脚本对检测数据进行分析处理,提高了测试效率。进一步地,对现有渗透工具(如drozer)的扩展进行开发,使其具有更多测试功能,如应用权限检测功能和内容(intent)发送功能等,进一步提升了测试效率。

可选地,当上述测试指令用于进行日志敏感信息检测时,所述根据所述测试指令,将相应的应用安全检测命令发送给待测试的移动终端之前,本发明实施例提供的用于移动终端系统的应用安全测试方法还可包括:

接收配置指令,并根据所述配置指令配置敏感信息,以用于所述日志敏感信息检测。

当测试工具发送给待测试的移动终端的检测命令包含日志敏感信息检测命令时,本发明实施例提供的用于移动终端系统的应用安全测试方法中,所述根据所述检测数据判断所述移动终端的系统中的安全隐患,可包括:

检查所述检测数据中是否包含有所述敏感信息,若所述检测数据中包含有所述敏感信息,则判定所述移动终端的系统存在安全隐患;其中,敏感信息包括电话号码、通信内容、地理位置、联系人信息、账户、密码和日历活动信息中的至少一种信息。

本发明实施例提供的另一种用于移动终端系统的应用安全测试方法参见图2。图2所示方法应用于操作系统为安卓的手机。如图2所示,该方法包括:

s21、测试工具接收用于进行系统挂载检测、应用运行权限检测、日志敏感信息检测、文件系统权限检测和安全渗透工具drozer检测的测试指令。

s22、测试工具按照的用户操作配置敏感信息,也即必要关键字信息。

测试之前需要设置发送短信内容、收件人号码、拨号号码、邮件信息等敏感信息。

s23、系统挂载检测。

主程序调用系统挂载检测单元的代码,检测手机分区的挂载信息是否合法,并将检测结果写入指定文件中。

s24、应用运行权限检测。

主程序调用应用运行权限检测单元的代码,并分析应用是否越权运行,并将结果写入指定文件。

s25、日志敏感信息检测。

测试者使用配置信息进行发短信、打电话等操作,程序后台会获取日志信息并分析出日志中是否包含地理位置、通信内容等相关信息。如果检测到敏感信息,程序会将其写入指定文件中。

s26、文件系统权限检测。

主程序调用文件系统检测单元的代码,检测android内核文件系统各个文件的读写权限是否合理,并将有风险的文件信息写入指定文件。

s27、drozer检测。

主程序调用开源渗透测试工具drozer,并使其执行相关命令,检测系统中是否有debuggable应用、是否有不合法的暗码、是否有存在注入攻击的provider等。另外,drozer中还集成了一些自开发单元,用来检测系统中各个应用是否存在权限滥用的现象、是否存在使用空intentfuzz时出现异常现象等。

上述步骤s23-步骤s27的顺序可调,本发明实施例不做限制。步骤s22的执 行顺序也无限定,只需在上述步骤s25之前执行即可。

本发明实施例提供的用于移动终端系统的应用安全测试装置,设置于测试工具中,用于执行上述实施例提供的用于移动终端系统的应用安全测试方法。

本发明实施例提供的一种用于移动终端系统的应用安全测试装置参见图3,包括:

指令接收单元31,用于接收用于进行至少两项应用安全检测的测试指令;

指令执行单元32,用于根据所述测试指令,将相应的应用安全检测命令发送给待测试的移动终端,其中,所述相应的应用安全检测命令与所述至少两项应用安全检测相对应,用于指示所述移动终端进行所述至少两项应用安全检测;

数据接收单元33,用于接收所述移动终端返回的检测数据,其中,所述检测数据为所述移动终端执行所述至少两项应用安全检测的结果;

安全分析单元34,用于根据所述检测数据判断所述移动终端的系统中的安全隐患。

本发明实施例提供的用于移动终端系统的应用安全测试装置,通过指令接收单元接收用于进行至少两项应用安全检测的测试指令;通过指令执行单元根据所述测试指令,将相应的应用安全检测命令发送给待测试的移动终端;通过数据接收单元接收所述移动终端返回的检测数据;通过安全分析单元根据所述检测数据判断所述移动终端的系统中的安全隐患。与现有技术相比,本发明能够通过测试装置一次进行至少两项应用安全检测,不仅实现了用于移动终端系统的应用安全测试的自动化,而且实现了测试方式的功能多样化,即一种测试工具具有多种测试功能,有效地提升了用于移动终端系统的应用安全测试的效率。

可选地,所述指令接收单元31用于:

接收用于进行以下检测中的至少两项应用安全检测的测试指令:系统挂载检测、应用运行权限检测、日志敏感信息检测、文件系统权限检测和安全渗透工具检测。

可选地,所述装置还包括:

配置单元,用于在所述指令执行单元32根据所述测试指令,将相应的应用安全检测命令发送给待测试的移动终端之前,接收配置指令,并根据所述配置指令配置敏感信息,以用于所述日志敏感信息检测。

可选地,所述安全分析单元34用于:

检查所述检测数据中是否包含有所述敏感信息,若所述检测数据中包含有所述敏感信息,则判定所述移动终端的系统存在安全隐患;其中,敏感信息包括电话号码、通信内容、地理位置、联系人信息、账户、密码和日历活动信息中的至少一种信息。

可选地,所述指令执行单元32用于:

根据所述测试指令,将应用权限检测命令和意图发送检测命令中的至少一种命令发给所述移动终端。

本发明实施例还提供一种测试工具,所述测试工具包括上述用于移动终端系统的应用安全测试装置。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(read-onlymemory, rom)或随机存储记忆体(randomaccessmemory,ram)等。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1