应用程序的测试方法、客户端及系统与流程

文档序号:19799325发布日期:2020-01-31 14:47阅读:202来源:国知局
应用程序的测试方法、客户端及系统与流程

本发明涉及计算机系统的测试领域,尤其涉及一种应用程序的测试方法、客户端及系统。



背景技术:

传统的个人计算机(pc)客户端通过浏览器(browser)浏览和访问远端提供的服务,如新闻资讯、搜索、社交等服务,安卓(android)客户端、ios客户端等基于移动终端的客户端也不例外。比如,android客户端访问远端服务通常有两种方式:一是与传统pc客户端相同,通过android客户端提供的浏览器(可以是android客户端自带的浏览器或者是第三方浏览器)来访问远端服务;二是android客户端的应用程序(app)还可以通过自身内嵌的浏览器组件访问远端服务,这种app也被称为内置有浏览器组件的app。目前,第二种方式被更普遍地使用,如手机qq、微信、微博等app都是通过其内置浏览器组件访问远端服务的。

如今,基于移动终端的app(如android客户端的app)以极快的速度增长,各分类领域的app层出不穷。不规范的管理和准入规则导致app的安全面临很大的挑战。尤其是对基于开放式操作系统平台的app而言,如android客户端的各种app,浏览器安全问题显得尤为突出。有不少app的浏览器安全漏洞会对用户的隐私数据造成严重威胁,这些用户隐私数据可能会被本地安装的恶意软件窃取,甚至可能被远端的恶意第三方软件控制和利用。例如,本地恶意软件或者远端的第三方软件可以对一浏览器或者内置于一app的浏览器组件进行恶意攻击,使其加载恶意网页文件,进而窃取到该浏览器或者该app的隐私文件的内容(如用户帐号、聊天记录、交易记录等)。

目前,业界存在一些针对浏览器和内置有浏览器组件的app的测试技术,以检验被测的app(浏览器或内置有浏览器组件的app)是否能够抵御上述的恶意攻击,但这些技术都属于静态白盒测试,需要人工介入,依赖人的经验,因此测试效率不高、测试结果不准确。



技术实现要素:

有鉴于此,本发明实施例提供了一种应用程序的测试方法、客户端及系统,能够在被测应用程序运行的过程中自动发现应用程序的安全漏洞。

本发明实施例的技术方案是这样实现的:

本发明实施例提供了一种应用程序的测试方法,其中,被测应用程序为浏览器或者内置浏览器组件的应用程序,预先创建一网页文件,其包含用于模拟恶意攻击行为的所述被测应用程序可执行的代码;该方法应用于测试客户端,当进行测试时,该方法包括:所述测试客户端尝试将所述网页文件的链接地址提供给所述被测应用程序,以使所述被测应用程序当通过所述链接地址加载所述网页文件时,通过执行所述网页文件包含的所述代码来尝试读取所述被测应用程序的私有目录下隐私文件的内容;如果读取到所述隐私文件的内容,则所述被测应用程序通过本地终端设备发送携带所述隐私文件的内容的消息至测试服务器,以使所述测试服务器根据来自所述被测应用程序的消息确定所述被测应用程序是否存在安全漏洞。

本发明实施例还提供了一种应用程序的测试客户端,其中,被测应用程序为浏览器或者内置浏览器组件的应用程序,所述测试客户端至少包括:地址提供模块,用于尝试将一网页文件的链接地址提供给所述被测应用程序,所述网页文件为预先创建的,其包含用于模拟恶意攻击行为的所述被测应用程序可执行的代码,以使所述被测应用程序当通过所述链接地址加载所述网页文件时,通过执行所述网页文件包含的所述代码来尝试读取所述被测应用程序的私有目录下隐私文件的内容;如果读取到所述隐私文件的内容,则所述被测应用程序通过本地终端设备发送携带所述隐私文件的内容的消息至测试服务器,以使所述测试服务器根据来自所述被测应用程序的消息确定所述被测应用程序是否存在安全漏洞。

