APP下载

LTE核心网Diameter协议安全缺陷检测技术的应用

2019-12-03葛善兵

电子技术与软件工程 2019年21期
关键词:传输层信令核心网

文/葛善兵

针对LTE核心网Diameter协议进行安全缺陷检测,采用可以黑盒的自动化测试方法——模糊测试法,进行LTE核心网设备的自动化、全面化的安全缺陷检测,确定高效的fuzz策略,合理设计完整性、可用性良好的LTE核心网Diameter协议的fuzz测试框架,确保电信网络的运行安全可靠性。

1 LTE核心网网络架构及Diameter协议概述

LTE核心网实现了控制与承载分离,通过网元合并无线侧功能,趋使核心网结构的扁平化,降低设备处理延迟,实现控制与用户平面的拆分,灵活地实现用户面网关的分布式部署。在LTE核心网络架构之中,eNodeB是唯一的无线侧网元,链接用户终端UE和核心网,确保S1-MME逻辑接口与MME的连接,实现对用户的移动性管理和安全管理,并通过与HSS的沟通,与用户签约数据进行交互管理。同时,LTE核心网的不同网元之间通过接口实现通信,接口之间采用TCP、UDP、SCTP等协议,其中:S1-MME接口是eNodeB和MME之间控制平面的接口,负责寻呼、切换、用户上下文管理、控制信令传送等,应用层和传输层分别采用S1AP协议和SCTP协议。S11接口是MME和SGW之间控制平面的接口,实现对资源的合理分配及管理,应用层和传输层的协议分别为GTPv2、UDP协议。S5/S8接口负责SGW和PGW之间的通信,用于单个用户创建、删除、变更等管理,应用层和传输层协议分别为GTPv2、UDP。S1-U接口是eNodeB和S-GW之间用户平面的接口,用于图片、视频、文本的传输,应用层和传输层分别采用GTP、UDP协议。S6a接口是MME和HSS间负责通信的接口,应用层和传输层分别采用Diameter、SCTP/TCP协议。

Diameter协议是AAA协议的拓展和更新,承载于TCP或SCTP之上,负责核心网元MME和HSS的数据交互,是一种基于问答的消息协议,它保留原RADIUS协议的向后兼容性,并突破了单向的客户端/服务器模式,成为面向连接的传输协议,实现流量、消息确认、消息重传等功能,体现出网络安全接入的性能。同时,Diameter协议还支持用户接入核心网的认证和签约,利用HSS数据库服务器处理所有用户签约数据,如:鉴权信息、授权信息、位置信息、用户业务属性等,并采用SCTP流控制传输协议实现可靠传输和安全数据保护。另外,Diameter协议还有不同类型的节点,即:客户节点、服务器节点、代理节点,其中:客户节点通过服务器节点获取服务;代理节点负责消息的转发,极大地提升LTE核心网的运营性能和效率。

2 基于Diameter协议机制的fuzz测试数据包生成算法分析

2.1 Diameter协议数据包格式

Diameter消息由公共报头和上层应用协议构成,其中:公共报头部分涵盖与上层应用无关的通用消息和通用AVP数据;上层应用协议涵盖基于Diameter协议应用部分消息、信令流程和特定AVP数据,它们都是由TCP/SCTP协议作为传输层,实现消息的有序传送和差错重传,适用于基于Diameter协议的不同场景的扩展应用。

Diameter数据包的主要字段包括有:1字节长度的Version字段;3字节长度的Message Length字段;3字节长度的Command Code字段等,数据包的数据部分也即AVP数据,包 括 有AVP码、AVP Flag、AVP length、实际的值。数据包的消息路由主要是依靠代理节点Diameter Proxy加以实现。另外,不同Diameter类型的数据包还涵盖有其他类型的AVP数据,如:全局标识一个Diameter会话的Session-ID;用于标识消息的发起方主机的Origin-Host。

2.2 Diameter协议流程特征

S6a接口的Diameter协议是上层Diameter应用协议,主要实现MME和HSS间的信息交互,完成鉴权管理、安全管理、移动性管理、用户签约数据管理等流程,具体包括有不同的信令流程,其中:

(1)位置管理流程。主要有:Diameter信令中的位置更新流程Update Location主要通过使用Update Location Request/Answer两条消息实现;取消更新流程Cancel Location主要采用Cancel Location Request/Answer两条消息实现;清除用户流程Purge UE主要采用Purge UE Request/Answer两条消息实现。

