安全测试方法和装置的制造方法

文档序号:9765899阅读:575来源:国知局
安全测试方法和装置的制造方法
【技术领域】
[0001]本申请涉及计算机技术领域,具体涉及信息安全领域,尤其涉及安全测试方法和
目.0
【背景技术】
[0002]应用程序运行时,由于需要供第三方调用或其他原因,会暴露一些组件接口。这些组件可以被另一个应用进行调用,不适当的配置可能会造成组件被其他应用恶意启动而产生风险,即组件暴露风险。
[0003]现有技术在测试应用程序的组件暴露风险时,需要在有源代码的情况下方可执行,使得测试方法的应用受到限制。因此,需要提高对组件暴露风险进行测试时的灵活性。

【发明内容】

[0004]本申请的目的在于提出一种改进的安全测试方法和装置,来解决以上【背景技术】部分提到的技术问题。
[0005]第一方面,本申请提供了一种安全测试方法,所述方法包括:确定待测试应用中的暴露组件,其中所述暴露组件用于供外部应用调用以使所述待测试应用对外提供服务;使用预先构造的、用于触发所述暴露组件产生异常的参数调用所述暴露组件;测试调用过程中所述待测试应用是否存在拒绝服务。
[0006]在一些实施例中,所述异常包括以下任意一种:空指针异常、类型转换异常、数组溢出异常、类未定义异常、访问不存在组件异常。
[0007]在一些实施例中,所述确定待测试应用中的暴露组件,包括:解析所述待测试应用的信息描述文件以获取所述待测试应用的暴露组件的组件标识。
[0008]在一些实施例中,所述待测试应用为安卓应用。
[0009]在一些实施例中,所述信息描述文件为AndroidManifest.xml文件。
[0010]在一些实施例中,在所述检测调用过程中所述待测试应用是否存在拒绝服务之后,所述方法还包括:若调用过程中所述待测试应用存在拒绝服务,则生成用于指示所述待测试应用存在组件暴露风险的提示信息。
[0011]在一些实施例中,在所述检测调用过程中所述待测试应用是否存在拒绝服务之后,所述方法还包括:若调用过程中所述待测试应用存在拒绝服务,则收集执行测试所生成的日志信息;解析所述日志信息以对所述待测试应用进行问题定位。
[0012]第二方面,本申请提供了一种安全测试装置,所述装置包括:确定单元,用于确定待测试应用中的暴露组件,其中所述暴露组件用于供外部应用调用以使所述待测试应用对外提供服务;调用单元,用于使用预先构造的、用于触发所述暴露组件产生异常的参数调用所述暴露组件;测试单元,用于测试调用过程中所述待测试应用是否存在拒绝服务。
[0013]在一些实施例中,所述异常包括以下任意一种:空指针异常、类型转换异常、数组溢出异常、类未定义异常、访问不存在组件异常。
[0014]在一些实施例中,所述确定单元进一步用于:解析所述待测试应用的信息描述文件以获取所述待测试应用的暴露组件的组件标识。
[0015]在一些实施例中,所述待测试应用为安卓应用。
[0016]在一些实施例中,所述信息描述文件为AndroidManifest.xml文件。
[0017]在一些实施例中,所述装置还包括:生成单元,用于若调用过程中所述待测试应用存在拒绝服务,则生成用于指示所述待测试应用存在组件暴露风险的提示信息。
[0018]在一些实施例中,所述装置还包括:收集单元,用于若调用过程中所述待测试应用存在拒绝服务,则收集执行测试所生成的日志信息;解析单元,用于解析所述日志信息以对所述待测试应用进行问题定位。
[0019]本申请提供的安全测试方法和装置,通过构造异常参数来启动待测试应用中的暴露组件,以对待测试应用是否存在拒绝服务进行检测,不需要借助源代码,提高了组件暴露风险测试的应用范围。
【附图说明】
[0020]通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
[0021]图1是本申请可以应用于其中的示例性系统架构图;
[0022]图2是根据本申请的安全测试方法的一个实施例的流程图;
[0023]图3是根据本申请的安全测试方法的一个应用场景的示意图;
[0024]图4是根据本申请的安全测试方法的又一个实施例的流程图;
[0025]图5是根据本申请的安全测试装置的一个实施例的结构示意图;
[0026]图6是适于用来实现本申请实施例的终端设备或服务器的计算机系统的结构示意图。
【具体实施方式】
[0027]下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。
[0028]需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
[0029]图1示出了可以应用本申请的安全测试方法或安全测试装置的实施例的示例性系统架构100。
[0030]如图1所示,系统架构100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
[0031]用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种通讯客户端应用,例如网页浏览器应用、购物类应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等。
[0032]终端设备101、102、103可以是各种电子设备,包括但不限于智能手机、平板电脑、电子书阅读器、MP3播放器(Moving Picture Experts Group Aud1 Layer III,动态影像专家压缩标准音频层面3)、MP4(Moving Picture Experts Group Aud1 Layer IV,动态影像专家压缩标准音频层面4)播放器、膝上型便携计算机和台式计算机等等。
[0033]服务器105可以是提供各种服务的服务器,例如对终端设备101、102、103上运用的客户端应用提供支持的后台服务器。后台服务器可以对接收到的请求进行分析等处理,并将处理结果反馈给终端设备。
[0034]需要说明的是,本申请实施例所提供的安全测试方法一般由终端设备101、102、103执行,相应地,安全测试装置一般设置于终端设备101、102、103中。
[0035]应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
[0036]继续参考图2,示出了根据本申请的安全测试方法的一个实施例的流程200。所述的安全测试方法,包括以下步骤:
[0037]步骤201,确定待测试应用中的暴露组件。
[0038]在本实施例中,安全测试方法运行于其上的电子设备可以通过各种方法确定待测试应用中的暴露组件。待测试应用可以是电子设备上预先安装的各种需要进行测试的应用程序。参考图3,图3中的待测试应用302示出了待测试应用的模块结构示意图。待测试应用302可以由组件1、组件2、组件3、组件4等多个组件组成,每个组件实现特定的功能,各个组件协同合作,共同组成一个完整的应用程序。待测应用中的这些组件中可以包含对外暴露的、可供外部应用进行调用的暴露组件,例如组件I。
[0039]上述外部应用可以是上述电子设备或者其他设备上不同于上述待测试应用的其他应用程序。图3示出了外部应用调用待测试应用中暴露组件(组件I)的示意图。外部应用301可通过启动组件I执行相应的功能,例如发短信、发微博等。组件I在被调用时,待测试应用302可以对外提供与该组件对应的服务。待测试应用302在提供服务时,可以通过有线或无线方式与服务器进行数据传输,以借助服务器进行数据处理。需要指出的是,上述无线连接方式可以包括但不限于3G/4G连接、WiFi连接、蓝牙连接、WiMAX连接、Zigbee连接、UWB(ultra wideband)连接、以及其他现在已知或将来开发的无线连接方式。
[0040]步骤202,使用预先构造的、用于触发上述暴露组件产生异常的参数调用暴露组件。
[0041]在本实施例中,基于步骤
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1