本发明实施例进一步提供了一种应用程序的测试系统,用于对至少一个被测应用程序进行测试,所述被测应用程序为浏览器或者内置浏览器组件的应用程序;所述测试系统包括至少一个测试客户端和测试服务器,其中:每一测试客户端用于尝试将一网页文件的链接地址提供给所述至少一个被测应用程序中的任一者,所述网页文件为预先创建的,其包含用于模拟恶意攻击行为的所述被测应用程序可执行的代码;其中,每一被测应用程序当通过所述链接地址加载所述网页文件时,通过执行所述网页文件包含的所述代码来尝试读取该被测应用程序的私有目录下隐私文件的内容;如果读取到所述隐私文件的内容,则该被测应用程序通过本地终端设备发送携带所述隐私文件的内容的消息至所述测试服务器;所述测试服务器,用于根据来自所述至少一个被测应用程序中任一者的消息确定该被测应用程序是否存在安全漏洞。

本发明实施例所提供的上述测试方法、客户端及系统能提供动态的自动化测试,进而能提高测试效率及准确度。

附图说明

为了更清楚的说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来说,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。其中,

图1为本发明实施例所涉及的实施环境示意图;

图2为依据本发明一实施例的测试方法的流程示意图;

图3为本发明一实施例所提供的模拟本地调用攻击的测试方法示意图;

图4为本发明一实施例所提供的模拟远程发送攻击的测试方法示意图;

图5为本发明一实施例所提供的模拟中间人截获攻击的测试方法示意图;

图6为依据本发明一实施例的测试客户端的装置结构示意图;

图7为依据本发明一实施例的测试系统的结构示意图。

具体实施方式

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

图1为本发明实施例所涉及的实施环境示意图。参见图1,该测试系统包括:被测app101、测试客户端102和测试服务器103。其中,被测app101所在的系统客户端可以是android客户端、ios客户端等基于移动终端的客户端,也可以是windows等pc客户端,被测app101可以是系统客户端自带的浏览器,也可以是系统客户端中安装的一内置有浏览器组件的app。

此外,被测app101与测试客户端102可以位于同一物理实体,也可以通过网络连接,测试客户端102用于为被测app101提供恶意网页文件的地址链接,以便模拟对被测app101的恶意攻击,被测app101受到恶意攻击后所产生的反馈消息会发送给测试服务器103,测试服务器103通过解析所收到的反馈消息来确定测试结果,可以包括:确定被测app101是否能够抵御恶意攻击(即是否具有安全漏洞)以及具有何种安全漏洞等等。

本发明实施例中,测试服务器103可以通过网络和被测app101进行远程通信,也可以和被测app101进行本地通信。测试服务器104也可以和测试客户端102通过网络进行远程通信或者进行本地通信。本发明对此不作限定。

上述的被测app101、测试客户端102和测试服务器103可以为软件或硬件实现,它们可以位于相同或不同的物理实体中,它们中的任一者可以位于任一具有数据计算处理功能的设备,包括但不限于台式计算机、智能手机、掌上电脑、平板电脑等。

基于上述实施环境,以下结合方法流程图对本发明实施例提供的测试方法加以详述。如图2所示,该测试方法包括如下步骤:

步骤201:预先创建一网页文件,其包含用于模拟恶意攻击行为的代码,此网页文件也可称为恶意网页文件。这里,该网页文件可以是超级文本标记语言(html,hypertextmarkuplanguage)文件,其中包含的代码是浏览器或浏览器组件可执行的程序代码。

步骤202:当对一被测应用程序101进行测试时,测试客户端102将步骤201所创建的网页文件的链接地址(如:url)提供给该被测应用程序101。

这里,如果被测应用程序101在测试客户端102的本地,则测试客户端102可通过本地调用的方式将网页文件的链接地址提供给被测应用程序101;如果被测应用程序101在测试客户端102的远端,则测试客户端102需要通过网络远程发送该网页文件的链接地址给被测应用程序101。

