Academic Research

Network baseline and encrypted traffic classification technology based on deep learning

  • HE Erlu ,
  • WU Xiangbo ,
  • LIU Lizhe ,
  • GUO Xiaobo ,
  • YANG Xiaopeng ,
  • LI Hao , *
Expand
  • Academy for Network & Communications of CETC, National Key Laboratory of Advanced Communication Networks, Shijiazhuang 050081, China

Online published: 2024-07-08

Copyright

Copyright ©2024 Journal of Aeronautical Materials. All rights reserved.

Abstract

As network communication technology was continuously updated and services were constantly expanded and strengthened, along with the increasing number of internet devices, applications and services, network management became more complex and challenging. At the same time, the occurrence of network security incidents also became more frequent. The feature distribution under normal network conditions usually differed significantly from that under abnormal conditions, thus constructing a security traffic baseline could detect network anomalies. The baseline models at that time mostly relied on manually designed rules, which had high rates of false negatives and false positives. This paper introduced Deep learning technology was introduced, a dynamic baseline construction method based on LSTM was proposed, which also integrated traffic features from three dimensions. Moreover, because abnormal access and attacks were usually encrypted for transmission by adversaries, to ensure the safe operation of the system, it was necessary to classify encrypted traffic with fine granularity and filter out normal access application service traffic. Therefore, a deep learning-based encrypted traffic classification technology was proposed that could achieve fine-grained classification of encrypted traffic by mining deep representations of traffic features.

Cite this article

HE Erlu , WU Xiangbo , LIU Lizhe , GUO Xiaobo , YANG Xiaopeng , LI Hao . Network baseline and encrypted traffic classification technology based on deep learning[J]. Journal of Cybersecurity, 2024 , 2(2) : 76 -85 . DOI: 10.20172/j.issn.2097-3136.240207

0 引言

随着网络技术的飞速发展和新型网络的灵活应用,人们的工作、生活都面临着各种网络攻击。对于常见网络攻击,例如DDoS(Distributed Denial of Service)、APT(Advanced Persistent Threat)等攻击均需要通过网络发起,因此,攻击势必会以某种方式在流量中体现。通过分析正常网络工作状态下的多维度特征一般分布,构建安全基线,当出现显著区别于正常分布的异常样本时,系统可以清晰地给出异常告警。
然而,目前的基线模型大多依赖于人工设计规则,漏报率和误报率较高,无法提供有效的异常流量信息。其中,固定阈值的基线模型,缺乏针对不同时段流量的动态调整,预警方式不够灵活,仅能有效监控到波峰流量是否异常;动态基线模型能够根据网络流量的实时动态自动调整对应的阈值,可以较好地适应特定场景的流量监控任务。
随着人工智能技术的快速发展,深度学习技术被广泛应用于各种领域。将深度学习技术用于动态基线的生成过程,可以有效地减少人工设计规则的过程,适用于大多数网络系统的流量监控分析。因此,如何将深度学习技术与动态基线机制结合,减少人工依赖的同时,提高异常检测准确率成为亟待解决的问题。
随着加密技术的广泛应用以及数据隐私安全要求的增加,加密流量呈现爆炸式增长。各种应用程序使用加密协议来保护通信和用户的隐私,如虚拟专用网(Virtual Private Network ,VPN)是最常用的加密隧道,一直用于数据传输,以保证数据的安全性和可用性。同时,部分恶意软件通过网络进行传播,利用加密协议来隐藏其存在和活动。根据谷歌最新的透明度报告,互联网排名前100位的网站100%支持HTTPS加密,其中97%默认采用HTTPS加密。虽然加密技术保护了用户的隐私,但技术的滥用也深刻地改变了网络安全的格局,不仅使得网络欺诈和非法在线交易变得更容易,同时黑客也更容易逃避对勒索软件、网络钓鱼和数据泄露的检测。如上所述,加密方法使传输数据更加安全,但同时让不法分子有了可乘之机,因此需要开展应用级别的加密流量分类研究。
异常流量检测和加密流量分类是网络安全领域中的两个重要概念,它们之间存在一定的关联性,但也有明显的区别。
异常流量检测主要关注的是识别网络中的异常行为,这些行为可能表明存在安全威胁,如网络攻击、恶意软件传播等。异常流量检测的目标是通过对网络流量的实时监控和分析,发现与正常行为模式不符的流量,以便及时采取措施应对潜在的安全威胁。这种方法通常依赖于统计分析、机器学习或深度学习技术来建立正常流量的模型,并识别偏离这一模型的异常行为。
加密流量分类则专注于对加密的网络流量进行识别和分类。由于加密技术的使用,传统的基于内容的检测方法无法直接分析流量内容,因此需要采用其他技术手段来识别流量所属的应用程序、服务或协议。加密流量分类的方法包括基于流量统计特征的分析、深度学习模型的应用等,目的是在保护用户隐私的前提下,对加密流量进行有效管理和安全监控。
异常流量检测更侧重于安全威胁的发现和响应,而加密流量分类则侧重于流量的识别和管理。本文利用基于动态流量基线的异常检测和基于深度学习的加密流量分类技术共同提升网络安全防护的能力。具体地,首先利用基于动态流量基线的异常检测,持续分析网络实时吞吐量、网络流向、网络协议等各类数据,构建整体网络的标准行为可视化安全基线,实时掌控网络的流量状态,从流量维度发现网络异常。其次,当前网络环境中加密流量占比越来越高,导致异常流量检测性能下降,因此使用基于深度学习的加密流量分类技术对异常流量检测模型进行补充,通过准确地识别流量类型和应用程序,可以更有效地建立正常流量的模型,更好地检测出加密流量中的异常。本文所提出的两方面技术都是为了检测网络流量中的异常,发现潜在威胁。
本文的主要贡献如下:
(1)提出了一种基于动态安全基线的异常流量检测方法,该方法能够利用深度学习技术实现动态基线的自动构建,同时融合3个维度的流量特征提高异常流量检测的准确率。
(2)提出一种基于深度学习的加密流量分类技术,通过一维卷积神经网络自动学习加密流量数据特征,通过挖掘流量特征深层表征实现高效的加密流量分类。

