CN114640519B - 一种加密流量的检测方法及装置、可读存储介质 - Google Patents
一种加密流量的检测方法及装置、可读存储介质 Download PDFInfo
- Publication number
- CN114640519B CN114640519B CN202210263845.4A CN202210263845A CN114640519B CN 114640519 B CN114640519 B CN 114640519B CN 202210263845 A CN202210263845 A CN 202210263845A CN 114640519 B CN114640519 B CN 114640519B
- Authority
- CN
- China
- Prior art keywords
- connection
- log file
- certificate
- flow
- detection
- 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
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
- 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/16—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using machine learning or artificial intelligence
-
- 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/1425—Traffic logging, e.g. anomaly detection
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Software Systems (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- General Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Molecular Biology (AREA)
- Computational Linguistics (AREA)
- Medical Informatics (AREA)
- Databases & Information Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请提供一种加密流量的检测方法及装置、可读存储介质。加密流量的检测方法,包括:获取待检测的流量数据;提取所述待检测的流量数据中的日志文件;所述日志文件包括:连接记录日志文件、连接建立过程日志文件、证书记录日志文件;基于所述日志文件生成多个连接四元组;对所述多个连接四元组进行特征提取,获得多个预设特征;基于所述多个预设特征和预先训练好的流量检测模型,确定所述待检测的流量数据的检测结果;所述检测结果用于表征所述待检测的流量数据是否为正常流量。该检测方法用以在提高加密流量的检测效率的同时,保证通信的隐私性和安全性。
Description
技术领域
本申请涉及网络安全技术领域,具体而言,涉及一种加密流量的检测方法及装置、可读存储介质。
背景技术
HTTPS(Hyper Text Transfer Protocol over Secure Socket Layer,超文本传输安全协议)流量,是一种加密流量,现常被用于恶意软件进行通信,因此,需要对HTTPS流量进行检测。
现有技术中,在进行HTTPS流量的检测时,需要先对HTTPS流量进行解密,然后再进行检测。这种检测方式,一方面,需要解密后再检测,效率较低;另一方面,需要使用HTTPS流量拦截器,不能保证通信的隐私性和安全性。
发明内容
本申请实施例的目的在于提供一种加密流量的检测方法及装置、可读存储介质,用以在提高加密流量的检测效率的同时,保证通信的隐私性和安全性。
第一方面,本申请实施例提供一种加密流量的检测方法,包括:获取待检测的流量数据;提取所述待检测的流量数据中的日志文件;所述日志文件包括:连接记录日志文件、连接建立过程日志文件、证书记录日志文件;基于所述日志文件生成多个连接四元组;对所述多个连接四元组进行特征提取,获得多个预设特征;基于所述多个预设特征和预先训练好的流量检测模型,确定所述待检测的流量数据的检测结果;所述检测结果用于表征所述待检测的流量数据是否为正常流量。
在本申请实施例中,与现有技术相比,在获取到待检测的流量数据之后,并不需要对其进行解密,而是提取其中的日志文件;然后利用日志文件生成多个连接四元组;接着基于连接四元组进行特征提取,以获得多个预设特征;进而基于该多个预设特征和预先训练好的流量检测模型,确定检测结果。由于不需要对流量进行解密,可以提高检测的效率;并且,可以保证通信的安全性和隐私性;以及,利用提取出的特征进行流量检测,可以保证检测的精度。
作为一种可能的实现方式,所述提取所述待检测的流量数据中的日志文件,包括:通过Bro IDS提取所述待检测的流量数据中的日志文件。
在本申请实施例中,由于Bro IDS为开源的网络流量分析器,可以实现对日志文件的有效提取。
作为一种可能的实现方式,针对每个连接四元组,所提取的特征包括:连接记录特征,用于描述与证书和加密无关的通信流的常见行为;连接建立过程特征,用于描述SSL(Secure Sockets Layer,安全套接字协议)和TLS(Transport Layer Security,安全传输协议)之间的握手和加密的过程;证书记录特征,用于描述证书信息。
在本申请实施例中,基于各个连接四元组,可以提取上述的各类特征,实现特征的高效率提取。
作为一种可能的实现方式,所述连接记录特征包括:聚合和连接记录的数量;连接持续时间均值;连接持续时间标准差;超出预设标准差范围的连接持续时间占比;总发送包大小;总响应包大小;请求包与响应包的大小比值;连接记录的连接结果为成功建立连接的占比;入站数据包的总数量;出站数据包的总数量;前后两次连接记录之间的时间间隔的差值的均值;前后两次连接记录之间的时间间隔的差值的标准差;流上数据包长度序列的马尔科夫链转移概率矩阵;流上数据包到达间隔时间序列的马尔科夫链转移概率矩阵;流上payload字节分布的马尔科夫链转移概率矩阵。
在本申请实施例中,基于各个连接四元组,可以提取上述的各个连接记录特征,实现连接记录特征的有效且快速的提取。
作为一种可能的实现方式,所述连接建立过程特征,包括:连接记录中SSL连接的占比;TLS与SSL的比值;server_name(服务器名称)不为空的比例;server_name为ip(Internet Protocol Address,互联网协议)地址的比例;证书路径的个数均值;自签名证书比率;不同server_name的个数;不同subject(对象)的个数;不同issuer(发布者)的个数;不同san.dns(Domain name resolution,域名解析)的个数。
在本申请实施例中,基于各个连接四元组,可以提取上述的各个连接建立过程特征,实现连接建立过程特征的有效且快速的提取。
作为一种可能的实现方式,所述证书记录特征,包括:证书公钥均值;证书有效期的平均值;证书有效期的标准差;捕获期间证书周期的有效性;证书的年龄均值;证书数量;证书SAN DNS中domain(域)数量的平均值;证书记录和SSL记录的比率;全部SSL记录中SNI(Server Name Indication,服务器名称指示)在SAN_DNS中的比例;全部SSL记录中CN在SAN_DNS中的比例;证书发布者一致的占比;证书订阅者一致的占比;证书订阅和域名相同的占比;不同的certificate.subject(证书对象)的个数;不同的certificate.issuer(证书发布者)的个数。
在本申请实施例中,基于各个连接四元组,可以提取上述的各个证书记录特征,实现证书记录特征的有效且快速的提取。
作为一种可能的实现方式,所述预先训练好的流量检测模型包括:随机森林模型、XGBoost模型和神经网络模型;所述基于所述多个预设特征和预先训练好的流量检测模型,确定所述待检测的流量数据的检测结果,包括:根据所述连接记录特征和所述随机森林模型确定第一检测结果;根据所述连接建立过程特征和所述XGBoost模型确定第二检测结果;根据所述证书记录特征和所述神经网络模型确定第三检测结果;根据所述第一检测结果、所述第二检测结果和所述第三检测结果确定最终的检测结果。
在本申请实施例中,通过三种不同的检测模型分别对不同类型的特征进行检测,获得三个检测结果,然后基于三个检测结果得到最终的检测结果,实现检测结果的交叉验证,提高最终的检测结果的准确性。
作为一种可能的实现方式,所述检测方法还包括:获取训练数据集;所述训练数据集中包括正常流量数据和异常流量数据;提取所述训练数据集中的日志文件;所述训练数据集中的日志文件包括:正常流量数据中的日志文件和异常流量数据中的日志文件;所述正常流量数据中的日志文件和所述异常流量数据中的日志文件均包括:连接记录日志文件、连接建立过程日志文件、证书记录日志文件;基于所述训练数据集中的日志文件生成所述训练数据集对应的多个连接四元组;对所述训练数据集对应的多个连接四元组进行特征提取,获得多个训练特征;基于所述多个训练特征,对初始的流量检测模型进行训练,获得训练好的流量检测模型。
在本申请实施例中,通过获取训练数据集,然后利用训练数据集中的日志文件生成连接四元组,接着基于连接四元组进行特征提取,进而利用提取的特征进行流量检测模型的训练,使最终训练好的流量检测模型可以用于未解密的流量的检测,实现流量检测模型的有效训练。
第二方面,本申请实施例提供一种加密流量的检测装置,包括:用于实现第一方面以及第一方面的任意一种可能的实现方式中所述的加密流量的检测方法的各个功能模块。
第三方面,本申请实施例提供一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被计算机运行时,执行如第一方面以及第一方面的任意一种可能的实现方式中所述的加密流量的检测方法。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的加密流量的检测方法的流程图;
图2为本申请实施例提供的加密流量的检测装置的结构示意图。
图标:200-加密流量的检测装置;210-获取模块;220-处理模块。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
本申请实施例提供的技术方案可以应用于需要进行流量检测的应用场景中,例如:互联网监测系统对互联网中的流量进行检测,以保证互联网的安全性;再例如:企业平台的监测系统对企业平台中的流量进行检测,以保证企业平台的安全性等。
在上述应用场景中,所涉及的恶意流量可能是加密流量,也可以是非加密流量,本申请实施例所提供的技术方案既可以应用于加密流量的检测,也可以应用于非加密流量的检测,但是,相较来说,对加密流量进行检测的情况更多,且技术效果更佳,因此,本申请实施例中主要针对加密流量的检测进行介绍。
基于上述的应用场景,本申请实施例所提供的技术方案对应的硬件运行环境可以是具有数据处理能力、数据存储能力等的硬件设备,例如:服务器、终端、服务器+终端、浏览器、服务器+浏览器等,在本申请实施例中不作限定。
接下来请参照图1,为本申请实施例提供的加密流量的检测方法的流程图,该检测方法包括:
步骤110:获取待检测的流量数据。
步骤120:提取待检测的流量数据中的日志文件。日志文件包括:连接记录日志文件、连接建立过程日志文件、证书记录日志文件。
步骤130:基于日志文件生成多个连接四元组。
步骤140:对多个连接四元组进行特征提取,获得多个预设特征。
步骤150:基于多个预设特征和预先训练好的流量检测模型,确定待检测的流量数据的检测结果。检测结果用于表征待检测的流量数据是否为正常流量。
在本申请实施例中,与现有技术相比,在获取到待检测的流量数据之后,并不需要对其进行解密,而是提取其中的日志文件;然后利用日志文件生成多个连接四元组;接着基于连接四元组进行特征提取,以获得多个预设特征;进而基于该多个预设特征和预先训练好的流量检测模型,确定检测结果。由于不需要对流量进行解密,可以提高检测的效率;并且,可以保证通信的安全性和隐私性;以及,利用提取出的特征进行流量检测,可以保证检测的精度。
接下来对该检测方法的详细实施方式进行介绍。
结合前述实施例的介绍,在步骤110中,所获取的待检测的流量数据可以是加密流量数据。
对于流量数据,可以通过一些流量捕获器实现捕获,因此,在步骤110中,可以是从预设的流量捕获器处获取待检测的流量数据。在待检测的流量数据中,包括:pcap文件,以及描述IP地址、捕获时间、恶意软件类型或访问过的网站和恶意软件行为时间线的readme文件。
在步骤110中获取到待检测的流量数据之后,在步骤120中,可以对其中的日志文件进行提取。可以理解,待检测的流量数据中的日志文件本质上是通过对流量数据进行分析,所获得的文件数据,因此,作为一种可选的实施方式,步骤120包括:通过预设的流量分析器提取待检测的流量数据中的日志文件。
而对于加密的流量数据,作为一种可选的实施方式,预设的流量分析器可以为:Bro IDS,即在步骤120中,通过Bro IDS提取待检测的流量数据中的日志文件。
Bro IDS为开源的网络流量分析器,它可以作为安全监控系统,且支持广泛的流量分析任务,比如记录来自pcap(过程特性分析软件包)文件的网络活动的日志文件。这些日志可用于描述捕获的流量,并包含用于实现特征提取的基本信息。
通过流量分析,Bro IDS可以生成许多日志文件,在本申请实施例中,主要对三类日志文件进行应用:连接记录日志文件(conn.log)、连接建立过程日志文件(ssl.log)、证书记录日志文件(x509.log)。
在本申请实施例中,通过Bro IDS该开源的网络流量分析器,可以实现日志文件的有效提取。
当然,在实际应用时,也可以采用其他能够实现加密流量的日志文件的分析的流量分析器,在本申请实施例中不作限定。
在上述的三类日志文件中,连接记录日志文件中,每一行聚合一组数据包,并描述两个端点之间的连接(即连接记录)。在连接记录中,包含IP地址、端口、协议、连接状态、数据包数量、标签等信息。
连接建立过程日志文件,也可称为SSL记录文件,其描述了SSL/TLS握手和加密的连接建立过程。具体包括:SSL/TLS版本、使用的密码、服务器名称、证书路径、主题、证书发行者(发布者)等信息。
证书记录日志文件,在日志中的每一行都是一个证书记录,描述证书信息,如证书序列号、常用名称、时间有效性、主题、签名算法、以位为单位的密钥长度等。
在步骤120中提取到日志文件之后,在步骤130中,基于日志文件生个多个连接四元组。对于连接四元组,任何的日志中的每一行都有唯一的键,用于链接其他日志中的行,即连接四元组中除了包含日志文件中的各项信息,还可以链接到其他连接四元组中的日志文件的各项信息。
作为一种可选的实施方式,生成连接四元组的过程包括:通过连接记录日志文件中的唯一键,可以和连接建立过程日志文件中的唯一键进行2个记录的关联。通过连接建立过程日志文件中一列使用逗号拼接成的证书id(Identity document,身份标识)键值,可以在证书记录日志文件中找到每个id对应的证书记录。其中,Bro IDS中的证书路径存储在连接建立过程日志文件中的Certificate path列,其中存储了所有证书的id键值,每一个逗号分隔的id值对应着证书记录日志文件中的一条证书记录。
根据连接记录日志文件中的id、连接建立过程日志文件中的id进行连接,再根据得到的conn_ssl.log中的证书路径,取第一个key,和证书记录中的id进行再次关联,在得到的关联结果中,根据连接四元组中包括的数据(源IP、目标IP、目标端口和协议),进行聚合操作,然后就得到各个连接四元组。
在生成多个连接四元组之后,在步骤140中,对多个连接四元组进行特征提取,获得多个预设特征。
作为一种可选的实施方式,在进行特征提取时,针对每个连接四元组,均提取37个特征,这37个特征可以组成特征向量,进而,所有的连接四元组对应的特征向量的集合便作为最终提取出的特征。
结合前述各类日志文件的介绍,作为一种可选的实施方式,针对每个连接四元组,所提取的特征包括:连接记录特征,用于描述与证书和加密无关的通信流的常见行为;连接建立过程特征,用于描述SSL和TLS之间的握手和加密的过程;证书记录特征,用于描述证书信息。
连接记录,包括:IP地址、端口、协议、连接状态、数据包数量、标签等信息,连接记录特征是来自连接记录的特征,描述与证书和加密无关的通信流的常见行为。常见行为,例如:请求数据包、响应数据包、建立连接等。
作为一种可选的实施方式,连接记录特征包括12个特征:聚合和连接记录的数量;连接持续时间均值;连接持续时间标准差;超出预设标准差范围的连接持续时间占比;总发送包大小;总响应包大小;请求包与响应包的大小比值;连接记录的连接结果为成功建立连接的占比;入站数据包的总数量;出站数据包的总数量;前后两次连接记录之间的时间间隔的差值的均值;前后两次连接记录之间的时间间隔的差值的标准差;流上数据包长度序列的马尔科夫链转移概率矩阵;流上数据包到达间隔时间序列的马尔科夫链转移概率矩阵;流上payload字节分布的马尔科夫链转移概率矩阵。
其中,聚合和连接记录的数量,为每个连接四元组所包含的SSL聚合和连接记录的数量总和。
连接持续均值,为每个连接四元组中的连接参数(duration)的均值。连接持续时间标准差,为每个连接四元组的连接参数的标准差。
超出预设标准差范围的连接持续时间占比,每个连接四元组的所有连接持续时间值中,超出预设标准差范围的时间值占比。预设标准差范围的上限可以是前述的均值+标准偏差(标准差),下限可以是前述的均值-标准偏差(标准差)。
总发送包大小,为每个连接四元组的所有连接记录发送的有效负载字节数总和。总响应包大小,为每个连接四元组的所有连接记录响应的有效负载字节数总和。请求包与响应包的大小比值,为每个连接四元组的所有连接记录中的请求包与响应包的比值。
连接记录的连接结果为成功建立连接的占比,可以理解为每个连接记录中已建立连接状态的占比,已建立的状态为:[SF,S1,S2,S3,RSTO,RSTR],未建立的状态是[OTH,SO,REJ,SH,SHR,RSTOS0,RSTRH]。
对于各个马尔科夫链转移概率矩阵,不同行为的流量在通信时会有不同的特点,例如常规的浏览器搜索或阅读网页的行为,客户端向服务端发出的请求数据会是少量的,只包含简单的搜索关键字,但是服务端返回的数据(搜索的视频图片等)是要远大于客户端的发出的请求数据的。但是恶意软件进行通信时,会在客户端向服务端尝试发送大量数据,连接成功后服务端只会返回少量的控制命令。
同样,常规流量中的数据包到达时间间隔、payload字节分布两种信息在常规流量和恶意流量中也会有较大区别。
为了更细粒度的度量这种差异,需分析流量包之间的关联信息,使用马尔科夫转移矩阵的方式来捕获包之间的信息,马尔科夫转移矩阵可以计算出转移概率,从而对时间维度的信息进行统计。以包长度为例,首先将包长分为16个区间,然后得到一个16*16的矩阵,矩阵中每个元素代表转移概率。然后将该16*16的矩阵转化为一维向量作为最终的马尔科夫转概率移矩阵特征。
在本申请实施例中,基于各个连接四元组,可以提取上述的各个连接记录特征,实现连接记录特征的有效且快速的提取。
作为一种可选的实施方式,连接建立过程特征,包括:连接记录中SSL连接的占比;TLS与SSL的比值;server_name(服务器名称)不为空的比例(也可以成为SNI占比);server_name为ip(Internet Protocol Address,互联网协议)地址的比例;证书路径的个数均值;自签名证书比率;不同server_name的个数;不同subject(对象)的个数;不同issuer(发布者)的个数;不同san.dns(Domain name resolution,域名解析)的个数。
连接记录中SSL连接的占比,为连接四元组中非SSL连接和SSL连接的个数比值。TLS与SSL的比值,为连接四元组中TLS版本分布占比。
自签名证书比率,为连接四元组的SSL连接中,是自签名证书连接的占比。
在本申请实施例中,基于各个连接四元组,可以提取上述的各个连接建立过程特征,实现连接建立过程特征的有效且快速的提取。
作为一种可选的实施方式,证书记录特征包括:证书公钥均值;证书有效期的平均值;证书有效期的标准差;捕获期间证书周期的有效性;证书的年龄均值;证书数量;证书SAN DNS中domain(域)数量的平均值;证书记录和SSL记录的比率;全部SSL记录中SNI(Server Name Indication,服务器名称指示)在SAN_DNS中的比例;全部SSL记录中CN在SAN_DNS中的比例;证书发布者一致的占比;证书订阅者一致的占比;证书订阅和域名相同的占比;不同的certificate.subject(证书对象)的个数;不同的certificate.issuer(证书发布者)的个数。
证书有效期的平均值,为连接四元组中全部证书的有效天数的均值。证书有效期的标准差,为连接四元组中全部证书的有效天数的标准差。
捕获期间证书周期的有效性,为连接四元组的全部证书中没有过期的占比。证书的年龄均值,为连接四元组中全部证书的当前剩余有效天数和全部有效天数的比值。证书数量,为连接四元组中不同证书序号的个数。
证书SAN DNS中domain数量的平均值,为连接四元组中全部SAN_DNS中域名的个数的均值。证书记录和SSL记录的比率,为连接四元组中全部SSL记录有证书路径的占比。SNIin SAN DNS(全部SSL记录中SNI在SAN_DNS中的比例),为连接四元组的全部SSL记录中SNI是否在SAN_DNS中的比例,通常,SNI是SAN DNS的一部分。
证书发布者一致的占比,为连接四元组的SSL连接和x509连接中,certificate.issuer和issuer相同的比例。证书订阅者一致的占比,为连接四元组的SSL连接和x509连接中,certificate.subject和subject相同的比例。证书订阅和域名相同的占比,为连接四元组的SSL连接和x509连接中,certificate.subject和server_name相同的比例。
不同的certificate.subject的个数,为连接四元组的x509连接中,不同的certificate.subject的个数。不同的certificate.issuer的个数,为连接四元组的x509连接中,不同的certificate.issuer的个数。
在本申请实施例中,基于各个连接四元组,可以提取上述的各个证书记录特征,实现证书记录特征的有效且快速的提取。
在上述特征提取的过程中,如果出现某个特征无法提取的情况,则该项特征对应的特征值可记为-1。
在步骤140中获得多个预设特征之后,在步骤150中,基于多个预设特征和预先训练好的流量检测模型,实现检测结果的确定。
对于预先训练好的流量检测模型,可以是基于监督机器学习算法的模型,监督机器学习算法包括但不限于:随机森林算法、支持向量机算法、逻辑回归算法等。
在选择具体的算法时,可以通过对算法效果进行评估,进行选择,例如:通过交叉验证方式选择最优算法等。
对于预先训练好的流量检测模型,对应的训练过程可以包括:获取训练数据集;训练数据集中包括正常流量数据和异常流量数据;提取训练数据集中的日志文件;训练数据集中的日志文件包括:正常流量数据中的日志文件和异常流量数据中的日志文件;正常流量数据中的日志文件和所述异常流量数据中的日志文件均包括:连接记录日志文件、连接建立过程日志文件、证书记录日志文件;基于训练数据集中的日志文件生成训练数据集对应的多个连接四元组;对训练数据集对应的多个连接四元组进行特征提取,获得多个训练特征;基于多个训练特征,对初始的流量检测模型进行训练,获得训练好的流量检测模型。
其中,正常流量数据,可以是手工制作的正常流量数据集。异常流量数据可以包括:来自CTU-13恶意软件数据集的多个数据集,来自Stratosphere恶意软件捕获设施项目的多个恶意软件数据集。
当然,正常流量数据和异常流量数据也可以采用其他实施方式获取,在本申请实施例中不作限定。
基于训练数据集,后续的日志文件的提取操作、连接四元组生成操作以及训练特征的提取操作,参照步骤120-步骤140的实施方式,在此不再重复介绍。
在获得训练特征之后,将训练特征输入到初始的流量检测模型中进行训练,训练好的流量检测模型便可以基于预设特征确定相应的检测结果。
作为另一种可选的实施方式,预先训练好的流量检测模型包括:随机森林模型、XGBoost模型和神经网络模型。
在这种实施方式中,分别利用三种不同的模型基于不同的特征进行检测。具体的,随机森林模型用于基于连接记录特征进行检测,XGBoost模型用于基于连接建立过程特征进行检测,神经网络模型用于基于证书记录特征进行检测。
进而,可以分别对三种模型进行训练。其中,每种模型的训练方式可以参照前述的模型训练方式,所不同的是,在前述的模型训练方式中,不同的模型所对应的训练特征并不相同。即,随机森林模型对应的训练特征为连接记录特征,XGBoost模型对应的训练特征为连接建立过程特征,神经网络模型对应的训练特征为证书记录特征。
在流量检测模型的训练过程中,可以采取一些实施方式来提高流量检测模型的精度。例如:预设训练次数,在达到预设训练次数之后,流量检测模型停止训练。再例如:在模型训练之后,进行模型的测试,测试模型的检测精度,并基于检测精度对流量检测模型进行调整,或者进一步训练等。
此外,对于训练数据集对应的连接四元组,可以看作一种数据模型,作为一种可选的实施方式,数据模型包含17384行,其中每一行表示一个连接四元组,37列表示特征值。连接四元组的标签以与连接四元组相同的顺序存储在第二个文件中,其中包含0作为普通文件,1作为恶意软件。数据模型包含9252个普通连接4元组和8132个恶意连接4元组。
在本申请实施例中,通过获取训练数据集,然后利用训练数据集中的日志文件生成连接四元组,接着基于连接四元组进行特征提取,进而利用提取的特征进行流量检测模型的训练,使最终训练好的流量检测模型可以用于未解密的流量的检测,实现流量检测模型的有效训练。
基于上述流量检测模型的训练过程的介绍,在步骤150中,将多个预设特征输入到预先训练好的流量检测模型中,便可以获得其输出的检测结果。
作为一种可选的实施方式,步骤150包括:根据连接记录特征和随机森林模型确定第一检测结果;根据连接建立过程特征和XGBoost模型确定第二检测结果;根据证书记录特征和神经网络模型确定第三检测结果;根据第一检测结果、第二检测结果和第三检测结果确定最终的检测结果。
这种实施方式中,结合三种不同的检测模型,可分别获得三个检测结果,然后对三个检测结果进行结合,确定最终的检测结果。
作为一种可选的实施方式,通过投票法确定最终的检测结果。具体的,在单位时间窗口内,汇聚同一四元组对应的多个检测结果,使用投票法确定该窗口内该四元组被检测的HTTPS流量为正常流量或是恶意流量。投票法具体过程为:若该时间窗口内,同一四元组的检测结果中,正常结果与恶意结果的比率小于既定阈值,则认定该四元组在该时间窗口内的检测流量为正常HTTPS流量,反之为恶意HTTPS流量。
在另一些实施例中,还可以预先训练用于综合不同的检测结果的模型,例如:随机森林模型。在训练时,训练数据包括通过将不同类别的特征输入到对应的检测模型中,所获得的不同的检测结果。针对训练数据和各个检测结果,为其设置用于表征正常流量或者恶意流量的概率的标签,然后将设置有标签的训练数据输入到随机森林模型中进行训练,使训练好的随机森林模型可以综合各个检测模型所输出的检测结果。
进而,最终将第一检测结果、第二检测结果和第三检测结果输入到该预先训练好的随机森林模型中,随机森林模型便可以输出对应的待检测流量为恶意流量或者正常流量的概率,基于该概率,便可确定待检测流量是否为恶意流量。
在一些实施例中,还可以将上述的投票法和检测结果综合方法进行结合,例如:先通过随机森林模型综合三个模型的检测结果,再通过投票法确定最终的检测结果。或者其他可行的实施方式,在此不作限定。
在本申请实施例中,为了流量检测模型可以更好的对特征进行检测,还可以对特征进行规范化,因此,作为一种可选的实施方式,步骤150包括:对预设特征进行规范化处理,获得规范化处理后的特征;规范化处理后的特征的特征值在0~1之间;将规范化处理后的特征输入到预先训练好的流量检测模型中,获得待检测的流量数据的检测结果。
其中,规范化处理的方式可以是:于每个特征列,找到最大的值,并且该列中的每个值除以该列中最大的值,以实现特征值的规范。
可以理解,不管预先训练好的流量检测模型是单模型形式,还是多模型形式,针对各个模型的输入数据,都可作上述的规范化处理。
当然,也可以采用其他特征值的规范化方式,在本申请实施例中不作限定。
在上述实施例中提到,如果有的特征没有提取到相应的特征,此时其对应的特征值为-1,其可以不用进行规范化处理,因此,在规范化处理后的特征中,还存在着特征值为-1的特征。
在本申请实施例中,通过将提取的特征规范化处理,然后再输入到流量检测模型中,提高流量检测模型的检测效率。
在最终的检测结果中,针对检测出的恶意流量,还可以包括恶意流量可疑概率,该可疑概率在0-1内取值,可疑概率越大,表示检测结果的可信赖程度越高。
在步骤150中获得检测结果之后,为了体现检测模型的可解释性,在本申请实施例中,还可以进行相应的前端反馈。在进行前端反馈时,作为一种可选的实施方式,服务器将相应的展示内容发送给前端(例如浏览器和客户端),然后前端再基于展示内容进行展示。作为另一种可选的实施方式,如果该检测方法所对应的硬件运行环境为前端,则可由前端基于相应的展示内容进行展示。
作为一种可选的实施方式,该检测方法还包括:根据连接四元组、多个预设特征以及检测结果生成前端展示结果;展示前端展示结果。
作为一种可选的实施方式,前端展示结果中包括:连接四元组、全部预设特征、检测结果。
当然,在展示时,也可以仅针对其中的部分特征进行展示,在本申请实施例中不作限定。
在本申请实施例中,在获得检测结果之后,还可以根据处理过程中的数据,即连接四元组和预设特征,以及检测结果生成对应的展示结果并展示,实现前端展示结果的灵活展示。
基于同一发明构思,请参照图2,本申请实施例中还提供一种加密流量的检测装置200,包括:获取模块210和处理模块220。
获取模块210,用于获取待检测的流量数据;处理模块220,用于:提取所述待检测的流量数据中的日志文件;所述日志文件包括:连接记录日志文件、连接建立过程日志文件、证书记录日志文件;基于所述日志文件生成多个连接四元组;对所述多个连接四元组进行特征提取,获得多个预设特征;基于所述多个预设特征和预先训练好的流量检测模型,确定所述待检测的流量数据的检测结果;所述检测结果用于表征所述待检测的流量数据是否为正常流量。
在本申请实施例中,处理模块220具体用于:通过Bro IDS提取所述待检测的流量数据中的日志文件。
在本申请实施例,处理模块220具体用于:根据所述连接记录特征和所述随机森林模型确定第一检测结果;根据所述连接建立过程特征和所述XGBoost模型确定第二检测结果;根据所述证书记录特征和所述神经网络模型确定第三检测结果;根据所述第一检测结果、所述第二检测结果和所述第三检测结果确定最终的检测结果。
在本申请实施例中,处理模块220具体用于:对所述预设特征进行规范化处理,获得规范化处理后的特征;所述规范化处理后的特征的特征值在0~1之间;将所述规范化处理后的特征输入到所述预先训练好的流量检测模型中,获得所述待检测的流量数据的检测结果。
在本申请实施例中,获取模块210还用于:获取训练数据集;所述训练数据集中包括正常流量数据和异常流量数据;处理模块220还用于:提取所述训练数据集中的日志文件;所述训练数据集中的日志文件包括:正常流量数据中的日志文件和异常流量数据中的日志文件;所述正常流量数据中的日志文件和所述异常流量数据中的日志文件均包括:连接记录日志文件、连接建立过程日志文件、证书记录日志文件;基于所述训练数据集中的日志文件生成所述训练数据集对应的多个连接四元组;对所述训练数据集对应的多个连接四元组进行特征提取,获得多个训练特征;基于所述多个训练特征,对初始的流量检测模型进行训练,获得训练好的流量检测模型。
加密流量的检测装置200与前述的加密流量的检测方法对应,各个功能模块也与各个步骤一一对应,因此,各个功能模块的实施方式参照各个步骤的实施方式,在此不再重复介绍。
基于同一发明构思,本申请实施例好提供一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被计算机运行时,执行前述实施例中所述的加密流量的检测方法。
在本申请所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
再者,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (10)
1.一种加密流量的检测方法,其特征在于,包括:
获取待检测的流量数据;
提取所述待检测的流量数据中的日志文件;所述日志文件包括:连接记录日志文件、连接建立过程日志文件、证书记录日志文件;
基于所述日志文件生成多个连接四元组;
对所述多个连接四元组进行特征提取,获得多个预设特征;所述预设特征为已进行规范化处理后的特征,且所述规范化处理后的特征的特征值在0~1之间,所述规范化处理为找到每个特征列中的最大值,并将该特征列中的每个特征值除以所述最大值,所述特征列为所述多个连接四元组中相同特征组成的列;
基于所述多个预设特征和预先训练好的流量检测模型,确定所述待检测的流量数据的检测结果;所述检测结果用于表征所述待检测的流量数据是否为正常流量;
所述基于所述日志文件生成多个连接四元组,包括:
根据所述连接记录日志文件中的id、所述连接建立过程日志文件中的id进行连接,再根据得到的conn_ssl.log中的证书路径,取第一个key;
将所述第一个key和所述证书记录日志文件中的id进行关联,在得到的关联结果中根据连接四元组中包括的数据进行聚合操作,得到所述多个连接四元组;其中,所述连接四元组中包括的数据包括源IP、目标IP、目标端口和协议。
2.根据权利要求1所述的检测方法,其特征在于,所述提取所述待检测的流量数据中的日志文件,包括:
通过Bro IDS提取所述待检测的流量数据中的日志文件。
3.根据权利要求1所述的检测方法,其特征在于,针对每个连接四元组,所提取的特征包括:
连接记录特征,用于描述与证书和加密无关的通信流的常见行为;
连接建立过程特征,用于描述SSL和TLS之间的握手和加密的过程;
证书记录特征,用于描述证书信息。
4.根据权利要求3所述的检测方法,其特征在于,所述连接记录特征包括:
聚合和连接记录的数量;连接持续时间均值;连接持续时间标准差;超出预设标准差范围的连接持续时间占比;总发送包大小;总响应包大小;请求包与响应包的大小比值;连接记录的连接结果为成功建立连接的占比;入站数据包的总数量;出站数据包的总数量;前后两次连接记录之间的时间间隔的差值的均值;前后两次连接记录之间的时间间隔的差值的标准差;流上数据包长度序列的马尔科夫链转移概率矩阵;流上数据包到达间隔时间序列的马尔科夫链转移概率矩阵;流上payload字节分布的马尔科夫链转移概率矩阵。
5.根据权利要求3所述的检测方法,其特征在于,所述连接建立过程特征,包括:
连接记录中SSL连接的占比;TLS与SSL的比值;server_name不为空的比例;server_name为ip地址的比例;证书路径的个数均值;自签名证书比率;不同server_name的个数;不同subject的个数;不同issuer的个数;不同san.dns的个数。
6.根据权利要求3所述的检测方法,其特征在于,所述证书记录特征,包括:
证书公钥均值;证书有效期的平均值;证书有效期的标准差;捕获期间证书周期的有效性;证书的年龄均值;证书数量;证书SAN DNS中domain数量的平均值;证书记录和SSL记录的比率;全部SSL记录中SNI在SAN_DNS中的比例;全部SSL记录中CN在SAN_DNS中的比例;证书发布者一致的占比;证书订阅者一致的占比;证书订阅和域名相同的占比;不同的certificate.subject的个数;不同的certificate.issuer的个数。
7.根据权利要求3所述的检测方法,其特征在于,所述预先训练好的流量检测模型包括:随机森林模型、XGBoost模型和神经网络模型;所述基于所述多个预设特征和预先训练好的流量检测模型,确定所述待检测的流量数据的检测结果,包括:
根据所述连接记录特征和所述随机森林模型确定第一检测结果;
根据所述连接建立过程特征和所述XGBoost模型确定第二检测结果;
根据所述证书记录特征和所述神经网络模型确定第三检测结果;
根据所述第一检测结果、所述第二检测结果和所述第三检测结果确定最终的检测结果。
8.根据权利要求1所述的检测方法,其特征在于,所述检测方法还包括:
获取训练数据集;所述训练数据集中包括正常流量数据和异常流量数据;
提取所述训练数据集中的日志文件;所述训练数据集中的日志文件包括:正常流量数据中的日志文件和异常流量数据中的日志文件;所述正常流量数据中的日志文件和所述异常流量数据中的日志文件均包括:连接记录日志文件、连接建立过程日志文件、证书记录日志文件;
基于所述训练数据集中的日志文件生成所述训练数据集对应的多个连接四元组;
对所述训练数据集对应的多个连接四元组进行特征提取,获得多个训练特征;
基于所述多个训练特征,对初始的流量检测模型进行训练,获得训练好的流量检测模型。
9.一种加密流量的检测装置,其特征在于,包括:
获取模块,用于获取待检测的流量数据;
处理模块,用于:提取所述待检测的流量数据中的日志文件;所述日志文件包括:连接记录日志文件、连接建立过程日志文件、证书记录日志文件;基于所述日志文件生成多个连接四元组;对所述多个连接四元组进行特征提取,获得多个预设特征;所述预设特征为已进行规范化处理后的特征,且所述规范化处理后的特征的特征值在0~1之间,所述规范化处理为找到每个特征列中的最大值,并将该特征列中的每个特征值除以所述最大值,所述特征列为所述多个连接四元组中相同特征组成的列;基于所述多个预设特征和预先训练好的流量检测模型,确定所述待检测的流量数据的检测结果;所述检测结果用于表征所述待检测的流量数据是否为正常流量;
所述处理模块具体用于根据所述连接记录日志文件中的id、所述连接建立过程日志文件中的id进行连接,再根据得到的conn_ssl.log中的证书路径,取第一个key;将所述第一个key和所述证书记录日志文件中的id进行关联,在得到的关联结果中根据连接四元组中包括的数据进行聚合操作,得到所述多个连接四元组;其中,所述连接四元组中包括的数据包括源IP、目标IP、目标端口和协议。
10.一种可读存储介质,其特征在于,所述可读存储介质上包括计算机程序,所述计算机程序被计算机运行时,执行如权利要求1-8任一项所述的加密流量的检测方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210263845.4A CN114640519B (zh) | 2022-03-17 | 2022-03-17 | 一种加密流量的检测方法及装置、可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210263845.4A CN114640519B (zh) | 2022-03-17 | 2022-03-17 | 一种加密流量的检测方法及装置、可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114640519A CN114640519A (zh) | 2022-06-17 |
CN114640519B true CN114640519B (zh) | 2023-01-31 |
Family
ID=81949914
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210263845.4A Active CN114640519B (zh) | 2022-03-17 | 2022-03-17 | 一种加密流量的检测方法及装置、可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114640519B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115801338B (zh) * | 2022-10-28 | 2023-07-07 | 航科广软(广州)数字科技有限公司 | 基于加密流量控制网关的数据处理方法及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111277578A (zh) * | 2020-01-14 | 2020-06-12 | 西安电子科技大学 | 加密流量分析特征提取方法、系统、存储介质、安全设备 |
CN111447232A (zh) * | 2020-03-30 | 2020-07-24 | 杭州迪普科技股份有限公司 | 一种网络流量检测方法及装置 |
CN113259313A (zh) * | 2021-03-30 | 2021-08-13 | 浙江工业大学 | 一种基于在线训练算法的恶意https流量智能分析方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070300300A1 (en) * | 2006-06-27 | 2007-12-27 | Matsushita Electric Industrial Co., Ltd. | Statistical instrusion detection using log files |
-
2022
- 2022-03-17 CN CN202210263845.4A patent/CN114640519B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111277578A (zh) * | 2020-01-14 | 2020-06-12 | 西安电子科技大学 | 加密流量分析特征提取方法、系统、存储介质、安全设备 |
CN111447232A (zh) * | 2020-03-30 | 2020-07-24 | 杭州迪普科技股份有限公司 | 一种网络流量检测方法及装置 |
CN113259313A (zh) * | 2021-03-30 | 2021-08-13 | 浙江工业大学 | 一种基于在线训练算法的恶意https流量智能分析方法 |
Also Published As
Publication number | Publication date |
---|---|
CN114640519A (zh) | 2022-06-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20240089301A1 (en) | Method and system for capture of visited links from encrypted and non-encrypted network traffic | |
Wang et al. | Botnet detection based on anomaly and community detection | |
US9781109B2 (en) | Method, terminal device, and network device for improving information security | |
US20200336507A1 (en) | Generative attack instrumentation for penetration testing | |
Stergiopoulos et al. | Automatic detection of various malicious traffic using side channel features on TCP packets | |
CN111447232A (zh) | 一种网络流量检测方法及装置 | |
Ferrando et al. | Classification of device behaviour in internet of things infrastructures: towards distinguishing the abnormal from security threats | |
CN113452656A (zh) | 用于识别异常行为的方法和装置 | |
Rosner et al. | Profit: Detecting and Quantifying Side Channels in Networked Applications. | |
CN111163114A (zh) | 用于检测网络攻击的方法和设备 | |
Hynek et al. | Refined detection of SSH brute-force attackers using machine learning | |
CN114640519B (zh) | 一种加密流量的检测方法及装置、可读存储介质 | |
He et al. | AppFA: a novel approach to detect malicious android applications on the network | |
Değirmenci et al. | ROSIDS23: Network intrusion detection dataset for robot operating system | |
Antunes et al. | ReverX: Reverse engineering of protocols | |
CN113177203B (zh) | 一种识别加密恶意报文流的方法及装置 | |
CN114218561A (zh) | 一种弱口令检测方法、终端设备及存储介质 | |
EP4145768A1 (en) | Inline detection of encrypted malicious network sessions | |
CN115051874B (zh) | 一种多特征的cs恶意加密流量检测方法和系统 | |
CN117221423A (zh) | 一种流量分析方法、装置、电子设备及存储介质 | |
CN110784602B (zh) | 软电话通信方法、装置、终端及存储介质 | |
CN114301802A (zh) | 密评检测方法、装置和电子设备 | |
Střasák | Detection of HTTPS malware traffic | |
CN111259400B (zh) | 一种漏洞检测方法、装置及系统 | |
CN114338126A (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 |