在一个实例中,被测应用程序101位于一终端设备,是该终端设备的android客户端所安装的一个应用程序,测试客户端102也位于该终端设备,是该android客户端所安装的一个恶意软件。此时,测试客户端102可通过操作系统的内部通信消息,如android平台的意图(intent)消息,尝试调用被测应用程序101并将该网页文件的链接地址传入被测应用程序101。如果测试客户端102通过诸如intent消息这种操作系统的内部通信消息成功调用了被测应用程序101,则该网页文件的链接地址可通过该内部通信消息被传入被测应用程序101。这里,某些应用程序而言可能具有一些安全防御措施,因此,被测应用程序101有可能不会被测试客户端102成功调用,此时,网页文件的链接地址就不能被成功传入被测应用程序101,进而被测应用程序101无法窃取到指定目录地址下的隐私文件。

步骤203:当被测应用程序101通过上述链接地址加载上述网页文件时,被测应用程序101通过执行该网页文件包含的上述模拟恶意攻击的代码来尝试读取被测应用程序101的私有目录下隐私文件的内容。如果读取到该隐私文件的内容,则被测应用程序101发送携带该隐私文件的内容的消息至测试服务器103,以使测试服务器103根据接收到的消息确定被测应用程序101是否存在安全漏洞。其中,如被测应用程序101位于测试服务器103的远端,则被测应用程序101可通过自身所在的终端设备及网络发送消息至测试服务器103。

这里,某些应用程序而言可能具有一些安全防御措施,因此,被测应用程序101有可能不会读取到上述隐私文件的内容,此时,被测应用程序101也可以发送指示未读取到隐私文件内容的消息给测试服务器103。测试服务器103在收到来自被测应用程序101的消息之后,可对消息进行分析(比如:识别其中携带的指示信息和/或对其中携带的内容进行特征匹配)以确定被测应用程序101是否读取到隐私文件的内容(即本次恶意攻击是否成功),如能读取到隐私文件的内容,则说明被测应用程序101存在安全漏洞。

采用上述实施例,可在被测应用程序运行时实现动态的自动测试,无需人工干预,可以显著提高测试效率和准确率。

在一实施例中,上述网页文件的代码可用于模拟更隐秘的攻击行为。当被测应用程序101通过该网页文件的链接地址加载该网页文件时,被测应用程序101通过执行该网页文件的代码,展示一预设页面并延迟响应预定的时间。这里,由于被测应用程序101刚加载该网页文件时,会展示一预设页面,该预设页面可使被测应用程序的用户意识不到该页面文件正在进行攻击行为,进而不能及时采取防御措施。之后,被测应用程序101通过执行该网页文件的代码,在所述预定的时间到达时再尝试读取其私有目录下隐私文件的内容。

本发明实施例所提供的测试方法能够模拟多种恶意攻击行为,包括:本地调用攻击、远程发送攻击、中间人截获攻击等,进而可以对被测应用程序的防御能力进行多方面的测试,以下结合附图对模拟这三种恶意攻击行为的测试方法加以详述。

一、模拟本地调用攻击的测试

此种情况下,测试客户端102位于被测应用程序(被测app)101的本地终端设备,其可以模拟被测app101本地安装的恶意软件的攻击行为;上述的网页文件被创建在本地终端设备中测试客户端102的私有目录下,并且其属性被设置为第三方可读写且可执行,这样,被测app101才能加载该网页文件。

如图3所示,本发明一实施例所提供的模拟本地调用攻击的测试方法包括以下步骤:

步骤301:预先创建一恶意html文件p1,该html文件p1中包含用于模拟本地调用攻击的代码,该html文件p1被存放在上述本地终端设备中测试客户端102的私有目录下。

步骤302:测试客户端102通过其所在操作系统的内部通信消息尝试调用被测app101并传入上述html文件p1的链接地址(即该html文件p1所存放的测试客户端102的私有目录地址)。

这里,如测试客户端102和被测app101是安装在android客户端上的,则可以通过android平台的intent消息来尝试调用被测app101;如果被测app101是浏览器,则调用的是被测app101的浏览器接口,而如果被测app101是内置浏览器组件的app,则调用的是被测app101的浏览器组件接口。