1 相关工作

1.1 流量基线

使用基线模型对历史数据进行分析,通过数据采样、加工、拟合等形成历史数据趋势,作为未来数据的预测基础。通常的基线模型,需要定义一整套完整的阈值规则,通过比较阈值门限与实际的数据,从而找到数据异常点。
构建基线模型对网络进行监控的目的是通过监控网络流量指标实时监测网络系统的运行状态,并根据预设的阈值规则与流量的实时状态比对生成网络预警,从而帮助网络运维人员发现网络潜在的异常或攻击。这当中,阈值规则设置的合理性将会直接影响网络异常预警的准确性,进而影响对网络安全事件的及时处置。选择合适的阈值模型,对及时发现网络异常至关重要。通常基线模型可以分为固定基线模型和动态基线模型。
固定基线模型的基线,即阈值,一般在每个时段设定为固定值,通常设定检测数据的上边界和下边界,即正常网络数据在一个区域内波动,当数值超出边界后将会产生异常告警信息。设定固定阈值可以快速实现异常监控系统的搭建,操作简单、便于理解,早期的基线模型多采用这种模式。但这种阈值规则预警方式不够灵活,无法适应更多个性化的网络监控预警需求,而且异常告警的有效性很低,经常出现误报或漏报,无法实现查全率和召回率的综合考量。如果阈值设定较低,会出现大量无效告警;如果阈值设定较高,又会导致大量异常告警漏报。
固定阈值模型未考虑网络状态与时间的相关性,比如网络流量在不同时间段的特征, 工作日的网络状态与节假日的网络状态、白天的网络状态与夜间的网络状态等通常存在很大的差异。因此,根据不同时刻的网络数据设定的动态网络基线更加合理。动态基线模型的基线一般以一段时间内的网络状态特征作为系统阈值规则。文献[1]对固定基线和动态基线等基本模型进行归纳分析,并结合实际提出了部分关联规则。
传统的动态基线模型通常采用基于统计的方法。计算过程一般分为4部分,分别是采集历史网络数据样本、对数据样本进行降噪处理、选取合适的统计指标实现动态基线计算、得到动态基线。建立基线的第一步是选取合适的数据点完成样本数据的采集,在采集历史数据时,需要主要样本空间能够包含尽可能完整的数据集合,样本点需要包含各个时间段的历史数据,这样才能确保得到的基线更加准确,通常选择的数据不少于连续14天。第二步需要对采集的数据进行降噪处理,由于采集的数据样本较大,很多并不符合统计计算的时间区间要求,需要对数据进行平滑处理等预处理操作。第三步需要确定用于基线计算的统计指标,一般较多采用的指标有均值、标准差等,通过计算得到每个时刻的基线值。最后使用所有时刻的基线值绘制动态基线模型。文献[2]提出了一种基于动态基线的业务运营支撑系统异常网络流量检测方法,利用动态基线分析网络进出宽带所占比率,制定了动态分级告警规则。文献[3]提出了一种基于动态基线的蠕虫检测方法,利用Netflow网络工具监测通信端口、时间、流量3个维度的信息,构建基线动态临界值调整算法,找出可能的蠕虫及受感染的节点。文献[4]提出了一种基于均方差算法的动态基线方法,对海量历史数据进行计算,实现了根据铁路业务实际情况随时间浮动的动态基线模型,从多视角、多维度对各项监控指标时间序列数据进行处理和统计分析。文献[5]分析了政务网站监测中存在的问题,提出了网站流量数据分类方法,并基于网站流量基线分析进行网络监测预警体系建设,可以提升安全监测和运维服务体系能力,及时发现流量中存在的异常情况。文献[6]提出了一种基于实时动态基线的运行设备多元状态估计方法,针对设备当前运行观测值,计算实时偏差,根据偏差构建实时动态基线,实现对设备运行状态的判断。
与固定阈值模型相比,基于统计的动态基线模型性能更加优异,能够显著减少误报和漏报。但该方法也存在效率较低的问题。如果要满足更丰富的告警监控目标,就需要手动制定更多阈值规则,维护成本较高。因此,可以利用机器学习模型对历史数据进行特征学习并自动化生成动态基线,更高效地实现异常告警。基于机器学习的动态基线模型采用机器学习模型来代替基于统计的手动提取网络特征的过程。将处理后的网络数据输入机器学习模型,用于预测未来的网络状态,从而自动化地生成动态基线。文献[7]以银行数据中心存储性能指标时间序列数据为研究分析对象,在阈值规则的基础上,选择适用的机器学习方法进行模型训练以生成动态基线,并使用基线峰值移动窗口方式实现异常数据的检测和预警。文献[8]基于改进的局部离群点检测方法设计了一种新型链路流量细粒度监测预警模型,通过在滑动时间窗口内对观测流量与动态基线进行快速计算,实现链路流量细粒度异常的快速监测预警。

1.2 加密流量分类

