CN114785567B - 一种流量识别方法、装置、设备及介质 - Google Patents
一种流量识别方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN114785567B CN114785567B CN202210348479.2A CN202210348479A CN114785567B CN 114785567 B CN114785567 B CN 114785567B CN 202210348479 A CN202210348479 A CN 202210348479A CN 114785567 B CN114785567 B CN 114785567B
- Authority
- CN
- China
- Prior art keywords
- flow
- traffic
- processed
- identification
- tls
- 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 55
- 230000002457 bidirectional effect Effects 0.000 claims description 58
- 238000004590 computer program Methods 0.000 claims description 21
- 238000012549 training Methods 0.000 claims description 17
- 238000012545 processing Methods 0.000 claims description 14
- 238000009826 distribution Methods 0.000 claims description 12
- 238000000605 extraction Methods 0.000 claims description 9
- 230000004931 aggregating effect Effects 0.000 claims description 6
- 238000003860 storage Methods 0.000 claims description 6
- 238000004891 communication Methods 0.000 abstract description 24
- 230000008569 process Effects 0.000 description 16
- 238000010586 diagram Methods 0.000 description 13
- 239000011159 matrix material Substances 0.000 description 8
- 244000035744 Hura crepitans Species 0.000 description 4
- 238000001514 detection method Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000007781 pre-processing Methods 0.000 description 4
- 238000012360 testing method Methods 0.000 description 4
- 230000007704 transition Effects 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 230000004069 differentiation Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 108091064702 1 family Proteins 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 238000002790 cross-validation Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 235000019800 disodium phosphate Nutrition 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 230000001747 exhibiting effect Effects 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000005206 flow analysis Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000007480 spreading Effects 0.000 description 1
- 238000003892 spreading Methods 0.000 description 1
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
-
- 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
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请公开了一种流量识别方法、装置、设备及介质,用以准确地检测出恶意软件的TLS加密通信流量。由于预先训练有流量识别模型,通过该流量识别模型,可以对获取到的任一待处理流量特征进行识别,确定该待处理流量特征所对应的安全传输层协议TLS加密流量是否为恶意流量,即获取该待处理流量特征的识别结果,实现准确地检测出恶意软件的TLS加密通信流量,提高了TLS加密流量识别的效率。
Description
技术领域
本申请涉及一种网络安全技术领域,尤其涉及一种流量识别方法、装置、设备及介质。
背景技术
近年来,随着人们网络安全意识的提升,对于数据保护的意识也越来越强,加密技术在互联网上迅速普及。安全传输层协议(Transport Layer Security,TLS)作为数据包加密的标准协议,现在被各个主要的网站用来保护用户的消息、交易和凭证,但是越来越多的恶意软件也利用TLS加密来隐藏自身的恶意通信行为,比如获取恶意软件发送的指令,或,发送从被感染主机上收集的敏感数据,以绕过传统的检测设备或检测平台。因此,如何识别出恶意软件的TLS加密通信流量是非常有必要的。
发明内容
本申请实施例提供了一种流量识别方法、装置、设备及介质,用以准确地识别出恶意软件的TLS加密通信流量。
本申请实施例提供了一种流量识别方法,所述方法包括:
获取待处理流量特征;
通过预先训练的流量识别模型,确定所述待处理流量特征的识别结果;其中,所述识别结果包括所述待处理流量特征所对应的安全传输层协议TLS加密流量是否为恶意流量。
本申请实施例提供了一种流量识别装置,所述装置包括:
获取单元,用于获取待处理流量特征;
处理单元,用于通过预先训练的流量识别模型,确定所述待处理流量特征的识别结果;其中,所述识别结果包括所述待处理流量特征所对应的安全传输层协议TLS加密流量是否为恶意流量。
本申请实施例提供了一种电子设备,所述电子设备至少包括处理器和存储器,所述处理器用于执行存储器中存储的计算机程序时实现如上述所述流量识别方法的步骤。
本申请实施例提供了一种计算机可读存储介质,其存储有计算机程序,所述计算机程序被处理器执行时实现如上述所述流量识别方法的步骤。
本申请实施例提供了一种计算机程序产品,所述计算机程序产品包括:计算机程序代码,当所述计算机程序代码在计算机上运行时,使得计算机执行上述如上述所述流量识别方法的步骤。
由于预先训练有流量识别模型,通过该流量识别模型,可以对获取到的任一待处理流量特征进行识别,确定该待处理流量特征所对应的安全传输层协议TLS加密流量是否为恶意流量,即获取该待处理流量特征的识别结果,实现准确地检测出恶意软件的TLS加密通信流量,提高了TLS加密流量识别的效率。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请提供的一种流量识别过程示意图;
图2为本申请实施例提供的具体的流量识别流程示意图;
图3为本申请实施例提供的一种流量识别装置的结构示意图;
图4为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合附图对本申请作进一步地详细描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
本领域技术人员知道,本申请的实施方式可以实现为一种***、装置、设备、方法或计算机程序产品。因此,本申请可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式。
在本文中,需要理解的是,附图中的任何元素数量均用于示例而非限制,以及任何命名都仅用于区分,而不具有任何限制含义。
为了方便理解,下面对本申请实施例中涉及的部分概念进行解释:
五元组信息:源IP、源端口、协议、目的IP、目的端口。
双向网络流:在一定时间内,所有具有相同五元组信息的网络数据包所携带的数据的集合,源IP地址和目的IP地址、以及源端口号和目的端口号均可以互换,从而标记一个双向的网络流。
客户端JA3指纹:是客户端访问(Client Hello)报文中加密套件、扩展等字段的MD5 HASH值。
相关技术中,可以通过TLS加密通信流量的有效载荷,或,通过TLS加密通信流量的JA3指纹匹配等方式,实现对TLS加密通信流量的识别。但由于TLS加密通信流量加密之后,通过这些方法将难以准确地识别出恶意软件的TLS加密通信流量,从而降低了通过这些方法识别恶意软件的TLS加密通信流量的准确性。因此,亟需一种可以进一步准确地识别恶意流量的方法。
为了解决上述的问题,本申请提供了一种流量识别方法、装置、设备及介质。由于预先训练有流量识别模型,通过该流量识别模型,可以对获取到的任一待处理流量特征进行识别,确定该待处理流量特征所对应的安全传输层协议TLS加密流量是否为恶意流量,即获取该待处理流量特征的识别结果,实现准确地检测出恶意软件的TLS加密通信流量,提高了TLS加密流量识别的效率。
为便于理解本申请实施例,上述对本申请的应用场景进行介绍,本申请实施例描述的业务场景是为了更加清楚的说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,本领域普通技术人员可知,随着新业务场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
实施例1:
图1为本申请提供的一种流量识别过程示意图,该过程包括:
S101:获取待处理流量特征。
本申请实施例提供的流量识别方法应用于电子设备(为了方便描述,记为流量识别设备),该流量识别设备可以是如移动终端、电脑等智能设备,也可以是服务器,比如,应用服务器、云服务器等。
在实际应用场景中,进行流量识别的电子设备获取到待处理流量特征后,可以采用本申请提供的流量识别方法,进行相应的处理,从而确定该待处理流量特征是否为恶意流量。
其中,进行流量识别的电子设备获取待处理流量特征主要包括以下至少一种情况:
情况一、当工作人员需要对至少一个流量进行流量识别时,可以向智能设备输入业务处理请求,智能设备接收到对该至少一个流量的业务处理请求后,便可以向进行流量识别的电子设备发送该至少一个流量分别对应的待处理流量特征。
需要说明的是,进行流量识别的电子设备可以与该智能设备相同,也可以不同。
情况二、进行流量识别的电子设备可以通过运行预先配置的流量收集工具,比如,网络嗅探工具wireshark,获取待处理流量特征。
在一种示例中,所述获取待处理流量特征,包括:
获取TLS加密流量数据包;
以双向网络流为单位,将各个所述TLS加密流量数据包中的TLS加密流量进行聚合,以获取至少一条双向网络流;
针对所述至少一条双向网络流,对该双向网络流进行特征提取,获取该双向网络流所包含的特征数据;基于每个所述特征数据,确定该双向网络流的待处理流量特征。
在本申请中,电子设备可以获取到TLS加密流量数据包。例如,电子设备可以通过运行预先配置的流量收集工具,获取TLS加密流量数据包,也可以直接获取其它设备发送的TLS加密流量数据包,还可以获取工作人员配置的TLS加密流量数据包。然后电子设备以双向网络流为单位,将获取到的各个数据包中的TLS加密流量进行聚合,从而获取到至少一条双向网络流。例如,在预设时间段内,设备A发送给设备B的TLS加密流量数据包1,与设备B发送给设备A的TLS加密流量数据包2归属于同一双向网络流,将TLS加密流量数据包1包含的五元组信息中的源IP地址和目的IP地址互换,并将该数据包1包含的五元组信息中的源端口号和目的端口号互换,获取到互换后的五元组信息,该互换后的五元组信息与TLS加密流量数据包2包含的五元组信息一致,也就是说,该TLS加密流量数据包1包含的五元组信息,与TLS加密流量数据包2中包含的五元组信息相同。获取到任一双向网络流的TLS加密流量后,可以对该双向网络流进行特征提取,从而获取该双向网络流所包含的特征数据。其中,可以通过特征提取算法获取特征数据,也可以将该双向网络流中位于预设字段位置的数据作为特征数据,还可以通过预设的流量解析工具获取特征数据,比如,思科的Joy。当获取到该双向网络流的各个特征数据后,可以基于每个特征数据,确定该双向网络流的待处理流量特征。比如,按照预设的排列规则,将每个特征数据进行排序,获取该双向网络流的特征序列,并将该特征序列确定为待处理流量特征。
在一种可能的实施方式中,所述获取TLS加密流量数据包,包括:
获取网络中的流量数据包;
若确定所述流量数据包中包含有TLS协议的流量,则确定所述流量数据包为所述TLS加密流量数据包。
在本申请中,电子设备可以从网络中获取到流量数据包。例如,电子设备可以通过运行预先配置的流量收集工具,获取流量数据包,也可以直接获取其它设备发送的流量数据包,还可以获取工作人员配置的流量数据包。然后根据获取到的流量数据包中是否包含有TLS协议的流量,从而确定该流量数据包是否为TLS加密流量数据包。
在一种示例中,考虑到TLS加密流量中一般包含有预设的TLS字段,因此,在本申请中,电子设备可以对获取到的流量数据包进行解析,然后判断解析后的流量数据包中是否包含有预设的TLS字段,从而确定获取到的流量数据包中是否包含有TLS协议的流量。若确定解析后的流量数据包中包含有预设的TLS字段,则确定获取到的流量数据包中包含有TLS协议的流量。若确定解析后的流量数据包中不包含预设的TLS字段,则确定获取到的流量数据包中不包含TLS协议的流量。示例性的,电子设备可以通过运行流量解析工具,比如,思科的Joy,对获取到的流量数据包进行解析。
在一种可能的实施方式中,电子设备在确定获取到的流量数据包中是否包含有TLS协议的流量之前,可以通过wireshark获取大量的流量数据包,并将获取到的流量数据包保存为pcap格式,从而方便对获取到的流量数据包进行后续的处理。
S102:通过预先训练的流量识别模型,确定所述待处理流量特征的识别结果;其中,所述识别结果包括所述待处理流量特征所对应的安全传输层协议TLS加密流量是否为恶意流量。
在本申请中,预先训练有流量识别模型,以通过该流量识别模型,可以对获取到的待处理流量特征进行识别。
具体实施过程中,当基于上述的实施例获取到待处理流量特征后,可以将该待处理流量特征输入到预先训练的流量识别模型中。通过该流量识别模型,对输入的待处理流量特征进行处理,获取该待处理流量特征的识别结果。其中,该识别结果包括该待处理流量特征所对应的TLS加密流量是否为恶意流量。
在实际应用场景中,针对不同恶意软件(记为源恶意软件),攻击者可能会用多种变形技术和恶意代码自动生成工具,生成大量与该源恶意软件相同家族类型的加密恶意软件变体,从而规避流量检测。因此,在对流量进行识别的过程中,识别出恶意流量所归属的恶意软件家族,有利于攻击事件的后续响应,提高网络的安全性。其中,恶意软件家族表征恶意软件的家族类型。可以理解的是,该家族类型为恶意软件的种类。
在本申请中,通过预先训练的流量识别模型,确定获取到待处理流量特征为恶意流量时,通过该流量识别模型,还可以获取到该待处理流量特征对应的TLS加密流量所归属的恶意软件家族,即获取到的该待处理流量特征的识别结果中还包括该待处理流量特征对应的TLS加密流量所归属的恶意软件家族,从而进一步提高网络的安全性,有利于攻击事件的后续响应。
实施例2:
为了规避检测,加密恶意软件变体层出不穷,但同一源恶意软件的各个加密恶意软件在代码执行过程中所产生的恶意流量在很多特征上都表现出一定的相似性,比如字节分布特征、TLS握手特征、证书特征等。因此,为了更准确地对流量进行识别,在上述实施例的基础上,在本申请中,可以充分利用TLS加密流量中恶意流量与良性流量的不同、以及相同家族类型的恶意软件产生的恶意流量之间的相似性,从获取到的双向网络流中提取出具有区分度的特征数据。其中,所述特征数据包括以下一项或多项:
一、由于元特征不仅有利于识别恶意流量和良性流量,还有利于区别不同恶意软件家族,比如,恶意流量的熵值可能比良性流量的熵值高,恶意流的持续时间大概率比良性流量的持续时间长,字节分布在恶意流量和良性流量以及不同恶意软件家族之间均表现出不同。因此,该特征数据中可以包括元特征。其中,该元特征包括以下一项或多项:入流的流量数据包数量、出流的流量数据包数量、入流的字节数、出流的字节数、字节分布的均值、字节分布的方差、熵、总熵、流的持续时间。
二、考虑到恶意流量的包长特征一般与良性流量的包长特征是不同的,且归属于不同家族类型的恶意流量的包长特征之间有所区别。因此,在本申请中,该特征数据中可以包括包长特征。该包长特征可以表征流量的前100个数据包的有效负载长度的转移概率矩阵。
例如,预设一个10*10的矩阵,由于数据包的有效负载的最大值不超过1500字节,所以将所有数据包长度除以150将其离散到0-9的范围内,该矩阵中包含的任一元素在该矩阵中所在的列代表当前数据包的长度,该元素在该矩阵中所在的行表示当前数据包前一个数据包的长度,该元素的数值代表当前数据包的长度与前一个数据包的长度变化,然后将该元素除以其所在行的所有元素之和,从而使处理后的元素可以代表有效负载长度的转移概率。
三、考虑到恶意流量的包间隔特征一般与良性流量的包间隔特征是不同的,且归属于不同家族类型的恶意流量的包间隔特征之间有所区别。因此,在本申请中,该特征数据中可以包括包间隔特征。该包间隔特征可以表征流量的前100个数据包之间的时间间隔的转移概率矩阵。
例如,预设一个10*10的矩阵,将所有数据包长度除以50将其离散到0-9的范围内,该矩阵中包含的任一元素在该矩阵中所在的列代表当前数据包的到达时间间隔,该元素在该矩阵中所在的行表示当前数据包前一个数据包的到达时间间隔,该元素的数值代表当前数据包的到达时间间隔与前一个数据包的到达时间间隔变化,然后将该元素除以其所在行的所有元素之和,从而使处理后的元素可以代表时间间隔的转移概率。
四、考虑到恶意流量的字节分布概率特征一般与良性流量的字节分布概率特征是不同的,且归属于不同家族类型的恶意流量的字节分布概率特征之间有所区别。因此,在本申请中,该特征数据中可以包括字节分布概率特征。该字节分布概率特征可以表征每个特定字节值出现在流量的流量数据包的有效负载中的概率。
例如,考虑到数据包的有效负载中每个字节的取值范围为0-255,可以预设一个256维的行向量,若流量的流量数据包中包含的数据命中列举的字节值,则在该行向量中该字节值对应的位置加1,然后针对该行向量中各个元素,将该元素除以该行向量包含的所有元素之和,从而使处理后的元素可以代表该元素对应的字节值出现的概率。
五、考虑到归属于不同家族类型的恶意软件对TLS的使用不同于正常环境,使得TLS握手特征不仅有利于区分恶意流量和良性流量,而且能够帮助识别恶意流量所归属的恶意软件家族。比如,恶意流量的客户端提供的密码套件可能与良性流量的客户端提供的密码套件不同,恶意流量的客户端密钥长度可能与良性流量的客户端密钥长度不同,良性流量通常使用TLS库中的较新参数,而恶意流量通常使用较旧和安全性较弱的TLS参数。同时,一些恶意软件在编写TLS握手特征时可能会赋予TLS握手特征特定的配置和值,导致归属于不同恶意软件家族的恶意流量在这些参数上表现出差异。因此,该特征数据可以包括TLS握手特征。其中,该TLS握手特征包括以下一项或多项:客户端提供的密码套件、客户端提供的密码套件个数、客户端提供的扩展、客户端提供的扩展个数、客户端密钥长度、服务端选择的密码套件、服务端选择的扩展、服务端选择的扩展个数、提供的扩展中支持的椭圆曲线、提供的扩展中支持的椭圆曲线个数、提供的扩展中椭圆曲线点的格式、提供的扩展中椭圆曲线点的格式个数、TLS客户端提供的TLS版本、TLS服务端选择的TLS版本。
需要说明的是,数量和版本等特征可以直接用数值和编码数字代号表示,其他特征如提供的密码套件等特征可以采用特征one-hot编码的方式进行表示。
六、考虑到证书特征对于恶意流量和良性流量区分,以及恶意流量所归属的恶意软件家族的区分都是非常有帮助的,比如很多恶意软件的证书一般是自签名的,恶意流量的证书中SAN(Subject Alternative Names,使用者备用名称)的数量和良性流量的证书中SAN的数量是不同的,且归属于不同恶意软件家族的恶意流量的证书中SAN的数量呈现不同的分布。此外,证书有效期也反映出恶意流量和良性流量之间的参数偏好差异,以及不同恶意软件家族之间的参数偏好差异。因此,该特征数据中可以包括证书特征。其中,该证书特征包括以下一项或多项:证书的有效天数、证书SAN的数量、证书数量、证书是否自签名。
通过结合上述多种维度的特征数据,可以充分描述流量的特性,从而准确地表征良性流量与恶意流量之间的差异、以及不同恶意软件家族之间的差异。其中,TLS握手特征以及证书特征的区分度非常有利于流量识别模型进行识别,但是由于TLS握手特征以及证书特征可被提前设定而具有易改变特性,相对来说,元特征、包长特征、包间隔特征以及字节分布概率特征并不会受到恶意软件的直接控制而改变,对流量识别模型的鲁棒性进行了增强。
实施例3:
为了准确地对流量进行识别,在上述各实施例的基础上,在本申请中,通过如下方式获取所述流量识别模型:
获取任一样本流量特征:其中,所述样本流量特征对应有第一识别结果;
通过原始流量识别模型,获取所述样本流量特征的第二识别结果;
基于所述第一识别结果以及所述第二识别结果,对所述原始流量识别模型进行训练,以获取训练完成的流量识别模型。
在本申请中,为了训练流量识别模型,预先收集用于训练该流量识别模型的样本流量特征,以通过获取到的样本流量特征,对该流量识别模型进行训练。其中,任一样本流量特征对应有识别结果(记为第一识别结果)。该第一识别结果可以包括该样本流量特征所对应的TLS加密流量是否为恶意流量。可选的,对于对应的TLS加密流量为恶意流量的样本流量特征的第一识别结果中,还可以包括该样本流量特征对应的TLS加密流量所归属的恶意软件家族。
其中,用于训练流量识别模型的电子设备可以与用于流量识别的电子设备相同,也可以不同。
需要说明的是,该样本流量特征的获取方法与待处理流量特征的获取方法类似。示例性的,用于训练流量识别模型的电子设备可以通过wireshark抓取pcap格式的流量数据包。然后根据流量数据包的来源,确定该流量数据包中的流量是否为恶意流量,即确定该流量对应的样本流量特征对应的第一识别结果。
例如,从合法软件中收集到的流量数据包,该流量数据包中的流量为良性流量,比如,可以通过标识“0”进行表示,从企业内部沙箱中运行需要重点关注的恶意软件所收集到的流量数据包,该流量数据包中的流量为恶意流量,比如,可以通过标识“1”进行表示。获取到流量数据包及流量数据包中的流量所对应的标签后,从获取到的所有流量数据包中,确定TLS加密流量数据包,然后以双向网络流为单位,将各个TLS加密流量数据包中的TLS加密流量进行聚合,以获取至少一条双向网络流;针对该至少一条双向网络流,对该双向网络流进行特征提取,获取该双向网络流所包含的特征数据;基于每个特征数据,确定该双向网络流的样本流量特征。
考虑到从企业内部沙箱中运行需要重点关注的恶意软件所收集到的流量数据包中包含有少量的背景流量,比如,沙箱自身产生的流量等,可以对这些背景流量进行过滤。例如,将收集到的流量数据包的IP与白名单IP匹配的流量数据包过滤。
需要说明的是,流量识别模型不对流量(包括待处理流量特征和样本流量特征)包含的五元组信息进行处理,该五元组信息只用于标识输入到流量识别模型的流量,表征一条网络双向流。
具体实施过程中,获取任一样本流量特征,将该样本流量特征输入到原始流量识别模型中。通过原始流量识别模型,获取该样本流量特征的识别结果(记为第二识别结果)。然后根据该第二识别结果以及对应的第一识别结果,确定损失值。根据该损失值,对原始流量识别模型进行训练,以调整原始流量识别模型的各参数的参数值。
针对获取到的每个样本流量特征,均执行上述操作,当满足预设的收敛条件时,该流量识别模型训练完成。
其中,收敛条件可以为当前迭代中每个样本流量特征分别对应的损失值的和小于预先配置的损失值阈值,或确定的损失值的和一直处于下降趋势且趋于平缓,或对原始流量识别模型进行训练的迭代次数达到设置的最大迭代次数等。具体实施中可以灵活进行设置,在此不做具体限定。
其中,在进行流量识别模型训练的过程中,一般采用离线的方式,预先通过进行模型训练的电子设备以及样本流量特征,对原始流量识别模型进行训练,以获得训练完成的流量识别模型。
基于上述实施例中训练完成的流量识别模型,将上述训练完成的流量识别模型保存到后续进行流量识别的电子设备中。
需要说明的是,该流量识别模型可以是梯度提高框架(LightGBM),也可以是循环卷积网络,卷积神经网络等。具体实施过程中,可以根据实际需求进行灵活设置,在此不做具体限定。
作为一种可能的实施方式,在进行流量识别模型训练时,可以把样本流量特征分为训练样本和测试样本,先基于训练样本对原始流量识别模型进行训练,再基于测试样本对上述已训练的流量识别模型的可靠程度进行验证。示例性的,采用十折交叉验证方法对该流量识别模型进行训练。
示例性的,流量识别模型的评价指标为:
(1)精确率:表示正确预测为恶意流量的样本流量特征占实际预测为恶意流量的样本流量特征的比例。
(2)召回率:表示正确预测为恶意流量的样本流量特征占实际为恶意流量的样本流量特征的比例。
(3)F1值:2*精确率*召回率/(精确率+召回率)。
从收集的良性流量和企业内部沙箱中运行的4个家族类型的恶意软件产生的恶意流量中分离出最新的一部分数据,共2.24GB,用来对流量识别模型进行测试并评价,总体精确率为0.984,总体召回率为0.944,评价结果如下表所示,可以看出本申请不仅可以识别恶意流量和良性流量,而且可以识别恶意流量所归属的恶意软件家族。
数据类型 | 精确率 | 召回率 | F1值 |
良性流量 | 1.0 | 1.0 | 1 |
家族类型1 | 0.974 | 0.968 | 0.971 |
家族类型2 | 1.0 | 0.976 | 0.988 |
家族类型3 | 1.0 | 0.8 | 0.889 |
家族类型4 | 0.944 | 0.978 | 0.961 |
特别地,相比训练样本,测试样本中添加了任一家族类型的加密恶意软件变体的恶意流量,可以看出,流量识别模型对加密恶意软件变体产生的恶意流量依然具有较好的识别效果。
实施例4:
下面通过具体的实施例对本申请提供的流量识别方法进行详细的说明,图2为本申请实施例提供的具体的流量识别流程示意图,该流程包括:
S201:收集样本流量数据包。
S202:对样本流量数据包进行预处理。
其中,对样本流量数据包进行预处理包括:将获取到的样本流量数据包保存为pcap格式;根据样本流量数据包的来源,确定该样本流量数据包中的流量对应的样本流量特征的第一识别结果;将收集到的样本流量数据包中的背景流量过滤。
上述预处理的具体实施过程已在上述实施例中进行说明,重复之处不做赘述。
S203:基于预处理后的样本流量数据包,获取样本流量特征。
示例性的,从获取到的所有样本流量数据包中,获取TLS加密流量数据包,然后以双向网络流为单位,将各个TLS加密流量数据包中的TLS加密流量进行聚合,以获取至少一条双向网络流;针对该至少一条双向网络流,对该双向网络流进行特征提取,获取该双向网络流所包含的特征数据;基于每个特征数据,确定该双向网络流的样本流量特征。
S204:基于获取到的样本流量特征,对原始流量识别模型进行训练,以获取训练完成的流量识别模型。
基于上述实施例获取到训练完成的流量识别模型,将上述训练完成的流量识别模型保存。
S205:获取网络中的流量数据包。
S206:对获取到的流量数据包进行预处理。
示例性的,对获取到的流量数据包进行预处理的过程包括:从获取到的流量数据包中,获取TLS加密流量数据包(记为目标数据包);以双向网络流为单位,将各目标数据包中的TLS加密流量进行聚合,以获取至少一条双向网络流。
S207:预处理后的流量数据进行特征提取,获取待处理流量特征。
示例性的,获取待处理流量特征的过程包括:针对S206获取到的至少一条双向网络流,对该双向网络流进行特征提取,获取该双向网络流所包含的特征数据;基于获取到的每个特征数据,确定该双向网络流的待处理流量特征。
S208:通过预先训练的流量识别模型,确定待处理流量特征的识别结果。
其中,该识别结果包括待处理流量特征对应的TLS加密流量是否为恶意流量,以及该待处理流量特征对应的TLS加密流量为恶意流量时,该待处理流量特征对应的TLS加密流量所归属的恶意软件家族。
需要说明的是,上述各步骤的具体实施过程已经在上述实施例中进行说明,重复之处不做赘述。
实施例5:
本申请提供了一种流量识别装置,图3为本申请提供的一种流量识别装置的结构示意图,该装置包括:
获取单元31,用于获取待处理流量特征;
处理单元32,用于通过预先训练的流量识别模型,确定所述待处理流量特征的识别结果;其中,所述识别结果包括所述待处理流量特征所对应的安全传输层协议TLS加密流量是否为恶意流量。
在某些可能的实施方式中,所述获取单元31,具体用于获取TLS加密流量数据包;以双向网络流为单位,将各个所述TLS加密流量数据包中的TLS加密流量进行聚合,以获取至少一条双向网络流;针对所述至少一条双向网络流,对该双向网络流进行特征提取,获取该双向网络流所包含的特征数据;基于每个所述特征数据,确定该双向网络流的待处理流量特征。
在某些可能的实施方式中,所述获取单元31,具体用于获取网络中的流量数据包;若确定所述流量数据包中包含有TLS协议的流量,则确定所述流量数据包为所述TLS加密流量数据包。在某些可能的实施方式中,所述装置还包括:训练单元;
所述训练单元,用于通过如下方式获取所述流量识别模型:
获取任一样本流量特征:其中,所述样本流量特征对应有第一识别结果;
通过原始流量识别模型,获取所述样本流量特征的第二识别结果;
基于所述第一识别结果以及所述第二识别结果,对所述原始流量识别模型进行训练,以获取训练完成的流量识别模型。
由于预先训练有流量识别模型,通过该流量识别模型,可以对获取到的任一待处理流量特征进行识别,确定该待处理流量特征所对应的安全传输层协议TLS加密流量是否为恶意流量,即获取该待处理流量特征的识别结果,实现准确地检测出恶意软件的TLS加密通信流量,提高了TLS加密流量识别的效率。
实施例6:
如图4为本申请实施例提供的一种电子设备结构示意图,在上述各实施例的基础上,本申请实施例还提供了一种电子设备,如图4所示,包括:处理器41、通信接口42、存储器43和通信总线44,其中,处理器41,通信接口42,存储器43通过通信总线44完成相互间的通信;
存储器43中存储有计算机程序,当程序被处理器41执行时,使得处理器41执行如下步骤:
获取待处理流量特征;
通过预先训练的流量识别模型,确定所述待处理流量特征的识别结果;其中,所述识别结果包括所述待处理流量特征所对应的安全传输层协议TLS加密流量是否为恶意流量。
由于上述电子设备解决问题的原理与流量识别方法相似,因此上述电子设备的实施可以参见方法的实施,重复之处不再赘述。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口42用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选地,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述处理器可以是通用处理器,包括中央处理器、网络处理器(NetworkProcessor,NP)等;还可以是数字指令处理器(Digital Signal Processing,DSP)、专用集成电路、现场可编程门陈列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。
由于预先训练有流量识别模型,通过该流量识别模型,可以对获取到的任一待处理流量特征进行识别,确定该待处理流量特征所对应的安全传输层协议TLS加密流量是否为恶意流量,即获取该待处理流量特征的识别结果,实现准确地检测出恶意软件的TLS加密通信流量,提高了TLS加密流量识别的效率。
实施例7:
在上述各实施例的基础上,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有可由处理器执行的计算机程序,当所述程序在所述处理器上运行时,使得所述处理器执行时实现如下步骤:
获取待处理流量特征;
通过预先训练的流量识别模型,确定所述待处理流量特征的识别结果;其中,所述识别结果包括所述待处理流量特征所对应的安全传输层协议TLS加密流量是否为恶意流量。
由于上述流量识别设备解决问题的原理与流量识别方法相似,因此上述流量识别设备的实施可以参见方法的实施,重复之处不再赘述。
由于预先训练有流量识别模型,通过该流量识别模型,可以对获取到的任一待处理流量特征进行识别,确定该待处理流量特征所对应的安全传输层协议TLS加密流量是否为恶意流量,即获取该待处理流量特征的识别结果,实现准确地检测出恶意软件的TLS加密通信流量,提高了TLS加密流量识别的效率。
本领域内的技术人员应明白,本申请的实施例可提供为方法、***、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (9)
1.一种流量识别方法,其特征在于,所述方法包括:
获取待处理流量特征;
通过预先训练的流量识别模型,确定所述待处理流量特征的识别结果;其中,所述识别结果包括所述待处理流量特征所对应的安全传输层协议TLS加密流量是否为恶意流量;其中,所述流量识别模型对以双向网络流为单位获取到的各个TLS加密流量数据包中的至少一条双向网络流进行特征提取确定的所述待处理流量特征进行识别;
其中,所述待处理流量特征包括以下一项或多项:字节分布概率特征、TLS握手特征、证书特征;
其中,所述获取待处理流量特征,包括:
获取TLS加密流量数据包;
以双向网络流为单位,将各个所述TLS加密流量数据包中的TLS加密流量进行聚合,以获取至少一条双向网络流;
针对所述至少一条双向网络流,对该双向网络流进行特征提取,获取该双向网络流所包含的特征数据;基于每个所述特征数据,确定该双向网络流的待处理流量特征。
2.根据权利要求1所述的方法,其特征在于,所述获取TLS加密流量数据包,包括:
获取网络中的流量数据包;
若确定所述流量数据包中包含有TLS协议的流量,则确定所述流量数据包为所述TLS加密流量数据包。
3.根据权利要求1所述的方法,其特征在于,所述特征数据还包括以下一项或多项:元特征、包长特征、包间隔特征。
4.根据权利要求1所述的方法,其特征在于,所述识别结果还包括当所述待处理流量特征对应的TLS加密流量为所述恶意流量时,所述TLS加密流量所归属的恶意软件家族;其中,所述恶意软件家族表征恶意软件的家族类型。
5.根据权利要求1或4所述的方法,其特征在于,通过如下方式获取所述流量识别模型:
获取任一样本流量特征:其中,所述样本流量特征对应有第一识别结果;
通过原始流量识别模型,获取所述样本流量特征的第二识别结果;
基于所述第一识别结果以及所述第二识别结果,对所述原始流量识别模型进行训练,以获取训练完成的流量识别模型。
6.一种流量识别装置,其特征在于,所述装置包括:
获取单元,用于获取待处理流量特征;
处理单元,用于通过预先训练的流量识别模型,确定所述待处理流量特征的识别结果;其中,所述识别结果包括所述待处理流量特征所对应的安全传输层协议TLS加密流量是否为恶意流量;其中,所述流量识别模型对以双向网络流为单位获取到的各个TLS加密流量数据包中的至少一条双向网络流进行特征提取确定的所述待处理流量特征进行识别;
其中,所述待处理流量特征包括以下一项或多项:字节分布概率特征、TLS握手特征、证书特征;
所述获取单元,具体用于获取TLS加密流量数据包;以双向网络流为单位,将各个所述TLS加密流量数据包中的TLS加密流量进行聚合,以获取至少一条双向网络流;针对所述至少一条双向网络流,对该双向网络流进行特征提取,获取该双向网络流所包含的特征数据;基于每个所述特征数据,确定该双向网络流的待处理流量特征。
7.一种电子设备,其特征在于,所述电子设备至少包括处理器和存储器,所述处理器用于执行存储器中存储的计算机程序时实现如权利要求1-5中任一所述流量识别方法的步骤。
8.一种计算机可读存储介质,其特征在于,其存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1-5中任一所述流量识别方法的步骤。
9.一种计算机程序产品,其特征在于,所述计算机程序产品包括:计算机程序代码,当所述计算机程序代码在计算机上运行时,使得计算机执行上述如权利要求1-5中任一所述流量识别方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210348479.2A CN114785567B (zh) | 2022-04-01 | 2022-04-01 | 一种流量识别方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210348479.2A CN114785567B (zh) | 2022-04-01 | 2022-04-01 | 一种流量识别方法、装置、设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114785567A CN114785567A (zh) | 2022-07-22 |
CN114785567B true CN114785567B (zh) | 2024-06-11 |
Family
ID=82428059
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210348479.2A Active CN114785567B (zh) | 2022-04-01 | 2022-04-01 | 一种流量识别方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114785567B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115801338B (zh) * | 2022-10-28 | 2023-07-07 | 航科广软(广州)数字科技有限公司 | 基于加密流量控制网关的数据处理方法及*** |
CN116827647A (zh) * | 2023-07-05 | 2023-09-29 | 中国电子产业工程有限公司 | 一种加密c&c通信流量识别方法及*** |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11140196B1 (en) * | 2019-03-27 | 2021-10-05 | NortonLifeLock Inc. | Malware fingerprinting on encrypted transport layer security (TLS) traffic |
CN113660210A (zh) * | 2021-07-20 | 2021-11-16 | 北京天融信网络安全技术有限公司 | 恶意tls加密流量检测模型训练方法、检测方法及终端 |
CN113705619A (zh) * | 2021-08-03 | 2021-11-26 | 广州大学 | 一种恶意流量检测方法、***、计算机及介质 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015128613A1 (en) * | 2014-02-28 | 2015-09-03 | British Telecommunications Public Limited Company | Malicious encrypted network traffic identification |
US10594707B2 (en) * | 2015-03-17 | 2020-03-17 | British Telecommunications Public Limited Company | Learned profiles for malicious encrypted network traffic identification |
US10454961B2 (en) * | 2016-11-02 | 2019-10-22 | Cujo LLC | Extracting encryption metadata and terminating malicious connections using machine learning |
US11677757B2 (en) * | 2017-03-28 | 2023-06-13 | British Telecommunications Public Limited Company | Initialization vector identification for encrypted malware traffic detection |
US10536268B2 (en) * | 2017-08-31 | 2020-01-14 | Cisco Technology, Inc. | Passive decryption on encrypted traffic to generate more accurate machine learning training data |
-
2022
- 2022-04-01 CN CN202210348479.2A patent/CN114785567B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11140196B1 (en) * | 2019-03-27 | 2021-10-05 | NortonLifeLock Inc. | Malware fingerprinting on encrypted transport layer security (TLS) traffic |
CN113660210A (zh) * | 2021-07-20 | 2021-11-16 | 北京天融信网络安全技术有限公司 | 恶意tls加密流量检测模型训练方法、检测方法及终端 |
CN113705619A (zh) * | 2021-08-03 | 2021-11-26 | 广州大学 | 一种恶意流量检测方法、***、计算机及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN114785567A (zh) | 2022-07-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109951500B (zh) | 网络攻击检测方法及装置 | |
CN110213227B (zh) | 一种网络数据流检测方法及装置 | |
US10523697B2 (en) | Method and apparatus for detecting cyberthreats through correlation analysis | |
CN109299135B (zh) | 基于识别模型的异常查询识别方法、识别设备及介质 | |
CN108989150B (zh) | 一种登录异常检测方法及装置 | |
CN114785567B (zh) | 一种流量识别方法、装置、设备及介质 | |
CN111274583A (zh) | 一种大数据计算机网络安全防护装置及其控制方法 | |
CN112468520B (zh) | 一种数据检测方法、装置、设备及可读存储介质 | |
CN107968791B (zh) | 一种攻击报文的检测方法及装置 | |
CN110808994B (zh) | 暴力破解操作的检测方法、装置及服务器 | |
CN107209834B (zh) | 恶意通信模式提取装置及其***和方法、记录介质 | |
US10678914B2 (en) | Virus program detection method, terminal, and computer readable storage medium | |
US10482240B2 (en) | Anti-malware device, anti-malware system, anti-malware method, and recording medium in which anti-malware program is stored | |
US20140344931A1 (en) | Systems and methods for extracting cryptographic keys from malware | |
CN105407096A (zh) | 基于流管理的报文数据检测方法 | |
CN105100023B (zh) | 数据包特征提取方法及装置 | |
CN111353138A (zh) | 一种异常用户识别的方法、装置、电子设备及存储介质 | |
CN113079150A (zh) | 一种电力终端设备入侵检测方法 | |
WO2016201876A1 (zh) | 一种加密流量的业务识别方法、装置和计算机存储介质 | |
KR20070077517A (ko) | 프로파일 기반 웹 애플리케이션 침입탐지시스템 및 그 방법 | |
CN107995167B (zh) | 一种设备识别方法及服务器 | |
CN117391214A (zh) | 模型训练方法、装置及相关设备 | |
KR101816868B1 (ko) | 탐지 규칙 검증 장치 및 방법 | |
Yu et al. | Mining anomaly communication patterns for industrial control systems | |
CN113810351A (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 |