对于浏览器及内置有浏览器组件的app而言,除了支持通过url访问到远端服务,通常都会默认支持通过本地文件访问协议(即file协议)加载、浏览本地文件系统中的页面文件,这种页面文件的url是以“file://”为前缀的。例如,在android客户端接收或者下载文件后,需要通过浏览器或某app内置的浏览器组件加载一页面文件来显示该文件,此时就需要浏览器或该app内置的浏览器组件支持file协议来实现这种功能。在步骤302中,测试客户端102通过本地调用传入被测app101的链接地址可以是以“file://”为前缀的url,如“file:///data/data/com.example.test/p1”(此时,上述html文件p1保存在目录地址“/data/data/com.example.test”之下)者“file:///data/data/com.tencent.mobileqq/aaa.html”(此时,上述html文件p1保存在目录地址“/data/data/com.tencent.mobileqq”之下)等。

步骤303:如果被测app101被成功调用并被传入了上述html文件p1的链接地址,则被测app101通过该链接地址访问本地存放的html文件p1并加载该html文件p1,进而开始执行该html文件p1中的代码。

在一个实施例中,在执行上述步骤303的同时可同步执行步骤304:测试客户端102如成功调用被测app101并传入上述html文件p1的链接地址,则删除本地存放的上述html文件p1,通过操作系统命令以及预先设置的上述html文件p1的链接地址,尝试建立被测app101的私有目录下隐私文件p2到该html文件p1的软链接,即将该html文件p1重定向到隐私文件p2。这里,如测试客户端102和被测app是安装在android客户端上的,则可通过linux软链接命令(in-s)来尝试建立上述软链接。之后,执行步骤305:在测试客户端102成功建立起上述软链接后,被测app101通过执行上述html文件p1中的代码来尝试通过该软链接读取隐私文件p2的内容。这里,被测app101已获知html文件p1的链接地址,同时已在步骤304建立了隐私文件p2到该html文件p1的软链接,则当通过该链接地址加载文件时,被测app101实际上通过该软链接加载的是隐私文件p2,进而能够尝试读取隐私文件p2的内容。

在另一个实施例中,步骤303中,在被测app101通过该链接地址访问本地存放的html文件p1并首次加载该html文件p1之后,进一步包括:被测app101通过执行该html文件p1中的代码,展示一预设页面并延迟响应预设的时间。这里,该预设页面的样式可以随意设置,目的是为了模拟更隐秘的攻击以使用户意识不到被测app101受到了恶意攻击。在被测app101延时响应等待的时间,测试客户端102执行上述步骤304以尝试建立上述软链接。在延时响应的预设时间到达时,执行步骤305:被测app101通过执行该html文件p1中的代码再次通过上述链接地址加载文件,此时,如果测试客户端102已成功建立起上述软链接,则被测app101实际上通过该软链接加载的是隐私文件p2,进而能够尝试读取隐私文件p2的内容。

在上述步骤304中,测试客户端102尝试建立被测app101的私有目录下隐私文件p2到该html文件p1的软链接时,测试客户端102是根据预设的隐私文件p2的目录地址和该html文件p1的链接地址来尝试建立软链接的。这里,根据被测app101的类型以及隐私文件的类型,可以确定其隐私文件的目录地址,进而可以在测试客户端102中预设此隐私文件的目录地址。比如,隐私文件通常为被测app101目录下保存数据的文档,如db数据文件;对于android客户端中安装的被测app而言,其隐私文件的目录地址是可以预先确定的,如:为了便于统一化测试操作,可以以hosts文件的目录地址“/data/data/被测app目录/../../../../hosts”作为测试时指定的隐私文件的私有目录地址。

步骤306:在被测app101成功读取到隐私文件p2的内容之后,发送携带该隐私文件p2的内容的消息至测试服务器103。进一步的,如果被测app101未成功读取到隐私文件p2的内容,也可以发消息给测试服务器103,该消息可指示其未读取到隐私文件p2的内容。这里,如上述步骤302~305中任一者未能成功执行,被测app101就未能成功读取到隐私文件p2的内容。

步骤307:测试服务器103从被测app101接收消息,并通过对消息的分析来确定被测app101是否读取到隐私文件p2的内容,进而确定被测app101是否具有安全漏洞。这里,测试服务器103可以解析所收到的消息内容,对消息内容进行特征匹配等处理,如果从该消息中解析得到隐私数据(用户账号、密码、聊天记录、银行账号、交易记录等等),则说明被测app101读取到了隐私文件p2的内容,其不能防御此种本地调用攻击,被测app101具有安全漏洞;如果从该消息中解析得到代表未读取到隐私文件p2的内容的指示,则说明本测试方法所模拟的本地调用攻击未能成功窃取到被测app101的隐私数据,被测app101可以防御此种恶意攻击,被测app101不具有安全漏洞。

二、模拟远程发送攻击的测试

此种情况下,测试客户端102位于被测app101的远程终端设备,其可以模拟被测app101的远端恶意软件的攻击行为;上述的网页文件被创建在网络中的任一站点设备中,该站点设备可以是被测app101所在本地终端设备可访问的任一远程网络设备。

如图4所示,本发明一实施例所提供的模拟远程发送攻击的测试方法包括以下步骤:

步骤401:预先创建一恶意html文件p1,该html文件p1中包含用于模拟远程发送攻击的代码,还包含被测app101的用于存放隐私文件p2的私有目录地址,该html文件p1被存放在网络中的任一站点设备中。

步骤402:测试客户端102通过网络发送该html文件p1的链接地址给被测app101。

步骤403:如果被测app101成功接收到该html文件p1的链接地址,则被测app101通过该链接地址访问站点设备中存放的html文件p1并加载该html文件p1,进而开始执行该html文件p1中的代码。

步骤404:被测app101通过执行该html文件p1中的代码,尝试根据该html文件p1中包含的上述私有目录地址而加载隐私文件p2,进而尝试读取隐私文件p2的内容。

在一实施例中,步骤403中,在被测app101通过该链接地址首次加载该html文件p1之后,进一步包括:被测app101通过执行该html文件p1中的代码,展示一预设页面并延迟响应预设的时间。在延时响应的预设时间到达时,执行上述步骤404。这里,通过首次加载该html文件p1时展示预设页面并延迟响应,可以模拟更隐秘的恶意攻击,使用户在首次加载该html文件p1时意识不到该html文件p1正在进行攻击行为。

步骤405:在被测app101成功读取到隐私文件p2的内容之后,发送携带该隐私文件p2的内容的消息至测试服务器103。进一步的,如果被测app101未成功读取到隐私文件p2的内容,也可以发消息给测试服务器103,该消息可指示其未读取到隐私文件p2的内容。这里,如上述步骤402~404中任一者未能成功执行,被测app101就未能成功读取到隐私文件p2的内容。

步骤406:测试服务器103从被测app101接收消息,并通过对消息的分析来确定被测app101是否读取到隐私文件p2的内容,进而确定被测app101是否具有安全漏洞。

上述步骤405和406的具体实现与前述的步骤306和307相同,这里不再赘述。

三、模拟中间人截获攻击的测试

此种情况下,测试客户端102位于被测app101的远程终端设备,其可以模拟被测app101的远端恶意软件的攻击行为;上述的网页文件被创建在网络中的任一站点设备中,该站点设备可以是被测app101所在本地终端设备可访问的任一远程网络设备。

如图5所示,本发明一实施例所提供的模拟中间人截获攻击的测试方法包括以下步骤:

步骤501:预先创建一恶意html文件p1,该html文件p1中包含用于模拟远程发送攻击的代码,还包含被测app101的用于存放隐私文件p2的私有目录地址,该html文件p1被存放在网络中的任一站点设备中。

步骤502:测试客户端102从网络中截获被测app101发出的数据包,生成对应于该数据包的响应包(或者称为响应消息),并将该html文件p1的链接地址携带在该响应包中,再发送该响应包给被测app101。

步骤503:如果被测app101成功接收到携带该html文件p1的链接地址的响应包,则被测app101提取该响应包中的该html文件p1的链接地址,并通过该链接地址访问站点设备中存放的html文件p1并加载该html文件p1,进而开始执行该html文件p1中的代码。

步骤504:被测app101通过执行该html文件p1中的代码,尝试根据该html文件p1中包含的上述私有目录地址而加载隐私文件p2,进而尝试读取隐私文件p2的内容。

在一实施例中,步骤503中,在被测app101通过该链接地址首次加载该html文件p1之后,进一步包括:被测app101通过执行该html文件p1中的代码,展示一预设页面并延迟响应预设的时间。在延时响应的预设时间到达时,执行上述步骤504。这里,通过首次加载该html文件p1时展示预设页面并延迟响应,可以模拟更隐秘的恶意攻击,使用户在首次加载该html文件p1时意识不到该html文件p1正在进行攻击行为。

步骤505:在被测app101成功读取到隐私文件p2的内容之后,发送携带该隐私文件p2的内容的消息至测试服务器103。进一步的,如果被测app101未成功读取到隐私文件p2的内容,也可以发消息给测试服务器103,该消息可指示其未读取到隐私文件p2的内容。这里,如上述步骤502~504中任一者未能成功执行,被测app101就未能成功读取到隐私文件p2的内容。

步骤506:测试服务器103从被测app101接收消息,并通过对消息的分析来确定被测app101是否读取到隐私文件p2的内容,进而确定被测app101是否具有安全漏洞。

以上本发明实施例可以模拟各种攻击行为,进而可以对被测应用程序做全面的测试。

基于上述方法实施例,本发明实施例还提供了一种应用程序的测试客户端,如图6所示,该测试客户端600至少包括:

地址提供模块601,其用于尝试将一网页文件的链接地址提供给被测应用程序,该网页文件为预先创建的,其包含用于模拟恶意攻击行为的该被测应用程序可执行的代码,以使该被测应用程序当通过该链接地址加载该网页文件时,通过执行该网页文件包含的上述代码来尝试读取该被测应用程序的私有目录下隐私文件的内容;如果读取到该隐私文件的内容,则该被测应用程序通过本地终端设备发送携带该隐私文件的内容的消息至测试服务器,以使该测试服务器根据从来自该被测应用程序的消息确定该被测应用程序是否存在安全漏洞。

在一实施例中,所提供的测试方法可模拟本地调用攻击,此时,测试客户端600位于被测应用程序的本地终端设备,测试客户端600进一步包括:存储模块603,用于在测试客户端600的私有目录下保存上述网页文件,其中,该网页文件的属性被设置为第三方可读写且可执行;此时,地址提供模块601,用于通过操作系统的内部通信消息尝试调用被测应用程序并将该网页文件的链接地址传入被测应用程序。测试客户端600还包括:软链接建立模块602,用于当被测应用程序通过被传入的链接地址加载上述网页文件时,删除存储模块603在测试客户端600的私有目录下保存的上述网页文件,并根据被测应用程序的隐私文件所在的私有目录地址和操作系统命令建立该隐私文件到该网页文件的链接地址的软链接,以使被测应用程序通过执行上述网页文件中的上述代码来尝试通过该软链接读取该隐私文件的内容。

在另一实施例中,当上述被测应用程序通过被传入的上述链接地址首次加载上述网页文件时,该被测应用程序通过执行所述代码,可进一步展示一预设页面并延迟响应预定的时间,在该预定的时间到达时加载上述链接地址,并在加载该链接地址时通过上述软链接尝试加载上述隐私文件以读取其中的内容。此时,上述软链接建立模块602,用于在该预定的时间内删除存储模块603中在测试客户端600的私有目录下保存的上述网页文件并建立上述软链接。