加密流量分类技术的发展经历了传统方法、基于机器学习和基于深度学习3个阶段,传统方法包括基于端口和基于有效载荷。基于端口的分类方法假设大多数应用程序均使用TCP(Transmission Control Protocol)或UDP(User Datagram Protocol)端口号,进而推断应用程序的类型。然而,端口伪装、随机端口等技术使基于端口的流量分类技术失去作用。基于有效载荷的分类方法,即深度数据包检测(Deep Packet Inspection,DPI)需要匹配数据包内容,并且具有很高的计算开销[9],因此不适用于加密流量分类。
学者们开始研究基于机器学习对加密流量进行识别和分类,如k最近邻、隐马尔可夫等[10-13]。虽然经典的机器学习方法可以解决许多基于端口和有效载荷的方法无法解决的问题,但是它们的性能在很大程度上依赖于人工设计的特性,这限制了它们的通用性。
深度学习可以通过训练来自动地选择特征,可以有效解决未知类的出现和已知类的模式演变带来的问题。与传统的机器学习方法相比,深度学习具有更高的学习能力,因此可以学习高度复杂的模式。结合这两个特征,作为一种端到端方法,深度学习能够学习原始输入和相应输出之间的非线性关系,实现高效准确的加密流量分类。
2015年,Wang[14]首次尝试使用MLP进行流量分类。他们使用包括常规的和加密的应用程序的30万条流量记录进行实验,实验结果表明,在前25种流行协议中,准确率和查全率均能达到90%以上。Chen等人[15]提出一种序列转换为图像的方法Seq2Img,即把一维流量序列转化为二维图像,然后输入卷积神经网络中提取特征,该卷积神经网络(Convolutional Neural Networks,CNN)包括两个卷积层、两个池化层和三个全连接层,同时该方法还使用了再生核希尔伯特空间(Reproducing Kernel Hubert Space,RKHS)用于辅助特征映射,经过实验验证,所提出的Seq2Img在协议和应用分类方面都优于经典的ML方法和MLP方法。Rezaei等人[16]基于一维CNN的半监督方法对5个谷歌应用程序进行了分类,该模型经过训练,可以从大型未标记数据集的采样数据包中提取整个流的统计特征,然后将权重转移到新模型中,并重新训练,最终仅使用少量标记样本进行应用分类。 Wang 等人[17]提出使用一维CNN实现加密流量分类,该一维CNN包含两个卷积层、两个最大池化层和两个全连接层,该模型将每个数据包中的字节规范化,并只使用前784个字节,通过实验对比,该方法相比使用统计特征的C4.5模型的效果更佳。
对于网络分类任务,混合模型可以同时捕获网络流量的空间和时间特征,在文献[18-19]中同时使用了CNN和循环神经网络(Recurrent Neural Network,RNN)。虽然输入特征、神经网络结构和自编码器通常以无监督方式使用,通过编码—解码方式获得输入数据的重构特征,并将其用于分类,例如,文献[20]中使用自编码器用于重建输入。然后在自编码器的编码内部表示使用Softmax进行分类,并实现中等分类准确度。在文献[21]中利用报头和有效载荷数据来训练一维CNN和堆叠自编码器模型。两种模型都表现出较高的精度,而CNN模型的性能略优于堆叠自编码器模型。尽管数据集不同,但两项研究都取得了较高的准确性。生成对抗模型可以用来处理网络流量分类中的数据集不平衡问题。不平衡问题是指每个类的样本数量变化很大的情况。在这种情况下,机器学习算法通常难以预测少数类样本。处理不平衡数据集比较常见的方法是对少数类样本进行过采样。文献[22]使用生成对抗网络(Generative Adversarial Network,GAN)生成合成样本来处理不平衡问题,其中生成对抗网络仅用于生成少数类样本数据,分类器采用经典的ML算法,包括支持向量机(Support Vector Machine,SVM)、逻辑回归(Logistic Regression,RF)和决策树等。

2 方法

2.1 方法概述

本文聚焦于网络流量异常检测任务,提出了基于动态流量基线的异常检测方法。同时针对加密流量导致现有异常检测方法准确率较低的问题,提出了基于深度学习的加密流量分类技术,研究加密流量类型和应用程序的分类,以便更有针对性地构建流量异常检测模型,及时检测出加密流量中的异常。异常流量检测侧重于安全威胁的发现和响应,而加密流量分类则侧重于流量的识别和管理。本文研究加密流量分类的目的是在识别加密流量的基础上进一步识别网络安全威胁。

2.2 基于动态流量基线的异常检测

使用隐蔽且致命的0-day漏洞攻击给防御者带来极大的威胁和困扰。应对这种未知攻击需要依靠多层次、多维度的立体式防御策略,以求尽早发现攻击痕迹。构建安全基线的目的在于通过持续的安全监控,为整个网络的标准行为设置基线,以了解常规状态下网络的基本工作状态,如吞吐量、协议种类、峰值流量等。随后,通过安全监控和行为基线来识别一些显著违反基本工作状态的流量行为,以发现潜在安全威胁。然而,潜藏在正常流量中的攻击代码、被加密隐藏的恶意攻击流量使得传统基于统计分析的网络态势感知出现严重偏差,无法准确划定安全基线。同时,这种异常流量往往不是单独出现,而是存在显著的上下文关联。因此,本部分聚焦异常流量挖掘,使用深度学习方法,实现对未知攻击的深度感知,持续分析网络实时吞吐量、网络流向、网络协议等各类数据,构建整体网络的标准行为可视化安全基线,具体包括以下几部分内容。

2.2.1 数据采集与预处理

