掌桥专利:专业的专利平台
掌桥专利
首页

针对5G NGAP协议的状态感知模糊测试系统及方法

文献发布时间:2023-06-19 19:30:30


针对5G NGAP协议的状态感知模糊测试系统及方法

技术领域

本发明涉及网络安全技术领域,具体地,涉及针对5G NGAP协议的状态感知模糊测试系统及方法。

背景技术

移动通信网络大约每10年就出现新一代的技术,通过引入关键技术实现网络容量数倍的增长,并推动新业务类型不断涌现。自20世纪80年代以来,移动通信技术经历了5个发展阶段,均对经济社会的数字化发展产生了广泛而深远的影响。不同时期的移动通信网络面临着不同的安全问题和风险,随着协议与标准制定组织观念的不断更新与改进,协议的安全性也在提高迭代。

第一代(1G)移动网络作为最初的通信网络,针对安全性的考虑很少,容易受到拦截、重放和伪造攻击。第二代(2G)移动网络中关于伪基站、垃圾短信、短信伪造方面的安全问题普遍存在且利用广泛,时至今日仍有深远的影响。第三代(3G)移动网络中,首次引入了基于IP的通信协议,使得互联网安全的漏洞和攻击面随着升级,转移到了移动网络中。第四代(4G)移动网络带来了显著的连接速度与网络质量提升,开拓了移动网络更多的使用场景与应用面,将安全威胁进一步扩大和复杂化。从1G到4G,移动核心网网元之间基于固定链路完成信令交换,网络的控制面和用户面不断分离以至解耦。与4G相比,5G使用全新的网络架构,能够提供至少10倍于4G的峰值速率,以及毫秒级的传输时延和千亿级的连接能力。

5G核心网对传统架构进行了重构,以网络功能(NF)的方式重新定义了网络实体。每个NF对外按独立的功能提供应用实现并实现互相调用,即将一个NF实体可进一步拆分成若干个自包含、自管理、可重用的NF服务。NF相互之间解耦,具备独立升级、独立弹性的能力,以及标准接口与其他NF服务互通的能力,同时,可通过编排工具根据不同的需求进行编排和实例化部署。与通信行业传统的点对点网元架构相比,5G核心网的架构改进和变革是前所未有的。

5G核心网内以及用户面与控制面间普遍使用了TCP和SCTP协议,RAN与AMF之间使用的N2通信接口使用NGAP协议,该协议由SCTP进行承载。本发明的测试目标即为通过NGAP协议,N1、N2协议族对AMF等内部网络功能(NF)进行有状态的模糊测试。

现有模糊测试技术无法针对5G网络协议的状态机进行维护,盲目地生成测试数据包会导致测试效率底下,覆盖率极低,无法测试到核心业务逻辑的问题。因此本发明提出了一种针对5G NGAP协议的状态感知模糊测试系统,旨在解决现有模糊测试技术针对5G网络协议的不足。

发明内容

针对现有技术中的缺陷,本发明的目的是提供一种针对5G NGAP协议的状态感知模糊测试系统及方法。

根据本发明提供的一种针对5G NGAP协议的状态感知模糊测试系统,包括:

测试数据生成模块:生成原始测试数据样本,指定待测字段位置与协议状态机阶段;

协议状态维护模块:根据指定的协议状态机阶段,将待测组件维护至目标状态机阶段;

字段变异模块:对原始测试数据样本的指定待测字段位置进行变异,生成模糊测试样例,并将生成的模糊测试样例发送至被测组件,基于被测组件的返回数据判断是否变异,并将变异结果发送至日志分析模块;

被测组件监控模块:监控被测组件工作状态,当异常发生时,收集当前崩溃日志,并发送至日志分析记录模块;

日志分析记录模块:收集异常组件产生的崩溃日志,确定异常发生位置,并存储发送的模糊测试样例以及字段变异情况。

优选地,在所述测试数据生成模块中,所述原始测试数据样本来源于用户输入定义和/或网络数据包抓取的抓包文件;

所述用户输入定义需要使用程序语言描述完整的交互流程与预期返回的结果;

原始测试数据样本包括多阶段的发送数据和预期返回。

优选地,在所述字段变异模块中,对原始测试数据样本的指定待测字段位置进行变异,生成模糊测试样例,将生成的模糊测试样例发送至被测组件,所述字段变异模块接收被测组件的返回数据,并将返回数据与预期返回进行比对,判断当前测试数据的响应是否处于正常的协议状态机中,否则告知日志分析记录模块。

优选地,所述被测组件监控模块工作于5G核心网内,拥有被测组件的控制权限。

优选地,在所述日志分析记录模块中,聚合变异结果与异常情况,决策当前异常是否是由于当前字段变异模块发送的模糊测试样例所产生的,如果是则进行记录。

根据本发明提供的一种针对5G NGAP协议的状态感知模糊测试方法,包括:

步骤S1:测试数据生成模块生成原始测试数据样本,指定待测字段位置与协议状态机阶段;

步骤S2:协议状态维护模块根据指定的协议状态机阶段,将待测组件维护至目标状态机阶段;

步骤S3:字段变异模块对原始测试数据样本的指定待测字段位置进行变异,生成模糊测试样例,并将生成的模糊测试样例发送至被测组件,基于被测组件的返回数据判断是否变异,并将变异结果发送至日志分析模块;

步骤S4:被测组件监控模块监控被测组件工作状态,当异常发生时,收集当前崩溃日志,并发送至日志分析记录模块;

步骤S5:日志分析记录模块收集异常组件产生的崩溃日志,确定异常发生位置,并存储发送的模糊测试样例以及字段变异情况。

优选地,在所述测试数据生成模块中,所述原始测试数据样本来源于用户输入定义和/或网络数据包抓取的抓包文件;

所述用户输入定义需要使用程序语言描述完整的交互流程与预期返回的结果;

原始测试数据样本包括多阶段的发送数据和预期返回。

优选地,在所述字段变异模块中,对原始测试数据样本的指定待测字段位置进行变异,生成模糊测试样例,将生成的模糊测试样例发送至被测组件,所述字段变异模块接收被测组件的返回数据,并将返回数据与预期返回进行比对,判断当前测试数据的响应是否处于正常的协议状态机中,否则告知日志分析记录模块。

优选地,所述被测组件监控模块工作于5G核心网内,拥有被测组件的控制权限。

优选地,在所述日志分析记录模块中,聚合变异结果与异常情况,决策当前异常是否是由于当前字段变异模块发送的模糊测试样例所产生的,如果是则进行记录。

与现有技术相比,本发明具有如下的有益效果:本发明提供了一种针对5G NGAP协议的状态感知模糊测试系统,该方法可针对5G网络通信协议NGAP进行有状态的模糊测试,并通过协议状态维护模块具有可复现地维护状态的能力,能够针对协议状态机内部的各个状态进行有针对性的模糊测试,并结合部署于核心网内部的日志分析记录模块采集被测核心网网络功能(NF)的工作情况以及工作日志,在发生异常时高效提供错误信息,供进一步分析。

附图说明

通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:

图1为针对5G NGAP协议的状态感知模糊测试系统示意图。

图2为针对5G NGAP协议的状态感知模糊测试方法流程图。

具体实施方式

下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变化和改进。这些都属于本发明的保护范围。

针对现有技术的不足,本发明提出一种针对5G NGAP协议的状态感知模糊测试系统及方法,解决了传统针对网络协议的模糊测试系统,无法针对复杂5G网络控制协议NGAP进行测试的问题。

实施例1

根据本发明提供的一种针对5G NGAP协议的状态感知模糊测试系统,如图1所示,包括:测试数据生成模块、协议状态维护模块、字段变异模块、被测组件监控模块以及日志分析记录模块;

所述测试数据生成模块用于生成原始测试数据样本,该样本为合法请求样本。该模块存储的数据为完整的协议栈数据,来源于人工输入定义以及网络抓包获取,通过获取网络数据包分析,得到协议交互中完整的流程信息与数据信息,一个完整的协议状态流转称之为一个流程。一个流程中可以包括多个请求,请求符合NGAP协议格式。一个请求中可以包括多个待测数据字段,如二进制数据流,整数,浮点数,字符串等,也可以包括每个流程特异的数据信息,例如同流程中前序特定请求返回的特定字段数据,也可以包括常量信息,例如当前时间,随机数等。一个完整的流程组成模糊测试的一个原始测试数据样本。

测试数据生成模块在一次特定的测试流程中执行发起测试,提供原始流程信息,指定某一请求的待测字段及其测试的目标协议状态,其命令与状态信息可被其他模块访问获得。

测试数据生成模块发起测试请求后,首先由协议状态维护模块从测试数据生成模块读取目标协议状态信息与完整流程数据,确定待测目标请求的状态情况后,自流程首端读取并与待测模块通讯,发起协议交互。在达到目标状态前,保存每次请求的返回数据,判断当前状态是否符合正常工况,直到抵达目标协议状态。抵达目标协议状态后,将请求过程中的所有返回数据与请求信息发送给日志分析记录模块。

协议状态维护模块解析并使用测试数据生成模块提供的原始测试数据样本,将所需要的协议状态流转数据填充至每个请求中,完成协议状态的正常流转。

所述字段变异模块从测试数据生成模块读取待测请求以及待测字段信息,在协议状态维护模块完成状态维护后,对来自测试数据生成模块的测试用例指定待测字段进行变异,变异应当包含符合测试字段原始数据类型要求的不同值,包括但不限于极端值,以及与原始数据类型不同类型的其他值,以测试待测模块对于非预期行为的响应方式。完成变异后,将值插入请求中,与待测模块进行通讯,记录返回数据并且交付日志记录模块。

