尹 虹,赵 闪,李 泽,王 蕊,岳 超
(1.中国铁道科学研究院集团有限公司 电子计算技术研究所,北京 100081;2.兴唐通信科技有限公司,北京 100191;3.中国国家铁路集团有限公司 办公厅,北京 100844)
铁路网络作为我国的关键信息基础设施,极易受到有组织黑客、网络对抗的攻击[1],面临的大多是组织性、针对性较强的网络威胁。数据加密技术、密钥协商技术和隧道传输技术等密码技术的应用,保障了铁路网络通信数据在传输过程中的完整性、真实性和机密性。但攻击者也会使用密码技术加密攻击行为和恶意通信流量,规避各类检测技术[2],造成对铁路网络的攻击与破坏。因此,监测铁路网络加密流量中的攻击行为和恶意流量,是当前网络对抗严峻形式下的基本要求。
目前,加密流量监测分析研究的主要方向为加密流量应用类型识别、加密协议分析识别和加密流量异常识别等[3]。在加密流量应用类型识别中,通过提取与加密无关的数据包字节数长度和持续时间等特征信息,识别加密流量的网络应用类型[4],如文字、语音或视频等类型[5];在加密协议分析识别中,由于动态端口对比困难的问题,基于通信端口的加密协议识别技术整体识别准确率较低[6],基于数据流或数据包识别网络流量的通信协议特征,并通过匹配各加密协议特征库进行识别的准确率较高[7];加密流量异常识别可基于数据流或数据包提取网络流量的持续时间、流量大小、包间隔时间等特征,使用支持向量机、朴素贝叶斯及C4.5决策树等机器学习算法对加密流量特征进行分析[8],也可依据网络流量加密协议通信周期行为特征的差异进行识别,利用机器学习或图论等算法完成加密协议识别分类,例如,文献[9]依据某下载软件的网络行为特征,实现加密流量异常识别。
在当前的研究中,机器学习等智能算法在加密流量监测中具备明显的优势,但现有的加密流量监测方法仅针对特定的、单一的协议或业务,存在普适性低等问题。因此,通过研究加密流量应用类型、加密协议、加密流量异常识别等智能算法,分析铁路网络加密流量重要特征,构建一套智能算法协同的铁路网络加密流量智能监测系统势在必行。
本文设计的铁路网络加密流量智能监测系统主要由数据获取、特征建模、智能分析、配置管理4个子系统组成,系统架构如图1所示。
图1 铁路加密流量智能监测系统架构
数据获取子系统为整个系统获取原始流量,包括流量镜像获取、深度流解析(DFI,Deep Flow Inspection)、流量预处理和数据存储等功能。部署时,针对需要监测的业务系统,使用探针设备对其核心交换机或服务器交换机上的流量设置旁路,使用端口镜像技术将业务流量复制,并从特定输出端口发出。DFI设备直接与探针相连,以pcap数据包的形式获取采集到的端口镜像流量数据,经过流量预处理,将流量数据中的网络广播或心跳包等冗余流量过滤后,存储在存储设备中。
特征建模子系统从经过预处理的铁路网络流量中提取可用于后续分析的网络流量数据流和数据包特征、加密协议特征、密码服务特征、异常特征、攻击行为特征等。
(1)网络流量数据流和数据包特征建模。提取明文流量、加密流量的流特征和包特征。流特征包括分组特征、熵特征、统计特征和距离特征;包特征包括负载特征、包分布特征、五元组信息及随机性特征。
(2)加密流量协议特征建模。识别提取加密流量的加密协议特征,包括隧道通信特征、层叠加密特征、行为特征和距离特征。
(3)加密流量服务特征建模。提取其服务流量特征,包括密钥协商流量特征、业务流量特征、管理流量特征和加密数据特征。
(4)加密流量异常特征建模。结合铁路领域特征与深度模型特征对铁路网络加密流量进行行为画像。铁路领域特征主要与铁路业务系统有关,如铁路领域内网络流时长、包时间间隔、背景流量特征、域名特征等。深度模型特征是指通过神经网络模型的自我学习获得的网络流量特征。构造基线监测模型,计算铁路网络加密流量行为画像与基线监测模型的距离向量,作为加密流量异常特征。
(5)攻击行为特征建模。在对攻击行为进行识别时,主要提取攻击行为的行为模式、特征组合及上下文关联。
智能分析子系统利用关联分析模型、分类器模型、机器学习模型等对铁路网络加密流量特征、协议特征、服务特征、攻击行为特征等进行分析与分类,输出铁路网络加密应用类型、加密协议、加密服务、加密流量异常情况、攻击行为等内容。
配置管理子系统向上承担了整个系统的异常上报和策略下发功能,向下承担了系统内部各子系统、各组件及功能模块间的接口定义和协同工作,主要包括特征建模管理、模型管理、策略管理、告警管理和系统管理等。
铁路网络流量加密后,其数据包中的报文载荷内容已无法解析,但在通信时,数据包间的分组、字节数、熵值、负载、持续时间等时间序列特征仍存在可识别性。为实现铁路网络加密流量应用类型识别,本文引入长短期记忆(LSTM ,Long Short-Term Memory)网络,识别铁路网络流量中的时间序列特征。LSTM网络可计算本时刻与上一时刻的数据状态,并传输给下一时刻;考虑到加密协议的复杂性,增加Elmo自回归语言模型进行预训练;增加自注意力(Self-Attention)结构层,充分学习加密流量的交互协议特征。加密流量应用类型识别架构如图2所示。
图2 基于Elmo+LSTM+Self-Attention模型的密文流量识别架构
(1)数据预处理。加密流量输入后按流或会话的形式划分为独立的数据包。
(2)模型训练向量。截取数据包字节,使用Elmo自回归语言模型进行预训练,通过密文流量上文及数据包字节等信息,对当前字节进行预测,过滤噪声等干扰,输出统一的包含密文流量特征信息的数据包数组向量。
(3)模型特征学习。通过构建LSTM、Self-Attention结构层及分类器算法,实现对数据包数组向量的特征信息提取及加密流量应用类型的分类识别等。Self-Attention结构层能提取到更加全面的密文流量特征,达到较高的识别准确性[10]。
铁路网络中存在多种流量加密技术和算法,使得加密后的流量特征各异,难以设计出一套通用的加密流量异常识别方法。因此,本文通过结合流时长、包时间间隔、包大小转移矩阵、熵值、域名等领域特征和神经网络模型自我学习获得的深度模型特征,构建了一个基于两阶段LSTM的加密流量异常识别模型,如图3所示。该模型可更好地获取网络流量数据包中的各类特征信息。
图3 基于两阶段LSTM网络的加密流量异常识别模型
(1)加密流量输入后,按流或会话的形式划分为独立数据包。(2)分别提取或识别加密流量的领域特征和深度模型特征,其中,领域特征可通过对数据包时长、间隔时间、熵值等数据的统计、分析与计算来提取;在深度模型特征获取中,需对数据包进行编码,输入至第1阶段LSTM网络中,针对
每个数据包进行深度学习,并逐个输出特征数据,即深度模型特征。(3)获取到铁路网络领域特征和深度模型特征后,通过联合拼接方式将两类特征拼接在一起,形成完整的加密流量特征数据,输入至第2阶段LSTM网络中,进一步学习加密流量间的序列关系,并使用分类器算法进行分类识别。
本文从加密流量研究入手,分析了加密流量应用类型识别、加密流量异常识别等方法,设计了铁路网络加密流量智能监测系统,结合智能算法阐述了铁路加密流量监测关键技术,有效协同多个模型,提升铁路行业加密流量监测、识别与分析的能力,为加密流量监测技术的后续研究提供参考。