本文选取普通局域网系统,采集一段时间内的时间序列数据,并通过数据预处理构造下一步网络模型的输入数据。
首先利用自动化流量采集工具采集网络中连续14天的流量数据,然后通过移动时间窗口方法构建多条训练数据与标签数据。设定时间间隔,按照时间间隔对流量数、封包数与IP数进行连续的统计。具体地,本文设置时间间隔为1 min,流量数为1 min内的全部流量条数,封包数为1 min内的全部流量包数,IP数为1 min内流量包含的全部IP数。将第$ i $个流量数至第$ i+N $个流量数作为一条流量数训练数据,第$ i+N+1 $个流量数作为该训练数据的标签数据,$ i=\mathrm{1,2},3, \cdots ,N $为正整数,得到多个流量数训练数据与流量数标签数据。同理可得多个封包数训练数据与封包数标签数据,以及多个IP数训练数据与IP数标签数据。具体地,本文按照时间顺序将上面统计的数值进行排列,构造的每条数据为31 min的统计数值,其中前30个数值为训练数据,第31个数值为标签数据,按照时间顺序移动窗口,每次向后移动1 min形成一条新数据,遍历14天的数据从前往后移动窗口,得到完整的训练数据集。
在网络安全和流量分析领域,数据采集与预处理是构建有效网络模型的关键步骤。接下来从以下几个方面来说明上述方法的代表性和说服力。
1)采集环境:普通局域网是企业和组织中常见的网络环境,这种环境的数据采集能够更好地模拟实际网络中可能遇到的情况,从而提高模型在现实世界中的应用价值。
2)时间序列数据的连续性:通过连续14天的流量数据采集,这样的长时间跨度能够捕捉到网络流量的动态变化,包括日常的周期性波动和可能的异常事件。时间序列数据的连续性对于分析网络行为模式和预测未来流量趋势至关重要。
3)移动时间窗口方法:该方法能够生成多条训练数据和标签数据,这有助于模型学习到流量数据的时间依赖性和序列模式。通过设定时间间隔(如1 min),并按照这个间隔进行数据统计,可以确保模型能够捕捉到短时间内的流量变化,这对于实时流量监控尤为重要。
4)特征构造的合理性:通过统计流量数、封包数和IP数,这些指标能够反映网络活动的强度和多样性。这些特征是网络流量分析中常用的指标,能够有效地描述网络状态,并且对于识别网络中的异常行为具有较强的说服力。
5)数据集的构造:将连续的统计数值作为训练数据,并将随后的数值作为标签数据,这种方法模拟了实际的网络监控场景,其中模型需要根据历史数据来预测未来的状态。构造的每条数据包含31 min的统计数值,这样的长度既能提供足够的历史信息,又不至于过于冗长,有助于提高模型的学习效率和预测准确性。
综上,所描述的数据采集与预处理方法具有较强的代表性和说服力,因为它们基于实际网络环境,采用了合理的时间序列分析方法,并构造了具有代表性的特征和数据集,这些都为构建有效的网络模型提供了坚实的基础。

2.2.2 LSTM时间序列预测模型

使用循环神经网络(Recurrent Neural Network,RNN)模型可以帮助人们更有效地处理序列数据。在RNN模型中,人们可以在特定时间重新将神经元的输出作为神经元的输入。对于时间序列数据之间的依赖关系,RNN 模型的网络结构可以充分维护它们。但是,RNN模型存在梯度消失和梯度爆炸的问题。为了解决传统 RNN 模型的梯度消失和梯度爆炸问题,Hochreiter 等人[23]提出了长短期记忆网络(Long Short-Term Memory,LSTM)模型。LSTM网络模型是由传统的RNN模型中改进而来的,与RNN模型相比,LSTM模型的隐藏单元具有更高的复杂性。同时,LSTM模型相比RNN模型具有更广泛的应用范围,是一种更有效的序列模型。在模型运行期间,LSTM 模型可以通过添加线性干预来有选择地添加或减少信息。因此,通过基于LSTM的深度学习时间序列预测算法可以进一步挖掘流量间时间序列特征,从而实现行为安全基线的深度优化。
LSTM网络模型如图1所示。LSTM 网络是最早提出的 RNN 门控算法,其对应的环路单元 LSTM 单元包含 3个门控单元:输入门、遗忘门和输出门。与 RNN 建立系统状态的递归计算相比,3个门控单元在 LSTM 机制的内部状态上建立了一个自循环。具体来说,输入门决定了当前时间步长的输入和前一时间步长的系统内部状态的更新;遗忘门确定将上一个时间步长的内部状态更新为当前时间步长的内部状态;输出门决定了内部状态对系统的影响。LSTM 模型使用前一时刻的隐藏状态和当前时刻的参数信息作为输入,以确定当前时刻的参数状态。由于采用门控机制,LSTM 模型在捕获当前时刻的参数信息时,保留了历史参数信息的变化趋势。因此,该模型可以从参数化数据中捕获网络流量动态的时变特征。本文应用LSTM模型来学习流量状态的时间变化趋势。
图 1 LSTM网络模型

Fig.1 Network structure of LSTM

遗忘门的计算公式为:
$ {f}_{t}=\sigma \left({{\boldsymbol{W}}}_{f}\right[{h}_{t-1},{x}_{t}]+{b}_{f}) $
其中,$ \sigma $为Sigmoid激活函数,$ {{\boldsymbol{W}}}_{f} $为遗忘门的权重矩阵,$ {h}_{t-1} $为上一时刻遗忘门的神经元状态,$ {x}_{t} $为当前时刻的输入值,$ {b}_{f} $为遗忘偏置项;$ {f}_{t} $为网络神经元中信息的保留程度,$ {f}_{t} $∈[0,1]。
输入门的计算公式为:
$ {i}_{t}=\sigma \left({{\boldsymbol{W}}}_{i}\right[{h}_{t-1},{x}_{t}]+{b}_{i}) $
$ {\tilde{c}}_{t}=\mathit{{\mathrm{tan}}}{\mathrm{h}}({{\boldsymbol{W}}}_{c}[{h}_{t-1},{x}_{t}]+{b}_{c}) $
$ {c}_{t}={f}_{t}{c}_{t-1}+{i}_{t}{\tilde{c}_t} $
其中,it为中间变量,$ {b}_{i} $$ {b}_{c} $为输入偏置项,$ {{\boldsymbol{W}}}_{i} $为第一输入权重矩阵,$ {{\boldsymbol{W}}}_{c} $为第二输入权重矩阵,$ {\tilde{c}}_{t} $为通过tanh激活函数筛选出的候选细胞状态,$ {c}_{t-1} $为上一时刻输入门的细胞状态,ct为当前时刻输入门的细胞状态。
输出门的计算公式如下:
$ {o}_{t}=\sigma \left({\boldsymbol{W}}\right[{h}_{t-1},{x}_{t}]+{b}_{o}) $
$ {h}_{t}={o}_{t}\mathit{{\mathrm{tan}}}{\mathrm{h}}({c}_{t}) $
其中,$ {o}_{t} $为通过Sigmoid激活函数筛选出的输出信息,$ {b}_{o} $为输出偏置项,$ {\boldsymbol{W}} $为输出权重矩阵,$ {h}_{t} $为LSTM模型最终的输出。
本节构建3个LSTM模型,分别用于对流量数、封包数与IP数进行数据预测。将预处理得到的流量数、封包数与IP数的训练数据分别进行词嵌入操作,之后输入至各自的LSTM模型中,得到各自的预测数据。将流量数、封包数与IP数的预测数据分别与各自的标签数据进行对比,通过均方根误差函数计算流量数、封包数与IP数的预测结果损失,根据预测结果损失分别更新3个LSTM模型的内部参数,直至预测结果损失收敛,结束训练并保存LSTM模型的内部参数,完成深度学习训练。具体地,本方法中的LSTM模型使用简单的双层网络结构,第一层网络的输入为512维,第二层网络的输入为128维,之后连接一个全连接层,初始学习率设定为0.001,优化器使用Adam算法。

2.2.3 异常告警

设置告警阈值,之后将需要监测的流量数据输入3个LSTM模型中,得到流量数、封包数与IP数的预测数据,将流量数、封包数与IP数的实际数据和预测数据做差,并将3组差值进行加权融合,其具体方式为:$ a\left({T}_{流量数}-{P}_{流量数}\right)+b\left({T}_{封包数}-{P}_{封包数}\right)+ c\left({T}_{{\mathrm{IP数}}}-{P}_{{\mathrm{IP数}}}\right) $,其中,$ {T}_{流量数} $$ {T}_{封包数} $$ {T}_{{\mathrm{IP数}}} $分别为流量数、封包数与IP数的实际数据;$ {P}_{流量数} $$ {P}_{封包数} $$ {P}_{{\mathrm{IP数}}} $分别为流量数、封包数与IP数的预测数据;$ a $$ b $$ c $分别为对应差值的加权系数。当加权融合值超出告警阈值时进行告警,完成基于动态安全基线的异常流量检测,如图2所示。具体地,加权系数和告警阈值可以根据告警的灵敏度进行调整。
图 2 流量数预测结果与实际结果的差异

Fig.2 Difference between the predicted result and the actual result of the traffic volume

2.3 基于深度学习的加密流量分类技术

为了解决当前传统加密流量算法由于依赖手工提取特征无法实现高效检测的问题,提出一种基于深度学习的加密流量分类技术,通过一维卷积神经网络提取流量数据包的特征,通过卷积能够得到数据的深层表征,进而实现快速精确的加密流量分类。以真实数据链路层加密流量ISCX VPN-nonVPN和ISCX Tor-nonTor数据集开展加密流量细粒度分类,本文提出的方法能通过一维CNN捕获网络数据包中相邻字节之间的依赖关系,找到不同流量类型的区别模式,从而对流量进行准确的细粒度分类。

2.3.1 数据预处理

本文将在ISCX VPN-nonVPN和ISCX Tor-nonTor两个加密流量数据集上开展加密流量分类性能验证。在对数据集进行特征提取前,首先需要对数据集进行预处理。
流量数据均是在数据链路层捕获的,流量数据包含以太网包头,其包含的信息对应用程序分类是没有额外帮助的,所以,首先要删除以太网包头。同时由于传输控制协议(TCP)、用户数据报协议(UDP)报头长度不同。TCP具有一个20字节长度的报头,而UDP仅有8字节的报头。为了使传输层段保持特征均匀,本文在UDP报头的末端补零,使其与TCP报头长度相等。本文将数据包从位转换为字节,这有助于减小神经网络的输入大小。
由于数据集是在真实世界的模拟中捕获的,因此会包含部分与流量分类无关的数据包,如SYN、ACK、FIN和DNS等,将其直接删除。此外,屏蔽IP数据报头的IP,避免神经网络学习他们的IP地址对数据包进行分类进而导致过拟合。卷积神经网络在执行分类任务时需要固定大小的输入,因此需要统一流量数据包长度,因为大多数计算机网络都受到1500字节的最大传输单元(MTU)大小的限制,对数据包进行截取或者补零使其长度保持1500字节。

2.3.2 一维卷积神经网络

随着计算机视觉的快速发展,二维卷积神经网络(2D-CNN)被广泛用于图像分类等任务,部分研究人员[15]将流量转化为二维图像然后输入2D-CNN进行分类,虽然这些方法取得了相对不错的成绩,但是在流量特征转化过程中不可避免造成流量的丢失及噪声的引入。一维卷积神经网络(1D-CNN)可以接受一维输入,更适用于时序数据,如语音、文本和流量等。
本文将流量输入设为$ x $$ {{x}}_{{i}:{i}+j-1} $表示长度为$ j $的流量。将其输入1D-CNN中进行卷积,可以得到特征$ {h}_{i} $,计算如下:
$ {h}_{i}=f({\boldsymbol{W}}\cdot {{x}}_{{i}:{i}+{j}-1}+b) $
其中,$ f $表示非线性函数ReLU函数,$ {\boldsymbol{W}} $$ b $分别表示输入$ {{x}}_{{i}:{i}+j-1} $的权重和偏差。
当前传统加密流量算法由于依赖手工提取特征无法实现高效检测,而且存在分类准确率低的问题,尤其是针对加密流量的细粒度分类,现有加密流量算法很难对其进行精准分类,究其原因是传统方法无法挖掘数据包深层特征以及相邻字节之间的时空依赖关系。本文使用1D-CNN挖掘流量特征的深层特征,具体模型结构如图3所示,该模型共包括7层卷积层和2层最大池化层,分别在C4和C7层后进行一维最大池化,池化核大小为4,步长为1,具体的卷积结构及其参数如表1所示。
图 3 基于深度学习的加密流量分类模型结构

