中兴 20 5g音频测试软件,中兴zSpider智能测试平台 铸就5G产品安全利器

5G安全面临挑战

在国家互联网应急中心(CNCERT) 2020年4月20日发布的《2019年我国互联网网络安全态势综述》报告中,特别提出5G等新技术安全将成为2020年网络安全领域值得关注的热点。

5G作为万物互联的基础技术,其安全的重要性不言而喻。面对MEC等复杂的部署环境以及服务化通用协议的引入,5G产品本身需要具备强大安全能力,通过在基础协议栈层面实现健壮性,抵御各层协议消息的潜在攻击,确保设备稳定可靠运行。

中兴通讯在深耕5G技术的同时更加注重5G产品的安全交付,高质量全覆盖的安全测试是产品交付必不可少的安全保障手段。

模糊测试,构建5G安全基础

模糊测试可以应对产品协议安全风险带来的不确定性,模拟用户向系统发送随机的、格式多样的信息来测试5G产品的协议健壮性,发现潜在的未知漏洞,将安全风险降到最低。

业界现有模糊测试工具如Defensics等在使用时存在一些限制:测试路径依赖于工具预定义模型,灵活性差,无法做到按需更改;模糊测试策略单一,针对某一特定协议,无法做到同时实施多种模糊手段进行测试;简单执行模糊测试用例,无法综合体现实际测试覆盖率。

为了实现更加灵活和深入的模糊安全测试,中兴通讯打造了智能化模糊测试平台zSpider,以达到将协议健壮性内置到5G产品中的目的。

智能模糊测试平台zSpider

智能模糊测试平台zSpider完全贯穿中兴通讯的整个研发流程,可实现模糊测试的用例管理、新功能模糊测试和版本交付前的回归测试等多个功能。

4117dca759c8392dcf1d8f3155eb17ee.png

图1:智能模糊测试平台zSpider架构

zSpider提供端到端的自动化,从模糊测试用例自动生成到Fuzz测试、发现Bug、分析Bug、修复Bug、验证关闭Bug、生成测试报告形成闭环。

基于zSpider平台的智能模糊变异

针对5G产品的安全性特点,中兴通讯zSpider平台在传统模糊测试的基础上引入了由覆盖率引导的智能模糊变异,基本流程如下图所示。左侧外围的是待测试的目标程序与对应的初始输入, 中间的模糊测试工具接受两种输入并进行长时间的循环测试, 最终在右侧输出发现的漏洞信息。

d3710e72439362bc5346b8c7615c19b8.png

图2:基于覆盖率的模糊测试工具基本框架

zSpider平台可在以下方面提升模糊安全测试能力:

● 覆盖路径全,减少无效测试,提升安全测试效率:传统模糊测试存在冗余测试的问题,部分程序路径被大量重复测试,一些罕见路径则缺乏关注,zSpider将减少部分程序路径大量重复测试,引导往罕见路径进行测试。

● 智能集成多个策略,可发现深层安全问题: zSpider有多种Fuzzing策略,模糊测试时将会在每个策略间智能切换,Fuzzing策略更高效和智能,有助于更快发现隐藏的深层次问题。

● 增强可视化呈现,直观体现覆盖率,便于管理监控:zSpider根据实际测试的执行情况,深入结合产品实现,可通过dashboard以代码行、函数、程序分支等多个维度体现实际覆盖率。

两大zSpider运行模式,有效覆盖5G协议安全场景

zSipder平台可提供完全智能模糊测试和基于模型的智能模糊测试两大运行模式:

完全智能模糊测试:初始输入经过模糊测试工具长时间的运行,模拟生成各种连接方式下的异常、杂乱、非预期的消息码流或报文,对待测程序发起攻击。

该模式主要针对5G连接方式的多样性,智能的模拟各种连接方式下的异常、杂乱、非预期的消息码流或报文,从而挖掘出产品存在的安全漏洞或健壮性问题。

基于模型的智能模糊测试:外围的是协议模型文件与对应的初始输入,输入模糊测试工具进行长时间的循环测试, 模拟生成各种5G协议的异常、杂乱、非预期的消息码流,对待测程序发起攻击。

