5G 通信协议安全性研究 2023.docx

上传人:lao****ou 文档编号:1068219 上传时间:2024-10-11 格式:DOCX 页数:26 大小:345.75KB
下载 相关 举报
5G 通信协议安全性研究 2023.docx_第1页
第1页 / 共26页
5G 通信协议安全性研究 2023.docx_第2页
第2页 / 共26页
5G 通信协议安全性研究 2023.docx_第3页
第3页 / 共26页
5G 通信协议安全性研究 2023.docx_第4页
第4页 / 共26页
5G 通信协议安全性研究 2023.docx_第5页
第5页 / 共26页
亲,该文档总共26页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《5G 通信协议安全性研究 2023.docx》由会员分享,可在线阅读,更多相关《5G 通信协议安全性研究 2023.docx(26页珍藏版)》请在第一文库网上搜索。

1、目录引言3-PFCP协议安全分析4二、CVE-202341794漏洞分析及研究71.1 漏洞原理71.2 漏洞分析71.3 漏洞研究8三 .风险场景示例133.1 5G+智慧电力143.2 5G+智慧矿山15四 .5G协议模糊测试164.1 OPen5gs环境简述164.2 5Grep1ay简介184.3 通过5Grep1ay对OPen5gs进行模糊测试19五 .5G安全总结和解决方案245.1 安全总结245.2 解决方案25六 .参考文献28引言基于第五代移动通信技术带来的全方位通信网络结构变化,应用业务变化,系统架构变化,5G专网下沉业务场景,切片业务场景,SDN(SoftwareDef

2、ineNetwork),NFV(NetworkFunctionVirt1Ia1iZatiOn)等互联网和虚拟化技术的使用,以及用户侧传统的0T、IT和CT网络之间的交织与融合,都带来了更多的安全攻击面(AttackSUrfaCe)暴露。本文基于5G安全其中一个业务场景PFCP(PacketForwardingContro1Protoco1)协议的攻防分析,充分证明了为保证5G业务的高带宽,低时延和高可用性,以及业务通信和数据安全,5G业务需要端到端的,全方位的防护。在5G专网场景中,伴随着UPF网元的下沉,5G安全风险暴露面随之增加。PFCP作为UPF网元的重要协议,承载着信令传输的重要作用。

3、本文主要针对PFCP协议展开安全性研究,提供若干垂直行业的风险场景示例,基于OPen5gs模拟环境采用Fuzz模糊测试的方式完成安全检测,并对检测出的CVE-2023-41794漏洞进行验证和深入研究,最后结合3GPP规范给出安全建议。-PFCP协议安全分析在5G网络架构中,围绕UPF的相关接口和协议如下图所示,其中主要的接口有N3、N4、N9、N6oN3接口是RAN与UPF之间用来上传用户面数据的接,用到的协议有GTP-UsGTP-C;N9接口是UPF与其他UPF之间通信的接;N6接口是UPF与外部数据网络DN之间基于IP和路由协议来传递上下行用户数据流的接口;N4接口是UPF与SMF之间交

4、互的接口,其主要协议是PFCPo5GRMWBOH根据3GPPTS29.244定义,PFCP(PacketForwardingContro1Protoco1),即报文转发控制协议,其报文基于IP+UDPoSMF和UPF之间的N4接口使用的控制面协议是PFCP(PacketForwardingContro1Protoco1)协议。SMF通过N4接口向UPF下发PDR(PacketDetectionRu1e),然后UPF按照PDUFARsQER等中的指令进行数据包转发和QoS控制。SxandN4referencePant图1PFCP协议栈结构在5G网络环境中,UPF主要通过N4接口与SMF网元进行通

5、信,其上协议就是PFCPoPFCP采用Request-Response的交互消息模式,具体如下:1 )Request消息的UDP目的端口号是8805,该端口是为PFCP注册预留的。Request消息的UDP源端口是由发送实体本地申请的,多个Req11eSt消息可以重用本地申请的UDP源端口。2 )Response消息的UDP目的端口使用对应的ReqUeSt消息的源端口,UDP源端口使用对应的Req11eSt消息的目的端口,即ReSPone消息的发送实体将其收到的Request消息的UDP源端口和目的端口互换。PFCP消息实体由变长消息头和零个或多个消息IE组成,PFCP消息头采用变长格式,必须

6、为4字节对齐,不足4字节的,填Oo如图2所示,OCtetS表示八字节,字节1是一组bit位,最高3位是Version,MP是MessagePriority的标志,S是SEID的标志;字节2是消息类型;字节3和字节4表示消息长度;之后是SEID及序列号。OctetsBits876543211234mtok(m7)nto(n2)(n3)VersionSpareSpareSpareMPSMessageTypeMessage1ength(1s1Octet)Message1ength(2Octet)IfSf1agissetto1,thenSEIDsha11bep1acedintotets5-12.Oth