Fig.3 Structure of encryption traffic classification model based on deep learning

表 1 一维卷积神经网络卷积结构及其参数

Table 1 Convolution structure and parameters of one-dimensional convolutional neural networks

卷积层数卷积核尺寸输出维度步长
Conv1D C152001
Conv1D C252001
Conv1D C351501
Conv1D C451501
Conv1D C551501
Conv1D C651001
Conv1D C751001
经过7层卷积操作后,通过Flatten将二维张量压缩成一维向量,并送入3层全连接层,3层全连接层分别由200、100和50个神经元组成。最后根据加密流量类别数目添加相应的神经元输出,并输入Softmax分类器进行加密流量细粒度分类,损失函数使用多分类交叉熵函数。本文提出的端到端加密流量分类方法与DPI不同,不需要检查数据包中的关键字,而是学习由每个应用程序生成的流量中的特性。因此,它不需要解密数据包就可以进行精确分类。

3 实验验证

3.1 加密流量分类模型效能验证

3.1.1 数据预处理

本文分别使用ISCX VPN-nonVPN和ISCX Tor-nonTor两个数据集验证本文提出的基于1D-CNN的加密流量分类技术的有效性。ISCX VPN-nonVPN数据集是加拿大网络安全研究所通过Wireshark和TCpdump捕获的常规会话和通过VPN的会话,共包括VoIP、VPN-VoIP等11个流量类别。ISCX Tor-nonTor数据集同样是由加拿大网络安全研究所提出的,其是研究人员通过定义一组任务来生成具有代表性的真实世界流量数据集。本文将ISCX VPN-nonVPN和ISCX Tor-nonTor数据集分别划分为11和14个类别用于验证1D-CNN在加密流量细粒度分类领域的有效性和先进性。

3.1.2 实验设置及技术指标

在数据预处理后,将流量特征输入1D-CNN中进行训练,训练过程中使用Adam优化算法,学习率为0.001,并将超参数$ {\beta }_{1} $$ {\beta }_{2} $分别设置为0.9和0.999,损失函数设为多分类交叉熵,根据实验结果对1D-CNN和模型参数进行微调,通过多次实验验证得到最终模型,整个模型是基于Nvidia GTX3080Ti GPU在PyTorch环境中实现的。
本文使用了3个评价指标:准确率(Accuracy)、精确率(Precision)、召回率(Recall)。准确率用于评估加密流量分类器的整体性能。精确率和召回率用于评估分类器对每类流量的分类效果。具体计算如下:
$ \mathrm{A}\mathrm{c}\mathrm{c}\mathrm{u}\mathrm{r}\mathrm{a}\mathrm{c}\mathrm{y}=\frac{\mathrm{T}\mathrm{P}+\mathrm{T}\mathrm{N}}{\mathrm{T}\mathrm{P}+\mathrm{T}\mathrm{N}+\mathrm{F}\mathrm{P}+\mathrm{F}\mathrm{N}} $
$ \mathrm{P}\mathrm{r}\mathrm{e}\mathrm{c}\mathrm{i}\mathrm{s}\mathrm{i}\mathrm{o}\mathrm{n}=\frac{\mathrm{T}\mathrm{P}}{\mathrm{T}\mathrm{P}+\mathrm{F}\mathrm{P}} $
$ \mathrm{R}\mathrm{e}\mathrm{c}\mathrm{a}\mathrm{l}\mathrm{l}=\frac{\mathrm{T}\mathrm{P}}{\mathrm{T}\mathrm{P}+\mathrm{F}\mathrm{N}} $
$ {F}1=\frac{2\times \mathrm{P}\mathrm{r}\mathrm{e}\mathrm{c}\mathrm{i}\mathrm{s}\mathrm{i}\mathrm{o}\mathrm{n}\times \mathrm{R}\mathrm{e}\mathrm{c}\mathrm{a}\mathrm{l}\mathrm{l}}{\mathrm{P}\mathrm{r}\mathrm{e}\mathrm{c}\mathrm{i}\mathrm{s}\mathrm{i}\mathrm{o}\mathrm{n}+\mathrm{R}\mathrm{e}\mathrm{c}\mathrm{a}\mathrm{l}\mathrm{l}} $
其中$ \mathrm{T}\mathrm{P} $是正确分类为正例的实例数,称为真阳性,$ \mathrm{T}\mathrm{N} $$ \mathrm{F}\mathrm{P} $$ \mathrm{F}\mathrm{N} $分别为真阴性、假阳性和假阴性;F1是精确率与召回率的调和平均数,是一个综合考虑精确率与召回率的评价指标。

3.1.3 实验结果

表2展示了多个模型在ISCX VPN-nonVPN数据集上的评估结果,从实验结果来看,本文提出的模型的各项指标表现最佳。其中SVM[24]、KNN(K-Nearest Neighbor)[25]等典型机器学习模型的性能较差,这是因为机器学习方法没有依赖手工提取特征,无法挖掘流量特征的深层表征,因此分类效果受限。MLP(Multilayer Perceptron)[26]在分类前需要将流量特征映射为图像特征,在转换过程中会导致流量特征的丢失和引入噪声。RBF(Radial Basis Funtion)[27]是基于二维卷积神经网络的分类方法,同样需要将流量映射为图像后输入卷积神经网络进行分类,虽然取得了较好的评估结果,但是也存在特征丢失和引入噪声的问题。本文采用ID-CNN进行分类,其输入为一维的流格式,能够最大限度地保证特征的完整性。
表 2 各模型分类评估结果对比

