5G网络的出现大幅提高了网络的传输速率和带宽,正在为广泛的新兴产业提供服务。在5G网络中,其核心网的控制面采用服务化架构(SBA,Service Based Architecture)设计,其信令传输使用第二版超文本传输协议(HTTP/2),应用程序接口(API)则用于各种服务的交付,因此核心网架构的转变也给5G网络带来了很多潜在的网络安全挑战。本文解读了2022年12月发表在《IEEE Communications Magazine》(IF=11.2)杂志上的一篇文章《A Security Assessment of HTTP/2 Usage in 5G Service Based Architecture》,由于篇幅问题,本文首先对5G SBA架构及其安全特性进行了介绍,并对5G SBA架构中HTTP/2协议安全威胁进行了分析。
二. 5G网络SBA架构及其安全特性
2.1
5G SBA架构简介
5G网络的SBA架构如图1所示,通过解耦用户面(User Plane)和控制面(Control Plane)实现对5G网络功能设计与实现,从而提供了一种独立的、可扩展切灵活的核心网部署方式。5G网络的用户面和控制面由多个相互连接的网元组成,每个网元都通过暴露服务承担着其特定的功能,如服务发现、服务注册和认证授权等功能。5G网络控制面网元之间的交互通过基于服务的表示实现,其中SBI接口可以轻松扩展,无需引入新的参考点。
图1 5G SBA架构安全功能
为了实现5G网络SBA架构中网元间的通信(也称为“5G信令”),3GPP选择了HTTP/2协议作为应用层协议,并使用JSON作为该协议的数据格式。为了增加安全性,网元应支持TLS 1.2和TLS 1.3协议,另外,Restful API也应用于5G服务的调用。
2.2
HTTP/2作为5G网络的信令协议
HTTP/2协议作为5G网络的信令协议,不仅能够支持事务的高并发和并满足低延迟的要求,但它还能在客户端和服务器之间的同一TCP连接上进行多个请求和响应,从而支持双向可靠的通信。5G SBA中,一个网元作为服务的消费者(即消费者网元)被授权访问另一个提供服务的网元(即服务者网元)。
在5G SBA中,HTTP/2的实现包括两种形式,一种是请求-响应形式,即消费者网元发出对服务的请求,服务者网元提供响应;另一种是订阅-通知通知,即消费者网元订阅服务者网元的某个事件,后者在事件发生时通知消费者网元。
HTTP/2引入了流(stream)的概念,它对应于一个HTTP请求-响应交换。一个HTTP/2消息可以是一个请求或一个响应,由HTTP/2帧组成,因此,流可以被定义为HTTP/2帧的双向流动。HTTP/2帧表示HTTP/2的基本数据单元,采用二进制编码。HTTP/2帧存在以下三种类型:
(1) HEADERS帧,用于开启一个流,并以键值对的形式携带不同的报头字段,;
(2) DATA帧,携带HTTP请求或响应的有效负载;
(3) SETTINGS帧,用于客户端和服务端传递影响它们通信的配置参数。
2.3
5G网络SBA架构信令通信方式
5G网络中SBA架构通信方式可以分为直接通信和间接通信。
直接通信通过5G网元之间的直接请求来实现,采用了基于HTTP/2协议的通信机制,并得到网络存储库功能(NRF)的支持。实际上,网元首先向NRF注册自身拥有的功能服务,以便NRF能够管理可用的网元实例和其相关服务的配置文件。通过查询NRF,网元能够发现可用的网元实例和服务,便可以通过其提供的API直接使用授权的服务。这些API基于3GPP标准化,一般形式为请求-响应或订阅-通知。
间接通信则通过服务通信代理(SCP)网络功能来实现,用于连接网元的消费者和生产者。SCP能够有效地路由来自服务消费者和生产者的请求和响应,并将服务的注册和发现请求转发至NRF。同时,SCP还提供负载均衡、过载处理、流量优先级和消息操作等诸多功能。
2.4
5G网络SBA架构安全
5G网络SBA架构可以基于云原生构建,其中每个网络功能都被视为一个网元。网元可以动态创建和销毁,并通过使用不同的API在SBI消息总线上进行通信。在通信的过程中,网元需要进行身份验证,以防止未经授权的访问其服务。3GPP确定了两种主要的安全机制:
1)相互认证和传输安全:通过在网元间和NRF网元和其他网元之间强制使用TLS加密,以降低消息伪造、篡改、否认和信息泄露的风险。
2)请求授权:NRF网元通过使用OAuth 2.0协议实现授权功能,服务提供者通过在NRF把其提供的服务授权给具体的消费者,防止权限提升的情况发生。
授权和身份验证适用于非漫游和漫游场景。然而,为了更好地保护5G网络免受未经授权的访问和外部攻击的影响,如漫游合作商等,引入了安全边缘保护代理(SEPP)(图1中所示)。SEPP在漫游合作伙伴之间的互连上充当安全网关。为了实现安全通信,SEPP提供了与漫游合作商相关的网元之间的应用层安全。SEPP的功能包括流量过滤、端到端身份验证、通过签名和加密来保护HTTP/2消息的机密性和完整性,还负责用于执行安全能力过程的密钥管理机,另外为了防止降级攻击,还提供拓扑隐藏的功能。
三. 5G SBA中HTTP/2功能安全分析
3.1
流多路复用功能安全威胁
HTTP/2的流多路复用功能允许在单个TCP连接上同时保持多个打开的流,从而提高服务的性能。通过设置HTTP/2中的SETTINGS_MAX_CONCURRENT_STREAMS参数,可以限制单个TCP连接上的最大并发流数量。尽管IETF(Internet Engineering Task Force,互联网工程任务组)建议将该设置的最小值设为100,以充分利用流多路复用功能,但没有关于上限设置的具体建议。实际上,上限可以达到惊人的2,147,483,647个流,这也意味着攻击者可以通过发送大量计算密集型请求的流,利用流多路复用功能,甚至可以扩大攻击范围,在多个TCP连接上复制攻击,造成拒绝服务(DoS)攻击。因此,在配置5G网络功能时,网络运营商应当谨慎设置,以限制此类攻击。
3.2
流量控制功能安全威胁
流量控制的引入可以避免同一个TCP连接中流的相互干扰。通过设置WINDOW_UPDATE、SETTINGS等帧,可以对发送方在发送的流数据大小进行限制,接收方也可以使用WINDOW_UPDATE帧通知发送方允许发送的数据量。但是这种灵活性也可能被恶意消费者滥用,对生产者的流处理产生影响,导致过高的资源消耗,造成拒绝服务攻击。实际上,在该拒绝服务攻击中,恶意消费者通过利用WINDOW_UPDATE帧发送少量的数据,就可以使得生产者的资源忙于处理其请求。5G网络中通常为每个生产者根据其所服务的垂直行业设置请求处理超时限制来对此攻击进行预防。
3.3
流依赖和优先级关系功能安全威胁
为了进一步提高用户体验,HTTP/2中的流依赖和优先级功能允许客户端通过PRIORITY帧为每个流分配优先级,流的优先级确定了客户端希望流被处理的顺序。客户端还可以指定流之间的依赖关系,在服务器端以依赖树的形式表示。客户端还可以为依赖的流分配权重,从而影响服务器分配可用资源的相对比例。
然而,RFC 7540[2]中没有对依赖树的大小进行限制。这意味着,如果一个网络服务服务端盲目地信任客户端,那么客户端网元可以欺骗服务网元构建一个消耗其内存和CPU资源的依赖树,从而导致服务网元遭受拒绝服务攻击。为了部分限制对这一功能的利用,可以在5G SBA中为每个TCP连接配置依赖树的大小,这样可以控制消费网元对依赖树的资源消耗,从而提高安全性。
3.4
报头压缩功能安全威胁
HTTP/2引入了HPACK压缩算法,通过对多路复用流中的冗余报头字段进行消除,实现对报头的压缩,从而减小请求的大小,降低对带宽的占用。HPACK通过以下方式对HTTP/2的请求和响应报头元数据进行压缩:
(1)对传输的报头字段进行编码以减少其占用空间;
(2)维护一个HPACK静态表,其中包含预定义的报头列表;
(3)更新并维护保存报头的动态列表的HPACK动态表。动态表被用于连接中的高速缓存,发送方可以向接收方发出信号,告知其要在动态表中插入哪些值,这样它可以在后续的流中引用这些值的位置。为了限制解码器端的内存需求,动态表的大小是有限制的,但是该表中报头值字段的大小却没有受到限制。这种无限制的报头值大小可能被攻击者用来发动HPACK Bomb攻击。攻击者可以通过生成一个具有大量报头的第一个流(与对等方的动态表大小相等),然后在同一连接上打开引用相同报头的新流。每个后续流的解压缩大型报头会导致内存耗尽,从而对服务器造成拒绝服务攻击。为了防止HPACK Bomb攻击的发生,应限制动态表中报头值的大小。
3.5
服务器推送功能安全威胁
HTTP2协议中,服务器使用PUSH_PROMISE帧进行资源推送,客户端可以根据 PUSH_PROMISE帧里提供的Promised Stream Id 来读推送的响应,而无需再针对每个资源单独进行请求。虽然服务器推送功能减少了请求数量和加载时间,改善了客户端体验,但也给服务器增加了负担。
恶意攻击者可以利用服务器推送功能与多路复用功能对HTTP/2服务器发动分布式拒绝服务(DDoS)攻击。恶意客户端可以迫使服务器同时处理大量并发请求,其中每个请求都存在多个相关的资源需要推送,从而引发Flood攻击,影响服务器出口带宽和附近的路由器,进而在网络层面上触发DoS攻击。
服务器推送功能可能使用过多的带宽来推送不必要的资源,进而影响带宽以及连接的稳定性,因此移动运营商必须仔细评估5G网络中启用该功能的必要性。
3.6
综合分析
虽然5G网络比一般的web使用了更严格的安全措施,降低了HTTP/2攻击的可能性,但是由于5G网络由于其虚拟化的特性,一些HTTP/2的攻击还是有可能被攻击者通过虚拟化的漏洞实现。事实上,网络运营商的网络部署也慢慢向公有云转移,增加了其攻击面,攻击者可以通过利用虚拟化漏洞或错误配置,打破5G网络切片之间的隔离,例如通过共享网元的攻击[4]。此外,HTTP/2攻击还可能来源于潜在的恶意合作商,并且不会被SEPP中的过滤技术检测。
值得一提的是,HTTP/2协议在互联网中常见的数据流多路复用攻击和慢速读取攻击也可能出现在5G网络中,相比之下,以上基于流依赖和优先级关系、服务器推送以及HPACK Bomb攻击在5G网络环境中发生的概率很低,因为这种攻击非常依赖于运营商5G网络的部署配置。因此,5G安全评估中很重要的一环就是检查运营商5G网络的配置,提前检测出可能的5G安全风险。
四. 总结
本篇文章主要解读了论文《A Security Assessment of HTTP/2 Usage in 5G Service Based Architecture》的前半部分,对5G SBA架构引入的不同安全功能和5G SBA架构中HTTP/2协议的安全问题进行了讨论和分析。
参考文献
[1] N. Wehbe, H. A. Alameddine, M. Pourzandi, E. Bou-Harb and C. Assi, "A Security Assessment of HTTP/2 Usage in 5G Service-Based Architecture," in IEEE Communications Magazine, vol. 61, no. 1, pp. 48-54, January 2023, doi: 10.1109/MCOM.001.2200183.
[2] IETF, “Hypertext Transfer Protocol Version 2 (HTTP/2) - RFC 7540,”2015.
[3] A. Praseed and P. S. Thilagam, “Multiplexed asymmetric attacks: Nextgeneration ddos on http/2 servers,” IEEE Transactions on Information Forensics and Security, vol. 15, pp. 1790–1800, 2019.
[4]AdaptiveMobile, “A Slice in Time: Slicing Security in 5G Core Networks,” 2021. [Online]. Available: https://info.adaptivemobile.com/ network-slicing-security?hsLang=en#download
相关阅读:
5G安全:5G-AKA链接攻击及对策
内容编辑:创新研究院 程 章
责任编辑:创新研究院 陈佛忠