该模式主要用于5G通信协议的模糊测试,智能的模拟5G协议的异常、杂乱、非预期的消息码流,从而挖掘产品协议实现存在的安全漏洞和健壮性问题。

总结

随着5G商用步伐的加快,对其产品安全也提出了更高的要求。中兴通讯利用zSpider智能模糊测试平台的两大测试模式,将产品协议完全融入研发过程,实现了产品协议的充分安全测试,为5G产品安全交付提供全面高效支撑。

软件测试自动化是提升软件测试效率的一个好途径,自动化的实现首先要能够对被测对象进行自动化控制,形成自动化控制工具,完成一些自动化控制功能;一个完整的测试系统可能包括多种自动化控制对象,需要有针对性的构建不同自动化控制工具,同时也需要提供一个集成的平台,使测试人员可以在一个统一的视图上进行自动化测试用例的开发,来实现对不同自动化控制工具的操纵,综合完成一个完整测试用例的执行。这个平台与各自动化控制工具之间形成主从的关系,用例流程中对被测对象的控制功能可以关键字的形式在平台上调用,平台通过指令下发给自动化控制工具进行实际执行并返回结果。 在一款C/S形式的任务调度软件的测试过程中引入自动化测试,其中客户端界面上有五个可以输入参数的编辑框(假设均为整数型数据),在设置好一组参数组合后,点击开始处理按钮,客户端会将这些输入参数进行打包并向服务器端提交,服务器端接受申请后进行运算并形成要调度的任务,如果不能完成操作则返回失败信息给客户端,如果能完成操作则在服务器端可以查看到进入任务调度列表的对应任务项(以特定任务ID表示)并返回成功信息给客户端,客户端在接收到返回信息后会根据操作的成功与否显示相应的成功图标或失败图标(成功图标与失败图标是不同控件)。 现在要实现对软件输入参数的遍历性测试,一个典型的参数遍历测试步骤如下: (1)对客户端界面的五个参数按照某种组合进行设置(组合数据是在用例设计时已经设计好的一组数据,并对应得出一个应该在服务器端进入任务调度列表的任务ID) (2)点击客户端开始处理按钮 (3)判断处理结果,如果显示图标为失败则本次用例失败 (4)如果处理结果为成功(显示图标为成功图标),则对服务器端的任务调度列表进行特定任务ID获取并判断,如符合前面参数组合所预期的任务ID则用例成功,否则失败 (5)返回到步骤1,按照另一参数组合进行设置,重复1-4步骤,直到组合数据都遍历完(假设已经设计好10组数据组合) (6)最终给出完整测试结果 假设已经实现对客户端界面参数读写与控件控制的自动化工具,以及服务器端任务列表内容判断的自动化工具,现在需要设计一个有集成功能的自动化测试平台系统,这个平台能够对控制工具进行指令下发及结果返回,操纵工具实现对测试对象的控制,如前述1-4步骤要完成的功能。 所需要的自动化测试平台有如下三个重点要求: (1)能够让用户定制出如上述的测试用例流程,测试用例的实现可以脚本或图形界面形式进行支持,但以最大程度降低用户编写用例的难度为目标 (2)以友好界面提供给测试人员进行上述测试用例的实现,以及用例运行和运行结果的显示 (3)遍历测试下多种数据组合以合适的方式进行支持,体现数据驱动特点 附:软件测试自动化测试数据(见附件) 初赛要求: 1、设计自动化测试平台系统框架结构及系统功能,不局限于上述三项要求 2、重点设计上述平台系统三大特性需求所要求的软件功能 3、实现上述设计的DEMO程序 实现技术提示信息: 编程语言可以任选 软件测试自动化相关背景资料可参考: 《软件测试自动化技术与实例详解》Addison-Wesley 电子工业出版社 《软件测试自动化》Daniel J.Mosley 机械工业出版社 审核或评分标准 1、设计合理,有一定应用优势 2、设计文档、说明文档质量 3、软件基本功能实现,无严重BUG
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值