Table 2 Comparison of classification evaluation results of each model

模型 Accuracy Precision Recall F1
SVM 0.79 0.84 0.83 0.83
KNN 0.83 0.86 0.85 0.85
MLP 0.73 0.90 0.80 0.85
RBF 0.91 0.92 0.92 0.92
ID-CNN 0.92 0.92 0.97 0.94
为了进一步分析本文提出的模型的有效性,本文展示了每类流量的分类性能,表3为本文提出的加密流量分类模型在ISCX VPN-nonVPN数据集上的实验结果,综合平均准确率为92%,此外,通过观察实验结果发现,其中File Transfer等流量分类效果较好。同时也存在部分类别的识别精度低的问题,主要原因是加密流量样本数据集不平衡的问题。正常训练情况下E-mail的Precision低于30%,因为E-mail类别在整个数据集中仅占0.032%,该类别无法得到充分训练进而限制其识别精度。本文通过过采样的方法加强对E-mail等类别的训练。同时,为了避免过拟合,本文采用合成少数类过采样技术(SMOTE),通过随机选择少数类别中的样本,并根据其邻居样本的特征生成新的合成样本。
表 3 ISCX VPN-nonVPN数据集的分类测试结果

Table 3 Classification test results of the ISCX VPN-nonVPN dataset

序号 标签 Precision Recall F1
1 Chat 0.71 0.81 0.76
2 E-mail 0.69 0.98 0.81
3 File Transfer 0.99 0.95 0.97
4 Streaming 0.97 0.98 0.97
5 VoIP 0.99 0.87 0.93
6 VPN: Chat 0.73 0.99 0.84
7 VPN: File Transfer 0.93 0.98 0.95
8 VPN: E-mail 0.78 0.99 0.87
9 VPN: Streaming 0.99 0.99 0.99
10 VPN: Torrent 0.99 0.99 0.99
11 VPN: VoIP 0.96 0.98 0.97
Accuracy 0.92
本文提出的加密流量分类模型在ISCX Tor-nonTor数据集上的测试结果见表4,平均准确率为98%,相比在ISCX VPN-nonVPN数据集取得了更佳的效果,观察14个类别的Precision、Recall、F1能够发现,其中E-mail等多类流量分类指标均高于90%。通过分析实验结果得知,本文提出的加密流量分类模型在整体上表现优异,能够有效实现加密流量的细粒度分类。
表 4 ISCX Tor-nonTor数据集的分类测试结果

Table 4 Classification test results of ISCX Tor-nonTor dataset

序号 标签 Precision Recall F1
1 Chat 0.78 0.95 0.86
2 E-mail 0.98 0.98 0.98
3 File Transfer 0.99 0.99 0.99
4 Streaming 0.98 0.93 0.95
5 VoIP 0.99 0.94 0.96
6 P2P 0.99 0.98 0.98
7 Web Browsing 0.80 0.91 0.85
8 Tor: Chat 0.81 0.99 0.89
9 Tor: E-mail 0.95 0.99 0.97
10 Tor: File Transfer 0.99 0.99 0.99
11 Tor: Streaming 0.99 0.97 0.98
12 Tor: VoIP 0.99 0.99 0.99
13 Tor: P2P 0.99 0.98 0.98
14 Tor: Web Browsing 0.98 0.99 0.98
Accuracy 0.98

4 结束语

为应对日益复杂的网络环境,本文提出一种LSTM的动态基线构建方法,融合3个维度的流量特征对网络流量进行实时监控,相比传统流量基线过于依赖人工设计规则导致漏报率和误报率过高,基于深度学习技术的流量基线能够更有效地发现网络异常。但是现有的动态基线构建模型依赖于对流量数据的特征提取及时间序列算法的预测准确率。后续将进一步设计利用深度学习算法自动化提取流量特征,以及设计预测准确率更高的时间序列模型。此外,为避免敌手通过加密传输手段对网络通信系统实施攻击,本文提出一种基于深度学习的加密流量细粒度分类技术,通过一维卷积神经网络提取流量的深层特征进而实现加密流量细粒度分类。通过在两个公开数据集上的实验验证本文提出的加密流量分类模型能够实现较高的分类准确率,但是通过分析实验结果发现,流量类别的不平衡性导致少数类别流量无法得到充分训练。虽然本文采用过采样技术进行调节,使得少数类流量的识别准确率得到有效改善,但是整体性能还有进一步提升的空间,未来将探究基于生成对抗网络补充流量数据,缓解加密流量样本不平衡的问题。
1
张小翠. 监控阈值模型及报警事件关联规则研究[J]. 中国金融电脑, 2016, (5): 76- 81.

DOI

ZHANG X C. Research on monitoring threshold model and alarm event association rules[J]. Financial Computer of China, 2016, (5): 76- 81.

DOI

2
郭炜. 基于动态基线的业务运营支撑网异常流量检测研究[C]//第八届中国通信学会学术年会论文集,2011:4.

GUO W. Study on detecting abnormal net flow of business and operation support network based on dynamic baseline[C]//Proceedings of the 8th Annual Conference of China Society of Communications. National Defense Industry Press,2011:4.

3
马艳春, 肖创柏. 基于动态基线分析方法的网络蠕虫检测机制的研究[J]. 华北科技学院学报, 2008, 5 (1): 94- 97,111.

DOI

. [J]. 2008, 5 (1): 94- 97,111.

DOI

4
刘忏, 张鹏, 王朝晖, 等. 基于均方差算法的铁路信息系统智能监控动态基线技术[J]. 电子技术与软件工程, 2022, (11): 236- 240.