所述被测组件监控模块工作于5G核心网内,独立于测试流程单独工作,该模块不受到测试数据生成模块、协议状态维护模块、字段变异模块、日志分析记录模块的控制。

被测组件监控模块拥有被测组件的控制权限,监控被测组件工作状态,该模块拥有被测组件的完整控制权限,该模块可以读取被测组件的日志、获得被测组件的运行状态、强制终止被测组件运行、重新启动被测组件运行等。

被测组件监控模块时刻检测被测组件的工作情况,当异常发生时,该模块收集当前工作日志并记录当前时间,发送至外部的日志分析记录模块告知异常事件,完成通告后重启被测组件。异常包括但不限于被测组件崩溃退出,被测组件产生高等级的错误日志等。

所述日志分析记录模块接受到来自被测组件监控模块的异常告知与崩溃日志后,存储该异常信息与崩溃日志,对该异常发生时间进行标记,同时读取来自协议状态维护模块与字段变异模块发送的流程信息与请求信息,其中包括流程进行步骤情况,产生此次异常时发送的所有原始请求数据,以及请求返回的数据,供测试人员进行进一步的比对分析。

实施例2

根据本发明提供的一种针对5G NGAP协议的状态感知模糊测试方法,如图2所示,包括:

步骤S1:利用测试数据生成模块用于生成原始测试数据样本,该样本为合法请求样本,来源于人工输入定义以及网络抓包获取;本模块选定测试原始样本后,指定待测字段位置与协议状态机阶段,交付字段变异模块与协议状态维护模块进行处理;

步骤S2:利用协议状态维护模块接受来自测试数据生成模块的协议状态要求,与待测组件首先进行通讯,维护协议抵达测试目标状态后,告知字段变异模块进行下一阶段处理;

步骤S3:利用字段变异模块在协议状态维护模块完成状态维护后,对来自测试数据生成模块的测试用例指定待测位置进行变异,生成新的测试用例,与待测模块进行通讯,发送模糊测试数据,并将变异结果发送至日志分析模块;

步骤S4:被测组件监控模块工作于5G核心网内,拥有被测组件的控制权限,监控被测组件工作状态;当异常发生时,收集当前崩溃日志,发送至外部的日志分析记录模块告知异常事件并进行记录;

步骤S5:日志分析记录模块接受到来自被测组件监控模块的异常告知与崩溃日志后,存储该异常信息与崩溃日志,收集当前正在测试的测试用例与协议状态要求,合并保存至本地存储设备,供测试人员进行分析。

具体地,测试数据生成模块可接受的原始测试数据可以来源于用户输入定义与网络数据包抓取的抓包文件;如使用用户输入定义,则用户需要使用程序语言描述完整的交互流程与预期中返回的结果;模糊测试的一个原始测试样本由多阶段的发送数据、预期返回组成,其中每个阶段的发送数据都可以作为指定变异字段。

具体地,字段变异模块只对测试数据生成模块所指定字段的进行变异,不对原始测试用例的其他字段进行改变。

具体地,测试过程中共有两个模块与被测组件先后进行通讯,协议状态维护模块首先完成指定协议状态的维护与抵达,字段变异模块在协议状态抵达待测阶段后与被测组件通讯,发送生成的模糊测试样例,并接受被测组件的返回数据,与预期状态进行比对,判断当前测试数据的响应是否仍然处于正常的协议状态机中,否则告知日志分析记录模块。

具体地,5G核心网中存在本方法测试需要的监控组件,被测组件监控模块,在内部监控核心网组件的工作状态,并且负责收集异常信息与崩溃日志。

具体地,日志分析记录模块聚合变异结果与异常情况,决策当前异常是否是由于当前字段变异模块送的模糊测试样例所产生,如果是则进行记录。

本领域技术人员知道,除了以纯计算机可读程序代码方式实现本发明提供的系统、装置及其各个模块以外,完全可以通过将方法步骤进行逻辑编程来使得本发明提供的系统、装置及其各个模块以逻辑门、开关、专用集成电路、可编程逻辑控制器以及嵌入式微控制器等的形式来实现相同程序。所以,本发明提供的系统、装置及其各个模块可以被认为是一种硬件部件,而对其内包括的用于实现各种程序的模块也可以视为硬件部件内的结构;也可以将用于实现各种功能的模块视为既可以是实现方法的软件程序又可以是硬件部件内的结构。

以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变化或修改,这并不影响本发明的实质内容。在不冲突的情况下,本申请的实施例和实施例中的特征可以任意相互组合。

相关技术
  • 针对工控私有协议的黑盒模糊测试方法及系统
  • 一种基于协议状态的工控协议模糊测试方法
技术分类

06120115930872