7、erwise,SEIDfie1disnotpresentata11.SequenceNumberSpare图2PFCPheaderPFCP消息分为节点相关的消息和会话相关的消息,两种消息对应的PFCP头部不同,主要体现在可选字段SEID上。a)节点相关的消息的PFCP消息头如下,这类消息的MP和S都为0,没有SEID字段;消息头长度为8字节。Octets876Bits543211VersionSpareSpareSpareMP=OS=O2MessageType3Message1ength(15tOctet)4Message1ength(2Octet)5SequenceNumber(15Octe

8、t)6SequenceNumber(2dOctet)7SequenceNumber(3rdOctet)8Spare图3节点相关的PFCP消息头b)会话相关的消息的PFCP消息头如下,这类消息的S为1,即必有SEID字段,消息头长度为16zMP可能为。或1,MP为1时,最后一个字节的高4位为优先级OctetsBits87543211VersionSpareSpareSpareMPS=12MessageType3Message1ength(1s,Octet)4Message1ength(2ndOctet)5SessionEndpointIdentifier(1s1Octet)6SessionEnd

9、pointIdentifier(2ndOctet)7SessionEndpointIdentifier(3rdOctet)8SessionEndpointIdentifier(4mOctet)9SessionEndpointIdentifier(5mOctet)10SessionEndpointIdentifier(6Octet)11SessionEndpointIdentifier(7hOctet)12SessionEndpointIdentifier(8nOctet)13SequenceNumber(1stOctet)14SequenceNumber(2dOctet)15SequenceN

10、umber(3rdOctet)16MessagePrioritySpare图4会话相关的PFCP消息头PFCP的消息IE按需求分为四大类:必备的,条件的,条件可选的和可选的。具体如何使用,由不同的消息来决定。每个消息IE都是变长的,都有一个type和1ength字段。二.CVE-2023-41794漏洞分析及研究2.1 漏洞原理CVE-2023-41794,属于缓冲区溢出漏洞。该漏洞是由于1ibcoreogs-3gpp-types.c文件中的函数OgS_fqdn_parse在未经验证的情况下,计算memcpy中使用的长度值造成的。当UPF下沉,且PFCP端口暴露给攻击者时,攻击者可通过发送特定

11、的pfcp_association_setup_req和pfcp_session_estab1ishment_req,造成堆栈溢出。攻击者利用该漏洞,可中断UPF与已订阅设备的正常通信。漏洞影响范围:0pen5gsv1.0.0v2.3.3o2.2 漏洞分析在0pen5gs的源代码coreogs-3gpp-types.c中,成功找到OgS-fgdn-parse函数,该函数的关键代码如下所示。该部分通过参数1ength和Ien来控制whi1e循环,然后使用memcpy函数来将Ien长度的SrC数据写入到dst中。但是这里值得注意的是Ien的值,是由srci+控制,假设scrO的值为7,那么Ien的

12、值就是丁的Asca11z即105o1ib/corogs-3g-typos.c:intogs_tqdn_parsecar*dst,char*src,int1ength)(inti-0,j0;uint8_tIen=0;do(1q=5rci*);nencpy(dst(jrisrci#1en);漏洞触发的位置i=Ion;j-1en;if(i1ength)dstj-.;e1sedst(j-O;)whi1e(iworkjnstance.data对应src,message-work_instance.1en对应Iengtho1ibpfcphandr.c:if(messagepdi.ntwork_instan

13、c.presence)chardnnOGS_MAX_DNN二1EN;OgJfqdnJarSe(dnn,me55age-work_instance.data.message-worinstance1en);Pdr-X1nn-Og1gtrdIIP(dnn”继续追溯,发现OGS_MAX_DNN_1EN在coreogs-3gpp-types.h中被定义为100,即堆栈缓冲区dst最大为IOObyteoIib/core/og3-3gpp-type5.h:#defineOGSMAXDNN1EN100回到OgS-fgdn-parse函数,整合上面的思路,当message-work_instance.data

14、的值为internet时,message-work_instanceen的值为8,即src=internetz1ength=8,在OgS-fgdn-parse函数执行过程中,Ien的初始值为srcO=i,转换为ASCaII,即Ien=IO5,然后在memcpy函数中,从src里面复制105个字节数据填充到dst中,而dst最大为100,因此发生了冲突。攻击者利用缓冲区溢出漏洞,将恶意字符写入dnn中,覆盖返回地址,最终能够控制UPF的通信进程。2.3 漏洞研究为了能够方便研究,笔者提取该漏洞的相关代码,并进行了简单的改造。test.c的代码如下图所示,部分解释放在注释中。Iioc1iMSe!inc1udefinduceIntogs_fqdn_parsectur*dst/charsrc,int1ength);inttest();mtVIain(intarjc.chatargv(J)test(I;inttest()/HiiuZibZpfcpZhandertC/打痂伯4chadnnt100(0unsignedchar

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 应用文档 > 工作总结

copyright@ 2008-2022 001doc.com网站版权所有   

经营许可证编号:宁ICP备2022001085号

本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有,必要时第一文库网拥有上传用户文档的转载和下载权。第一文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知第一文库网,我们立即给予删除!



客服