在又一实施例中,所提供的测试方法可模拟远程发送攻击或者中间人截获攻击,此时,测试客户端600位于被测应用程序的远程终端设备;上述网页文件包含该被测应用程序的上述隐私文件所在的私有目录地址。此时,上述地址提供模块601,用于当模拟远程发送攻击时尝试发送该网页文件的链接地址给该被测应用程序,或者,当模拟中间人截获攻击时尝试截获该被测应用程序发出的数据包,生成对应于所截获的该数据包的响应包,在该响应包中携带该网页文件的链接地址,再尝试发送该响应包给该被测应用程序。通过地址提供模块601的上述操作,可以使该被测应用程序通过执行该网页文件中的上述代码来尝试根据该网页文件中包含的上述私有目录地址读取上述隐私文件的内容。

另外,在本发明各个实施例中的各模块可以集成在一个处理单元中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

在一实施例中,该测试客户端600可包括:存储器610、处理器611、总线612、端口613。处理器611和存储器610通过总线612互联。处理器611可通过端口613接收和发送数据以实现网络通信。上述各模块601~603可以是存储器610中存储的机器可执行指令模块。处理器611通过执行存储器610中各个模块601~603中包含的机器可执行指令,进而能够实现上述各模块601~603的功能。其中,当地址提供模块601向远程设备中的被测应用程序提供上述网页文件的链接地址时,处理器611通过执行存储器610中地址提供模块601中的指令,可通过端口613发送该链接地址给远程设备的被测应用程序,或者截获远程设备的被测应用程序所发送的数据包,再通过端口613发送携带上述网页文件的链接地址的响应包给该远程设备的被测应用程序。

上述测试客户端600中,各个模块601~603实现各自功能的具体方法在前述方法实施例中均有描述,这里不再赘述。

本发明实施例还提供了一种应用程序的测试系统。如图7所示,该测试系统700包括:测试客户端701和测试服务器702。该测试系统700所测试的被测应用程序为浏览器或者内置浏览器组件的应用程序。

测试客户端701,用于尝试将一网页文件的链接地址提供给被测应用程序,该网页文件为预先创建的,其包含用于模拟恶意攻击行为的被测应用程序可执行的代码。

该被测应用程序当通过该链接地址加载该网页文件时,通过执行该网页文件包含的上述代码来尝试读取被测应用程序的私有目录下隐私文件的内容;如果读取到该隐私文件的内容,则被测应用程序通过本地终端设备发送携带该隐私文件的内容的消息至测试服务器702。

测试服务器702,其用于根据来自被测应用程序的消息确定被测应用程序是否存在安全漏洞。

关于被测应用程序、测试客户端701和测试服务器702在测试过程中的具体功能和实现原理在前述实施例中均有详述,这里不再赘述。

在一实施例中,测试系统700可实现对多个被测应用程序的批量测试,而针对每个被测应用程序的具体测试方法是与前述相同的。此时,测试系统700可包括多个测试客户端701,其中每一测试客户端701尝试将上述网页文件的链接地址提供给这些被测应用程序中的任一者,各个被测应用程序根据测试客户端701所提供的链接地址尝试读取隐私文件的内容并发送消息给测试服务器702,测试服务器702根据来自各个被测应用程序的消息分别确定各个被测应用程序是否存在漏洞。这样,测试系统700可以利用这些测试客户端701并行的对多个被测应用程序进行自动化的测试,可进一步提高测试效率。这里,多个测试客户端701可以位于多个硬件设备。

另外,本发明的每个实施例可以通过由数据处理设备如计算机执行的数据处理程序来实现。显然,数据处理程序构成了本发明。此外,通常存储在一个存储介质中的数据处理程序通过直接将程序读取出存储介质或者通过将程序安装或复制到数据处理设备的存储设备(如硬盘和或内存)中执行。因此,这样的存储介质也构成了本发明。存储介质可以使用任何类型的记录方式,例如纸张存储介质(如纸带等)、磁存储介质(如软盘、硬盘、闪存等)、光存储介质(如cd-rom等)、磁光存储介质(如mo等)等。

因此,本发明还公开了一种存储介质,其中存储有数据处理程序,该数据处理程序用于执行本发明上述方法的任何一种实施例。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

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