CN111711633A - 多阶段融合的加密流量分类方法 - Google Patents
多阶段融合的加密流量分类方法 Download PDFInfo
- Publication number
- CN111711633A CN111711633A CN202010577364.1A CN202010577364A CN111711633A CN 111711633 A CN111711633 A CN 111711633A CN 202010577364 A CN202010577364 A CN 202010577364A CN 111711633 A CN111711633 A CN 111711633A
- Authority
- CN
- China
- Prior art keywords
- information
- stage
- data
- data stream
- encoder
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 64
- 230000005540 biological transmission Effects 0.000 claims abstract description 65
- 238000013135 deep learning Methods 0.000 claims abstract description 8
- 230000014509 gene expression Effects 0.000 claims description 15
- 238000012545 processing Methods 0.000 claims description 14
- 239000013598 vector Substances 0.000 claims description 13
- 230000008569 process Effects 0.000 claims description 12
- 230000006870 function Effects 0.000 claims description 11
- 230000015654 memory Effects 0.000 claims description 9
- 238000000605 extraction Methods 0.000 claims description 8
- 238000005520 cutting process Methods 0.000 claims description 5
- 230000004913 activation Effects 0.000 claims description 4
- 238000004364 calculation method Methods 0.000 claims description 4
- 239000000284 extract Substances 0.000 claims description 4
- 239000011159 matrix material Substances 0.000 claims description 4
- 230000011218 segmentation Effects 0.000 claims description 2
- 230000006403 short-term memory Effects 0.000 claims 1
- 230000004927 fusion Effects 0.000 abstract description 10
- 238000004458 analytical method Methods 0.000 description 14
- 230000006399 behavior Effects 0.000 description 10
- 238000005516 engineering process Methods 0.000 description 8
- 238000010801 machine learning Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 4
- 238000013528 artificial neural network Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 230000018109 developmental process Effects 0.000 description 3
- 238000013527 convolutional neural network Methods 0.000 description 2
- 238000003066 decision tree Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 210000002569 neuron Anatomy 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 238000012706 support-vector machine Methods 0.000 description 2
- 238000012549 training Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 210000004027 cell Anatomy 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000008034 disappearance Effects 0.000 description 1
- 238000004880 explosion Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000007500 overflow downdraw method Methods 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 239000004575 stone Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1416—Event detection, e.g. attack signature detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/25—Fusion techniques
- G06F18/253—Fusion techniques of extracted features
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/14—Network analysis or design
- H04L41/142—Network analysis or design using statistical or mathematical methods
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/02—Capturing of monitoring data
- H04L43/026—Capturing of monitoring data using flow identification
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/16—Implementing security features at a particular protocol layer
- H04L63/166—Implementing security features at a particular protocol layer at the transport layer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/20—Network architectures or network communication protocols for network security for managing network security; network security policies in general
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Computer Security & Cryptography (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Mathematical Physics (AREA)
- Computer Hardware Design (AREA)
- Bioinformatics & Computational Biology (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Biophysics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Computational Linguistics (AREA)
- Molecular Biology (AREA)
- Software Systems (AREA)
- General Health & Medical Sciences (AREA)
- Algebra (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Probability & Statistics with Applications (AREA)
- Pure & Applied Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种多阶段融合的加密流量分类方法,包括:对加密数据流进行特征提取,获得TCP数据段的大小、方向、时间间隔、TLS/SSL握手阶段的协议信息、以及数据传输阶段的非数据传输协议序列信息;利用深度学习框架,从TLS/SSL握手阶段的协议信息、以及数据传输阶段的非数据传输协议序列信息中,提取出加密数据流应用类型特征;利用自动编码器,从TCP数据段的大小、方向、时间间隔、以及数据传输阶段的非数据传输协议序列信息中,提取出加密数据流内容类型特征;融合应用类型特征与内容类型特征,并通过分类器识别出加密数据流的应用类型与内容类型。该方法采用多个阶段融合的方式对数据流的特征进行综合考虑,能提高实际环境下加密流量分类识别的准确率。
Description
技术领域
本发明涉及计算机网络技术领域,尤其涉及一种多阶段融合的加密流量分类方法。
背景技术
随着计算机网络技术的高速发展,互联网技术已经充分融入到人们的日常生活中,而随着人们生活水平的提高,其对生活多元化的需求也越来越广泛,因此各种多样化网络应用不断问世,网络应用流量也呈现持续增长趋势。然而人们在使用各种网络应用的同时,个人信息与隐私泄露问题也接踵而至,因此网络信息安全逐渐得到国家和公民的重视,所以网络加密技术得到空前发展与应用,网络加密流量在网络传输中的占比也越来越多。
网络流量识别不仅是网络行为分析、网络服务规划设计以及网络异常检测的前提,同时也是提升网络管理水平、改善网络服务质量以及维护网络安全的重要基石。网络流量作为网络空间的信息传输和交互的主要载体,流量数据中携带着重要的信息,因此如何从流量数据中获得网络流的类别有着极其重要意义,而随着加密流量份额的不断增加,传统的针对非加密流量识别的方法暴露出许多短板,因此越来越多的学者开始研究加密流量的分类识别方案。传统的网络流量分类方法可以分为以下五类:
基于端口号的方法:该方法是依据TCP/UDP报文头部的端口号进行应用识别,即通过读取由IANA(Internet Assigned Numbers Authority)发布的Service Name andTransport Protocol Port Number Registry中端口号与具体应用的映射信息来对流量进行分类。这种分类方法的原理非常简单,只需要读取网络数据流中的第一个数据包即可成功识别,识别效率非常高而具体实现又极为简单。但是,随着网络技术的发展该方法却面临着诸多问题:有些应用的端口可能并没有进行注册;有些应用软件使用的是动态端口,其在数据传输过程中可能会发生变化;某些应用程序为躲避***限制使用其他常用协议的端口进行数据传输,从而实现端口隐蔽。并且,由于流量加密后头部端口信息被隐藏,所以基于端口号的识别方法很难适用于加密流量的分类识别。
基于有效载荷的深度包检测(DPI,Deep Packet Inspection)方法:该方法是通过匹配数据分组的有效载荷的表达式来对流量进行识别。该方法可以有效避免上述动态端口等带来的问题,且当未加密的数据流与表达式库中的内容相匹配时,其识别准确率非常高。但该方法却面临着以下诸多问题:随着新型网络流量的出现,表达式库中的内容需要不断扩充,需要消耗大量存储空间,同时特征匹配的复杂度也会变大;对于加密的流量很难获取其有效载荷的表达式,那么就无法对其进行解析匹配;该方法将解析数据分组的负载,所以可能会侵犯到用户的隐私。
基于行为特征的方法:该方法主要是从主机节点的角度来分析各类应用的行为特征,即统计主机或者应用的行为,虽然这种方法其通用性很强,但是使用该方法需要监控网络中的主机节点,因此非常的耗费时间与空间资源;而且其能够进行流量识别的分类通常是粗粒度的,而实际情况中网络流量可能同时来自各个不同的应用,并且网络或者节点的运行状态也对行为特征会产生影响,所以其识别准确率也不能令人满意。
基于协议解析的方法:该方法是通过分析特定应用的通信协议来描绘特定应用的特定行为特性。即通过刻画其特定协议层的指纹信息来鉴别加密协议或匿名使用已知端口的应用,但该方法需要考虑数据流多个时间点的状态信息,而现有方案往往一次只考虑其前一个或两个状态信息,因此出现多个应用流的指纹信息重叠;目前该方法只考虑针对加密数据流的应用识别,未考虑数据传输阶段由于传输内容类型不同而导致的识别误差;该方法往往只考虑服务器到客户端的指纹信息特征,这也增大了识别误差。
基于机器学***衡问题;该方法通常以数据包而不是TCP数据段为研究对象,对于识别流量的应用类型存在较大误差;该方法往往只考虑数据流的载荷数据从而判别数据流承载的传输内容类型,而对于加密数据流其加密后载荷内容往往呈现随机性,所以直接提取载荷内容作为数据流的特征进行流量识别存在较大的误差。
因此,虽然上述方法能够在一定程度上对流量实现分类和识别,但是由于端口的动态性以及隐匿性、流量的有效载荷表达式提取困难和匹配复杂度高、行为特征分析需要耗费大量时空资源、加密数据流载荷内容随机性大以及获取大量标注数据集难度大等问题的出现,使得加密流量识别方法还需进一步改进,并且目前的方案很少考虑结合协议语义和数据流统计信息的融合识别,以及很少将数据流的应用识别和传输内容类型识别综合考虑。
发明内容
本发明的目的是提供一种多阶段融合的加密流量分类方法,采用多个阶段融合的方式对数据流的特征进行综合考虑,能提高实际环境下加密流量分类识别的准确率。
本发明的目的是通过以下技术方案实现的:
一种多阶段融合的加密流量分类方法,包括:
对加密数据流进行特征提取,获得TCP数据段的大小、方向、时间间隔、TLS/SSL握手阶段的协议信息、以及数据传输阶段的非数据传输协议序列信息;
利用深度学习框架,从TLS/SSL握手阶段的协议信息、以及数据传输阶段的非数据传输协议序列信息中,提取出加密数据流应用类型特征;
利用自动编码器,从TCP数据段的大小、方向、时间间隔、以及数据传输阶段的非数据传输协议序列信息中,提取出加密数据流内容类型特征;
融合应用类型特征与内容类型特征,并通过分类器识别出加密数据流的应用类型与内容类型。
由上述本发明提供的技术方案可以看出,能有效地解决传统的流量识别方法由于端口的动态性以及隐匿性、有效载荷表达式提取及匹配难度大、行为特征分析时空资源耗费大、协议分析识别时忽视具体传输内容类型等问题,同时也避免了典型机器学习算法下只基于数据包层面分析数据流、大量标注数据集获取困难以及只考虑数据流的某一种识别问题。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他附图。
图1为本发明实施例提供的一种多阶段融合的加密流量分类方法的流程图;
图2为本发明实施例提供的一种多阶段融合的加密流量分类方法的整体框架示意图;
图3为本发明实施例提供的数据流预处理示意图;
图4为本发明实施例提供的LSTM示意图;
图5为本发明实施例提供的自动编码器处理模块示意图。
具体实施方式
下面结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明的保护范围。
传统的流量识别方法由于端口的动态性以及隐匿性、有效载荷表达式提取及匹配难度大、行为特征分析时空资源耗费大、协议分析识别时忽视具体传输内容类型等导致加密流量的识别具有很大的局限性,而基于各类机器学习的方法,其往往只考虑数据流量的某一种识别,且通常基于数据包分析考虑网络流的载荷特征或统计特征,而加密后载荷内容往往呈现较大随机性且获取大量含有标注的数据集较为困难。为此,本发明实施例提供一种多阶段融合的加密流量分类方法,对加密数据流分阶段考虑,即握手阶段和数据传输阶段,根据不同阶段数据流特点提取相关特征,如:TLS/SSL握手阶段的协议状态序列,数据传输阶段TCP数据段大小、方向、时间间隔,以及数据传输阶段的非数据传输协议序列信息,最后,再融合不同阶段提取出的特征并进行分类,如图1所示,其主要包括:
1、对加密数据流进行特征提取,获得TCP数据段的大小、方向、时间间隔、TLS/SSL握手阶段的协议信息、以及数据传输阶段的非数据传输协议序列信息。
2、利用深度学习框架,从TLS/SSL(安全传输层协议/安全套接层协议)握手阶段的协议信息、以及数据传输阶段的非数据传输协议序列信息中,提取出加密数据流应用类型特征。
3、利用自动编码器,从TCP数据段的大小、方向、时间间隔、以及数据传输阶段的非数据传输协议序列信息中,提取出加密数据流内容类型特征。
4、融合应用类型特征与内容类型特征,并通过分类器识别出加密数据流的应用类型与内容类型。
上述方案采用多个阶段融合的方法对数据流的特征进行综合考虑,能提高实际环境下加密流量分类识别的准确率。
如图2所示,为该方法的整体框架。主要分为三个阶段:第一阶段考虑握手阶段的协议状态序列信息及数据传输阶段的非数据传输协议序列信息,并考虑使用深度学习框架(例如,LSTM)进行处理,提取应用类型具备的特征;第二阶段考虑数据传输阶段TCP数据段的大小、方向、时间间隔等信息以及该阶段非数据传输协议序列信息,并采用自动编码器进行处理,提取内容类型具备的特征;第三阶段融合上述两阶段处理后的特征信息,综合判别数据流的应用及其内容类型。
如图2所示,数据流特征提取模块解决第一、二阶段的特征序列信息提取问题;LSTM模块对第一阶段中的特征信息进行处理,获取数据流的应用类型特征;自动编码器模块对第二阶段中特征信息进行处理,获取数据流的内容类型特征;特征融合模块解决第三阶段的特征融合,并将融合特征输入相关判别模块中得到数据流的综合识别结果,从而综合判别输入的加密数据流是属于何种应用的何种业务类型。
示例性的,对于一条数据流,比如视频网站的点播视频类型,使用LSTM处理第一阶段特征,LSTM处理后的输出作为应用类型特征;自动编码器处理第二阶段特征,其处理后的输出作为内容类型特征;对上述两特征进行融合,然后输入到Softmax中直接获得其应用类型与内容类型:视频网站的点播视频。
下面针对各个部分做详细的介绍。
一、数据流特征提取。
本发明实施例中,首先,通过流量切分工具根据加密数据流的五元组信息,将加密数据流切割为各个独立的单元,所述五元组信息包括:源IP地址、源端口号、目的IP地址、目的端口号以及传输层协议;切割后以TCP数据段为单位进行特征提取。
如图3所示,针对加密数据流的分类识别,本发明既考虑数据流所承载的应用分类又考虑数据流本身传输内容类型的分类。且由于现实情况下许多应用程序往往存在多种业务类型,因此本发明对数据流的两项识别采用数据流不同阶段的特征。
在前述数据流切割操作中,一般有两种标准方式:一种为会话,另一种为流。本发明采用切割成会话的形式,因为其考虑了流的双向性信息,所以包含的信息更能代表原始数据流的特征。
本发明实施例中,以TCP数据段为考虑对象,相比以往基于IP层数据包的分析更能体现数据流所表征的特性,且因为不同的应用在传输TLS/SSL加密数据时,其在TLS/SSL握手阶段的协商序列信息由于程序开发者本身对其过程的不同规定,其握手阶段的协商序列信息表现出不同特性,且在数据传输阶段其协议类型的转换也存在不同的特征,因此本发明提取数据流的TLS/SSL握手阶段的协议信息以及数据传输阶段的非数据传输协议序列信息作为数据流应用识别的特征;另外,考虑到数据加密后其传输内容会随机化,因此本发明不以加密后IP层数据包的载荷内容为考虑对象而是提取传输层TCP数据段的大小、方向、时间间隔以及数据流在数据传输阶段的非数据传输协议信息序列作为识别特征。
二、应用类型特征提取。
对于每条数据流本发明分析其多个TCP数据段的相关特性,而因为各TCP数据段之间存在一定的时间关系,本发明考虑使用LSTM(长短记忆网络)进行相关处理,当然也可以采用其他相关的深度学习框架进行处理。
LSTM工作流程如图4所示,与普通的RNN相比,之所以选择LSTM是因为其在神经元内部加了如下关键性部件,从而可以消除梯度消失带来的影响。
(1)遗忘门:通常用来为记忆单元状态Ct-1提供一个遗忘的参数值,即决定之前的哪些信息可以通过记忆单元,这里需要使用逻辑函数(例如Sigmoid函数)计算上一时刻(即t-1时刻)的输出隐状态ht-1以及当前时刻(即t时刻)输入的数据信息xt来产生一个0~1之间的过滤值ft。
ft=σ(Wf·[ht-1,xt])+bf
其中,xt为t时刻输入的TLS/SSL握手阶段的协议信息以及数据传输阶段的非数据传输协议序列信息中任一类数据信息,两类数据信息处理方式相同,但是由于出现在数据流的时间点不同所以分开处理。
(2)输入门:其过程类似上述遗忘门操作,其用于过滤当前的输入。
it=σ(Wi·[ht-1,xt])+bi
(3)输入节点:通常使用tanh函数计算上一时刻的输出ht-1及当前输入xt产生一个0~1之间的过滤值。其用于生成输入的候选值,即可能会添加到记忆单元的内容。
yt=tanh(Wy·[ht-1,xt])+by
(4)记忆单元更新:将上述过程中产生的结果进行相应计算,以此更新原来的记忆单元状态。
Ct=ft*Ct-1+it*yt
(5)输出门:针对更新后的记忆单元,我们需要根据当前输入和前一时刻的输出对其产生一个新的过滤值,从而获得当前时刻的输出值ht。
ot=σ(Wo·[ht-1,xt])+bo
ht=ot*tanh(Ct)
上述操作中,带有下标的W与b表示相应的计算过程中所涉及的权重与偏置参数,第t-1、第t时刻计算出的隐状态ht-1、ht表示根据输入的数据信息xt-1、xt以及相应时刻记忆单元内容提取到的应用类型特征。
三、内容类型特征。
自动编码器(Auto Encoder)是一种对称的三层前馈神经网络,由输入层、隐含层和输出层三层神经元组成。与传统神经网络不同的是,自动编码器加入了编码和解码的概念。输入层和隐含层构成编码部分,隐含层和输出层构成解码部分。编码器用于将未标记的输入数据映射到隐含层得到有意义的特征表示;解码器是编码器的逆过程,将特征表达重构近似原始数据的数据作为输出。
自动编码器的目标是实现样本重构,首先通过编码器把高维空间中的向量压缩成低维向量,然后通过解码器把低维向量解压重构出高维向量,进而最小化重构误差。
如图5所示,本发明实施例中,采用自动编码器作为特征提取模块,用于从原始输入(数据流的TCP数据段特征构成的向量)中提取表达特征,解码器则利用表达特征重构出输入的数据信息。
将自动编码器输入的数据信息记为X=(x1,x2,…,xn),编码器与解码器的计算过程如下:
z(xi)=f(Wi1·xi+bi1)
其中,z(xi)表示编码器从输入的数据信息xi中提取出表达特征,i=1,2,…,n,Wi1表示编码器中输入层和隐含层之间的权重矩阵,bi1表示编码器中输入层的偏置矢量,f(·)表示编码器中的Sigmoid激活函数;表示解码器重构出输入的数据信息,Wi2表示解码器中输入层和隐含层之间的权重矩阵,bi2表示解码器中输入层的偏置矢量,g(·)表示解码器中的Sigmoid激活函数;TCP数据段的大小、方向及时间间隔对应于同一时刻的内容作为一类数据,记为数据A,前述的集合X可以为数据A以及数据传输阶段的非数据传输协议序列信息中的任一类,这两类数据信息都按照上述方式做相关处理。
通过最小化重构误差训练自动编码器,损失函数为:
其中,表示误差损失函数,n为输入的数据信息的总数;Θ={Wi1,Wi2,bi1,bi2}为自动编码器中的权重及偏置参数,θ={Wi1,bi1}为编码器中的权重及偏置参数,θ1={Wi2,bi2}为解码器中的权重及偏置参数。
四、特征融合与分类识别。
经上述LSTM处理后,可以直接得到数据流所对应的应用类型,同时考虑提取LSTM处理后的得到的应用类型特征,记为pk,另一方面经自动编码器处理后可获得数据流所承载的内容类型,同时将自动编码器处理后得到的特征记为pj,将两部分的特征进行一个融合操作得到综合特征,即p。然后将综合特征p输入到Softmax分类器中进行最后的识别处理,获得加密数据流的应用类型与内容类型。
基于上述方案给出一个示例描述。
首先对数据集进行一个获取及预处理的工作,即采用交换机镜像技术旁路出部分加密网络流量形成pcap文件,然后采用Tcpdump技术将pcap文件按五元组(即源IP地址、源端口号、目的IP地址、目的端口号、传输层协议)分成数据流的形式,并且预先采用DPI技术对网络流量进行类型标注,如可以标注其为youtube–video、wechat-chat、wechat-video等类型。然后对标注好的流量从传输层进行相关特征提取。
一方面提取数据流的TLS/SSL握手阶段的协议信息,同时考虑在数据传输阶段非数据传输协议出现的序列信息,因为这些序列信息存在一定的时间特征,且考虑到马尔科夫模型以及普通RNN存在较大弊端,采用LSTM对该部分特征进行处理,提取LSTM处理后的输出向量为该数据流的应用类型特征;另一方面不再以IP层内容为考虑对象,而是直接从TCP层获取TCP数据段的大小、方向以及间隔时间,此外我们也将数据传输阶段非数据传输协议出现的序列信息作为特征之一,因为不同内容传输时往往存在大小、时间等特征差异,对于这部分特征我们使用自动编码器对其进行处理,提取自动编码器处理后的输出向量为该数据流的内容类型特征。当两个向量都获得后,直接将两向量进行一个整合,将其作为数据流的整合特征,最后再经过一个Softmax分类器给出最后的分类识别结果。
本发明实施例提供的上述方案,能有效地解决传统的流量识别方法由于端口的动态性以及隐匿性、有效载荷表达式提取及匹配难度大、行为特征分析时空资源耗费大、协议分析识别时忽视具体传输内容类型等问题,同时也避免了典型机器学习算法下只基于数据包层面分析数据流、大量标注数据集获取困难以及只考虑数据流的某一种识别问题。本发明从实际网络环境出发,既考虑数据流的粗粒度识别又综合考虑其特征从而识别该数据流属于何种应用的何种业务类型的精细化识别,这比以往的只研究应用类型或只研究业务类型的识别更全面、准确率更高;本发明以TCP数据段为单位考虑数据流内容类型的特性,即考虑加密协议层的握手协商信息以及数据传输阶段的非数据传输协议信息序列,这比以往基于IP层数据包的分析更能体现数据流所表征的特性,从而提高数据流传输内容类型识别的准确率;考虑到数据加密后其传输内容会随机化,所以不以加密后载荷内容为考虑对象而以TCP数据段的大小、方向、时间间隔以及数据流的数据传输阶段的非数据传输协议信息序列为特征,从而准确地识别数据流的业务类型;从时间角度考虑数据流的各方面特性信息,以往的马尔科夫模型会将先前数据流的特征信息丢失,从而导致识别误差大,而本发明采用LSTM处理,既可以对先前的数据流特征信息进行一个过滤提取又可以避免普通RNN带来的梯度消失或梯度***问题;通过自动编码器对数据流特征进行降维及特征提取,实现更为准确的加密流量识别效果。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例可以通过软件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,上述实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明披露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求书的保护范围为准。
Claims (5)
1.一种多阶段融合的加密流量分类方法,其特征在于,包括:
对加密数据流进行特征提取,获得TCP数据段的大小、方向、时间间隔、TLS/SSL握手阶段的协议信息、以及数据传输阶段的非数据传输协议序列信息;
利用深度学习框架,从TLS/SSL握手阶段的协议信息、以及数据传输阶段的非数据传输协议序列信息中,提取出加密数据流应用类型特征;
利用自动编码器,从TCP数据段的大小、方向、时间间隔、以及数据传输阶段的非数据传输协议序列信息中,提取出加密数据流内容类型特征;
融合应用类型特征与内容类型特征,并通过分类器识别出加密数据流的应用类型与内容类型。
2.根据权利要求1所述的一种多阶段融合的加密流量分类方法,其特征在于,所述对加密数据流进行特征提取包括:
首先,通过流量切分工具根据加密数据流的五元组信息,将加密数据流切割为各个独立的单元,所述五元组信息包括:源IP地址、源端口号、目的IP地址、目的端口号以及传输层协议;
切割后以TCP数据段为单位进行特征提取。
3.根据权利要求1所述的一种多阶段融合的加密流量分类方法,其特征在于,所述深度学习框架为长短期记忆网络LSTM,其提取加密数据流应用类型特征的过程表示为:
ft=σ(Wf·[ht-1,xt])+bf
it=σ(Wi·[ht-1,xt])+bi
yt=tanh(Wy·[ht-1,xt])+by
Ct=ft*Ct-1+it*yt
ot=σ(Wo·[ht-1,xt])+bo
ht=ot*tanh(Ct)
其中,σ表示逻辑函数;ft、it、yt、Ct、ot分别表示遗忘门、输入门、输入节点、记忆单元、输出门;xt表示t时刻输入至LSTM的数据信息、ht-1、ht表示第t-1、第t时刻计算出的隐状态,也即根据输入的数据信息xt-1、xt以及相应时刻记忆单元内容提取到的应用类型特征;带有下标的W与b表示相应的计算过程中所涉及的权重与偏置参数。
4.根据权利要求1所述的一种多阶段融合的加密流量分类方法,其特征在于,所述自动编码器包含编码器与解码器;
将自动编码器输入的数据信息记为X=(x1,x2,…,xn),编码器从输入的数据信息中提取出表达特征,解码器则利用表达特征重构出输入的数据信息;编码器与解码器的计算过程如下:
z(xi)=f(Wi1·xi+bi1)
其中,z(xi)表示编码器从输入的数据信息xi中提取出表达特征,i=1,2,…,n,Wi1表示编码器中输入层和隐含层之间的权重矩阵,bi1表示编码器中输入层的偏置矢量,f(·)表示编码器中的Sigmoid激活函数;表示解码器重构出输入的数据信息,Wi2表示解码器中输入层和隐含层之间的权重矩阵,bi2表示解码器中输入层的偏置矢量,g(·)表示解码器中的Sigmoid激活函数;
通过最小化重构误差训练自动编码器,损失函数为:
5.根据权利要求1所述的一种多阶段融合的加密流量分类方法,其特征在于,将应用类型特征pk与内容类型特征pj融合,得到综合特征p,将综合特征p输入到Softmax分类器中进行最后的识别处理,获得加密数据流的应用类型与内容类型。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010577364.1A CN111711633B (zh) | 2020-06-22 | 2020-06-22 | 多阶段融合的加密流量分类方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010577364.1A CN111711633B (zh) | 2020-06-22 | 2020-06-22 | 多阶段融合的加密流量分类方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111711633A true CN111711633A (zh) | 2020-09-25 |
CN111711633B CN111711633B (zh) | 2021-08-13 |
Family
ID=72541532
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010577364.1A Active CN111711633B (zh) | 2020-06-22 | 2020-06-22 | 多阶段融合的加密流量分类方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111711633B (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112367293A (zh) * | 2020-10-10 | 2021-02-12 | 浙江大学 | 一种基于时序特征的加密流量异常检测方法 |
CN112738039A (zh) * | 2020-12-18 | 2021-04-30 | 北京中科研究院 | 一种基于流量行为的恶意加密流量检测方法、***及设备 |
CN113141349A (zh) * | 2021-03-23 | 2021-07-20 | 浙江工业大学 | 一种多分类器自适应融合的https加密流量分类方法 |
CN113472751A (zh) * | 2021-06-04 | 2021-10-01 | 中国科学院信息工程研究所 | 一种基于数据包头的加密流量识别方法及装置 |
CN113542259A (zh) * | 2021-07-12 | 2021-10-22 | 中山大学 | 基于多模态深度学习的加密恶意流量检测方法及*** |
CN114205151A (zh) * | 2021-12-12 | 2022-03-18 | 南京理工大学 | 基于多特征融合学习的http/2页面访问流量识别方法 |
CN114338437A (zh) * | 2022-01-13 | 2022-04-12 | 北京邮电大学 | 网络流量分类方法、装置、电子设备及存储介质 |
CN114422207A (zh) * | 2021-12-30 | 2022-04-29 | 中国人民解放军战略支援部队信息工程大学 | 基于多模态的c&c通信流量检测方法及装置 |
CN117171542A (zh) * | 2023-08-15 | 2023-12-05 | 重庆普施康科技发展股份有限公司 | 一种六分钟步行试验中uwb测距数据处理方法 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103973589A (zh) * | 2013-09-12 | 2014-08-06 | 哈尔滨理工大学 | 网络流量分类方法及装置 |
CN104468273A (zh) * | 2014-12-12 | 2015-03-25 | 北京百度网讯科技有限公司 | 识别流量数据的应用类型的方法及*** |
CN109831392A (zh) * | 2019-03-04 | 2019-05-31 | 中国科学技术大学 | 半监督网络流量分类方法 |
CN109995601A (zh) * | 2017-12-29 | 2019-07-09 | ***通信集团上海有限公司 | 一种网络流量识别方法及装置 |
CN110021165A (zh) * | 2019-03-18 | 2019-07-16 | 浙江工业大学 | 一种基于Autoencoder-LSTM融合模型的交通流预测方法 |
CN110751222A (zh) * | 2019-10-25 | 2020-02-04 | 中国科学技术大学 | 基于cnn和lstm的在线加密流量分类方法 |
CN110765329A (zh) * | 2019-10-28 | 2020-02-07 | 北京天融信网络安全技术有限公司 | 一种数据的聚类方法和电子设备 |
US20200067952A1 (en) * | 2018-08-21 | 2020-02-27 | Extrahop Networks, Inc. | Managing incident response operations based on monitored network activity |
-
2020
- 2020-06-22 CN CN202010577364.1A patent/CN111711633B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103973589A (zh) * | 2013-09-12 | 2014-08-06 | 哈尔滨理工大学 | 网络流量分类方法及装置 |
CN104468273A (zh) * | 2014-12-12 | 2015-03-25 | 北京百度网讯科技有限公司 | 识别流量数据的应用类型的方法及*** |
CN109995601A (zh) * | 2017-12-29 | 2019-07-09 | ***通信集团上海有限公司 | 一种网络流量识别方法及装置 |
US20200067952A1 (en) * | 2018-08-21 | 2020-02-27 | Extrahop Networks, Inc. | Managing incident response operations based on monitored network activity |
CN109831392A (zh) * | 2019-03-04 | 2019-05-31 | 中国科学技术大学 | 半监督网络流量分类方法 |
CN110021165A (zh) * | 2019-03-18 | 2019-07-16 | 浙江工业大学 | 一种基于Autoencoder-LSTM融合模型的交通流预测方法 |
CN110751222A (zh) * | 2019-10-25 | 2020-02-04 | 中国科学技术大学 | 基于cnn和lstm的在线加密流量分类方法 |
CN110765329A (zh) * | 2019-10-28 | 2020-02-07 | 北京天融信网络安全技术有限公司 | 一种数据的聚类方法和电子设备 |
Non-Patent Citations (2)
Title |
---|
MAO TIAN等: "Mobile Application Identification Over HTTPS", 《IEEE》 * |
朱迪: "基于加密流量分析和深度学习的移动应用程序识别关键技术研究", 《中国优秀硕士学位论文全文数据库(信息科技辑)》 * |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112367293A (zh) * | 2020-10-10 | 2021-02-12 | 浙江大学 | 一种基于时序特征的加密流量异常检测方法 |
CN112738039A (zh) * | 2020-12-18 | 2021-04-30 | 北京中科研究院 | 一种基于流量行为的恶意加密流量检测方法、***及设备 |
CN113141349B (zh) * | 2021-03-23 | 2022-07-15 | 浙江工业大学 | 一种多分类器自适应融合的https加密流量分类方法 |
CN113141349A (zh) * | 2021-03-23 | 2021-07-20 | 浙江工业大学 | 一种多分类器自适应融合的https加密流量分类方法 |
CN113472751B (zh) * | 2021-06-04 | 2023-01-17 | 中国科学院信息工程研究所 | 一种基于数据包头的加密流量识别方法及装置 |
CN113472751A (zh) * | 2021-06-04 | 2021-10-01 | 中国科学院信息工程研究所 | 一种基于数据包头的加密流量识别方法及装置 |
CN113542259A (zh) * | 2021-07-12 | 2021-10-22 | 中山大学 | 基于多模态深度学习的加密恶意流量检测方法及*** |
CN114205151A (zh) * | 2021-12-12 | 2022-03-18 | 南京理工大学 | 基于多特征融合学习的http/2页面访问流量识别方法 |
CN114422207A (zh) * | 2021-12-30 | 2022-04-29 | 中国人民解放军战略支援部队信息工程大学 | 基于多模态的c&c通信流量检测方法及装置 |
CN114422207B (zh) * | 2021-12-30 | 2023-06-02 | 中国人民解放军战略支援部队信息工程大学 | 基于多模态的c&c通信流量检测方法及装置 |
CN114338437A (zh) * | 2022-01-13 | 2022-04-12 | 北京邮电大学 | 网络流量分类方法、装置、电子设备及存储介质 |
CN114338437B (zh) * | 2022-01-13 | 2023-12-29 | 北京邮电大学 | 网络流量分类方法、装置、电子设备及存储介质 |
CN117171542A (zh) * | 2023-08-15 | 2023-12-05 | 重庆普施康科技发展股份有限公司 | 一种六分钟步行试验中uwb测距数据处理方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111711633B (zh) | 2021-08-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111711633B (zh) | 多阶段融合的加密流量分类方法 | |
CN110751222A (zh) | 基于cnn和lstm的在线加密流量分类方法 | |
Rezaei et al. | Deep learning for encrypted traffic classification: An overview | |
Salo et al. | Dimensionality reduction with IG-PCA and ensemble classifier for network intrusion detection | |
CN110391958B (zh) | 一种对网络加密流量自动进行特征提取和识别的方法 | |
CN109831392B (zh) | 半监督网络流量分类方法 | |
Sarkar et al. | A framework for learning ante-hoc explainable models via concepts | |
CN115606162A (zh) | 异常流量检测方法和***、及计算机存储介质 | |
CN113037730B (zh) | 基于多特征学习的网络加密流量分类方法及*** | |
Kong et al. | Partial disentanglement for domain adaptation | |
CN112104570B (zh) | 流量分类方法、装置、计算机设备和存储介质 | |
WO2019147687A1 (en) | Computer vision systems and methods for unsupervised representation learning by sorting sequences | |
CN113242207B (zh) | 一种迭代聚类的网络流量异常检测方法 | |
CN109525508B (zh) | 基于流量相似性比对的加密流识别方法、装置及存储介质 | |
CN114172748A (zh) | 一种加密恶意流量检测方法 | |
CN113743542B (zh) | 一种基于加密流量的网络资产识别方法与*** | |
CN116346452B (zh) | 一种基于stacking的多特征融合恶意加密流量识别方法和装置 | |
CN116662817B (zh) | 物联网设备的资产识别方法及*** | |
Shao et al. | Deep learning hierarchical representation from heterogeneous flow-level communication data | |
CN114650229A (zh) | 基于三层模型sftf-l的网络加密流量分类方法与*** | |
CN111626322A (zh) | 一种基于小波变换的加密流量的应用活动识别方法 | |
Jenefa et al. | A robust deep learning-based approach for network traffic classification using CNNs and RNNs | |
Wang et al. | A two-phase approach to fast and accurate classification of encrypted traffic | |
Obasi et al. | CARD-B: A stacked ensemble learning technique for classification of encrypted network traffic | |
Yang et al. | Voting-based ensemble model for network anomaly detection |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |