版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
G网络协议中基于NGAP协议的模糊测试策略概述目录TOC\o"1-3"\h\u26055G网络协议中基于NGAP协议的模糊测试策略概述 -1-178781.1NGAP协议格式详解 -1-101571.2NGAP协议业务流程分析 -3-43251.3基于信息元素和字段的多层次NGAP协议测试用例生成策略 -6-3781.4基于有限状态自动机的NGAP协议状态转移策略 -7-250091.5小结 -12-1.1NGAP协议格式详解NGAP协议数据包可以分为控制字段和数据字段,数据字段由若干IE组成,每个IE又由IE的控制字段和数据部分组成,数据部分由若干字段组成,图3-1为一个NGAP协议数据包实例。图3-1NGAP协议数据包示例NGAP协议格式如图3-2。图3-2NGAP协议消息格式 NGAP协议具体字段含义:MessageType:消息类型,主要有三种InitialMessage初始化消息(包括响应消息中的请求消息以及通知消息),SuccessfulOutcome(响应消息中的成功应答消息),UnsuccessfulOutcome(响应消息中的失败应答消息)。ProcedureCode:流程码,标识消息所属的业务流程。与MessageType一起作为数据包消息的唯一标识。Criticality:临界状态,指示当接收者收到的数据包中包含无法解析的IE(信息元素)时,对数据包的处理方法,主要有两种状态,Reject表示接收者要丢弃数据包,并不执行数据包请求的相关服务,向发送者反馈UnsuccessfulOutcome或者ErrorIndication。Ignore表示接收者会忽略无法解析的IE信息。LengthofValue:消息长度,只包含消息Value部分的长度,不包含消息首部控制字段的长度,3GPP标准中规定NGAP消息长度不超过255字节。NumberofIEs:IE数量,NGAP消息中包含的信息元素IE的数量,3GPP标准中规定NGAP消息中包含的IE数量最大值为65535。IE信息元素中的字段含义ID:信息元素标识,信息元素的唯一标识Criticality:临界状态,指示当接收者收到的数据包中的IE无法解析时,接收者对IE的处理,IE的Criticality值也会影响到接收者对数据包的处理。LengthofValue:消息长度,只包含IEValue的长度,不包含IE首部控制字段长度。1.2NGAP协议业务流程分析NGAP协议的业务功能有21种,但是部分流程在实际业务中使用较少,结合5G核心网开源环境Free5GC中AMF网元的功能实现情况,本课题选择对PDU会话管理、用户上下文管理、NAS消息传输、用户移动性管理、寻呼过程、NG接口管理五个主要业务功能进行测试,涉及到主要的业务流程有Registration、ServiceRegistration、GUTIRegistration、XnHandover、N2Handover、Deregistration、PDUSessionRelease。NGSetup该流程(如图3-3)属于NG接口管理功能,使用非UE相关信令,NGSetup过程主要是交换NG-RAN和AMF交互所需的应用层数据,是NG-RAN与AMF交互所需执行的第一个业务流程,这个信令会清除同一NG-RAN与AMF网元之间现有的所有数据配置以及与该基站关联的UE上下文。图3-3NGSetup业务流程图InitialUEMessage该流程(如图3-4)属于NAS消息传输功能,在UE通过NG-RAN向AMF发送第一个NAS消息之前,用于传输用户安全能力以及用户身份的标识符SUCI,便于后续AUSF根据用户身份从UDM中获取用户鉴权数据。图3-4InitialUEMessage业务流程图UplinkNASTransport该流程属于NAS消息传输功能,NG-RAN利用该消息将从UE接收到的NAS消息转发到AMF网元。UE注册流程:包括UE鉴权流程和NAS完整性保护流程(如图3-5)。图3-5UE注册流程图UE去注册流程(如图3-6)。图3-6UE去注册流程图InitialContextSetup该流程(如图3-7)属于UE上下文管理功能。该流程的目的是在NG-RAN节点上建立初始的UE上下文,建立与UE相关的NG逻辑连接,在执行完本流程后,可以进行PDU会话建立。图3-7InitialContextSetup业务流程图UEContextRelease(Request、Command、Complete)该流程(如图3-8)属于UE上下文管理功能,使用与UE相关的信令,用于释放NG-RAN与UE之间的逻辑连接。主要包括两种情况,一种是由NG-RAN节点发起的,由于NG-RAN的原因,如:重定向,NG-RAN节点请求AMF释放与UE相关的NG逻辑连接。另一种是由AMF网元发起的,由于在终端发起新的与终端关联的NG逻辑连接时,需要释放旧的与终端相关的NG逻辑连接等原因,下令释放与UE相关的NG逻辑连接。图3-8UEContextRelease业务流程图PDUSessionResourceManagement(Setup、Release)该流程(如图3-9)属于PDU会话管理功能,使用与UE相关的信令,在PDU会话建立时,UE会首先向AMF发送NAS消息,根据该消息,AMF选择SMF网元,并创建SMF上下文,SMF获取会话管理的订阅数据后,为PDU会话选择PCF、UPF。之后将与会话相关的策略发送给AMF,AMF发送会话建立请求到NG-RAN,NG-RAN与UE交互,请求UE建立PDU会话。NG-RAN向AMF发送响应消息,建立AN隧道信息。PDU会话删除与会话建立流程类似。图3-9PDUSessionResourceManagement业务流程Handover该流程(如图3-10)属于用户移动性管理功能,主要分为三个阶段Preparation、ResourceAllocation和Notification。在准备阶段,源NG-RAN发送Required消息给源AMF,通知用户要进行切换,主要包括切换原因、切换目标信息和需要迁移的PDU会话信息。在资源分配阶段,目标AMF根据TargetID确定目标NG-RAN,并给目标NG-RAN发送Request消息请求建立无线侧网络资源。目标NG-RAN回复Acknowledge消息给目标AMF,此时目标NG-RAN已经做好接收分组数据单元的准备。在Notification阶段,目标NG-RAN发送给目标AMF,表示UE已经成功迁移到目标NG-RAN,Handover流程完成。图3-10Handover业务流程图1.3基于信息元素和字段的多层次NGAP协议测试用例生成策略与其他数据不同,3GPP标准对NGAP协议的协议格式、以及组成数据包字段的数据格式进行了严格的规定,核心网在接收到数据包后,会根据协议格式对协议进行解码,之后再对协议中的字段进行处理。如果对整个数据包进行变异,或者直接对信息元素进行随机变异会导致大量数据包因为解码错误被核心网丢弃,无法考察核心网对异常数据的处理能力,达不到模糊测试的目的,因此,需要设计更加细粒度的针对NGAP协议的模糊测试策略,本课题主要从信息元素层面和字段层面对NGAP协议进行模糊测试策略的制定。由1.1节对NGAP协议格式的分析可知,NGAP协议中每个数据包是由若干信息元素IEs组成,每个信息元素又是由若干字段组成。为减少变异后数据包被核心网丢弃的概率,从两个层面对NGAP协议进行变异:首先是信息元素层面,不同的数据包中包含的信息元素IE不同,可以分为Mandatory必须包含,Option可选择包含和Condition满足条件包含三种。考虑在实际数据包中包含的信息元素与标准规定的信息元素不同,或者存在关键信息元素缺失的情况下,AMF对缺失信息处理过程中可能存在的漏洞。可选择包含和满足一定条件包含的信息元素只在特定的业务流程中才会出现,不是必须包含。因此,这两种信息元素的缺失不会对数据包的处理造成影响。综上,在变异时,可以采取删除或替换Mandatory必须包含的信息元素对数据包进行变异。其次是字段层面,采用基于字段的变异方法来构造NGAP协议测试用例。基于3GPPTS38.413标准对NGAP数据包格式以及字段含义进行分析,将NGAP协议字段分为四类(如图3-11),包括标识字段、关联字段、校验字段和其他字段。图3-11基于NGAP协议字段变异的模糊测试策略图标识字段:数据包标识(MessageType、ProcedureCode),数据包临界值(Criticality);信息元素标识(ID),信息元素临界值(Criticality)。这些字段作为数据包和信息元素的标识应当与变异策略相关联,其中每个信息元素ID对应着信息元素由哪些变异字段组成,数据包标识则对应着数据包由哪些变异后的信息元素组成。因此,不对这些信息元素进行变异。关联字段:数据包长度字段(LengthofValue)、IE长度(LengthofIE)字段。对于长度字段不能进行随机变异,长度字段的随机变异可能会造成数据包读取不完整或者信息元素解析不正确,导致数据包中的变异字段无法达到模糊测试的效果。所以在字段使用随机增加、删减字节等数据变长变异后,需要对数据包长度、信息元素长度进行重新计算。校验字段:NGAP协议其中的一个功能是帮助UE传输NAS消息到AMF网元,为保证消息的机密性和完整性,会在鉴权后对NAS消息进行加密并计算MAC值保证消息的完整性。由2.2节中分析的鉴权和完整性校验流程,可以知道在鉴权时AUSF会根据RES参数对UE进行鉴别,因此,在对NAS-PDU变异后,需要重新计算RES值,避免UE鉴权失败导致后续状态转移的失败。在鉴权完成后,所有的上行NAS消息(从UE到AMF)都需要进行完整性校验,如果MAC校验失败,核心网会直接丢弃数据包,且AMF无法进入到下一种数据包的待接收状态,因此,需要在变异后重新对MAC值进行计算。其他字段:3GPP标准对NGAP协议中字段的数据类型进行了详细规定,根据数据类型将NGAP协议分为5类。BitString、OctetString、Integer、Enumerated、Choice。且NGAP协议对BitString、OctetString长度、Integer范围都进行了详细的规定。为了进一步提高模糊测试效率,减少无效数据包,对不同类型的数据采用不同的变异方式。对OctetString字段和BitString字段采取比特翻转,加减运算变异,随机排列、替换变异和添加删除等变异策略。对Integer采取比特翻转变异,加减运算,边界值替换,上述三种数据类型主要考虑其可能触发的缓冲区溢出、空指针等漏洞。对Enumerated和Choice字段采用在字段取值范围内遍历以及边界值替换的变异策略,对这两种数据类型的变异,除考虑缓冲区溢出等实现漏洞外,还要观察是否可以触发新的协议状态。1.4基于有限状态自动机的NGAP协议状态转移策略NGAP协议具有较强的交互性,协议不同功能流程之间,以及核心网对数据包的处理与网元状态转移之间存在一定的依赖性,如果发送数据包时,核心网没有达到接收该数据包的状态,核心网可能直接报错,不会对数据包进行进一步的处理,无法通过变异字段对核心网的安全性进行检测。因此在进行模糊测试时,需要使AMF网元迁移到测试目标数据包的待接收状态。本文使用Mealy型有限状态自动机(FiniteStateMachine,FSM)思想对AMF网元状态转移进行描述,Mealy型有限状态自动机是指具有有限输入和输出的状态自动机,从初始状态开始,每次处理一个输入符号,每个输入符号触发一个输出符号的生成,并使机器进入一个新的状态。Mealy型有限状态自动机可以用一个六元组(Q,ΣI,ΣO,δ,λ,q0)表示。其中,Q−有限非空状态集,q0−使用Mealy型有限状态自动机抽象AMF网元状态转移算法如下:(1)确定AMF网元在对NGAP协议信令进行处理时的所有状态,构成状态集Q(2)确定AMF网元转移到特定状态需要接收的NGAP协议信令,构成输入符号有限集ΣI(3)确定AMF在接收到NGAP信令后发送给NG-RAN的响应信令,构成输出符号有限集ΣO(4)将AMF网元根据当前状态和接收到的NGAP信令转移到下一个网元的过程定义为状态转移函数δ。(5)将AMF网元根据当前状态和接收到的NGAP信令,发送给NG-RAN响应信令的过程定义为输出函数λ。根据上述AMF网元的有限状态自动机,确定模糊测试时NGAP协议的信令发送序列,使模糊测试过程尽可能覆盖到AMF的所有状态,实现AMF网元状态的全遍历。由于协议不同的业务流程中,同一个数据包包含的信息元素内容可能不同。且由于测试流程中均为变异数据包,核心网有一定概率无法接收该数据包,无法转移到下一个状态。状态机到达被测目标的路程越长,到达被测目标的概率越小。因此,在本课题中将AMF网元状态迁移根据NGAP业务流程切分成7个有限状态自动机,而不再是把所有的状态放到一个状态机中。一方面可以减小开发难度,降低开发中存在的错误,另一方面缩短了到达状态路径,增大到达被测目标的概率。根据对NGAP协议流程得到七个AMF网元状态迁移有限状态自动机,主要包括Registration、ServiceRegistration、GUTIRegistration、XnHandover、N2Handover、Deregistration、PDUSessionRelease七个NGAP协议的主要业务流程,以Registration、Deregistration、N2Handover、PDUSessionRelease这四个较为典型的有限状态自动机为例进行介绍。以下表格中的UL表示Uplink,DL表示Downlink。RegistrationFSM:包括基站NG-RAN与AMF网元建立连接,用户鉴权(NAS消息传输流程),用户上下文管理(建立)流程。表3-1显示了Registration业务流程中AMF转移到下一状态需要执行的动作(发送或接收的数据包)。表3-1Registration业务流程中NGAP协议信令流程与AMF网元状态转移关系当前状态输入(接收到的数据包)输出(发送的数据包)下一个状态StartNULLNULLWaitInitialUEMessageWaitInitialUEMessageNGSetupRequestNGSetupResponseWaitULNASIdentityResponse/ULNASAuthenticationResponseWaitULNASIdentityResponseInitialUEMessageDLNASIdentityRequestWaitULNASAuthenticationResponseWaitULNASAuthenticationResponseInitialUEMessage/ULNASAuthenticationFailure/ULNASIdentityResponseDLNASAuthenticationRequestWaitULNASSecurityModeCompleteWaitULNASSecurityModeCompleteULNASAuthenticationResponseDLNASSecurityModeCommandWaitInitialContextSetupResponseWaitInitialContextSetupResponseULNASSecurityModeCompleteInitialContextSetupRequestWaitRegistrationCompleteWaitRegistrationCompleteInitialContextSetupResponseNULLEndEndULNASRegistrationCompleteNULLNULL将NGAP协议信令流程和AMF网元状态迁移抽象为FSM后,如图3-12。图3-12Registration流程AMF状态转移自动机 DeregistrationFSM:包括RegistrationFSM的所有业务流程,以及用户去注册和UE上下文释放,WaitDeregistrationRequest状态前的状态转移与RegistrationFSM的完全相同,因此在此自动机的描述中省略,但在实际操作过程中已完成对上述状态的执行。表3-2显示了Deregistration业务流程中AMF转移到下一状态需要执行的动作。表3-2Deregistration业务流程中NGAP协议信令流程与AMF网元状态转移关系当前状态输入(接收到的数据包)输出(发送的数据包)下一个状态WaitDeregistrationRequestULNASRegistrationCompleteNULLWaitUEContextReleaseCompleteWaitUEContextReleaseCompleteULNASDeregistrationRequestDLNASDeregistrationAcceptandUEContextReleaseCommandEndEndUEContextReleaseCompleteNULLNULL将NGAP协议信令流程和AMF网元状态迁移抽象为FSM后,如图3-13。图3-13Deregistration流程AMF状态转移自动机PDUSessionReleaseFSM:包括RegistrationFSM的所有业务流程,以及PDU会话建立和释放业务流程,同样,在此状态机的描述中省略RegistrationFSM包含的过程。表3-3显示了PDUSessionRelease业务流程中AMF转移到下一状态需要执行的动作。表3-3PDUSessionRelease业务流程中NGAP协议信令流程与AMF网元状态转移关系当前状态输入(接收到的数据包)输出(发送的数据包)下一个状态WaitULNASPDUSessionEstablishmentRequestULNASRegistrationCompleteNULLWaitPDUSessionResourceSetupResponseWaitPDUSessionResourceSetupResponseULNASPDUSessionEstablishmentRequestPDUSessionResourceSetupRequestWaitULNASPDUSessionResourceReleaseRequestWaitULNASPDUSessionResourceReleaseRequestPDUSessionResourceSetupResponseNULLWaitPDUSessionResourceReleaseResponseWaitPDUSessionResourceReleaseResponseULNASPDUSessionResourceReleaseRequestPDUSessionResourceReleaseCommandWaitPDUSessionResourceReleaseCompleteWaitPDUSessionResourceReleaseCompletePDUSessionResourceReleaseResponseNULLNULLEndPDUSessionResourceReleaseCompleteNULLNULL将NGAP协议信令流程和AMF网元状态迁移抽象为FSM后,如图3-14。图3-14PDUSessionRelease流程AMF状态转移自动机HandoverFSM:包括RegistrationFSM的所有业务流程,PDU会话建立、Handover基站切换功能、用户原上下文释放和用户在新基站的注册流程。表3-4显示了Handover业务流程中AMF转移到下一状态需要执行的动作。表3-4Handover业务流程中NGAP协议信令流程与AMF网元状态转移关当前状态输入(接收到的数据包)输出(发送的数据包)下一个状态WaitULNASPDUSessionEstablishmentRequestULNASRegistrationCompleteNULLWaitPDUSessionResourceSetupResponseWaitPDUSessionResourceSetupResponseULNASPDUSessionEstablishmentRequestPDUSessionResourceSetupRequestWaitHanoverRequiredWaitHanoverRequiredPDUSessionRes
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026广东汕尾市陆河县城镇公益性岗位招聘1人参考题库带答案详解(精练)
- 工业废气处理方案范本
- 2026云南国土学院后勤服务有限责任公司招聘7人笔试题库及完整答案详解(名校卷)
- 2026江苏南通市人才事务所有限公司招聘劳务派遣人员10人-南通市第一人民医院备考题库及答案详解【典优】
- 屋面切割拆除方案范本
- 公司水电考核方案范本
- 消队组建方案范本
- 2025年福建南平工业园区开发建设有限公司招聘11人笔试历年参考题库附带答案详解
- 2025年河北沧州泊头市泊控产业发展集团有限公司公开招聘工作人员9名笔试历年参考题库附带答案详解
- 2025年山西省大同市市直事业单位公开招聘结构化笔试历年典型考题及考点剖析附带答案详解
- 桌凳购销合同协议
- JT-T-1377-2021集装箱自动导引车
- 司炉工安全教育培训
- 玉米与四倍体多年生玉米杂交后代遗传研究的开题报告
- 民事检察监督申请书【六篇】
- 伦理学复习大纲【完】
- GB/T 20320-2023风能发电系统风力发电机组电气特性测量和评估方法
- 法兰盘机械加工工艺过程综合卡片
- 全媒体新闻发布实务知到章节答案智慧树2023年广东外语外贸大学、暨南大学、华南理工大学
- 石厂碎石加工系统运行管理制度
- GB/T 38691-2020石油炼制催化剂比表面积测试方法
评论
0/150
提交评论