(2)签约数据处理流程。其中,插入用户签约数据采用Insert Subscriber Data Request/Answer两条信令实现;删除用户签约数据采用Delete Subscriber Data Request/Answer两条信令消息加以实现。

(3)鉴权流程。MME通常会向HSS申请鉴权参数,主要采用Authentication Information Request/Answer两条信令实现。

(4)故障恢复流程。该流程通过HSS重启的方式实现触发,并向MME发出Reset Request/Answer的两条通知消息,意指网络故障重启状态会导致信令交互无法完成,MME获悉之后将有影响的用户状态修改为无附着状态。

(5)通知流程。主要完成MME与HSS之间的业务参数调整,包括终端信息、终端SRVCC能力变更、PGW分配及变更等调整内容,使用信令为Notify Request/Answer两个消息。

2.3 面向LTE核心网Diameter协议的fuzz测试算法

基于上述Diameter协议在核心网S6a接口的业务场景和流程,可以生成面向LTE核心网Diameter协议的fuzz测试算法,在Diameter协议数据包依循流程方面的特征以及数据字段特征的前提下,可以进行如下fuzz测试算法流程的操作:

(1)通过CER/CEA消息建立传输层的连接,避免发出的测试Diameter数据包被遗失。

(2)结合发送的Diameter消息的不同类型,选择不同的fuzz策略:对于长度固定字段而言,要确保每个字段优先满足自身的约束条件并进行位变异;对于不确定长度字段而言,要优先使用特殊长度实现变异,然后再使用。

(3)在生成变异数据时,要将Diameter消息的长度固定字段放入位变异队列,将不固定长度字段放入长度变异队列;并监测连接状态,对于连接断开的异常情况要记录并发送;最后要对变异队列中的字段进行逐一变异测试。

3 LTE核心网Diameter协议的fuzz安全缺陷检测应用分析

3.1 fuzz安全缺陷测试总体架构设计与应用

为了避免测试过程不被打扰,fuzz安全缺陷测试框架要进行正确的变异,较好地封装协议数据包,并接受待测试设备反馈的结果,为后续动作做出决策。总体架构设计主要包括以下模块:连接建立模块、数据包变异模块、数据包发送模块、结果保存及分析模块。

3.2 主要功能模块设计与应用

3.2.1 连接建立模块

主要实现框架与被测试对象的通信链接,包括建立传输层TCP连接、建立传输层SCTP连接、建立应用层连接,并采用套接字(socket)的方式,以clinet/server的方法进行通讯。同时,选择按照面向对象的方式对连接实现封装处理,使程序具有更强的可读性和可扩展性。

3.2.2 数据包变异模块

该模块主要基于Diameter协议的协议栈生成不同类型的Diamerter数据包,并根据变异算法实现数据包的变异。

3.2.3 数据包生成模块

该模块将变异数据进行打包,使之由数据结构转换为网络流,并被对端接收。

3.2.4 结果保存与分析模块

准确发送构造的fuzz测试变异数据包后,要对fuzz测试结果进行监听、响应和保存,可以通过封装的Socket类的数据接收方法,监听服务器的返回值,获悉服务器的有回应状态、无回应状态和异常状态,当发生崩溃异常状态时,要对异常数据包进行保存和分析,可以选择序列化的方式对Diameter对象进行处理,使复杂的数据结构序列化,完成复杂数据的传输和存储。

4 小结

综上所述,LTE核心网Diameter协议采用fuzz测试数据包生成算法,构建基于Diameter协议的fuzz测试框架,通过不同的功能模块如:连接建立、数据包变异、数据包生成、结果存储与分析等,对Diameter协议核心网设备进行安全缺陷检测,较好地提升fuzz测试生成数据的有效性。未来还要进一步优化模糊测试的数据生成算法,并延伸到除核心网S6a接口之外的高层应用,拓展Diameter应用的fuzz测试技术领域。

猜你喜欢

传输层信令核心网
ZnO电子传输层在有机无机杂化钙钛矿太阳能电池中的应用
SLS字段在七号信令中的运用
GSM-R核心网升级改造方案
移动信令在交通大数据分析中的应用探索
物联网无线通信传输层动态通道保障机制
5G移动通信核心网关键技术
通信核心网技术的应用探讨
基于信令分析的TD-LTE无线网络应用研究
LTE网络信令采集数据的分析及探讨
VoLTE核心网建设方案