CN112261007B - 基于机器学习的https恶意加密流量检测方法、系统及存储介质 - Google Patents
基于机器学习的https恶意加密流量检测方法、系统及存储介质 Download PDFInfo
- Publication number
- CN112261007B CN112261007B CN202011035454.4A CN202011035454A CN112261007B CN 112261007 B CN112261007 B CN 112261007B CN 202011035454 A CN202011035454 A CN 202011035454A CN 112261007 B CN112261007 B CN 112261007B
- Authority
- CN
- China
- Prior art keywords
- quadruple
- data
- domain name
- flow data
- certificate
- 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
-
- 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
-
- 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)
- 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
本发明提供一种基于机器学习的https恶意加密流量检测方法及系统,属于恶意加密流量检测领域。所述检测方法包括:数据预处理,对流量数据进行预处理得到流量数据的四元组特征向量;恶意流量检测,将流量数据的四元组特征向量输入到训练好的随机森林模型,检测得到流量数据的恶意概率。将流量数据处理为四元组特征向量后输入到训练好的随机森林模型进行检测,得到流量数据的恶意概率,实现恶意流量快速在线检测。所述检测系统包括:数据预处理单元,用于对流量数据进行预处理,得到流量数据的四元组特征向量;恶意流量检测单元:用于将流量数据的四元组特征向量输入到训练好的随机森林模型,检测得到流量数据的恶意概率。该系统应用该方法。
Description
技术领域
本发明涉及恶意加密流量检测领域,具体地涉及一种基于机器学习的https恶意加密流量分布式检测方法以及一种基于机器学习的https恶意加密流量分布式检测系统。
背景技术
近年来随着https的全面普及,为了确保通信安全和隐私,越来越多的网络流量开始采用https加密,截止今日,超过65%的网络流量已使用https加密。https的推出主要是为了应对各种窃听和中间人攻击,以在不安全的网络上建立唯一安全的信道,并加入数据包加密和服务器证书验证。但是随着所有互联网中加密网络流量的增加,恶意软件也开始使用https来保护自己的通信,目前使用加密通信的恶意软件家族超过200种,使用加密通信的恶意软件占比超过40%,使用加密通信的恶意软件几乎覆盖了所有常见类型,如:特洛伊木马、勒索软件、感染式、蠕虫病毒、下载器等,其中特洛伊木马和下载器类的恶意软件家族占比比较高。
这种情况对网络安全构成了挑战,因为流量是加密的,而且实际网络环境下每日的流量是海量的,难以在较短时间内进行快速检测。传统针对恶意加密https流量的一种常见的解决方案是安装https拦截代理,此方法允许使用经典检测方法来检测未加密的恶意软件流量。使用拦截器的问题在于它昂贵,计算要求高,同时造成网络性能下降,而且它不尊重https的原始想法,即拥有私密和安全的通信。
真实环境下每日https加密流量数据一般是海量的,单机环境下对流量数据处理和缓存时间长,而且数据处理效率低,这个过程中检测时间滞后,无法满足出现恶意流量后及时快速解析出来。
发明内容
本发明实施方式的目的是提供一种基于机器学习的https恶意加密流量检测方法及系统,该方法将流量数据处理为四元组特征向量后输入到训练好的随机森林模型进行检测,得到流量数据的恶意概率,实现恶意流量快速在线检测,该系统应用该方法,实现恶意流量快速在线检测的同时,不影响网络性能。
为了实现上述目的,本发明一方面提供一种基于机器学习的https恶意加密流量分布式检测方法,所述检测方法包括:
数据预处理,对流量数据进行预处理,得到所述流量数据的四元组特征向量;
恶意流量检测,将所述流量数据的四元组特征向量输入到训练好的随机森林模型,检测得到所述流量数据的恶意概率。将流量数据处理为四元组特征向量后输入到训练好的随机森林模型进行检测,得到流量数据的恶意概率,实现恶意流量快速在线检测。
进一步地,所述对流量数据进行预处理,得到所述流量数据的四元组特征向量,包括:
将所述流量数据按时间间隔分批次传送到spark平台进行过滤,以保留https协议的流量数据;
提取所述https协议的流量数据的特征;
将所述特征转化为四元组特征;
将所述四元组特征向量化,得到所述流量数据的四元组特征向量。传送到spark平台的数据为包括源IP、目的IP、源端口、目的端口、协议五元组信息的流量数据,spark平台能够从流量数据中提取出各流量数据的统计量特征、证书特征和域名特征,根据五元组信息可以将流量数据分为多个具有相同四元组信息的流量数据组,以具有相同四元组信息的流量数据组为单位提取四元组特征,并转化为四元组特征向量进行恶意流量检测,能够有效缩短检测时间,提升检测速度。
进一步地,所述特征包括统计量特征、证书特征和域名特征。
进一步地,所述将所述特征转化为四元组特征,包括:
以四元组为条件,对所述流量数据进行groupby分组,得到多个四元组数据组;
提取spark dataframe数据中的统计量特征,并根据所述spark dataframe数据中的统计量特征计算所述四元组数据组内的五元组流量数据的统计量特征,得到四元组统计量特征;
提取spark数据中的证书特征,并根据所述spark数据中的证书特征计算所述四元组数据组内的五元组流量数据的证书特征,得到四元组证书特征;
提取spark数据中的https协议的域名,对所述spark数据中的https协议的域名中的server name域名进行DGA判断,得出server name域名为DGA域名的概率;
判断所述https协议的域名中的server name域名是否在Alexa top域名中,根据判断结果添加结果标识;
所述四元组为:相同源IP、相同目的IP、相同目的端口和相同协议;
所述五元组为:相同源IP、相同目的IP、相同源端口、相同目的端口和相同协议。
由于传输到spark平台的数据为五元组的数据,而随机森林模型检测的是四元组数据,因此以四元组为条件对流量数据进行分组,得到具有相同四元组条件的流量数据组,然后对这些数据组中的流量数据的统计量特征、证书特征和域名特征进行统计分析,得到四元组统计量特征、四元组证书特征和域名特征,便于进行计算。
进一步地,所述四元组统计量特征至少包括:会话持续时间、输入报文包数量、输出报文包数量、输入ip报文总长度和输出ip报文总长度;所述四元组证书特征至少包括:证书数量、证书有效期、证书链长度、证书年龄以及总证书中过期证书数量。会话持续时间由每个会话的持续时间求平均得到;输入报文包数量、输出报文包数量、输入ip报文总长度和输出ip报文总长度均是统计本批次流量数据中的总数;证书有效期、证书链长度和证书年龄也是求平均得到,证书数量、总证书中过期证书数量同样是统计平均值。
由于某些四元组恶意加密流量的持续时间比较长,所以将经过上述处理得到的四元组统计量特征、四元组证书特征和结果标识以及DGA域名概率数据进行Redis缓存处理,等待与下一批次的数据进行合并,计算出新的四元组特征数据以得到完整的加密流量数据的特征。
进一步地,所述将所述特征转化为四元组特征,还包括:
数据老化处理:
将属于同一流量数据的不同批次数据的所述四元组统计量特征、所述四元组证书特征和所述结果标识进行Redis缓存处理;
记录每条Redis缓存所述四元组统计量特征、所述四元组证书特征、所述servername域名为DGA域名的概率以及所述结果标识的第一次缓存时间和最后一次缓存时间;
计算所述第一次缓存时间和最后一次缓存时间之间的差值,得到持续时间;
计算当前时间与所述最后一次缓存时间之间的差值,得到不再更新时间;
当所述持续时间大于第一预设时间,且不再更新时间大于第二预设时间时,读取Redis缓存中的全部所述四元组统计量特征、所述四元组证书特征、所述server name域名为DGA域名的概率和所述结果标识,根据读取的所述四元组统计量特征、所述四元组证书特征、server name域名为DGA域名的概率和所述结果标识计算来自不同批次的同一流量数据的统计量特征、证书特征、server name域名为DGA域名的概率和结果标识,得到所述来自不同批次的同一流量数据的四元组特征。数据老化过程中计算统计量特征和证书特征的方式与计算四元组统计量特征和四元组证书特征的方式相同,通过这种相同数据合并老化的方式能够有效保证流量数据特征的完整性,保障检测结果的准确性,提高检测结果准确率。
本发明第二方面提供一种基于机器学习的https恶意加密流量分布式检测系统,所述检测系统包括:
数据预处理单元,用于对流量数据进行预处理,得到所述流量数据的四元组特征向量;
恶意流量检测单元,用于将所述流量数据的四元组特征向量输入到训练好的随机森林模型,检测得到所述流量数据的恶意概率。检测系统基于spark 平台搭建,实现恶意流量快速在线检测的同时,不影响网络性能。
进一步地,所述数据预处理单元包括:
数据传输模块,用于将所述流量数据按时间间隔分批次传送到spark平台进行过滤,以保留https协议的流量数据;
特征转化模块,用于提取所述https协议的流量数据的特征,并将所述特征转化为四元组特征;
特征向量化模块,用于将所述四元组特征向量化,得到所述流量数据的四元组特征向量。由于某些流量数据持续时间较长,因此数据传输模块在上传时进行分批次上传,传送到spark平台的数据为包括源IP、目的IP、源端口、目的端口、协议五元组信息的流量数据,spark平台能够从流量数据中提取出各流量数据的统计量特征、证书特征和域名特征,根据五元组信息可以将流量数据分为多个具有相同四元组信息的流量数据组,以具有相同四元组信息的流量数据组为单位提取四元组特征,并转化为四元组特征向量进行恶意流量检测,能够有效缩短检测时间,提升检测速度。
进一步地,所述特征转化模块包括:
分组模块,用于以四元组为条件,对所述流量数据进行groupby分组,得到多个四元组数据组;
四元组统计量特征计算模块,用于提取spark dataframe数据中的统计量特征,并根据所述spark dataframe数据中的统计量特征,计算所述四元组数据组内的五元组流量数据的统计量特征,得到四元组统计量特征;
四元组证书特征计算模块,用于提取spark数据中的证书特征,并根据所述spark数据中的证书特征计算所述四元组数据组内的五元组流量数据的证书特征,得到四元组证书特征;
域名判断及结果标识添加模块,用于提取spark数据中的https协议的域名,并对所述spark数据中的https协议的域名中的server name域名进行DGA判断,得出servername域名为DGA域名的概率;判断所述https协议的域名中的server name域名是否在Alexatop域名中,根据判断结果添加结果标识。由于传输到spark平台的数据为五元组的数据,而随机森林模型检测的是四元组数据,因此分组模块以四元组为条件对流量数据进行分组,得到具有相同四元组条件的流量数据组,然后通过四元组统计量特征计算模块、四元组统计量特征计算模块和域名判断模块对这些数据组的统计量特征、证书特征和域名特征进行统计分析,得到四元组统计量特征、四元组证书特征和域名特征,便于进行计算。
由于某些四元组恶意加密流量的持续时间比较长,所以将经过上述处理得到的四元组统计量特征、四元组证书特征和结果标识以及DGA域名概率数据进行Redis缓存处理,等待与下一批次的数据进行合并,计算出新的四元组特征数据以得到完整的加密流量数据的特征。
进一步地,所述特征转化模块还包括:
数据老化模块,用于获取属于同一流量数据的不同批次数据的所述四元组统计量特征、所述四元组证书特征、所述server name域名为DGA域名的概率和所述结果标识,根据获取的所述四元组统计量特征、所述四元组证书特征、所述server name域名为DGA域名的概率和所述结果标识计算来自不同批次的同一流量数据的统计量特征、证书特征、所述server name域名为DGA域名的概率和结果标识,得到所述来自不同批次的同一流量数据的四元组特征。数据老化模块计算统计量特征和证书特征的方式与计算四元组统计量特征和四元组证书特征的方式相同,通过这种相同数据合并老化的方式能够有效保证流量数据特征的完整性,保障检测结果的准确性,提高检测结果准确率。
另一方面,本发明提供一种机器可读存储介质,该机器可读存储介质上存储有指令,该指令用于使得机器执行本申请前述的基于机器学习的https恶意加密流量分布式检测方法。
通过上述技术方案,该方法将流量数据处理为四元组特征向量后输入到训练好的随机森林模型进行检测,得到流量数据的恶意概率,实现恶意流量快速在线检测,该系统应用该方法,实现恶意流量快速在线检测的同时,不影响网络性能。
本发明实施方式的其它特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
附图是用来提供对本发明实施方式的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本发明实施方式,但并不构成对本发明实施方式的限制。在附图中:
图1是本发明一种实施方式提供的基于机器学习的https恶意加密流量检测方法流程图;
图2是本发明一种实施方式提供的基于机器学习的https恶意加密流量检测系统框图。
具体实施方式
以下结合附图对本发明的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本发明,并不用于限制本发明。
图1是本发明一种实施方式提供的基于机器学习的https恶意加密流量检测方法流程图。如图1所示,所述检测方法包括:
数据预处理,对流量数据进行预处理,得到所述流量数据的四元组特征向量;
恶意流量检测,将所述流量数据的四元组特征向量输入到训练好的随机森林模型,检测得到所述流量数据的恶意概率。将流量数据处理为四元组特征向量后输入到训练好的随机森林模型进行检测,得到流量数据的恶意概率,实现恶意流量快速在线检测。
进一步地,所述对流量数据进行预处理,得到所述流量数据的四元组特征向量,包括:
将所述流量数据按时间间隔分批次传送到spark平台进行过滤,以保留https协议的流量数据;为了快速及时预警恶意加密流量,本方法采用探针上送流量数据到Kafka,同时进行负载均衡,通过接口将数据以SparkStreaming每5分钟批次数据传送到spark平台转成分布式数据格式;
提取所述https协议的流量数据的特征;
将所述https协议的流量数据的特征转化为四元组特征;
将所述四元组特征向量化,得到所述流量数据的四元组特征向量。传送到spark平台的数据为包括五元组流量数据,spark平台能够从流量数据中提取出各流量数据的统计量特征、证书特征和域名特征,根据五元组信息可以将流量数据分为多个具有相同四元组信息的流量数据组,以具有相同四元组信息的流量数据组为单位提取四元组特征,并转化为四元组特征向量进行恶意流量检测,能够有效缩短检测时间,提升检测速度。
进一步地,所述特征包括统计量特征、证书特征和域名特征。
进一步地,所述将所述特征转化为四元组特征,包括:
以四元组为条件,对所述流量数据进行groupby分组,得到多个四元组数据组;
提取spark dataframe数据中的统计量特征,并根据所述spark dataframe数据中的统计量特征计算所述四元组数据组内的五元组流量数据的统计量特征,得到四元组统计量特征;
提取spark数据中的证书特征,并根据所述spark数据中的证书特征计算所述四元组数据组内的五元组流量数据的证书特征,得到四元组证书特征;
提取spark数据中的https协议的域名,对所述spark数据中的https协议的域名中的server name域名进行DGA判断,得出server name域名为DGA域名的概率;
判断所述https协议的域名中的server name域名是否在Alexa top域名中,根据判断结果添加结果标识;
所述四元组为:相同源IP、相同目的IP、相同目的端口和相同协议;
所述五元组为:相同源IP、相同目的IP、相同源端口、相同目的端口和相同协议。五元组数据分为四元组数据组时,按照具有相同源IP、相同目的IP、相同目的端口、相同协议来分组,从而转为网络四元组。在一些实施例中,判断所述https协议的域名中的servername域名是否在Alexa top排名前100万的域名中,当然也可以判断是否在Alexa top排名前50万的域名中,其中以100万为最佳。在本发明的一些实施例中若所述https协议的域名中的server name域名在Alexa top域名中,则标识为0,若不在Alexa top域名中,则标识为1。需要说明的是,其他符合布尔量要求的标识方式同样可行。
由于传输到spark平台的数据为五元组的数据,而随机森林模型检测的是四元组数据,因此以四元组为条件对流量数据进行分组,得到具有相同四元组条件的流量数据组,然后对这些数据组中的流量数据的统计量特征、证书特征和域名特征进行统计分析,得到四元组统计量特征、四元组证书特征和域名特征,便于进行计算。
进一步地,所述四元组统计量特征至少包括:会话持续时间、输入报文包数量、输出报文包数量、输入ip报文总长度和输出ip报文总长度;所述四元组证书特征至少包括:证书数量、证书有效期、证书链长度、证书年龄以及总证书中过期证书数量。会话持续时间由每个会话的持续时间求平均得到;输入报文包数量、输出报文包数量、输入ip报文总长度和输出ip报文总长度均是统计本批次流量数据中的总数;证书有效期、证书链长度和证书年龄也是求平均得到,证书数量、总证书中过期证书数量同样是求平均得到。
由于某些四元组恶意加密流量的持续时间比较长,所以将经过上述处理得到的四元组统计量特征、四元组证书特征和结果标识以及DGA域名概率数据进行Redis缓存处理,等待与下一批次的数据进行合并,计算出新的四元组特征数据以得到完整的加密流量数据的特征。
在本发明的另一个实施例中,所述将所述特征转化为四元组特征,还包括:
数据老化处理:
将属于同一流量数据的不同批次数据的所述四元组统计量特征、所述四元组证书特征和所述结果标识进行Redis缓存处理;
记录每条Redis缓存所述四元组统计量特征、所述四元组证书特征、所述servername域名为DGA域名的概率以及所述结果标识的第一次缓存时间和最后一次缓存时间;
计算所述第一次缓存时间和最后一次缓存时间之间的差值,得到持续时间;
计算当前时间与所述最后一次缓存时间之间的差值,得到不再更新时间;
当所述持续时间大于第一预设时间,且不再更新时间大于第二预设时间时,读取Redis缓存中的全部所述四元组统计量特征、所述四元组证书特征、所述server name域名为DGA域名的概率和所述结果标识,根据读取的所述四元组统计量特征、所述四元组证书特征、server name域名为DGA域名的概率和所述结果标识计算来自不同批次的同一流量数据的统计量特征、证书特征、server name域名为DGA域名的概率和结果标识,得到所述来自不同批次的同一流量数据的四元组特征。第一预设时间根据恶意流量数据会话持续时间的统计结果进行设定,更新时间根据时间分批次传输的时间间隔进行设置,在本发明的一个实施例中,第一预设时间为3hours ,第二预设之间为10minutes。数据老化计算得到的统计量特征、证书特征、为DGA域名的概率和结果标识进行向量化转换后,通过训练好的随机森林模型进行检测得出恶意概率值,实现恶意流量的检测。
数据老化过程中计算统计量特征和证书特征的方式与计算四元组统计量特征和四元组证书特征的方式相同,通过这种相同数据合并老化的方式能够有效保证流量数据特征的完整性,保障检测结果的准确性,提高检测结果准确率。
需要说明的是,随机森林模型采用标注好的大量https协议的恶意加密流量样本,经过spark 平台进行清洗提取四元组统计量特征和证书特征以及域名是否为DGA域名的概率,选取 80%的样本作为训练集,20%的样本作为测试集,利用随机森林模型经过多次训练选取准确率,召回率和AUC值最好的结果保存为训练好的随机森林模型。
图2是本发明一种实施方式提供的基于机器学习的https恶意加密流量检测系统框图。如图2所示,所述检测系统包括:
数据预处理单元,用于对流量数据进行预处理,得到流量数据的四元组特征向量;
恶意流量检测单元,用于将所述流量数据的四元组特征向量输入到训练好的随机森林模型,检测得到所述流量数据的恶意概率。检测系统基于spark 平台搭建,实现恶意流量快速在线检测的同时,不影响网络性能。
进一步地,所述数据预处理单元包括:
数据传输模块,用于将所述流量数据按时间间隔分批次传送到spark平台进行过滤,以保留https协议的流量数据;
特征转化模块,用于提取所述https协议的流量数据的特征,并将所述特征转化为四元组特征;
特征向量化模块,用于将所述四元组特征向量化,得到所述流量数据的四元组特征向量。由于某些流量数据持续时间较长,因此数据传输模块在上传时进行分批次上传,传送到spark平台的数据为包括源IP、目的IP、源端口、目的端口、协议五元组信息的流量数据,spark平台能够从流量数据中提取出各流量数据的统计量特征、证书特征和域名特征,根据五元组信息可以将流量数据分为多个具有相同四元组信息的流量数据组,以具有相同四元组信息的流量数据组为单位提取四元组特征,并转化为四元组特征向量进行恶意流量检测,能够有效缩短检测时间,提升检测速度。
进一步地,所述特征转化模块包括:
分组模块,用于以四元组为条件,对所述流量数据进行groupby分组,得到多个四元组数据组;
四元组统计量特征计算模块,用于提取spark dataframe数据中的统计量特征,并根据所述spark dataframe数据中的统计量特征,计算所述四元组数据组内的五元组流量数据的统计量特征,得到四元组统计量特征;
四元组证书特征计算模块,用于提取spark数据中的证书特征,并根据所述spark数据中的证书特征计算所述四元组数据组内的五元组流量数据的证书特征,得到四元组证书特征;
域名判断及结果标识添加模块,用于提取spark数据中的https协议的域名,并对所述spark数据中的https协议的域名中的server name域名进行DGA判断,得出servername域名为DGA域名的概率;判断所述https协议的域名中的server name域名是否在Alexatop域名中,根据判断结果添加结果标识。五元组数据分为四元组数据组时,按照具有相同源IP、相同目的IP、相同目的端口、相同协议来分组,从而转为网络四元组。在一些实施例中,域名判断模块判断所述https协议的域名中的server name域名是否在Alexa top排名前100万的域名中,当然也可以判断是否在Alexa top排名前50万的域名中,其中以100万为最佳。在本发明的一些实施例中若所述https协议的域名中的server name域名在Alexatop域名中,则标识为0,若不在Alexa top域名中,则标识为1。需要说明的是,其他符合布尔量要求的标识方式同样可行。
由于传输到spark平台的数据为五元组的数据,而随机森林模型检测的是四元组数据,因此分组模块以四元组为条件对流量数据进行分组,得到具有相同四元组条件的流量数据组,然后通过四元组统计量特征计算模块、四元组统计量特征计算模块和域名判断模块对这些数据组中的流量数据的统计量特征、证书特征和域名特征进行统计分析,得到四元组统计量特征、四元组证书特征和域名特征,便于进行计算。
由于某些四元组恶意加密流量的持续时间比较长,所以将经过上述处理得到的四元组统计量特征、四元组证书特征和结果标识以及DGA域名概率数据进行Redis缓存处理,等待与下一批次的数据进行合并,计算出新的四元组特征数据以得到完整的加密流量数据的特征。
在本发明的另一个实施例中,所述特征转化模块还包括:
数据老化模块,用于获取属于同一流量数据的不同批次数据的所述四元组统计量特征、所述四元组证书特征、所述server name域名为DGA域名的概率和所述结果标识,根据获取的所述四元组统计量特征、所述四元组证书特征、所述server name域名为DGA域名的概率和所述结果标识计算来自不同批次的同一流量数据的统计量特征、证书特征、所述server name域名为DGA域名的概率和结果标识,得到所述来自不同批次的同一流量数据的四元组特征。数据老化模块计算统计量特征和证书特征的方式与计算四元组统计量特征和四元组证书特征的方式相同,通过这种相同数据合并老化的方式能够有效保证流量数据特征的完整性,保障检测结果的准确性,提高检测结果准确率。
通过本发明的方法进行恶意流量检测不需要对恶意流量进行解密,同时可以较短时间内快速对恶意流量进行检测。
本发明实施方式还提供一种机器可读存储介质,该机器可读存储介质上存储有指令,该指令用于使得机器执行本申请前述的基于机器学习的https恶意加密流量分布式检测方法。
本领域技术人员可以理解实现上述实施方式的方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得单片机、芯片或处理器(processor)执行本发明各个实施方式所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上结合附图详细描述了本发明的可选实施方式,但是,本发明实施方式并不限于上述实施方式中的具体细节,在本发明实施方式的技术构思范围内,可以对本发明实施方式的技术方案进行多种简单变型,这些简单变型均属于本发明实施方式的保护范围。另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合。为了避免不必要的重复,本发明实施方式对各种可能的组合方式不再另行说明。
此外,本发明的各种不同的实施方式之间也可以进行任意组合,只要其不违背本发明实施方式的思想,其同样应当视为本发明实施方式所公开的内容。
Claims (6)
1.一种基于机器学习的https恶意加密流量分布式检测方法,其特征在于,所述检测方法包括:
数据预处理,对流量数据进行预处理,得到所述流量数据的四元组特征向量,包括:
将所述流量数据按时间间隔分批次传送到spark平台进行过滤,以保留https协议的流量数据;
提取所述https协议的流量数据的特征;
将所述特征转化为四元组特征;
将所述四元组特征向量化,得到所述流量数据的四元组特征向量;
所述将所述特征转化为四元组特征,包括:
以四元组为条件,对所述流量数据进行groupby分组,得到多个四元组数据组;
提取spark dataframe数据中的统计量特征,并根据所述spark dataframe数据中的统计量特征计算所述四元组数据组内的五元组流量数据的统计量特征,得到四元组统计量特征;
提取spark数据中的证书特征,并根据所述spark数据中的证书特征计算所述四元组数据组内的五元组流量数据的证书特征,得到四元组证书特征;
提取spark数据中的https协议的域名,对所述spark数据中的https协议的域名中的server name域名进行DGA判断,得出server name域名为DGA域名的概率;
判断所述https协议的域名中的server name域名是否在Alexa top 50万或者Alexatop 100万域名中,根据判断结果添加结果标识;
所述四元组为:相同源IP、相同目的IP、相同目的端口和相同协议;
所述五元组为:相同源IP、相同目的IP、相同源端口、相同目的端口和相同协议;
所述四元组特征包括:四元组统计量特征、四元组证书特征、server name域名为DGA域名的概率以及结果标识;
所述四元组统计量特征包括:输入报文包数量、输出报文包数量、输入ip报文总长度和输出ip报文总长度;所述四元组证书特征包括:证书数量、证书年龄以及总证书中过期证书数量;
恶意流量检测,将所述流量数据的四元组特征向量输入到训练好的随机森林模型,检测得到所述流量数据的恶意概率。
2.根据权利要求1所述的基于机器学习的https恶意加密流量分布式检测方法,其特征在于,所述四元组统计量特征还包括:会话持续时间;所述四元组证书特征还包括:证书有效期以及证书链长度。
3.根据权利要求2所述的基于机器学习的https恶意加密流量分布式检测方法,其特征在于,所述将所述特征转化为四元组特征,还包括:
数据老化处理:
将属于同一流量数据的不同批次数据的所述四元组统计量特征、所述四元组证书特征、所述server name域名为DGA域名的概率以及所述结果标识进行Redis缓存处理;
记录每条Redis缓存所述四元组统计量特征、所述四元组证书特征、server name域名为DGA域名的概率和所述结果标识的第一次缓存时间和最后一次缓存时间;
计算所述第一次缓存时间和最后一次缓存时间之间的差值,得到持续时间;
计算当前时间与所述最后一次缓存时间之间的差值,得到不再更新时间;
当所述持续时间大于第一预设时间,且不再更新时间大于第二预设时间时,读取Redis缓存中的全部所述四元组统计量特征、所述四元组证书特征、server name域名为DGA域名的概率和所述结果标识,根据读取的所述四元组统计量特征、所述四元组证书特征、servername域名为DGA域名的概率和所述结果标识计算来自不同批次的同一流量数据的四元组统计量特征、四元组证书特征、server name域名为DGA域名的概率和结果标识,得到所述来自不同批次的同一流量数据的四元组特征。
4.一种基于机器学习的https恶意加密流量分布式检测系统,其特征在于,所述检测系统包括:
数据预处理单元,用于对流量数据进行预处理,得到所述流量数据的四元组特征向量;
恶意流量检测单元,用于将所述流量数据的四元组特征向量输入到训练好的随机森林模型,检测得到所述流量数据的恶意概率;
所述数据预处理单元包括:
数据传输模块,用于将所述流量数据按时间间隔分批次传送到spark平台进行过滤,以保留https协议的流量数据;
特征转化模块,用于提取所述https协议的流量数据的特征,并将所述特征转化为四元组特征;
特征向量化模块,用于将所述四元组特征向量化,得到所述流量数据的四元组特征向量;
所述特征转化模块包括:
分组模块,用于以四元组为条件,对所述流量数据进行groupby分组,得到多个四元组数据组;
四元组统计量特征计算模块,用于提取spark dataframe数据中的统计量特征,并根据所述spark dataframe数据中的统计量特征,计算所述四元组数据组内的五元组流量数据的统计量特征,得到四元组统计量特征;
四元组证书特征计算模块,用于提取spark数据中的证书特征,并根据所述spark数据中的证书特征计算所述四元组数据组内的五元组流量数据的证书特征,得到四元组证书特征;
域名判断及结果标识添加模块,用于提取spark数据中的https协议的域名,并对所述spark数据中的https协议的域名中的server name域名进行DGA判断,得出server name域名为DGA域名的概率;判断所述https协议的域名中的server name域名是否在Alexa top50万或者100万域名中,根据判断结果添加结果标识;
所述四元组为:相同源IP、相同目的IP、相同目的端口和相同协议;
所述五元组为:相同源IP、相同目的IP、相同源端口、相同目的端口和相同协议;
所述四元组特征包括:四元组统计量特征、四元组证书特征、server name域名为DGA域名的概率以及结果标识。
5.根据权利要求4所述的基于机器学习的https恶意加密流量分布式检测系统,其特征在于,所述特征转化模块还包括:
数据老化模块,用于获取属于同一流量数据的不同批次数据的所述四元组统计量特征、所述四元组证书特征、所述server name域名为DGA域名的概率和所述结果标识,根据获取的所述四元组统计量特征、所述四元组证书特征、所述server name域名为DGA域名的概率和所述结果标识计算来自不同批次的同一流量数据的四元组统计量特征、四元组证书特征、server name域名为DGA域名的概率和结果标识,得到所述来自不同批次的同一流量数据的四元组特征。
6.一种机器可读存储介质,该机器可读存储介质上存储有指令,该指令用于使得机器执行权利要求1-3中任意一项所述的基于机器学习的https恶意加密流量分布式检测方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011035454.4A CN112261007B (zh) | 2020-09-27 | 2020-09-27 | 基于机器学习的https恶意加密流量检测方法、系统及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011035454.4A CN112261007B (zh) | 2020-09-27 | 2020-09-27 | 基于机器学习的https恶意加密流量检测方法、系统及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112261007A CN112261007A (zh) | 2021-01-22 |
CN112261007B true CN112261007B (zh) | 2022-07-05 |
Family
ID=74233940
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011035454.4A Active CN112261007B (zh) | 2020-09-27 | 2020-09-27 | 基于机器学习的https恶意加密流量检测方法、系统及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112261007B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112990286A (zh) * | 2021-03-08 | 2021-06-18 | 中电积至(海南)信息技术有限公司 | 一种数据不平衡场景下的恶意流量检测方法 |
CN113179250B (zh) * | 2021-03-26 | 2022-05-17 | 北京六方云信息技术有限公司 | web未知威胁检测方法及系统 |
CN113591085B (zh) * | 2021-07-27 | 2024-05-14 | 深圳市纽创信安科技开发有限公司 | 安卓恶意应用检测方法、装置及设备 |
CN114826679B (zh) * | 2022-03-30 | 2023-03-24 | 西安电子科技大学 | 面向物联网设备的分布式dga域名检测方法及系统 |
CN115168908B (zh) * | 2022-09-05 | 2022-12-06 | 深圳市科力锐科技有限公司 | 文件保护方法、装置、设备及存储介质 |
CN115641177B (zh) * | 2022-10-20 | 2023-05-30 | 北京力尊信通科技股份有限公司 | 一种基于机器学习的防秒杀预判系统 |
CN116405278A (zh) * | 2023-03-30 | 2023-07-07 | 华能信息技术有限公司 | 一种恶意攻击加密流量检测方法 |
CN116915474B (zh) * | 2023-07-26 | 2024-01-26 | 安徽中杰信息科技有限公司 | 一种基于流量分析的https协议分析系统及方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10885469B2 (en) * | 2017-10-02 | 2021-01-05 | Cisco Technology, Inc. | Scalable training of random forests for high precise malware detection |
CN110113349A (zh) * | 2019-05-15 | 2019-08-09 | 北京工业大学 | 一种恶意加密流量特征分析方法 |
CN110493208B (zh) * | 2019-08-09 | 2021-12-14 | 南京聚铭网络科技有限公司 | 一种多特征的dns结合https恶意加密流量识别方法 |
CN111277578B (zh) * | 2020-01-14 | 2022-02-22 | 西安电子科技大学 | 加密流量分析特征提取方法、系统、存储介质、安全设备 |
-
2020
- 2020-09-27 CN CN202011035454.4A patent/CN112261007B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN112261007A (zh) | 2021-01-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112261007B (zh) | 基于机器学习的https恶意加密流量检测方法、系统及存储介质 | |
CN109951500B (zh) | 网络攻击检测方法及装置 | |
CN107770132B (zh) | 一种对算法生成域名进行检测的方法及装置 | |
CN111277587A (zh) | 基于行为分析的恶意加密流量检测方法及系统 | |
JP2017143583A (ja) | ネットワークシステム | |
US10257213B2 (en) | Extraction criterion determination method, communication monitoring system, extraction criterion determination apparatus and extraction criterion determination program | |
US20190190960A1 (en) | Selective information extraction from network traffic traces both encrypted and non-encrypted | |
CN114124463A (zh) | 基于网络行为特征的暗网加密应用服务识别方法及系统 | |
CN110611640A (zh) | 一种基于随机森林的dns协议隐蔽通道检测方法 | |
CN113518042B (zh) | 一种数据处理方法、装置、设备及存储介质 | |
Liu et al. | Maldetect: A structure of encrypted malware traffic detection | |
CN111010409A (zh) | 加密攻击网络流量检测方法 | |
CN111818103A (zh) | 一种网络靶场中基于流量的溯源攻击路径方法 | |
Lu et al. | Research on WiFi penetration testing with Kali Linux | |
CN112261021B (zh) | 软件定义物联网下DDoS攻击检测方法 | |
CN112422567B (zh) | 一种面向大流量的网络入侵检测方法 | |
Muraleedharan et al. | Behaviour analysis of HTTP based slow denial of service attack | |
CN112738109A (zh) | 一种Web攻击的检测方法及装置 | |
CN114449064B (zh) | Tls加密流量的应用识别方法、装置和应用识别设备 | |
CN110493253B (zh) | 一种基于树莓派设计的家用路由器的僵尸网络分析方法 | |
KR20090083767A (ko) | 은닉마코프 모델을 이용한 확률적인 네트워크 이상징후탐지 장치 및 그 방법 | |
Alyasiri et al. | Grammatical evolution for detecting cyberattacks in Internet of Things environments | |
Archibald et al. | Disambiguating HTTP: classifying web applications | |
EP4106268B1 (en) | Method for detecting anomalies in ssl and/or tls communications, corresponding device, and computer program product | |
CN115633359A (zh) | Pfcp会话安全检测方法、装置、电子设备和存储介质 |
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 |