CN116340814A - 加密流量分类方法、装置、电子设备和计算机可读介质 - Google Patents
加密流量分类方法、装置、电子设备和计算机可读介质 Download PDFInfo
- Publication number
- CN116340814A CN116340814A CN202310176650.0A CN202310176650A CN116340814A CN 116340814 A CN116340814 A CN 116340814A CN 202310176650 A CN202310176650 A CN 202310176650A CN 116340814 A CN116340814 A CN 116340814A
- Authority
- CN
- China
- Prior art keywords
- features
- traffic
- data
- network
- classification
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 57
- 238000012545 processing Methods 0.000 claims abstract description 27
- 238000010801 machine learning Methods 0.000 claims abstract description 17
- 238000004458 analytical method Methods 0.000 claims abstract description 16
- 238000004422 calculation algorithm Methods 0.000 claims description 43
- 238000000605 extraction Methods 0.000 claims description 12
- 238000003066 decision tree Methods 0.000 claims description 10
- 230000015654 memory Effects 0.000 claims description 8
- 238000013145 classification model Methods 0.000 claims description 7
- 238000007477 logistic regression Methods 0.000 claims description 6
- 238000007637 random forest analysis Methods 0.000 claims description 6
- 238000004590 computer program Methods 0.000 claims description 4
- 230000000694 effects Effects 0.000 abstract description 7
- 230000006870 function Effects 0.000 description 17
- 230000008901 benefit Effects 0.000 description 13
- 238000010586 diagram Methods 0.000 description 10
- 238000005516 engineering process Methods 0.000 description 7
- 238000004364 calculation method Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 5
- 238000013135 deep learning Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000007635 classification algorithm Methods 0.000 description 3
- 238000013527 convolutional neural network Methods 0.000 description 3
- 238000007689 inspection Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 238000012549 training Methods 0.000 description 3
- 238000010276 construction Methods 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 238000004806 packaging method and process Methods 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000010187 selection method Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000006403 short-term memory Effects 0.000 description 1
- 238000012731 temporal analysis Methods 0.000 description 1
- 238000000700 time series analysis Methods 0.000 description 1
- 238000012546 transfer 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/213—Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods
-
- 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/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
- G06F18/2148—Generating training patterns; Bootstrap methods, e.g. bagging or boosting characterised by the process organisation or structure, e.g. boosting cascade
-
- 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/24—Classification techniques
- G06F18/243—Classification techniques relating to the number of classes
- G06F18/24323—Tree-organised classifiers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/27—Regression, e.g. linear or logistic regression
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- 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/16—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using machine learning or artificial intelligence
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2123/00—Data types
- G06F2123/02—Data types in the time domain, e.g. time-series data
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Software Systems (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Medical Informatics (AREA)
- Computing Systems (AREA)
- Computer Security & Cryptography (AREA)
- Databases & Information Systems (AREA)
- Computer Hardware Design (AREA)
- Mathematical Physics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本公开的实施例公开了加密流量分类方法、装置、电子设备和计算机可读介质。该方法的一具体实施方式包括:使用网络抓包工具采集网络流量数据,以包格式存储未经处理的网络流量数据;从所述未经处理的网络流量数据中提取两种类型的流量特征,其中,所述两种类型的流量特征包括:统计特征和时序特征;使用基于机器学习的分类器处理所述统计特征和所述时序特征;使用两层分类器对处理的结果进行分析,得到所述网络流量数据的分类结果。本实施例实现了使用两层分类器对处理的结果进行分析,提高了加密流量分类效果的准确率。
Description
技术领域
本公开的实施例涉及网络数据分类技术领域,具体涉及加密流量分类方法、装置、电子设备和计算机可读介质。
背景技术
出于对网络用户隐私数据的保护以及虚拟专用网络(Virtual Private Network,VPN)等通信技术的广泛应用,网络中的许多流量被加密传输,加密流量急剧增长,逐渐成为网络流量的主流趋势。对加密流量分类的研究,无论在网络管理方案还是在网络安全方面,均是一项重要工作。网络管理方面,根据加密流量的分类结果制定不同的优先级服务策略,可以保证网络的服务质量(Quality of Service,QoS);在网络安全方面,从良性流量中识别那些以加密技术伪装的恶意软件流量,以进行流量的异常检测,可以保证信息的安全。
传统的网络流量分类研究包括基于端口的方法和基于深度包检测(Deep PacketInspection,DPI)方法等。在互联网的早期发展阶段,网络流量的应用种类较少,大多数应用的端口号是由互联网数字分配机构分配,且是固定的,识别网络流量只需检查数据包头部的端口号字段即可,因此,研究者采用基于端口的技术对不同应用的流量进行分类。基于深度包检测方法试图在数据包的有效负载中选择一些属性或有价值的信息,将其与预定义的模型进行比较,从而达到识别所属应用程序的目的。
在传统的应用流分类方案中,随着应用种类的增多、动态端口的出现,基于端口技术的流量分类已经不够准确。基于深度包检测方法须在数据包的有效负载中选择一些属性或有价值的信息,但基于内容的识别与分类很容易通过加密数据包有效载荷来规避,会发生无法解密加密流量的问题。
基于深度学习的流分类技术对于快速精准的流识别有一定优势,但是王勇等人提出的方法并未涉及对加密流量的识别分类,有的方法需要使用长短期记忆网络(LSTM,LongShort-Term Memory),但LSTM的时间跨度较大,并且网络结构比较深,从而导致训练时间增加,计算量过大。深度学习方法中有很多超参数,这些超参数的数量会随着模型的深度呈指数增长,所以需要找到合适的网络结构(如隐藏层的数量,以及最优超参数如学习率、损失函数等),合适的网络结构才能进行准确的流量分类。但是,找寻合适的网络结构是一项困难的任务。
发明内容
本公开的内容部分用于以简要的形式介绍构思,这些构思将在后面的具体实施方式部分被详细描述。本公开的内容部分并不旨在标识要求保护的技术方案的关键特征或必要特征,也不旨在用于限制所要求的保护的技术方案的范围。本公开的一些实施例提出了加密流量分类方法、装置、电子设备和计算机可读介质,来解决以上背景技术部分提到的技术问题。
第一方面,本公开的一些实施例提供了一种加密流量分类方法,该方法包括:
使用网络抓包工具采集网络流量数据,以包格式存储未经处理的网络流量数据;
从所述未经处理的网络流量数据中提取两种类型的流量特征,其中,所述两种类型的流量特征包括:统计特征和时序特征;
使用基于机器学习的分类器处理所述统计特征和所述时序特征;
使用两层分类器对处理的结果进行分析,得到所述网络流量数据的分类结果。
第二方面,本公开的一些实施例提供了一种加密流量分类装置,装置包括:
采集单元,用于使用网络抓包工具采集网络流量数据,以包格式存储未经处理的网络流量数据;
提取单元,用于从所述未经处理的网络流量数据中提取两种类型的流量特征,其中,所述两种类型的流量特征包括:统计特征和时序特征;
处理单元,用于使用基于机器学习的分类器处理所述统计特征和所述时序特征;
分析单元,用于使用两层分类器对处理的结果进行分析,得到所述网络流量数据的分类结果。
第三方面,本公开的一些实施例提供了一种电子设备,包括:
一个或多个处理器;
存储装置,其上存储有一个或多个程序,当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现如第一方面中任一的方法。
第四方面,本公开的一些实施例提供了一种计算机可读介质,其上存储有计算机程序,其中,程序被处理器执行时实现如第一方面中任一的方法。
本公开的上述各个实施例中的一个实施例具有如下有益效果:首先,使用网络抓包工具采集网络流量数据,以包格式存储未经处理的网络流量数据;然后,从所述未经处理的网络流量数据中提取两种类型的流量特征,其中,所述两种类型的流量特征包括:统计特征和时序特征;之后,使用基于机器学习的分类器处理所述统计特征和所述时序特征;最后,使用两层分类器对处理的结果进行分析,得到所述网络流量数据的分类结果。本实施例实现了使用两层分类器对处理的结果进行分析,提高了加密流量分类效果的准确率。
附图说明
结合附图并参考以下具体实施方式,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。贯穿附图中,相同或相似的附图标记表示相同或相似的元素。应当理解附图是示意性的,原件和元素不一定按照比例绘制。
图1是根据本公开的加密流量分类方法的一些实施例的流程图;
图2是根据本公开的基于Stacking的集成学习算法的一些实施例的示意图;
图3是根据本公开的分裂查找的精确贪心算法的一些实施例的示意图;
图4是根据本公开的分裂查找的近似贪心算法的一些实施例的示意图;
图5是根据本公开的面向应用的流分类准确率对比图;
图6是根据本公开的加密流量分类装置的一些实施例的结构示意图;
图7是适于用来实现本公开的一些实施例的电子设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例。相反,提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互组合。
需要注意,本公开中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
需要注意,本公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
本公开实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。
下面将参考附图并结合实施例来详细说明本公开。
近年来,随着深度学习的方法应用到流量分类中,极大提高了流量分类的准确性。深度学习方法应用到流量分类受到了研究者的广泛关注。一种基于卷积神经网络(Convolutional Neural Networks,CNN)的流量分类算法,通过测试,与传统的分类方式相比,该算法在提高流量分类准确性的同时,减少了分类使用的时间。一种基于特征融合的轻量级网络模型,通过该模型对端到端加密流量进行分类,不仅提高了分类的准确性,还降低了网络计算的复杂度。一种新的时间序列分析网络流量分类表示加密的网络应用。利用LSTM的优势,设计了从时间序列数据样本中有效学习特征的深度网络模型。基于一维神经网络的端到端的流量分类方法,该方法将特征提取、特征选择和分类器集成到一个统一的端到端框架中,进行自动学习原始输入和预期输出之间的非线性关系对分类结果进行预测和输出。
虚拟专用网络(VPN)是在公共的网络上建立专有网络,进而实现加密的通信。由于互联网的高速发展,加密流量急剧增长,这些流量通常来自不同应用程序。但同一应用程序也会存在有多种流量的情况,目前应用种类繁多,如果仅按照流量的应用程序进行流量分类,就会造成流量分类复杂且不细致的问题,同时,算法的时间开销也会增大。因此,面向应用的流量分类技术即将流量映射到其所属的应用类别,每个应用类别由不同应用程序流量组成。例如,VPN-Email类别的流量中包含了Email和Gmail应用程序组成的加密流量。因此,各加密流量类别和应用程序类型关系如表1所示。
表1加密流量类别
图1是根据本公开的加密流量分类方法的一些实施例的流程图。上述加密流量分类方法,由两部分构成,分别为嵌入式特征选择和基于Stacking的集成学习框架。嵌入式特征选择用于从包级别的流量数据中提取两种类型的流量特征;基于Stacking的集成学习框架使用两层分类器得到加密流量的分类结果;包括以下步骤:
步骤101,使用网络抓包工具采集网络流量数据,以包格式存储未经处理的网络流量数据。
在一些实施例中,加密流量分类方法的执行主体(例如可以是服务器)可以使用网络抓包工具采集网络流量数据,以pcap格式存储未经处理的网络流量数据;上述网络抓包工具通常是指拦截查看网络数据包内容的软件。业内流行的抓包软件有很多:Wire shark、SnifferPro、Snoop以及Tcpdump等。上述pcap是Packet Capture的英文缩写,是一种行业标准的网络数据包捕获格式。作为示例,网络开发人员,那么通常会使用Wireshark、Tcpdump或WinDump等网络分析器捕获TCP/IP数据包,而抓包后存盘的文件格式就是.pcap文件。
步骤102,从所述未经处理的网络流量数据中提取两种类型的流量特征,其中,所述两种类型的流量特征包括:统计特征和时序特征。
在一些实施例中,上述执行主体可以从所述未经处理的网络流量数据中提取两种类型的流量特征,其中,所述两种类型的流量特征包括:统计特征和时序特征。在特征选择部分中,从包级别的流量数据中提取两种类型的流量特征,即统计特征和时序特征。
在一些实施例的一些可选的实现方式中,采用在线特征提取工具处理所述未经处理的网络流量,得到所述网络流量的统计特征和时序特征,生成特征全集;对所述特征全集进行嵌入式特征选择,得到选择后统计特征和分析后时序特征;将所述选择后统计特征和所述选择后时序特征作为所述两种类型的流量特征中的统计特征和时序特征。通过在线特征提取工具得到关于流中数据包长度的最大值、平均值等统计特征,进一步得到反映同一流中不同数据包之间的关系的序列特征。其次,通过嵌入式特征选择算法,进行特征重要性分析以增强它们表示流数据的能力。
在一些实施例的一些可选的实现方式中,所述统计特征,包括以下至少一项:源端口、目的端口、后向数据流字节数、前向数据流字节数、流的总字节数、字节分布的平均值和标准差、数据包有效载荷的字节数总和、最大值、平均值、方差、标准差;所述时序特征,包括以下至少一项:数据包长度序列和数据包到达间隔时间序列。
嵌入式特征选择算法分为两个阶段,分别为生成特征全集以及特征选择。在特征全集中,关注反映流量特征的数据包报头以及流的持续时间等特征,流级别的特征获取源自在线特征提取工具得到的流数据格式,具体来说分为常规统计特征和时序特征:作为示例,常规统计特征:包括源端口、目的端口、后向数据流字节数、前向数据流字节数、流的总字节数、字节分布的平均值和标准差等。进一步扩展统计特征,获得包括数据包有效载荷的字节数总和、最大值、平均值、方差、标准差等统计信息。时序特征:在时序特征中,选取了数据包长度序列和数据包到达间隔时间序列,并统计描述数据包到达间隔分布的总和、最大值、平均值、方差、标准偏差等统计信息,作为部分特征集合。
通过嵌入式特征选择方法,将特征选择嵌入到模型的构建过程中,使得其既有包装法与机器学习算法相结合的优势,又有过滤法计算效率高的优势。同时,借助分布式梯度增强库(XGBoost)算法在准确性和鲁棒性方面的优势,利用XGBoost算法进行特征重要性分析,找到适合加密流量分类的多维特征。
步骤103,使用基于机器学习的分类器处理所述统计特征和所述时序特征。
在一些实施例中,上述执行主体可以使用基于机器学习的分类器处理所述统计特征和所述时序特征。上述基于机器学习的分类器是对样本进行分类的方法的统称,包含最近邻分类器、朴素贝叶斯分类器、决策树、逻辑回归、神经网络等算法。
步骤104,使用两层分类器对处理的结果进行分析,得到所述网络流量数据的分类结果。
在一些实施例中,上述执行主体可以使用两层分类器对处理的结果进行分析,得到所述网络流量数据的分类结果。作为示例,基于Stacking的集成学习算法对处理的结果进行分析,得到所述网络流量数据的分类结果。Stacking的分层体系结构由两层组成,其中,第一层的分类器作为基本分类器,第二层的分类器为元分类器。算法伪代码如图2所示,其中基分类器表示为η1,η2,η3;元分类器表示为θ。
在一些实施例的一些可选的实现方式中,所述基分类器的数量是多个,所述基分类器包括以下至少一项:决策树、随机森林和XGBoost。
在一些实施例的一些可选的实现方式中,所述两层分类器包括:基分类器和元分类器,包括:使用所述基分类器对所述处理的结果进行加密流量分类,得到各个分类器的分类结果;
基分类器位于集成学习框架的第一层,首先对训练数据进行分类。XGBoost是梯度提升算法的一种高效的系统实现,是对梯度增强决策树(Gradient Boosting DecisionTree,GBDT)的改进。XGBoost的基分类器既支持分类回归树(Classification andRegression Trees,CART),还支持线性分类器,具有高精准度、不易过拟合和可扩展性等特点,能分布式处理高位稀疏特征。XGBoost是对GBDT算法的改进,训练时的目标函数由两部分构成:梯度提升算法的损失函数以及正则化项。相比于GBDT算法,XGBoost的优势是在损失函数中不但使用一阶偏导,还通过泰勒展开得到变量的二阶导数形式,使用二阶偏导使得梯度的下降速度加快,下降方向更加准确。另外,将损失函数二阶展开还可以在不对损失函数的具体形式进行确定的情况下,仅仅依靠输入数据的值对叶子分裂进行优化计算。XGBoost算法将损失函数二阶展开,本质上就是把损失函数的选取、模型算法的优化以及模型参数的选择区分开来,这种方法增加了XGBoost的泛化能力,在选取损失函数时,可以按照需求选择,不必只用规定的函数。
XGBoost算法如图3所示,利用贪婪算法,遍历所用特征的所有特征划分点。它的核心算法思想是:通过不断添加树来学习一个新的函数,并且不限制的进行特征分裂来生长一棵树,然后拟合上一次预测结果的残差。在预测一个样本的分数时,根据这个样本的特征,在每棵树中会落到对应的一个叶子节点,每个叶子节点就对应一个分数,最后只需要将每棵树对应的分数加起来就是该样本的预测值。
然而,精确贪心算法要枚举所有可能的分裂点,当数据无法完全放入内存时,不能进行精确搜索分类,只能近似。因此,分裂查找的近似贪心算法如图4所示,首先根据特征分布的百分位数,提出候选分裂节点。接着,将连续型特征映射到候选分裂节点的桶中,然后根据桶里样本的统计信息,从这些候选分裂节点中选择最佳分裂节点。
因此,选择上述如XGBoost等分类器以及其他基于集成学习的算法作为基分类器的候选分类器。考虑到时间复杂度等指标,在选择候选分类器时,使用所有特征作为特征集合,选择分类性能最好的三种分类器作为基分类器。
所述元分类器采用逻辑回归算法,将所述分类结果作为特征进行拟合,得到所述网络流量数据的分类结果。
元分类器位于集成学习算法的第二层,在获得各个基分类器生成的相应预测结果后,元分类器进行二层分类。最终,元分类器的预测结果即为每条数据流量的最终类别标签。在元分类器的设计中,使用的是较为简单的模型,以防止整体模型的过拟合,因此,选择逻辑回归等简单机器学习模型,将基分类器的预测结果形成特征集合,作为元分类器的输入数据。
在一些实施例的一些可选的实现方式中,从所述未经处理的网络流量数据中选取目标数量个数据包的流量数据;上述目标数量个可以是根据采集时间的先后,选取前N个数据包;采用在线特征提取工具处理所述目标数量个数据包的流量数据,得到对应的统计特征和时序特征,生成目标特征全集;对所述特征全集进行嵌入式特征选择,利用分布式梯度增强库算法进行特征重要性分析,得到所述目标数量个数据包的流量数据对应的统计特征和时序特征;将所述对应的统计特征和时序特征输入分类模型,得到所述网络流量数据的分类结果。作为示例,嵌入式特征选择部分为了实时对流量进行分类,选取前N个数据包的流的统计特征和时序特征作为分类模型的数据输入。
在一些实施例的一些可选的实现方式中,所述分类模型由两层分类器组成,第一层分类器包括三个基分类器,第二层包括一个元分类器。
本公开的一些实施例公开了一种加密流量分类方法,包括嵌入式特征选择和基于Stacking的集成学习框架。在嵌入式特征选择部分,选取前N个数据包的流的统计特征和时序特征,通过嵌入式特征选择,将特征选择嵌入到模型的构建过程之中,使得其既有包装法与机器学习算法相结合的优势,又有过滤法计算效率高的优势。同时,借助XGBoost算法在准确性和鲁棒性方面的优势,利用XGBoost算法进行特征重要性分析,得到加密流量分类的特征全集。在基于Stacking的集成学习部分,使用分类性能最好的三种分类器作为基分类器,采用逻辑回归算法作为元分类器,对嵌入式特征选择得到的特征全集进行处理,最终得到加密流量分类的结果,实现精准的面向应用的加密流量分类。同时,与常见的KNN算法、决策树算法、随机森林算法从Precision、Recall和F1-Score值多个维度进行比较,通过测试得,基于Stacking集成学习的加密流算法在各个方面普遍优于其他四种机器学习算法。
本公开的一些实施例公开了一种加密流量分类方法,在VPN-NonVPN数据集上进行测试。测试结果如图6所示,基于决策树、随机森林、XGBoost和Stacking的加密流量分类效果在准确率上明显高于其他算法,其中基于Stacking的集成学习分类算法效果最好,分类的准确率为99.24%,它通过多层结构将集成的知识迁移到简单的分类器上,并通过增加正则项有效对抗过拟合,且不需要大多的调参和特征选择,使得其分类准确度高于基分类器中表现最好的XGBoost算法,提升了0.14%,同时,相较于最弱的基分类器决策树算法,准确率提升了1.62%。基于Stacking的集成学习算法能够利用决策树、随机森林以及XGBoost这三个基分类器对分类结果进行回归拟合,获得各基学习器的优势,使得总体应用类别的准确率高于任何一个基学习器。
本公开的一些实施例公开了一种加密流量分类方法,首先,使用网络抓包工具采集网络流量数据,以包格式存储未经处理的网络流量数据;然后,从所述未经处理的网络流量数据中提取两种类型的流量特征,其中,所述两种类型的流量特征包括:统计特征和时序特征;之后,使用基于机器学习的分类器处理所述统计特征和所述时序特征;最后,使用两层分类器对处理的结果进行分析,得到所述网络流量数据的分类结果。本实施例实现了使用两层分类器对处理的结果进行分析,提高了加密流量分类效果的准确率。
进一步参考图6,作为对上述各图所示方法的实现,本公开提供了一种加密流量分类装置的一些实施例,这些装置实施例与图1所示的那些方法实施例相对应,该装置具体可以应用于各种电子设备中。
如图6所示,一些实施例的加密流量分类装置600包括:采集单元601、提取单元602、处理单元603和分析单元604。而采集单元601,用于使用网络抓包工具采集网络流量数据,以包格式存储未经处理的网络流量数据;提取单元602,用于从所述未经处理的网络流量数据中提取两种类型的流量特征,其中,所述两种类型的流量特征包括:统计特征和时序特征;处理单元603,用于使用基于机器学习的分类器处理所述统计特征和所述时序特征;分析单元604,用于使用两层分类器对处理的结果进行分析,得到所述网络流量数据的分类结果。
本公开的一些实施例公开了一种加密流量分类装置,首先,使用网络抓包工具采集网络流量数据,以包格式存储未经处理的网络流量数据;然后,从所述未经处理的网络流量数据中提取两种类型的流量特征,其中,所述两种类型的流量特征包括:统计特征和时序特征;之后,使用基于机器学习的分类器处理所述统计特征和所述时序特征;最后,使用两层分类器对处理的结果进行分析,得到所述网络流量数据的分类结果。本实施例实现了使用两层分类器对处理的结果进行分析,提高了加密流量分类效果的准确率。
在一些实施例的可选实现方式中,加密流量分类装置600中的提取单元602被进一步配置成:采用在线特征提取工具处理所述未经处理的网络流量,得到所述网络流量的统计特征和时序特征,生成特征全集;对所述特征全集进行嵌入式特征选择,得到选择后统计特征和分析后时序特征;将所述选择后统计特征和所述选择后时序特征作为所述两种类型的流量特征中的统计特征和时序特征。
在一些实施例的可选实现方式中,所述两层分类器包括:基分类器和元分类器,加密流量分类装置600中的分析单元604被进一步配置成:使用所述基分类器对所述处理的结果进行加密流量分类,得到各个分类器的分类结果;所述元分类器采用逻辑回归算法,将所述分类结果作为特征进行拟合,得到所述网络流量数据的分类结果。
在一些实施例的可选实现方式中,所述基分类器的数量是多个,所述基分类器包括以下至少一项:决策树、随机森林和分布式梯度增强库。
在一些实施例的可选实现方式中,所述统计特征,包括以下至少一项:源端口、目的端口、后向数据流字节数、前向数据流字节数、流的总字节数、字节分布的平均值和标准差、数据包有效载荷的字节数总和、最大值、平均值、方差、标准差;所述时序特征,包括以下至少一项:数据包长度序列和数据包到达间隔时间序列。
在一些实施例的可选实现方式中,加密流量分类装置600被进一步配置成:从所述未经处理的网络流量数据中选取目标数量个数据包的流量数据;采用在线特征提取工具处理所述目标数量个数据包的流量数据,得到对应的统计特征和时序特征,生成目标特征全集;对所述特征全集进行嵌入式特征选择,利用分布式梯度增强库算法进行特征重要性分析,得到所述目标数量个数据包的流量数据对应的统计特征和时序特征;将所述对应的统计特征和时序特征输入分类模型,得到所述网络流量数据的分类结果。
在一些实施例的可选实现方式中,所述分类模型由两层分类器组成,第一层分类器包括三个基分类器,第二层包括一个元分类器。
可以理解的是,该装置600中记载的诸单元与参考图1描述的方法中的各个步骤相对应。由此,上文针对方法描述的操作、特征以及产生的有益效果同样适用于装置600及其中包含的单元,在此不再赘述。
与上述方法实施例相对应,在本实施例中,还提供一种电子设备,请参看图7,其是本公开实施例提供的一种电子设备的结构示意图。
如图7所示,该电子设备700可以包括处理器720和存储器710,该存储器710用于存储可执行的指令;该处理器720用于根据指令的控制运行电子设备以执行根据本公开任意实施例的方法。
需要说明的是,本公开的一些实施例上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开的一些实施例中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开的一些实施例中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
在一些实施方式中,客户端、服务器可以利用诸如HTTP(HyperText TransferProtocol,超文本传输协议)之类的任何当前已知或未来研发的网络协议进行通信,并且可以与任意形式或介质的数字数据通信(例如,通信网络)互连。通信网络的示例包括局域网(“LAN”),广域网(“WAN”),网际网(例如,互联网)以及端对端网络(例如,ad hoc端对端网络),以及任何当前已知或未来研发的网络。
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:使用网络抓包工具采集网络流量数据,以包格式存储未经处理的网络流量数据;从所述未经处理的网络流量数据中提取两种类型的流量特征,其中,所述两种类型的流量特征包括:统计特征和时序特征;使用基于机器学习的分类器处理所述统计特征和所述时序特征;使用两层分类器对处理的结果进行分析,得到所述网络流量数据的分类结果。
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的一些实施例的操作的计算机程序代码,上述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)——连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开的一些实施例中的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元也可以设置在处理器中,例如,可以描述为:一种处理器包括采集单元、提取单元、处理单元和分析单元。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定,例如,采集单元还可以被描述为“使用网络抓包工具采集网络流量数据,以包格式存储未经处理的网络流量数据的单元”。
本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上系统(SOC)、复杂可编程逻辑设备(CPLD)等等。
以上描述仅为本公开的一些较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开的实施例中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开的实施例中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
Claims (10)
1.一种加密流量分类方法,包括:
使用网络抓包工具采集网络流量数据,以包格式存储未经处理的网络流量数据;
从所述未经处理的网络流量数据中提取两种类型的流量特征,其中,所述两种类型的流量特征包括:统计特征和时序特征;
使用基于机器学习的分类器处理所述统计特征和所述时序特征;
使用两层分类器对处理的结果进行分析,得到所述网络流量数据的分类结果。
2.根据权利要求1所述的方法,其特征在于,所述从所述网络流量的流量数据中提取两种类型的流量特征,其中,所述两种类型的流量特征包括:统计特征和时序特征,包括:
采用在线特征提取工具处理所述未经处理的网络流量,得到所述网络流量的统计特征和时序特征,生成特征全集;
对所述特征全集进行嵌入式特征选择,得到选择后统计特征和分析后时序特征;
将所述选择后统计特征和所述选择后时序特征作为所述两种类型的流量特征中的统计特征和时序特征。
3.根据权利要求1所述的方法,其特征在于,所述两层分类器包括:基分类器和元分类器,所述使用两层分类器对处理的结果进行分析,得到所述网络流量数据的分类结果,包括:
使用所述基分类器对所述处理的结果进行加密流量分类,得到各个分类器的分类结果;
所述元分类器采用逻辑回归算法,将所述分类结果作为特征进行拟合,得到所述网络流量数据的分类结果。
4.根据权利要求3所述的方法,其特征在于,所述基分类器的数量是多个,所述基分类器包括以下至少一项:决策树、随机森林和分布式梯度增强库。
5.根据权利要求2所述的方法,其特征在于,所述统计特征,包括以下至少一项:源端口、目的端口、后向数据流字节数、前向数据流字节数、流的总字节数、字节分布的平均值和标准差、数据包有效载荷的字节数总和、最大值、平均值、方差、标准差;所述时序特征,包括以下至少一项:数据包长度序列和数据包到达间隔时间序列。
6.根据权利要求2所述的方法,其特征在于,所述方法还包括:
从所述未经处理的网络流量数据中选取目标数量个数据包的流量数据;
采用在线特征提取工具处理所述目标数量个数据包的流量数据,得到对应的统计特征和时序特征,生成目标特征全集;
对所述特征全集进行嵌入式特征选择,利用分布式梯度增强库算法进行特征重要性分析,得到所述目标数量个数据包的流量数据对应的统计特征和时序特征;
将所述对应的统计特征和时序特征输入分类模型,得到所述网络流量数据的分类结果。
7.根据权利要求6所述的方法,其特征在于,所述分类模型由两层分类器组成,第一层分类器包括三个基分类器,第二层包括一个元分类器。
8.一种加密流量分类装置,包括:
采集单元,用于使用网络抓包工具采集网络流量数据,以包格式存储未经处理的网络流量数据;
提取单元,用于从所述未经处理的网络流量数据中提取两种类型的流量特征,其中,所述两种类型的流量特征包括:统计特征和时序特征;
处理单元,用于使用基于机器学习的分类器处理所述统计特征和所述时序特征;
分析单元,用于使用两层分类器对处理的结果进行分析,得到所述网络流量数据的分类结果。
9.一种电子设备,其特征在于,包括:
存储器,用于存储可执行的指令;
处理器,用于根据所述指令的控制运行所述电子设备执行如权利要求1-7任意一项所述的方法。
10.一种计算机可读介质,其上存储有计算机程序,其中,所述程序被处理器执行时实现如权利要求1-7中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310176650.0A CN116340814A (zh) | 2023-02-28 | 2023-02-28 | 加密流量分类方法、装置、电子设备和计算机可读介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310176650.0A CN116340814A (zh) | 2023-02-28 | 2023-02-28 | 加密流量分类方法、装置、电子设备和计算机可读介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116340814A true CN116340814A (zh) | 2023-06-27 |
Family
ID=86878214
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310176650.0A Pending CN116340814A (zh) | 2023-02-28 | 2023-02-28 | 加密流量分类方法、装置、电子设备和计算机可读介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116340814A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117097674A (zh) * | 2023-10-20 | 2023-11-21 | 南京邮电大学 | 一种采样时间不敏感频率维度可配置的网络特征提取方法 |
-
2023
- 2023-02-28 CN CN202310176650.0A patent/CN116340814A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117097674A (zh) * | 2023-10-20 | 2023-11-21 | 南京邮电大学 | 一种采样时间不敏感频率维度可配置的网络特征提取方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Lin et al. | TSCRNN: A novel classification scheme of encrypted traffic based on flow spatiotemporal features for efficient management of IIoT | |
WO2022041394A1 (zh) | 一种网络加密流量识别方法及装置 | |
Wang et al. | End-to-end encrypted traffic classification with one-dimensional convolution neural networks | |
Bakhshi et al. | On internet traffic classification: A two-phased machine learning approach | |
Azab et al. | Network traffic classification: Techniques, datasets, and challenges | |
Labayen et al. | Online classification of user activities using machine learning on network traffic | |
Alshammari et al. | Identification of VoIP encrypted traffic using a machine learning approach | |
CN110417729B (zh) | 一种加密流量的服务与应用分类方法及系统 | |
Soleymanpour et al. | CSCNN: cost-sensitive convolutional neural network for encrypted traffic classification | |
Soleymanpour et al. | An efficient deep learning method for encrypted traffic classification on the web | |
Sheikh et al. | Procedures, criteria, and machine learning techniques for network traffic classification: a survey | |
CN114172688A (zh) | 基于gcn-dl的加密流量网络威胁关键节点自动提取方法 | |
CN116340814A (zh) | 加密流量分类方法、装置、电子设备和计算机可读介质 | |
Himura et al. | Synoptic graphlet: Bridging the gap between supervised and unsupervised profiling of host-level network traffic | |
Jenefa et al. | The ascent of network traffic classification in the dark net: A survey | |
US7720013B1 (en) | Method and system for classifying digital traffic | |
Elngar et al. | Feature selection and dynamic network traffic congestion classification based on machine learning for Internet of Things | |
Banihashemi et al. | Encrypted network traffic classification using deep learning method | |
Balachandran et al. | Vpn network traffic classification using entropy estimation and time-related features | |
Dener et al. | Rfse-gru: Data balanced classification model for mobile encrypted traffic in big data environment | |
Long et al. | Network traffic classification based on a deep learning approach using netflow data | |
Kousar et al. | DDoS attack detection system using Apache spark | |
Yang et al. | A Classification Method for Network Applications using BP Neural Network | |
Liu et al. | A weakly-supervised method for encrypted malicious traffic detection | |
Nigmatullin et al. | Accumulated Generalized Mean Value-a New Approach to Flow-Based Feature Generation for Encrypted Traffic Characterization |
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 |