CN112437016B - 网络流量识别方法、装置、设备及计算机存储介质 - Google Patents
网络流量识别方法、装置、设备及计算机存储介质 Download PDFInfo
- Publication number
- CN112437016B CN112437016B CN202011264636.9A CN202011264636A CN112437016B CN 112437016 B CN112437016 B CN 112437016B CN 202011264636 A CN202011264636 A CN 202011264636A CN 112437016 B CN112437016 B CN 112437016B
- Authority
- CN
- China
- Prior art keywords
- network
- flow
- data
- graph
- network traffic
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 62
- 238000003860 storage Methods 0.000 title claims abstract description 11
- 238000013528 artificial neural network Methods 0.000 claims abstract description 34
- 238000012549 training Methods 0.000 claims abstract description 32
- 238000007781 pre-processing Methods 0.000 claims abstract description 17
- 238000010586 diagram Methods 0.000 claims description 23
- 230000006870 function Effects 0.000 claims description 19
- 238000002372 labelling Methods 0.000 claims description 17
- 238000013515 script Methods 0.000 claims description 8
- 238000004364 calculation method Methods 0.000 claims description 5
- 238000012544 monitoring process Methods 0.000 claims description 3
- 230000008569 process Effects 0.000 description 8
- 230000009286 beneficial effect Effects 0.000 description 7
- 238000004590 computer program Methods 0.000 description 7
- 238000013135 deep learning Methods 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000001514 detection method Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000004075 alteration Effects 0.000 description 2
- 230000006854 communication Effects 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 238000013527 convolutional neural network Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000012098 association analyses Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000004091 panning Methods 0.000 description 1
- 238000003909 pattern recognition Methods 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2483—Traffic characterised by specific attributes, e.g. priority or QoS involving identification of individual flows
-
- 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
-
- 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
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/29—Flow control; Congestion control using a combination of thresholds
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Signal Processing (AREA)
- Evolutionary Computation (AREA)
- Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种网络流量识别方法、装置、设备及计算机存储介质,该方法包括以下步骤:针对不同图模式的网络流量进行采集,并进行标注;预处理采集到的所述网络流量,提取每一个网络会话的特征信息;基于所述特征信息,生成数据流图;利用所述数据流图的数据对图神经网络进行训练,生成网络流量识别模型;将未知流量转换为数据流图的数据输入所述网络流量识别模型,所述网络流量识别模型将未知流量的数据流图和自身学习到的图模式进行匹配;当匹配程度大于预设阈值时,则判定所述未知流量对应的图模式,从而确定未知流量对应的网络应用。本发明解决网络流量识别正确率低的问题,实现利用图神经网络判定网络流量的图模式以及对应的网络应用。
Description
技术领域
本发明涉及计算机网络技术领域,尤其涉及一种网络流量识别方法。
背景技术
流量识别是网络运营商所需的重要技术,它有助于运营商和网络管理者合理调度网络带宽资源,保障用户QoE,提升网络管理水平,改善网络服务质量。随着互联网和在线服务的飞速发展,流量识别越来越重要。
传统的流量识别方法主要是基于端口的检测,然而随着网络技术的发展,网络协议越来越多的采用随机端口号进行通讯。此时另一种方法被提出来,就是深度包检测技术(DPI)。但这种方法的缺点是只能识别已知的协议,需要花费较多的人工去分析协议,并且识别过程需要较大的运算量,对于加密流量无能为力。对于加密流量,基于统计学的方法是目前较为广泛的流量识别方法。这种方法主要研究流量的数据包特征和数据流特征,在提取特征后通过机器学习、模式识别或者深度学习的方法来建模,最后通过模型来完成对未知流量的识别。
在将传统深度学习的技术应用到加密流量检测中时,这两个特点就成为了限制:其一,网络流量及其特征并非天然的存在于欧式空间,因此许多基于卷积神经网络的加密流量检测方法为了将流量特征转化到欧式空间,对这些特征进行了简单的拼接甚至重复,形式上地映射到欧式空间以期卷积神经网络能自动提取其潜在的特征。但是,由于在深度学习中大量采用的卷积操作只能提取欧式空间中每个数据点及其附近的数据点的特征,因此这种方法会受限于特征的排布方式。其二,在实际的网络流量中,同一个网络应用往往产生多个数据流,这些流相互之间有着密切的联系,而深度学习的方法往往将这些流独立看待,期望从这些流本身的字节分布特征和流特征上识别出特定的网络应用,这就忽视了相同网络应用产生的不同数据流之间的联系。
相比于传统的深度学习基于流的加密流量识别的缺陷,考虑多条数据流的关系,综合识别网络应用,有很大的优势,能大大提高识别的性能。而图神经网络更加合适用于面向多条数据流综合关联分析的网络数据流量识别。
发明内容
有鉴于此,提供一种网络流量识别方法,解决网络流量识别正确率低的问题,实现将网络数据流综合成数据流图的数据结构,并利用网络流量识别模型判定网络流量以及对应的网络应用。
本申请实施例提供了一种网络流量识别方法,所述方法包括:
针对不同图模式的网络流量进行采集,并进行标注;
预处理采集到的所述网络流量,提取每一个网络会话的特征信息;
基于所述特征信息,生成数据流图;
利用所述数据流图的数据对图神经网络进行训练,生成网络流量识别模型;
将未知流量转换为数据流图的数据输入所述网络流量识别模型,所述网络流量识别模型将未知流量的数据流图和自身学习到的图模式进行匹配;
当匹配程度大于预设阈值时,则判定所述未知流量对应的图模式,从而确定未知流量对应的网络应用
在一实施例中,所述针对不同图模式的网络流量进行采集,并进行标注,包括:
使用脚本运行不同种类的网络应用;其中一种所述网络应用对应一种图模式;
监控并采集产生的网络流量,并根据不同种类的网络应用对所述网络流量进行对应标注。
在一实施例中,所述特征信息包括以下至少之一:
开始时间、持续时间、字节数序列、互联网协议地址、端口号。
在一实施例中,所述数据流图具有图的数据结构,其中:
每条数据流构成数据流图中的一个节点,所述特征信息作为所述节点的参数;其中,每条网络会话为一条数据流;
数据流之间的关联性构成数据流图中的一条边,所述关联性由流关联关系向量表示。
在一实施例中,所述流关联关系向量由一个五元组唯一确定,所述五元组包括源IP地址、源端口、目的IP地址、目的端口、传输层协议。
在一实施例中,所述利用所述数据流图的数据对图神经网络进行训练,包括:
归集所述数据流图预设范围内的数据;其中所述预设范围内的数据包括节点特征、邻居节点特征以及邻居边特征;
对所述预设范围内的数据进行卷积计算,利用以下公式:
其中,表示第l层中节点ν的特征,为一个向量;σ(·)为一个非线性函数relu;N(ν)为节点ν的邻居节点;AGG(·)为归集函数,表示归集邻居特征的方式;Wl为权重参数,COMBIN(·)函数得出最后输出的下一层对应节点的特征。
在一实施例中,所述利用所述数据流图的数据对图神经网络进行训练,还包括:
将训练生成的识别结果与所述标注的数据进行比对;
将所述比对的结果反向传播,更新所述图神经网络内部的参数。
为实现上述目的,还提供一种网络流量识别装置,包括:
流量标注模块,用于针对不同图模式的网络流量进行采集,并进行标注;
流量预处理模块,用于预处理采集到的所述网络流量,提取每一个网络会话的特征信息;
数据流图生成模块,用于基于所述特征信息,生成数据流图;
模型训练模块,用于利用所述数据流图的数据对图神经网络进行训练,生成网络流量识别模型;
流量识别模块,用于将未知流量转换为数据流图的数据输入所述网络流量识别模型,所述网络流量识别模型将未知流量的数据流图和自身学习到的图模式进行匹配;当匹配程度大于预设阈值时,则判定所述未知流量对应的图模式,从而确定未知流量对应的网络应用。
为实现上述目的,还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有网络流量识别程序,所述网络流量识别程序被处理器执行时实现上述任一所述的方法的步骤。
为实现上述目的,还提供一种网络流量识别设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的网络流量识别程序,所述处理器执行所述网络流量识别程序时实现上述任一所述的方法的步骤。
本申请实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:针对不同图模式的网络流量进行采集,并进行标注;对原始网络流量进行采集并对应标注,初步形成训练集,保证网络流量识别模型的准确度。预处理采集到的所述网络流量,提取每一个网络会话的特征信息;基于所述特征信息,生成数据流图;所述数据流图灵活的描述出各个数据流之间的关系,提高网络流量识别的正确率。利用所述数据流图的数据对图神经网络进行训练,生成网络流量识别模型;图可以非常灵活的表示流量的特征,同时通过边将各个节点联系起来,使得图具有识别节点之间关系特征的潜力,图神经网络应用于网络流量的识别,挖掘了图神经网络的潜力,同时保证了关系特征在网络流量识别中的作用。将未知流量转换为数据流图的数据输入所述网络流量识别模型,所述网络流量识别模型将未知流量的数据流图和自身学习到的图模式进行匹配;当匹配程度大于预设阈值时,则判定所述未知流量对应的图模式,从而确定未知流量对应的网络应用。本发明解决网络流量识别正确率低的问题,实现将网络数据流综合成数据流图的数据结构,并利用网络流量识别模型判定网络流量以及对应的网络应用。
附图说明
图1为本申请实施例中涉及的网络流量识别方法的硬件架构示意图;
图2为本申请网络流量识别方法的第一实施例的流程示意图;
图3为本申请网络流量识别方法中网路数据流构建流关联示意图;
图4为本申请网络流量识别方法第一实施例中步骤S110的具体步骤流程示意图;
图5为本发明网络流量识别方法第一实施例中步骤S140的具体步骤流程示意图;
图6为本发明网络流量识别方法第一实施例中步骤S140的具体步骤流程示意图;
图7为本申请网络流量识别装置的功能模块示意图。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明实施例的主要解决方案是:针对不同图模式的网络流量进行采集,并进行标注;预处理采集到的所述网络流量,提取每一个网络会话的特征信息;基于所述特征信息,生成数据流图;利用所述数据流图的数据对图神经网络进行训练,生成网络流量识别模型;将未知流量转换为数据流图的数据输入所述网络流量识别模型,所述网络流量识别模型将未知流量的数据流图和自身学习到的图模式进行匹配;当匹配程度大于预设阈值时,则判定所述未知流量对应的图模式,从而确定未知流量对应的网络应用。本发明解决网络流量识别正确率低的问题,实现将网络数据流综合成数据流图的数据结构,并利用网络流量识别模型判定网络流量以及对应的网络应用。
为了更好的理解上述技术方案,下面将结合说明书附图以及具体的实施方式对上述技术方案进行详细的说明。
本申请涉及一种网络流量识别设备包括如图1所示:至少一个处理器012、存储器011。
处理器012可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器012中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器012可以是通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器011,处理器012读取存储器011中的信息,结合其硬件完成上述方法的步骤。
可以理解,本发明实施例中的存储器011可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(ReadOnly Memory,ROM)、可编程只读存储器(Programmable ROM,PROM)、可擦除可编程只读存储器(Erasable PROM,EPROM)、电可擦除可编程只读存储器(Electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(Random Access Memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(Static RAM,SRAM)、动态随机存取存储器(Dynamic RAM,DRAM)、同步动态随机存取存储器(Synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(Double DataRateSDRAM,DDRSDRAM)、增强型同步动态随机存取存储器(Enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(Synch link DRAM,SLDRAM)和直接内存总线随机存取存储器(DirectRambus RAM,DRRAM)。本发明实施例描述的系统和方法的存储器011旨在包括但不限于这些和任意其它适合类型的存储器。
参照图2,图2为本发明网络流量识别方法的第一实施例,所述网络流量识别方法,包括:
步骤S110:针对不同图模式的网络流量进行采集,并进行标注。
在计算机科学中,一个完整的图结构是由顶点集合和边集合组成,其中所有的顶点构成了一个顶点集合,所有的边构成一个边的集合。顶点也可称为节点或者交点,边也可称为链接。
图模式与网络应用一一对应,根据网络应用的配置与布局形成对应的图模式。
网络流量就是网络上传输的数据量。网络流量的大小对网络架构设计具有重要意义,就像要根据来往车辆的多少和流向来设计道路的宽度和连接方式类似,根据网络流量进行网络的设计是十分必要的。
标注是形成训练集的关键环节,在图模式对应的网络应用中进行标注,形成一个对应的标签,则可以使用监督学习的方式训练图神经网络。
步骤S120:预处理采集到的所述网络流量,提取每一个网络会话的特征信息。
预处理可以是预先做的准备工作,对网络流量进行预处理;
在两台主机之间的一次数据通信过程称之为一个会话(Conversation),或称为双向流。
特征信息将构成数据流图中每个节点的节点特征。
步骤S130:基于所述特征信息,生成数据流图。
如图3所示,数据流图为将采集到的数据流综合成数据流图的数据结构,每条数据流构成图的一个节点,数据流流的特征作为节点的参数,流和流之间的关联性就是图上的边,可以计算节点之间的关联性,边的特征则由流之间的关联性F(eij)表示。不同流之间的关联性可以从不同的层面描述,对应一个流关联关系向量。例如,两条流有相同的源IP地址,这两条流对应的节点之间的边的特征中,源IP有关的位可以置1。如此,捕获的多个流就可以表示成图的数据结构。
步骤S140:利用所述数据流图的数据对图神经网络进行训练,生成网络流量识别模型。
网络流量识别模型用于将未知流量转换为数据流图的数据与自身学习到的多种图模式进行匹配。
步骤S150:将未知流量转换为数据流图的数据输入所述网络流量识别模型,所述网络流量识别模型将未知流量的数据流图和自身学习到的图模式进行匹配。
输入数据的预处理过程为将未知流量转换为数据流图的数据,以符合网络流量识别模型的输入格式。
步骤S160:当匹配程度大于预设阈值时,则判定所述未知流量对应的图模式,从而确定未知流量对应的网络应用。
当未知流量的数据流图和网络流量识别模型自身学习到的图模式的匹配程度大于预设阈值时,则可以对未知流量对应的图模式进行判定,且图模式对应有网络应用(在步骤S110中就已标注),从而确定未知流量对应的网络应用。
在上述实施例中存在的有益效果为:针对不同图模式的网络流量进行采集,并进行标注;对原始网络流量进行采集并对应标注,初步形成训练集,保证网络流量识别模型的准确度。预处理采集到的所述网络流量,提取每一个网络会话的特征信息;基于所述特征信息,生成数据流图;所述数据流图灵活的描述出各个数据流之间的关系,提高网络流量识别的正确率。利用所述数据流图的数据对图神经网络进行训练,生成网络流量识别模型;图可以非常灵活的表示流量的特征,同时通过边将各个节点联系起来,使得图具有识别节点之间关系特征的潜力,图神经网络应用于网络流量的识别,挖掘了图神经网络的潜力,同时保证了关系特征在网络流量识别中的作用。将未知流量转换为数据流图的数据输入所述网络流量识别模型,所述网络流量识别模型将未知流量的数据流图和自身学习到的图模式进行匹配;当匹配程度大于预设阈值时,则判定所述未知流量对应的图模式,从而确定未知流量对应的网络应用。本发明解决网络流量识别正确率低的问题,实现将网络数据流综合成数据流图的数据结构,并利用网络流量识别模型判定网络流量以及对应的网络应用。
参照图4,图4为本发明网络流量识别方法第一实施例中步骤S110的具体实施步骤,所述针对不同图模式的网络流量进行采集,并进行标注,包括:
步骤S111:使用脚本运行不同种类的网络应用;其中一种所述网络应用对应一种图模式。
脚本(Script),是使用一种特定的描述性语言,依据一定的格式编写的可执行文件。
利用脚本在网络平台上运行不同种类的网络应用,降低网络流量采集的难度,且可保证网络流量采集的正确性。
步骤S112:监控并采集产生的网络流量,并根据不同种类的网络应用对所述网络流量进行对应标注。
运行不同种类的网络应用,将运行过程中产生的网络流量进行记录,并对网络流量进行标注,可依据当前运行的网络应用产生标签。
在上述实施例中存在的有益效果为:利用脚本运行不同种类的网络应用,降低网络流量的采集难度;标注的过程产生高质量的训练集,从而保证网络流量识别模型的正确性。
在其中一个实施例中,所述特征信息包括以下至少之一:
开始时间、持续时间、字节数序列、互联网协议地址、端口号。
开始时间为当前会话开始的时间;持续时间为当前对话开始时间与结束时间之间的持续的时间;
字节数序列中存储的是字节的顺序,而排列字节的方法,分为大端法和小端法;其中大端法对于字节的排序为从左至右为从最高有效位至最低有效位,而小端法对于字节的排序为从左至右为从最低有效位至最高有效位。在本发明中根据实际对应的网络应用调整,在此不作限定。
在上述实施例中存在的有益效果为:特征信息为生成数据流图提供参数信息,为生成数据流图提供数据支持。
在其中一个实施例中,所述数据流图具有图的数据结构,其中:
一个完整的图的数据结构是由顶点集合和边集合组成,其中所有的顶点构成了一个顶点集合,所有的边构成一个边的集合。顶点也可称为节点或者交点,边也可称为链接。
每条数据流构成数据流图中的一个节点,所述特征信息作为所述节点的参数;其中,每条网络会话为一条数据流;
每条数据流对应一个节点,特征信息对应节点的参数。
数据流之间的关联性构成数据流图中的一条边,所述关联性由流关联关系向量表示。
数据流之间的关联性对应的是边的权重。
在上述实施例中存在的有益效果为:将数据流之间的关联性加入到网络流量的识别中来,提供网络流量识别的正确性。
在其中一个实施例中,所述流关联关系向量由一个五元组唯一确定,所述五元组包括源IP地址、源端口、目的IP地址、目的端口、传输层协议。
源IP地址可以为发送端的互联网协议地址;源端口可以为随机数,可以区分相同两台主机之间的多个会话;目的IP地址可以为接收端的互联网协议地址;目的端口一般为常用的互联网服务的公开端口;传输层协议一般为TCP或者UDP。
在上述实施例中存在的有益效果为:所述流关联关系向量表示的是数据流之间的相关性,流关联关系向量构建的正确性直接决定数据流之间的相关性是否正确加入到网络流量识别模型的训练中,所以流关联关系向量按照五元组的方式构建可以保证数据流之间的相关性正确加入到网络流量识别模型中,保证网络流量识别模型的正确性,从而保证网络流量识别的正确性。
参照图5,图5为本发明网络流量识别方法第一实施例中步骤S140的具体实施步骤,所述利用所述数据流图的数据对图神经网络进行训练,包括:
步骤S141:归集所述数据流图预设范围内的数据;其中所述预设范围内的数据包括节点特征、邻居节点特征以及邻居边特征。
收集数据流图预设范围内的节点的特征信息以及数据流之间的相关性信息。
步骤S142:对所述预设范围内的数据进行卷积计算,利用以下公式:
其中,表示第l层中节点ν的特征,为一个向量;σ(·)为一个非线性函数relu;N(ν)为节点ν的邻居节点;AGG(·)为归集函数,表示归集邻居特征的方式;Wl为权重参数,COMBIN(·)函数得出最后输出的下一层对应节点的特征。
在上述实施例中存在的有益效果为:图可以非常灵活的表示流量的特征,同时通过边将各个节点联系起来,使得图具有识别节点之间关系特征的潜力,图神经网络应用于网络流量的识别,挖掘了图神经网络的潜力,同时保证了数据流之间的相关性在网络流量识别中的作用。
参照图6,图6为本发明网络流量识别方法第一实施例中步骤S140的具体实施步骤,所述利用所述数据流图的数据对图神经网络进行训练,还包括:
步骤S141':归集所述数据流图预设范围内的数据;其中所述预设范围内的数据包括节点特征、邻居节点特征以及邻居边特征。
步骤S142':对所述预设范围内的数据进行卷积计算,利用以下公式:
其中,表示第l层中节点ν的特征,为一个向量;σ(·)为一个非线性函数relu;N(ν)为节点ν的邻居节点;AGG(·)为归集函数,表示归集邻居特征的方式;Wl为权重参数,COMBIN(·)函数得出最后输出的下一层对应节点的特征。
步骤S143':将训练生成的识别结果与所述标注的数据进行比对。
所述识别结果与所述标注的数据存在误差,经过比对计算识别结果与标注结果之间的误差,并将该误差从输出层向隐藏层反向传播,直至传播至输入层。
步骤S144':将所述比对的结果反向传播,更新所述图神经网络内部的参数。
在反向传播的过程中,根据误差调整所述图神经网络内部的参数的值,不断迭代上述的过程,直至收敛。
与上述实施例相比,本实施例包括步骤S143'、步骤S144',其他步骤与上述实施例相同,在此不再赘述。
在上述实施例中存在的有益效果为:图可以非常灵活的表示流量的特征,同时通过边将各个节点联系起来,使得图具有识别节点之间关系特征的潜力,图神经网络应用于网络流量的识别,挖掘了图神经网络的潜力,并且通过反向传播更新图神经网络内部的参数,使网络流量识别模型的正确率进一步提高。
本发明还提供一种网络流量识别装置,包括:
流量标注模块,用于针对不同图模式的网络流量进行采集,并进行标注;
流量预处理模块,用于预处理采集到的所述网络流量,提取每一个网络会话的特征信息;
数据流图生成模块,用于基于所述特征信息,生成数据流图;
模型训练模块,用于利用所述数据流图的数据对图神经网络进行训练,生成网络流量识别模型;
流量识别模块,用于将未知流量转换为数据流图的数据输入所述网络流量识别模型,所述网络流量识别模型将未知流量的数据流图和自身学习到的图模式进行匹配;当匹配程度大于预设阈值时,则判定所述未知流量对应的图模式,从而确定未知流量对应的网络应用。
图7所示装置包括流量标注模块21、流量预处理模块22、数据流图生成模块23、模型训练模块24,流量识别模块25,该装置可以执行图2至图5所示实施例的方法,本实施例未详细描述的部分,可参考对图2至图5所示实施例的相关说明。该技术方案的执行过程和技术效果参见图2至图5所示实施例中的描述,在此不再赘述。
本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有网络流量识别程序,所述网络流量识别程序被处理器执行时实现上述任一所述的方法的步骤。
本发明还提供一种网络流量识别设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的网络流量识别程序,所述处理器执行所述网络流量识别程序时实现上述任一所述的方法的步骤。
在本发明中,存在一种可实现的具体实施例:以淘宝网为例,首先流量标记模块使用脚本多次访问淘宝网网站,获取并标记淘宝网的流量样本。每次访问该网络应用,浏览器都会与淘宝网的多个服务器的CDN连接,产生多条流。这些流经过流量预处理模块提取流量特征之后,在FGG模块之中以每个流为节点,以流之间的关联性为边构建一张图。通过多次采集数据,产生多张图,送入流量训练模块进行训练,流量训练模块会利用图神经网络技术识别和记录淘宝网的流量模式特征。
在部署阶段,实现本发明的软件部署在路由器或者交换机等网络设备中,每隔一段时间就对经过网络设备的流量构建流关联图,经过训练的图神经网络将在流关联图中寻找训练过的网络应用模式,一旦匹配程度达到阈值,则判定这段时间内有对应的网络应用流量经过。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
应当注意的是,在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的部件或步骤。位于部件之前的单词“一”或“一个”不排除存在多个这样的部件。本发明可以借助于包括有若干不同部件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (9)
1.一种网络流量识别方法,其特征在于,所述方法包括:
针对不同图模式的网络流量进行采集,并进行标注;
预处理采集到的所述网络流量,提取每一个网络会话的特征信息;
基于所述特征信息,生成数据流图;
利用所述数据流图的数据对图神经网络进行训练,生成网络流量识别模型;
将未知流量转换为数据流图的数据输入所述网络流量识别模型,所述网络流量识别模型将未知流量的数据流图和自身学习到的图模式进行匹配;
当匹配程度大于预设阈值时,则判定所述未知流量对应的图模式,从而确定未知流量对应的网络应用;
所述利用所述数据流图的数据对图神经网络进行训练,包括:
归集所述数据流图预设范围内的数据;其中所述预设范围内的数据包括节点特征、邻居节点特征以及邻居边特征;
对所述预设范围内的数据进行卷积计算,利用以下公式:
其中,表示第l层中节点ν的特征,为一个向量;σ(·)为一个非线性函数relu;N(ν)为节点ν的邻居节点;AGG(·)为归集函数,表示归集邻居特征的方式;Wl为权重参数,COMBIN(·)函数得出最后输出的下一层对应节点的特征。
2.如权利要求1所述的网络流量识别方法,其特征在于,所述针对不同图模式的网络流量进行采集,并进行标注,包括:
使用脚本运行不同种类的网络应用;其中一种所述网络应用对应一种图模式;
监控并采集产生的网络流量,并根据不同种类的网络应用对所述网络流量进行对应标注。
3.如权利要求1所述的网络流量识别方法,其特征在于,所述特征信息包括以下至少之一:
开始时间、持续时间、字节数序列、互联网协议地址、端口号。
4.如权利要求1所述的网络流量识别方法,其特征在于,所述数据流图具有图的数据结构,其中:
每条数据流构成数据流图中的一个节点,所述特征信息作为所述节点的参数;其中,每条网络会话为一条数据流;
数据流之间的关联性构成数据流图中的一条边,所述关联性由流关联关系向量表示。
5.如权利要求4所述的网络流量识别方法,其特征在于,所述流关联关系向量由一个五元组唯一确定,所述五元组包括源IP地址、源端口、目的IP地址、目的端口、传输层协议。
6.如权利要求1所述的网络流量识别方法,其特征在于,所述利用所述数据流图的数据对图神经网络进行训练,还包括:
将训练生成的识别结果与所述标注的数据进行比对;
将所述比对的结果反向传播,更新所述图神经网络内部的参数。
7.一种网络流量识别装置,其特征在于,包括:
流量标注模块,用于针对不同图模式的网络流量进行采集,并进行标注;
流量预处理模块,用于预处理采集到的所述网络流量,提取每一个网络会话的特征信息;
数据流图生成模块,用于基于所述特征信息,生成数据流图;
模型训练模块,用于利用所述数据流图的数据对图神经网络进行训练,生成网络流量识别模型;
流量识别模块,用于将未知流量转换为数据流图的数据输入所述网络流量识别模型,所述网络流量识别模型将未知流量的数据流图和自身学习到的图模式进行匹配;当匹配程度大于预设阈值时,则判定所述未知流量对应的图模式,从而确定未知流量对应的网络应用;
所述模型训练模块,还用于:
归集所述数据流图预设范围内的数据;其中所述预设范围内的数据包括节点特征、邻居节点特征以及邻居边特征;
对所述预设范围内的数据进行卷积计算,利用以下公式:
其中,表示第l层中节点ν的特征,为一个向量;σ(·)为一个非线性函数relu;N(ν)为节点ν的邻居节点;AGG(·)为归集函数,表示归集邻居特征的方式;Wl为权重参数,COMBIN(·)函数得出最后输出的下一层对应节点的特征。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有网络流量识别程序,所述网络流量识别程序被处理器执行时实现权利要求1-6任一所述的方法的步骤。
9.一种网络流量识别设备,其特征在于,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的网络流量识别程序,所述处理器执行所述网络流量识别程序时实现权利要求1-6任一所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011264636.9A CN112437016B (zh) | 2020-11-11 | 2020-11-11 | 网络流量识别方法、装置、设备及计算机存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011264636.9A CN112437016B (zh) | 2020-11-11 | 2020-11-11 | 网络流量识别方法、装置、设备及计算机存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112437016A CN112437016A (zh) | 2021-03-02 |
CN112437016B true CN112437016B (zh) | 2023-09-26 |
Family
ID=74699920
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011264636.9A Active CN112437016B (zh) | 2020-11-11 | 2020-11-11 | 网络流量识别方法、装置、设备及计算机存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112437016B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113179223B (zh) * | 2021-04-23 | 2022-08-26 | 中山大学 | 一种基于深度学习和序列化特征的网络应用识别方法及系统 |
CN113364703B (zh) * | 2021-06-03 | 2023-08-08 | 天翼云科技有限公司 | 网络应用流量的处理方法、装置、电子设备和可读介质 |
CN113435122B (zh) * | 2021-06-30 | 2023-11-07 | 平安科技(深圳)有限公司 | 实时流量数据处理方法、装置、计算机设备和存储介质 |
CN114422174B (zh) * | 2021-12-09 | 2023-07-25 | 绿盟科技集团股份有限公司 | 一种网络流量过滤方法、装置、介质和设备 |
CN114726570B (zh) * | 2021-12-31 | 2024-10-18 | 中国电信股份有限公司 | 一种基于图模型的主机流量异常检测方法及装置 |
CN114389966B (zh) * | 2022-03-24 | 2022-06-21 | 合肥综合性国家科学中心人工智能研究院(安徽省人工智能实验室) | 基于图神经网络和流时空关联的网络流量识别方法和系统 |
CN115473836B (zh) * | 2022-08-15 | 2023-06-06 | 哈尔滨工业大学(深圳)(哈尔滨工业大学深圳科技创新研究院) | 一种基于流图模型的网络流量测量方法和装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9244899B1 (en) * | 2014-10-03 | 2016-01-26 | Addepar, Inc. | Systems and user interfaces for dynamic and interactive table generation and editing based on automatic traversal of complex data structures including time varying attributes |
CN108462707A (zh) * | 2018-03-13 | 2018-08-28 | 中山大学 | 一种基于深度学习序列分析的移动应用识别方法 |
CN109905288A (zh) * | 2018-12-21 | 2019-06-18 | 中国科学院信息工程研究所 | 一种应用服务分类方法及装置 |
CN110011931A (zh) * | 2019-01-25 | 2019-07-12 | 中国科学院信息工程研究所 | 一种加密流量类别检测方法及系统 |
CN110415215A (zh) * | 2019-06-27 | 2019-11-05 | 同济大学 | 基于图神经网络的智能检测方法 |
CN111757378A (zh) * | 2020-06-03 | 2020-10-09 | 湃方科技(北京)有限责任公司 | 一种无线网络中设备识别方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10810210B2 (en) * | 2017-05-12 | 2020-10-20 | Battelle Memorial Institute | Performance and usability enhancements for continuous subgraph matching queries on graph-structured data |
-
2020
- 2020-11-11 CN CN202011264636.9A patent/CN112437016B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9244899B1 (en) * | 2014-10-03 | 2016-01-26 | Addepar, Inc. | Systems and user interfaces for dynamic and interactive table generation and editing based on automatic traversal of complex data structures including time varying attributes |
CN108462707A (zh) * | 2018-03-13 | 2018-08-28 | 中山大学 | 一种基于深度学习序列分析的移动应用识别方法 |
CN109905288A (zh) * | 2018-12-21 | 2019-06-18 | 中国科学院信息工程研究所 | 一种应用服务分类方法及装置 |
CN110011931A (zh) * | 2019-01-25 | 2019-07-12 | 中国科学院信息工程研究所 | 一种加密流量类别检测方法及系统 |
CN110415215A (zh) * | 2019-06-27 | 2019-11-05 | 同济大学 | 基于图神经网络的智能检测方法 |
CN111757378A (zh) * | 2020-06-03 | 2020-10-09 | 湃方科技(北京)有限责任公司 | 一种无线网络中设备识别方法及装置 |
Non-Patent Citations (8)
Title |
---|
"基于图神经网络的动态网络异常检测算法";郭嘉琰;李荣华;张岩;王国仁;;软件学报(第03期);全文 * |
"混合模式的网络流量分类方法";胡婷;王勇;陶晓玲;;计算机应用(第10期);全文 * |
"Application identification via network traffic classification Publisher";Xinxin Tong;《IEEE》;全文 * |
Mohammed Ghouse."Graph Neural Networks for Prevention of Leakage of Secret Data".《IEEE》.2020,全文. * |
Xingguo Ji等."Traffic Classification Based on Graph Convolutional Network".《IEEE》.2020,正文596-597页第1-3节,600页第5节. * |
徐冰冰等."图卷积神经网络综述".《计算机学报》.2020,全文. * |
李勤 ."基于卷积神经网络的网络流量识别技术研究".《中国优秀硕士学位论文全文数据库》.2017,全文. * |
王闪闪 ."基于网络流量的Android恶意应用识别方法研究".《中国优秀硕士学位论文全文数据库》.2019,全文. * |
Also Published As
Publication number | Publication date |
---|---|
CN112437016A (zh) | 2021-03-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112437016B (zh) | 网络流量识别方法、装置、设备及计算机存储介质 | |
CN109284606B (zh) | 基于经验特征与卷积神经网络的数据流异常检测系统 | |
CN112564974B (zh) | 一种基于深度学习的物联网设备指纹识别方法 | |
Zeng et al. | DeepVCM: A deep learning based intrusion detection method in VANET | |
CN112491917B (zh) | 一种物联网设备未知漏洞识别方法及装置 | |
CN109104441A (zh) | 一种基于深度学习的加密恶意流量的检测系统和方法 | |
US20050160340A1 (en) | Resource-light method and apparatus for outlier detection | |
CN113158390B (zh) | 一种基于辅助分类式生成对抗网络的网络攻击流量生成方法 | |
CN112333706B (zh) | 物联网设备异常检测方法、装置、计算设备及存储介质 | |
CN111835763B (zh) | 一种dns隧道流量检测方法、装置及电子设备 | |
CN111126420B (zh) | 一种建立识别模型的方法及装置 | |
CN111488577A (zh) | 一种基于人工智能的漏洞利用的方法和装置 | |
CN111144470A (zh) | 一种基于深度自编码器的未知网络流量识别方法及系统 | |
CN115277102B (zh) | 网络攻击检测方法、装置、电子设备及存储介质 | |
CN112437022B (zh) | 网络流量识别方法、设备及计算机存储介质 | |
Wu et al. | TDAE: Autoencoder-based automatic feature learning method for the detection of DNS tunnel | |
CN114338437B (zh) | 网络流量分类方法、装置、电子设备及存储介质 | |
CN116992299A (zh) | 区块链交易异常检测模型的训练方法、检测方法及装置 | |
CN114510615A (zh) | 一种基于图注意力池化网络的细粒度加密网站指纹分类方法和装置 | |
CN117633657A (zh) | 基于多图表征增强实现加密应用流量识别处理的方法、装置、处理器及计算机可读存储介质 | |
CN116881807A (zh) | 自动驾驶系统的评价方法、相关模型的训练方法和设备 | |
CN115622793A (zh) | 一种攻击类型识别方法、装置、电子设备及存储介质 | |
CN114205151A (zh) | 基于多特征融合学习的http/2页面访问流量识别方法 | |
CN112257783A (zh) | 僵尸网络流量的分类方法、装置和电子设备 | |
CN114629718B (zh) | 一种基于多模型融合的隐匿恶意行为检测方法 |
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 |