LIU C, ZHANG P, WANG Z H, et al. Intelligent monitoring dynamic baseline technology of railway information system based on mean square error algorithm[J]. Electronic Technology & Software Engineering, 2022, (11): 236- 240.

5
蔡国庆, 刘鹏, 李憧, 等. 政务网站流量安全基线分析研究[J]. 信息安全研究, 2020, 6 (6): 537- 542.

DOI

CAI G Q, LIU P, LI C. Research on web traffic security baseline analysis of government website[J]. Journal of Information Security Research, 2020, 6 (6): 537- 542.

DOI

6
胡杰, 唐静, 谢仕义. 基于实时动态基线的运行设备多元状态估计方法[J]. 热力发电, 2021, 50 (2): 125- 131.

HU J, TANG J, XIE S Y. Multivariate state estimation technique for equipment running condition using real-time dynamic baseline[J]. Thermal Power Generation, 2021, 50 (2): 125- 131.

7
马玉超. 基于机器学习的动态基线性能时序数据异常检测研究与应用[J]. 中国金融电脑, 2020, (6): 51- 59.

DOI

MA Y C. Research and application of anomaly detection in dynamic baseline performance time series data based on machine learning[J]. Financial Computer of China, 2020, (6): 51- 59.

DOI

8
李菁菁, 杨校林, 李俊, 等. 基于离群点检测的链路流量细粒度监测[J]. 数据与计算发展前沿, 2021, 3 (6): 142- 150.

LI J J, YANG Y L, LI J, et al. Subtle aberration monitoring of link traffic based on outlier detection[J]. Frontiers of Data and Computing, 2021, 3 (6): 142- 150.

9
FINSTERBUSCH M, RICHTER C, ROCHA E, et al. A survey of payload-based traffic classification approaches[J]. IEEE Communications Surveys & Tutorials, 2013, 16 (2): 1135- 1156.

10
VELAN P, ČERMÁK M, ČELEDA P, et al. A survey of methods for encrypted traffic classification and analysis[J]. International Journal of Network Management, 2015, 25 (5): 355- 374.

DOI

11
ARNDT D J,ZINCIR-HEYWOOD A N. A comparison of three machine learning techniques for encrypted network traffic analysis[C]//Proceedings of IEEE symposium on Computational Intelligence for Security and Defense Applications (CISDA),2011:107-114.

12
SHEN M, WEI M, ZHU L, et al. Classification of encrypted traffic with second-order markov chains and application attribute bigrams[J]. IEEE Transactions on Information Forensics and Security, 2017, 12 (8): 1830- 1843.

DOI

13
WRIGHT C V, MONROSE F, MASSON G M. On inferring application protocol behaviors in encrypted network traffic[J]. Journal of Machine Learning Research, 2006, 7 (12): 2745- 2769.

14
WANG Z. The applications of deep learning on traffic identification[J]. BlackHat USA, 2015, 24 (11): 1- 10.

15
CHEN Z T,HE K,LI J,et al. Seq2Img:a sequence-to-image based approach towards IP traffic classification using convolutional neural networks[C]//IEEE International Conference on Big Data. IEEE,2017:1271-1276.

16
REZAEI S ,LIU X. How to achieve high classification accuracy with just a few labels:a semi-supervised approach using sampled packets[J]. 2018. DOI:10.48550/arXiv.1812.09761.

17
WANG W,ZHU M,WANG J L,et al. End-to-end encrypted traffic classification with one-dimensional convolution neural networks[C]//2017 IEEE International Conference on Intelligence and Security Informatics (ISI). IEEE,2017:43-48.

18
LOPEZ-MARTIN M, CARRO B, SANCHEZ-ESGUEVILLAS A, et al. Network traffic classifier with convolutional and recurrent neural networks for internet of things[J]. IEEE Access, 2017, 5, 18042- 18050.

DOI

19
WANG W, SHENG Y, WANG J, et al. HAST-IDS: learning hierarchical spatial-temporal features using deep neural networks to improve intrusion detection[J]. IEEE Access, 2017, 6, 1792- 1806.

20
HÖCHST J,BAUMGÄRTNER L,HOLLICK M,et al. Unsupervised traffic flow classification using a neural autoencoder[C]//2017 IEEE 42Nd Conference on Local Computer Networks (LCN). IEEE,2017:523-526.

21
LOTFOLLAHI M, JAFARI S M, ZADE S H, et al. Deep packet: A novel approach for encrypted traffic classification using deep learning[J]. Soft Computing, 2020, 24 (3): 1999- 2012.

DOI

22
VU L,BUI C T,NGUYEN Q U. A deep learning based method for handling imbalanced problem in network traffic classification[C]//Proceedings of the 8th International Symposium on Information and Communication Technology. 2017:333-339.

23
HOCHREITER S,SCHMIDHUBER J. Long short-term memory[J]. Neural Computation,1997,9(8):1735-1780.

24
KUMANO Y,ATA S,NAKAMURA N,et al. Towards real-time processing for application identification of encrypted traffic[C]//2014 International Conference on Computing,Networking and Communications (ICNC). IEEE,2014:136-140.

25
BAR-YANAI R,LANGBERG M,PELEG D,et al. Realtime classification for encrypted traffic[C]//Proceedings of the 9th International Symposium on (SEA 2010)2010:373-385.

26
GARDNER M W, DORLING S R. Artificial neural networks (the multilayer perceptron): a review of applications in the atmospheric sciences[J]. Atmospheric Environment, 1998, 32 (14-15): 2627- 2636.

DOI

27
张晓航, 李政, 朱晓明, 等. 基于RBF神经网络的可信加密流量分类方法[J]. 计算机与现代化, 2022, (2): 45- 51.

DOI

ZHANG X H, LI Z, ZHU X M, et al. Trustworthy encryption traffic classification method based on RBF neural network[J]. Computer and Modernization, 2022, (2): 45- 51.

DOI

Outlines

/