CN116346452B - 一种基于stacking的多特征融合恶意加密流量识别方法和装置 - Google Patents
一种基于stacking的多特征融合恶意加密流量识别方法和装置 Download PDFInfo
- Publication number
- CN116346452B CN116346452B CN202310272918.0A CN202310272918A CN116346452B CN 116346452 B CN116346452 B CN 116346452B CN 202310272918 A CN202310272918 A CN 202310272918A CN 116346452 B CN116346452 B CN 116346452B
- Authority
- CN
- China
- Prior art keywords
- data
- data set
- predicted value
- model
- 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 79
- 230000004927 fusion Effects 0.000 title claims abstract description 36
- 238000012549 training Methods 0.000 claims abstract description 103
- 238000013145 classification model Methods 0.000 claims abstract description 13
- 238000007781 pre-processing Methods 0.000 claims abstract description 13
- 238000012360 testing method Methods 0.000 claims description 54
- 238000007637 random forest analysis Methods 0.000 claims description 22
- 238000004422 calculation algorithm Methods 0.000 claims description 17
- 238000002790 cross-validation Methods 0.000 claims description 16
- 238000012544 monitoring process Methods 0.000 claims description 12
- 238000000605 extraction Methods 0.000 claims description 11
- 230000005540 biological transmission Effects 0.000 claims description 10
- 238000005206 flow analysis Methods 0.000 claims description 9
- 238000012545 processing Methods 0.000 claims description 9
- 239000013598 vector Substances 0.000 claims description 9
- 238000004458 analytical method Methods 0.000 claims description 8
- 238000003066 decision tree Methods 0.000 claims description 6
- 230000004044 response Effects 0.000 claims description 6
- 238000004140 cleaning Methods 0.000 claims description 4
- 238000013527 convolutional neural network Methods 0.000 description 21
- 230000006870 function Effects 0.000 description 15
- 238000004891 communication Methods 0.000 description 14
- 230000015654 memory Effects 0.000 description 13
- 238000010586 diagram Methods 0.000 description 12
- 238000013528 artificial neural network Methods 0.000 description 8
- 230000006399 behavior Effects 0.000 description 7
- 238000004590 computer program Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 7
- 238000001514 detection method Methods 0.000 description 5
- 238000012795 verification Methods 0.000 description 5
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 230000003993 interaction Effects 0.000 description 3
- 238000010801 machine learning Methods 0.000 description 3
- 238000003062 neural network model Methods 0.000 description 3
- 230000011218 segmentation Effects 0.000 description 3
- 244000035744 Hura crepitans Species 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000000295 complement effect Effects 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000007689 inspection Methods 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 238000007477 logistic regression Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 210000002569 neuron Anatomy 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000011176 pooling Methods 0.000 description 2
- 238000007792 addition Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000011049 filling Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000011010 flushing procedure Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 238000007429 general method Methods 0.000 description 1
- 238000011835 investigation Methods 0.000 description 1
- 238000012417 linear regression Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012887 quadratic function Methods 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 230000006403 short-term memory Effects 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
- 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/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/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
- H04L63/145—Countermeasures against malicious traffic the attack involving the propagation of malware through the network, e.g. viruses, trojans or worms
-
- 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)
- Signal Processing (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Theoretical Computer Science (AREA)
- Artificial Intelligence (AREA)
- Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Molecular Biology (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Virology (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及一种基于stacking的多特征融合恶意加密流量识别方法,所述方法包括:收集并获取加密流量数据集,所述加密流量数据集包括:恶意软件产生的恶意流量和非恶意软件产生的白流量;对所述加密流量数据集预处理,得到会话数据集;将所述会话数据集输入stacking第一层的三个基模型训练,组合输出训练数据集和预测数据集;将所述预测数据集输入stacking第二层的元分类模型训练,直至模型收敛,得到预测结果,建立模型收敛时对应的基于stacking的恶意流量识别的模型;将待查流量输入所述基于stacking的恶意流量识别的模型,预测所述待查流量是否为恶意流量。通过本发明可以提高识别恶意流量的准确度。
Description
技术领域
本发明属于计算机网络安全领域,具体涉及一种基于stacking的多特征融合恶意加密流量识别方法和装置。
背景技术
由于近年来发生的多起数据泄露事件,导致企业和互联网用户更加注重系统和网络传输的安全性。但是大量的网络恶意攻击行为采用加密技术隐藏和逃避网络安全设备的检查。针对这种情况,可通过对加密流量解密的方式来发现隐藏的网络攻击行为,保障业务安全,但解密会消耗时间和计算资源,并且侵犯了用户的隐私。所以如何在不解密的前提下,通过分析流量数据包中有限的显性字段来识别恶意流量成为需要解决的问题。
目前大体上分两个方向来发现流量特征,解决恶意加密流量识别。一种是特征工程,通过网络安全专家对恶意和正常流量对比分析,总结流量的特征,比如特定的比特序列、特定的业务节点接口(Service Node Interface,SNI)信息、特殊的证书颁发者等等,根据总结特征分类流量;另一种是基于神经网络的方法,输入大量原始加密流量,建立训练黑白模型,敦促机器发现隐藏在流量中的恶意行为特征,比如通过随机森林、卷积神经网络(Convolutional Neural Networks,CNN)、循环神经网络(Recurrent Neural Network,RNN)等多种神经网络模型。
然而第一种方式需要人为去分析验证总结,主要依靠专家学者知识、经验水平的制约,耗时耗力,还有一些复杂的信息关联无法通过人工发现;第二种方式通过机器可以发现更多潜藏的异常交互行为,效率更高但目前为了追求高准确率,不断增加神经网络隐藏层数目和神经元数量,导致模型检测复杂度大且容易出现过拟合问题。
发明内容
为此,本发明提供一种基于stacking的多特征融合恶意加密流量识别方法和装置,通过集成人工分析验证和机器学习算法两种方式,利用不同模型的优势提取差异特征,提高识别恶意流量的准确度。
为实现以上目的,本发明采用如下技术方案:
第一方面,本发明提供一种基于stacking的多特征融合恶意加密流量识别方法,所述方法包括:
收集并获取加密流量数据集,所述加密流量数据集包括:恶意软件产生的恶意流量和非恶意软件产生的白流量;对所述加密流量数据集预处理,得到会话数据集;将所述会话数据集输入stacking第一层的三个基模型训练,组合输出训练数据集和预测数据集;将所述预测数据集输入stacking第二层的元分类模型训练,直至模型收敛,得到预测结果,建立模型收敛时对应的基于stacking的恶意加密流量识别的模型;将待查流量输入所述基于stacking的恶意加密流量识别的模型,预测所述待查流量是否为恶意流量。
进一步地,所述对所述加密流量数据集预处理,得到会话数据集,包括:
解析pcap文件中的数据包,并将解析出的数据包会话化,得到包含多个会话数据包的会话数据集;对所述会话数据集中的会话数据包进行清洗及标准化处理,得到标准化的会话数据集。
进一步地,所述解析pcap文件中的数据包,并将解析出的数据包会话化,得到包含多个会话数据包的会话数据集,包括:
对pcap文件中的数据包,按照数据包开始传输时间进行排序,得到包含多个数据包的数据集合,每个所述数据包至少包括:该数据包的五元组、该数据包开始传输时间及该数据包长度;将具有相同五元组的数据包合并为一个会话数据包,每个所述会话数据包至少包括:该会话的五元组信息、该会话的开始时间、该会话的持续时间及该会话的长度;将所有的会话数据包组合成会话数据集。
进一步地,所述三个基模型包括:XGBoost基模型、CNN基模型、LSTM基模型,所述将所述会话数据集输入stacking第一层的三个基模型训练,具体为:
所述会话数据集包含训练数据集和测试数据集;分别搭建XGBoost基模型、CNN基模型和LSTM基模型,分别使用所述训练数据集对所述基模型五折交叉验证,每一步都使用其中的四折数据作为训练数据,一折作为测试数据,得到五份这一折数据的预测数据,并得到对所述测试数据集的预测数据;分别将所述基模型的五份预测数据组合作为第二层元模型的一份训练数据,同时对所述基模型的测试数据做预测,将得到的预测数据加权平均作为第二层元模型的一份测试数据。
进一步地,所述搭建XGBoost基模型,包括:
使用随机森林选择特征,并使用网络流量分析和安全监控框架提取特征;训练XGBoost基模型,若满足预设则得到最终模型;若否,则调整参数继续训练所述XGBoost基模型。
进一步地,所述使用随机森林选择特征,并使用网络流量分析和安全监控框架提取特征,包括:
根据TLS指纹信息、会话数据、HTTP头部信息和DNS响应信息四个维度选取特征,其中,所述特征包括其本身以及前后数据包的最大值、最小值、平均值、比值、标准差、方差;通过使用基于随机森林的特征选择算法进行特征选择;获取随机森林的所有决策树在预设特征分割时的不纯度和平均值;通过网络流量分析和安全监控框架工具将pcap文件包转换为流量日志,进行特征提取并对非数值型的特征流量使用One-Hot编码。
进一步地,所述搭建CNN基模型,包括:
将流量数据进行词向量表示;提取所述流量中的特征;通过sigmoid输出CNN基模型的预测结果。
进一步地,所述搭建LSTM基模型,包括:
所述LSTM基模型包括输入层、隐藏层、输出层,其中所述输入层对数据集划分;数据通过LSTM基模型完成特征提取后,通过sigmoid输出LSTM基模型的预测结果。
进一步地,所述将所述预测数据集输入stacking第二层的元分类模型训练,包括:
基于训练数据训练生成的模型对测试数据进行预测,在第一次交叉验证完成之后,得到当前测试数据的第一预测值;所述模型对数据集原有的测试数据进行预测,为第六预测值;通过五次交叉验证完成后,生成针对测试数据预测的数据第一预测值,第二预测值,第三预测值,第四预测值,第五预测值,第六预测值,第七预测值,第八预测值,第九预测值,第十预测值;将第一预测值,第二预测值,第三预测值,第四预测值,第五预测值拼接为第一拼接值;将第六预测值,第七预测值,第八预测值,第九预测值,第十预测值加权平均为第一加权值;分别根据三个元模型,得到第一拼接值,第二拼接值和第三拼接值作为新的训练数据,第一加权值,第二加权值和第三加权值作为新的测试数据;使用LR元分类器对所述训练数据进行训练。
第二方面,本发明提供一种基于stacking的多特征融合恶意加密流量识别装置,所述装置包括:
获取单元,用于收集并获取加密流量数据集,所述加密流量数据集包括:恶意软件产生的恶意流量和非恶意软件产生的白流量;
处理单元,用于对所述加密流量数据集预处理,得到会话数据集;
输出单元,用于将所述会话数据集输入stacking第一层的三个基模型训练,组合输出训练数据集和预测数据集;
建模单元,用于将所述预测数据集输入stacking第二层的元分类模型训练,直至模型收敛,得到预测结果,建立模型收敛时对应的基于stacking的恶意加密流量识别的模型;
预测单元,用于将待查流量输入所述基于stacking的恶意加密流量识别的模型,预测所述待查流量是否为恶意流量。
本发明采用以上技术方案,至少具备以下有益效果:
通过本发明方案,收集并获取加密流量数据集,所述加密流量数据集包括:恶意软件产生的恶意流量和非恶意软件产生的白流量;对所述加密流量数据集预处理,得到会话数据集;将所述会话数据集输入stacking第一层的三个基模型训练,组合输出第二层模型的训练数据集和预测数据集;将所述预测数据集输入stacking第二层的元分类模型训练,直至模型收敛,得到预测结果,建立模型收敛时对应的基于stacking的恶意加密流量识别的模型;将待查流量输入所述基于stacking的恶意加密流量识别的模型,预测所述待查流量是否为恶意流量。通过stacking融合了XGBoost、CNN以及LSTM算法模型的优势,全方位地提取了网络流量会话的特征。实现了在不解密网络流量的情况下,对恶意流量的识别。相较于单一的模型,具有更高的准确率。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本公开实施例提供的恶意加密流量检测的示意图。
图2是根据一示例性实施例示出的一种基于stacking的多特征融合恶意加密流量识别方法的流程图。
图3是根据一示例性实施例示出的一种基于stacking的多特征融合恶意加密流量识别方法的流程图。
图4是根据一示例性实施例示出的一种基于stacking的多特征融合恶意加密流量识别方法的流程图。
图5是根据一示例性实施例示出的一种基于stacking的多特征融合恶意加密流量识别方法的流程图。
图6是根据一示例性实施例示出的一种基于stacking的多特征融合恶意加密流量识别方法的流程图。
图7是根据一示例性实施例示出的一种基于stacking的多特征融合恶意加密流量识别方法的流程图。
图8是根据一示例性实施例示出的一种基于stacking的多特征融合恶意加密流量识别方法的流程图。
图9是根据一示例性实施例示出的一种基于stacking的多特征融合恶意加密流量识别方法的流程图。
图10是根据一示例性实施例示出的一种基于stacking的多特征融合恶意加密流量识别方法的流程图。
图11是本公开实施例提供的一种基于stacking的多特征融合恶意加密流量识别方法的流程图。
图12是根据一示例性实施例示出的XGBoost模型的训练流程图。
图13是根据一示例性实施例示出的Stacking工作流程图。
图14是根据一示例性实施例示出的一种基于stacking的多特征融合恶意加密流量识别装置框图100。
图15为本发明实施例电子设备一个应用实施例的结构示意图。
图16示出了本公开的电子设备的一个实施例的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将对本发明的技术方案进行详细的描述。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所得到的所有其它实施方式,都属于本发明所保护的范围。
本发明应用于对恶意加密流量识别等场景。
近年来发生的多起数据泄露事件,导致企业和互联网用户更加注重系统和网络传输的安全性,所以越来越多的网站建设者选择申请安全套接层(Secure Socket Layer,SSL)证书,一方面帮助用户认证服务器是否安全,另一方面将客户端和服务器端之间的通信内容加密。但是根据公开的调研报告,大量的网络恶意攻击行为采用加密技术隐藏和逃避网络安全设备的检查。
针对这种情况,可通过对加密流量解密的方式来发现隐藏的网络攻击行为,保障业务安全,但解密会消耗时间和计算资源,并且侵犯了用户的隐私。所以如何在不解密的前提下,通过分析流量数据包中有限的显性字段来识别恶意流量成为需要解决的问题。
目前大体上分两个方向来发现流量特征,解决恶意加密流量识别。一种是特征工程,通过网络安全专家对恶意和正常流量对比分析,总结流量的特征,比如特定的比特序列、特定的SNI信息、特殊的证书颁发者等等,根据总结特征分类流量;另一种是基于神经网络的方法,输入大量原始加密流量,建立训练黑白模型,敦促机器发现隐藏在流量中的恶意行为特征,比如通过随机森林、CNN、RNN等多种神经网络模型。第一种方式需要人工分析验证总结,主要依靠专家学者知识、经验水平的制约,耗时耗力,还有一些复杂的信息关联无法通过人工发现;第二种方式通过机器可以发现更多潜藏的异常交互行为,效率更高但目前为了追求高准确率,不断增加神经网络隐藏层数目和神经元数量,导致模型检测复杂度大且容易出现过拟合问题。两种方式各有利弊,因此本发明集成两种方式,利用不同模型的优势提取差异特征,提高识别恶意流量的准确度。
本公开实施例中,Stacking算法是一种分层模型集成框架,它由两层学习器组成,第一层学习器称之为基学习器(base classifier),这里一般放置预融合的多个模型;第二层学习器称之为元分类器(meta classifier),meta-classifier基于base-classifier多个模型的预测结果进行二次预测,以修正基分类器偏差的方式提高整个分类器的泛化能力,提高预测的准确度。
图1是本公开实施例提供的恶意加密流量检测的示意图。如图1所示,整个测试流程包括流量捕获、流量预处理、特征提取以及模型训练等四个部分。流量捕获部分采用抓包工具完成采集,为了得到训练阶段加密的恶意流量及白流量,流量捕获阶段将在沙箱中运行恶意软件和正常软件生成流量数据;流量预处理阶段主要完成对流量的清洗,过滤未加密流量和不完整的会话,生成可用于流量检测的会话信息;特征提取阶段主要是根据需求,提取相关会话的统计特征和系统特征信息,形成训练的特征向量;而模型训练阶段主要是构建恶意加密流量分析的模型。
请参阅图2,图2是根据一示例性实施例示出的一种基于stacking的多特征融合恶意加密流量识别方法的流程图,该方法包括如下步骤:
步骤S11、收集并获取加密流量数据集,加密流量数据集包括:恶意软件产生的恶意流量和非恶意软件产生的白流量;
步骤S12、对加密流量数据集预处理,得到会话数据集;
步骤S13、将会话数据集输入stacking第一层的三个基模型训练,组合输出训练数据集和预测数据集;
步骤S14、将预测数据集输入stacking第二层的元分类模型训练,直至模型收敛,得到预测结果,建立模型收敛时对应的基于stacking的恶意加密流量识别的模型;
步骤S15、将待查流量输入基于stacking的恶意加密流量识别的模型,预测待查流量是否为恶意流量。
本公开实施例中,本发明的目的在于提供基于stacking的多特征融合恶意加密流量识别的通用方法,并根据该方法,实现识别恶意加密流量的系统。本发明主要对TCP会话相关特征进行特征工程或者建立神经网络模型,完成特征提取。其中的stacking模型采用双层机构,融合了多种互补的算法模型。其中,第一层使用极端梯度提升树模型(XGBoost)、卷积神经网络(CNN)和长短期记忆网络(Long Short-Term Memory,LSTM)进行预测,再将预测结果输入第二层进行训练;第二层使用了线性回归模型,经过双层模型训练预测出待查流量是否为恶意流量。
本公开实施例中,收集并获取加密流量数据集,加密流量数据集包括:恶意软件产生的恶意流量和非恶意软件产生的白流量;对加密流量数据集预处理,得到会话数据集;将会话数据集输入stacking第一层的三个基模型训练,组合输出预测数据集;将预测数据集输入stacking第二层的元分类模型训练,直至模型收敛,得到预测结果,建立模型收敛时对应的基于stacking的恶意流量识别的模型;将待查流量输入基于stacking的恶意流量识别的模型,预测待查流量是否为恶意流量。
本公开实施例中,选取公开数据集,本数据集由奇安信技术研究院天穹沙箱运行产生的流量筛选生成,源自于2020年2月~6月的恶意软件与正常软件。本数据集的恶意流量为恶意软件(均为exe类型)产生的加密流量,白流量为正常软件(均为exe类型)产生的加密流量。流量内容为443端口产生的TLS/SSL数据包。训练集规模为6000,其中黑样本为3000,白样本为3000。测试集规模为4000,其中黑样本为2000,白样本为2000。
请参阅图3,图3是根据一示例性实施例示出的一种基于stacking的多特征融合恶意加密流量识别方法的流程图,该方法包括如下步骤:
步骤S21、解析pcap文件中的数据包,并将解析出的数据包会话化,得到包含多个会话数据包的会话数据集;
本公开实施例中,过程特性分析软件包(Packet Capture,pcap)是一种常用的数据报存储格式,里面的数据按照特定的规格存储和解析。pcag文件格式主要是由文件头-数据包头1-数据包1-数据包头2-数据包2这类格式组成。其中文件头只有一个,数据包头和数据包可以有多个。
本公开实施例中,选取会话Session作为研究对象,会话是由一定时间内,具有相同源IP地址、源端口号、目的IP地址、目的端口号和协议的多个网络流量包组成,能够更直观反应通讯双方的交互行为。
本公开实施例中,将pcap文件中的数据包按照时间排序,得到集合P:P={p1:(s1,d1,ps1,pd1,pr1,t1,l1),p2:(s2,d2,ps2,pd2,pr2,t2,l2)…,pn:(sn,dn,psn,pdn,prn,tn,ln)}。其中pi代表数据包,si,di,psi,pdi,pri代表数据包的五元组,ti代表数据包开始传输时间,ti-1<ti,li代表数据包长度。
本公开实施例中,将相同五元组的数据包合并为一个会话Si:Si=(Ci,Ti,Di,Li)。其中,Ci表示第i组会话的五元组信息,包括源地址(source IP,IPS),目标地址(destination IP,IPD),源端口(source port,PORTS),目标端口(destination port,PORTD),通信协议(Protocol),其中IPS和IPD可以互换,PORTS和PORTD也可以互换。Ti表示会话的开始时间,Di表示会话的持续时间,表示由x数据包组成的整个会话的长度。整个数据集将表示为D={S1,S2…Sn},其中n表示整个数据集包含的会话数。
步骤S22、对会话数据集中的会话数据包进行清洗及标准化处理,得到标准化的会话数据集。
本公开实施例中,过滤无效会话,比如未完成完整握手流程的不完整包、传输丢失的坏包。隐藏会话的五元组信息,防止五元组信息对模型特征选择和准确度产生影响。统计数据包的平均包长,将会话中的数据包长度控制在平均包长length,超过此长度的数据做丢弃处理,不够的数据包用0x00补齐。
请参阅图4,图4是根据一示例性实施例示出的一种基于stacking的多特征融合恶意加密流量识别方法的流程图,该方法包括如下步骤:
步骤S31、对pcap文件中的数据包,按照数据包开始传输时间进行排序,得到包含多个数据包的数据集合,每个数据包至少包括:该数据包的五元组、该数据包开始传输时间及该数据包长度。
本公开实施例中,将pcap文件中的数据包按照时间排序,得到集合P:P={p1:(s1,d1,ps1,pd1,pr1,t1,l1),p2:(s2,d2,ps2,pd2,pr2,t2,l2)…,pn:(sn,dn,psn,pdn,prn,tn,ln)}。其中pi代表数据包,si,di,psi,pdi,pri代表数据包的五元组,ti代表数据包开始传输时间,ti-1<ti,li代表数据包长度。
步骤S32、将具有相同五元组的数据包合并为一个会话数据包,每个会话数据包至少包括:该会话的五元组信息、该会话的开始时间、该会话的持续时间及该会话的长度;
本公开实施例中,将相同五元组的数据包合并为一个会话Si:Si=(Ci,Ti,Di,Li)。其中,Ci表示第i组会话的五元组信息,包括源地址(source IP,IPS),目标地址(destination IP,IPD),源端口(source port,PORTS),目标端口(destination port,PORTD),通信协议(Protocol),其中IPS和IPD可以互换,PORTS和PORTD也可以互换。Ti表示会话的开始时间,Di表示会话的持续时间,表示由x数据包组成的整个会话的长度。
步骤S33、将所有的会话数据包组合成会话数据集。
本公开实施例中,整个数据集将表示为D={S1,S2…Sn},其中n表示整个数据集包含的会话数。
请参阅图5,图5是根据一示例性实施例示出的一种基于stacking的多特征融合恶意加密流量识别方法的流程图,该方法包括如下步骤:
步骤S41、分别搭建XGBoost基模型、CNN基模型和LSTM基模型,分别使用训练数据集对基模型五折交叉验证,每一步都使用其中的四折数据作为训练数据,一折作为测试数据,得到五份这一折数据的预测数据,并得到对测试数据集的预测数据;
步骤S42、分别将基模型的五份预测数据组合作为第二层元模型的一份训练数据,同时对基模型的测试数据做预测,将得到的预测数据加权平均作为第二层元模型的一份测试数据。
本公开实施例中,会话数据集分为训练数据集和测试数据集。
一实施例中,搭建XGBoost基模型,使用训练数据集对模型五折交叉验证,每一步都使用其中的四折数据作为训练数据,一折作为测试数据,得到这一折数据的预测数据,共5份。同时可以得到对测试数据集的预测数据。
一实施例中,搭建CNN基模型,使用训练数据集对模型五折交叉验证,每一步都使用其中的四折数据作为训练数据,一折作为测试数据,得到这一折数据的预测数据,共5份。同时可以得到对测试数据集的预测数据。
一实施例中,搭建LSTM基模型,使用训练数据集对模型五折交叉验证,每一步都使用其中的四折数据作为为训练数据,一折作为测试数据,得到这一折数据的预测数据,共5份。同时可以得到对测试数据集的预测数据。
将上述3个基模型的5份预测数据组合作为第二层元模型的训练数据,将3基个模型的测试数据预测数据取加权平均作为第二层元模型的测试数据。
本公开实施例中,选择3类分类器,分别是XGBoost、CNN、LSTM。其中XGBoost和随机森林(random forests,RF)是常规机器学习算法,需要输入指定特征训练模型;CNN和LSTM是神经网络算法,可以实现对高级特征的自动抽取。XGBoost是一种适合解决分类问题的模型;CNN擅长对序列特征进行提取,发掘数据局部的特点;LSTM擅长对数据的时间序列特征进行提取,发现上下文之间的关联。这三个模型各有优势,相互补充。
请参阅图6,图6是根据一示例性实施例示出的一种基于stacking的多特征融合恶意加密流量识别方法的流程图,该方法包括如下步骤:
步骤S51、使用随机森林选择特征,并使用网络流量分析和安全监控框架提取特征;
步骤S52a、训练XGBoost基模型,若满足预设则得到最终模型;
步骤S52b、若否,则调整参数继续训练XGBoost基模型。
本公开实施例中,XGBoost基模型搭建,包括特征选取、特征提取、目标函数构建。使用随机森林选择特征,并使用网络流量分析和安全监控框架提取特征;训练XGBoost基模型,若满足预设则得到最终模型;若否,则调整参数继续训练XGBoost基模型。
本公开实施例中,选取特征,从TLS指纹信息、会话数据、HTTP头部信息和DNS响应信息四个维度选取特征,这些特征包括其本身以及前后数据包的最大值、最小值、平均值、比值、标准差、方差。通过使用基于随机森林的特征选择算法进行特征选择。对随机森林的所有决策树求在某个特征分割时的不纯度并取平均值,当某个特征较为重要时,分割后能大幅度减小不纯度。
计算某一个节点不纯度为:
Nk=wk*Gk-wleft*Gleft-wright*Gright (1)
具体包括以下特征字段:
本公开实施例中,提取特征。借助网络流量分析和安全监控框架(Zeek)工具将pcap包转换为流量日志,进行特征提取并对非数值型的特征流量使用One-Hot编码,消除不同离散特征之间单位不同的影响,满足模型输入的需要;
本公开实施例中,目标函数。XGBoost是一种集成学习的算法,除了损失函数外,加入了正则项,以此来控制基学习器树的结构,目标函数如下,目标是让目标函数的值越小越好:
本公开实施例中,由于XGBoosting基于Boosting算法,所以遵循叠加式训练,第k个模型的预测值等于前k-1个模型预测值加当前预测值,目标函数可以简化为:
其中Ω(fk)是衡量树模型复杂度,具体如下:
其中T代表叶子节点个数,代表各个叶子节点值的和,a和λ是控制惩罚程度的参数。将(3)带入(2),可以得到是一个二次函数,所以存在最优解。也就是说,在树模型结构一定的情况下,目标函数存在最优解。通过使用贪心算法取构建一棵最优的树。
从树的根节点开始,计算分裂后与分裂前的信息增益,遍历所有特征计算增益,选取增益大的切分构造树模型,这样就可以得到一棵目标函数最小的树,然后按照这个逻辑构造k棵树,最终将所有树加权就是最终的模型。
请参阅图7,图7是根据一示例性实施例示出的一种基于stacking的多特征融合恶意加密流量识别方法的流程图,该方法包括如下步骤:
步骤S61、根据TLS指纹信息、会话数据、HTTP头部信息和DNS响应信息四个维度选取特征,其中,特征包括其本身以及前后数据包的最大值、最小值、平均值、比值、标准差、方差;
步骤S62、通过使用基于随机森林的特征选择算法进行特征选择;
步骤S63、获取随机森林的所有决策树在预设特征分割时的不纯度和平均值;
步骤S64、通过网络流量分析和安全监控框架工具将pcap文件包转换为流量日志,进行特征提取并对非数值型的特征流量使用One-Hot编码。
本公开实施例中,根据TLS指纹信息、会话数据、HTTP头部信息和DNS响应信息四个维度选取特征,其中,特征包括其本身以及前后数据包的最大值、最小值、平均值、比值、标准差、方差;通过使用基于随机森林的特征选择算法进行特征选择;获取随机森林的所有决策树在预设特征分割时的不纯度和平均值;通过网络流量分析和安全监控框架工具将pcap文件包转换为流量日志,进行特征提取并对非数值型的特征流量使用One-Hot编码。
请参阅图8,图8是根据一示例性实施例示出的一种基于stacking的多特征融合恶意加密流量识别方法的流程图,该方法包括如下步骤:
步骤S71、将流量数据进行词向量表示;
步骤S72、提取流量中的特征;
步骤S73、通过sigmoid输出CNN基模型的预测结果。
本公开实施例中,搭建1D-CNN基模型。将流量数据进行词向量表示。首先截取会话前200个字节,对会话进行分词并构造词汇表,将流量字节映射为字典索引值,会话中的字节将转化为字典编号,将此字节序列转化为向量,利用词嵌入技术,将其变为矩阵向量。
本公开实施例中,1D-CNN模型采用了2层卷积配合1层池化的方式,更准确提取流量中的特征,其中损失函数使用交叉熵,训练次数为50次,卷积核数量前两层64个,后两层128个,卷积核维度为[3,1],池化核维度为[2,1],最后通过Sigmoid函数可以将分类器的原始输出值映射为概率。
请参阅图9,图9是根据一示例性实施例示出的一种基于stacking的多特征融合恶意加密流量识别方法的流程图,该方法包括如下步骤:
步骤S81、LSTM基模型包括输入层、隐藏层、输出层,其中输入层对数据集划分;
步骤S82、数据通过LSTM基模型完成特征提取后,通过sigmoid输出LSTM基模型的预测结果。
本公开实施例中,LSTM基模型搭建,其中整个LSTM的预测模型由输入层、隐藏层、输出层构成。输入层完成对数据集的划分,会话中有价值的流量更集中在会话的头部,所以在前200字节中,时间步数设置为5,从200字节之后的数据,时间步数设置为100。
本公开实施例中,LSTM通过特有的记忆单元,将t-1时刻的重要信息传递给t时刻,每个记忆单元有三个输入,分别是来自原本序列时刻t的数据Xt、t-1时刻的历史状态Ct-1和要传递给t时刻的重要信息隐藏向量ht-1。数据经过LSTM提取完特征后,发送到sigmoid分类器,Sigmoid函数可以将分类器的原始输出值映射为概率。
请参阅图10,图10是根据一示例性实施例示出的一种基于stacking的多特征融合恶意加密流量识别方法的流程图,该方法包括如下步骤:
步骤S91、基于训练数据训练生成的模型对测试数据进行预测,在第一次交叉验证完成之后,得到当前测试数据的第一预测值;
步骤S92、模型对数据集原有的测试数据进行预测,为第六预测值;
步骤S93、通过五次交叉验证完成后,生成针对测试数据预测的数据第一预测值,第二预测值,第三预测值,第四预测值,第五预测值,第六预测值,第七预测值,第八预测值,第九预测值,第十预测值;
步骤S94、将第一预测值,第二预测值,第三预测值,第四预测值,第五预测值拼接为第一拼接值;
步骤S95、将第六预测值,第七预测值,第八预测值,第九预测值,第十预测值加权平均为第一加权值;
步骤S96、分别根据三个元模型,得到第一拼接值,第二拼接值和第三拼接值作为新的训练数据,第一加权值,第二加权值和第三加权值作为新的测试数据;
步骤S97、使用LR元分类器对训练数据进行训练。
本公开实施例中,以XGBoost为例,5折交叉验证就是先拿出四折作为训练数据,另外一折作为测试数据。具体步骤如下:基于训练数据训练生成的模型对测试数据进行预测。在第一次交叉验证完成之后,将会得到当前测试数据的预测值,记为a1。用该模型对数据集原有的测试数据进行预测,记为b1。五次交叉验证完成后,生成针对测试数据预测的数据a1,a2,a3,a4,a5,b1,b2,b3,b4,b5。将a1,a2,a3,a4,a5拼接为A1。将b1,b2,b3,b4,b5加权平均为B1。对三个模型,重复以上的步骤,在整个流程结束之后,得到新的A1,A2,A3作为新的训练数据,B1,B2,B3作为新的测试数据。使用logistic回归(logistic regression,LR)元分类器对数据进行训练。
图11是本公开实施例提供的一种基于stacking的多特征融合恶意加密流量识别方法的流程图。如图11所示,选取公开数据集,本数据集的恶意流量为恶意软件产生的加密流量,白流量为正常软件产生的加密流量。解析pcap包并将加密流量会话化,对数据清洗及标准化,过滤无效会话,比如未完成完整握手流程的不完整包、传输丢失的坏包。选择3类分类器,分别是XGBoost、CNN、LSTM。其中XGBoost是常规机器学习算法,需要输入指定特征训练模型;CNN和LSTM是神经网络算法,可以实现对高级特征的自动抽取。将处理后的数据输入stacking第一层的3个基模型训练,基模型结果输入第二层元模型训练,得到训练好的基于stacking的恶意流量识别的模型。
通过本发明方案,收集并获取加密流量数据集,加密流量数据集包括:恶意软件产生的恶意流量和非恶意软件产生的白流量;对加密流量数据集预处理,得到会话数据集;将会话数据集输入stacking第一层的三个基模型训练,组合输出预测数据集;将预测数据集输入stacking第二层的元分类模型训练,直至模型收敛,得到预测结果,建立模型收敛时对应的基于stacking的恶意流量识别的模型;将待查流量输入基于stacking的恶意流量识别的模型,预测待查流量是否为恶意流量。通过stacking融合了XGBoost、CNN以及LSTM算法模型的优势,全方位地提取了网络流量会话的特征。实现了在不解密网络流量的情况下,对恶意流量的识别。相较于单一的模型,具有更高的准确率。
图12是根据一示例性实施例示出的XGBoost模型的训练流程图。如图12所示,从TLS指纹信息、会话数据、HTTP头部信息和DNS响应信息四个维度选取特征,这些特征包括其本身以及前后数据包的最大值、最小值、平均值、比值、标准差、方差。使用随机森林选择特征,获取随机森林的所有决策树在预设特征分割时的不纯度和平均值。使用网络流量分析和安全监控框架提取特征;训练XGBoost基模型,若满足预设则得到最终模型;若否,则调整参数继续训练XGBoost基模型。
图13是根据一示例性实施例示出的Stacking工作流程图。如图13所示,分别进行5折交叉验证,然后对训练集的估计结果进行垂直合并,生成新的训练集A1、A2和A3。对整个测试集进行5次预测相加取平均,生成新的测试集B1、B2和B3。水平连接A1、A2和A3生成新的训练集,连接B1、B2和B3生成新的测试集。将新生成的训练集放入第二层的元学习器中进行训练,使用新的测试集评估模型。Stacking模型能够有效防止模型总使用原始数据集而导致过拟合。
图14是根据一示例性实施例示出的一种基于stacking的多特征融合恶意加密流量识别装置框图100。参照图14,该装置包括获取单元101,处理单元102,输出单元103、建模单元104和预测单元105。
获取单元101,用于收集并获取加密流量数据集,加密流量数据集包括:恶意软件产生的恶意流量和非恶意软件产生的白流量;
处理单元102,用于对加密流量数据集预处理,得到会话数据集;
输出单元103,用于将会话数据集输入stacking第一层的三个基模型训练,组合输出训练数据集和预测数据集;
建模单元104,用于将预测数据集输入stacking第二层的元分类模型训练,直至模型收敛,得到预测结果,建立模型收敛时对应的基于stacking的恶意加密流量识别的模型;
预测单元105,用于将待查流量输入基于stacking的恶意加密流量识别的模型,预测待查流量是否为恶意流量。
图15为本发明实施例电子设备一个应用实施例的结构示意图。下面参考图15,其示出了适于用来实现本发明实施例的终端设备或服务器的电子设备的结构示意图。如图15所示,该电子设备包括存储器,用于存储计算机程序以及一个或多个处理器,用于执行存储器中存储的计算机程序。在一例中,存储器可以是只读存储器(ROM)和/或随机访问存储器(RAM)。
在一例中,一个或多个处理器可以是一个或多个中央处理单元(CPU),和/或一个或多个图像处理器(GPU)等,处理器可以根据存储在ROM中的可执行指令或者从存储部分加载到RAM中的可执行指令而执行各种适当的动作和处理。在一例中,电子设备还可以包括通信部,通信部可包括但不限于网卡,网卡可包括但不限于IB(Infiniband)网卡,处理器可与ROM和/或RAM中通信以执行可执行指令,通过总线与通信部相连、并经通信部与其他目标设备通信,从而完成本发明实施例提供的任一方法对应的操作。
此外,在RAM中,还可存储有装置操作所需的各种程序和数据。CPU、ROM以及RAM通过总线彼此相连。在有RAM的情况下,ROM为可选模块。RAM存储可执行指令,或在运行时向ROM中写入可执行指令,可执行指令使处理器执行本发明上述任一方法对应的操作。输入/输出(I/O)接口也连接至总线。通信部可以集成设置,也可以设置为具有多个子模块(例如多个IB网卡),并在总线链接上。
以下部件连接至I/O接口:包括键盘、鼠标等的输入部分;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分;包括硬盘等的存储部分;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分。通信部分经由诸如因特网的网络执行通信处理。驱动器也根据需要连接至I/O接口。可拆卸介质,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器上,以便于从其上读出的计算机程序根据需要被安装入存储部分。
需要说明的,如图15所示的架构仅为一种可选实现方式,在具体实践过程中,可根据实际需要对上述图15的部件数量和类型进行选择、删减、增加或替换;在不同功能部件设置上,也可采用分离设置或集成设置等实现方式,例如GPU和CPU可分离设置或者可将GPU集成在CPU上,通信部可分离设置,也可集成设置在CPU或GPU上,等等。这些可替换的实施方式均落入本发明公开的保护范围。
图16示出了本公开的电子设备的一个实施例的结构示意图。下面参考图16,其示出了适于用来实现本发明实施例的终端设备或服务器的电子设备的结构示意图。如图16所示,该电子设备该电子设备包括处理器和存储器。电子设备也可以包括输入输出装置。存储器、输入输出装置均通过总线与处理器连接。其中,存储器,用于存储处理器执行的指令;处理器,用于调用存储器存储的指令,并执行上述实施例涉及的一种基于stacking的多特征融合恶意加密流量识别方法。
本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质存储有计算机可执行指令,计算机可执行指令在计算机上运行时,执行上述实施例涉及的一种基于stacking的多特征融合恶意加密流量识别方法。
本公开实施例还提供一种包含指令的计算机程序产品,当包含指令的计算机程序产品在计算机上运行时,使得计算机执行上述实施例涉及的一种基于stacking的多特征融合恶意加密流量识别方法。
在一个或多个可选实施方式中,本公开实施例还提供了一种计算机可读存储介质,用于存储计算机可读指令,该指令被执行时使得计算机执行上述任一可能的实现方式中的一种基于stacking的多特征融合恶意加密流量识别方法。在另一个可选例子中,该计算机程序产品具体体现为软件产品,例如软件开发包(Software Development Kit,SDK)等等。
尽管在附图中以特定的顺序描述操作,但是不应将其理解为要求按照所示的特定顺序或是串行顺序来执行这些操作,或是要求执行全部所示的操作以得到期望的结果。在特定环境中,多任务和并行处理可能是有利的。
本公开的方法和装置能够利用标准编程技术来完成,利用基于规则的逻辑或者其他逻辑来实现各种方法步骤。还应当注意的是,此处以及权利要求书中使用的词语“装置”和“模块”意在包括使用一行或者多行软件代码的实现和/或硬件实现和/或用于接收输入的设备。
此处描述的任何步骤、操作或程序可以使用单独的或与其他设备组合的一个或多个硬件或软件模块来执行或实现。在一个实施方式中,软件模块使用包括包含计算机程序代码的计算机可读介质的计算机程序产品实现,其能够由计算机处理器执行用于执行任何或全部的所描述的步骤、操作或程序。
出于示例和描述的目的,已经给出了本公开实施的前述说明。前述说明并非是穷举性的也并非要将本公开限制到所公开的确切形式,根据上述教导还可能存在各种变形和修改,或者是可能从本公开的实践中得到各种变形和修改。选择和描述这些实施例是为了说明本公开的原理及其实际应用,以使得本领域的技术人员能够以适合于构思的特定用途来以各种实施方式和各种修改而利用本公开。
可以理解的是,本公开中“多个”是指两个或两个以上,其它量词与之类似。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。
进一步可以理解的是,术语“第一”、“第二”等用于描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开,并不表示特定的顺序或者重要程度。实际上,“第一”、“第二”等表述完全可以互换使用。例如,在不脱离本公开范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。
进一步可以理解的是,除非有特殊说明,“连接”包括两者之间不存在其他构件的直接连接,也包括两者之间存在其他元件的间接连接。
进一步可以理解的是,本公开实施例中尽管在附图中以特定的顺序描述操作,但是不应将其理解为要求按照所示的特定顺序或是串行顺序来执行这些操作,或是要求执行全部所示的操作以得到期望的结果。在特定环境中,多任务和并行处理可能是有利的。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本发明旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利范围来限制。
可以理解的是,上述各实施例中相同或相似部分可以相互参考,在一些实施例中未详细说明的内容可以参见其他实施例中相同或相似的内容。
需要说明的是,在本发明的描述中,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本发明的描述中,除非另有说明,“多个”、“多”的含义是指至少两个。
应该理解,当元件被称为“固定于”或“设置于”另一个元件,它可以直接在另一个元件上或者可能同时存在居中元件;当一个元件被称为“连接”另一个元件,它可以是直接连接到另一个元件或者可能同时存在居中元件,此外,这里使用的“连接”可以包括无线连接;使用的措辞“和/或”包括一个或更多个相关联的列出项的任一单元和全部组合。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为:表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (9)
1.一种基于stacking的多特征融合恶意加密流量识别方法,其特征在于,所述方法包括:
收集并获取加密流量数据集,所述加密流量数据集包括:恶意软件产生的恶意流量和非恶意软件产生的白流量;
对所述加密流量数据集预处理,得到会话数据集;
将所述会话数据集输入stacking第一层的三个基模型训练,组合输出训练数据集和预测数据集;
将所述预测数据集输入stacking第二层的元分类模型训练,直至模型收敛,得到预测结果,建立模型收敛时对应的基于stacking的恶意加密流量识别的模型;
将待查流量输入所述基于stacking的恶意加密流量识别的模型,预测所述待查流量是否为恶意流量;
所述将所述预测数据集输入stacking第二层的元分类模型训练,包括:
基于训练数据训练生成的模型对测试数据进行预测,在第一次交叉验证完成之后,得到当前测试数据的第一预测值;
所述模型对数据集原有的测试数据进行预测,为第六预测值;
通过五次交叉验证完成后,生成针对测试数据预测的数据第一预测值,第二预测值,第三预测值,第四预测值,第五预测值,第六预测值,第七预测值,第八预测值,第九预测值,第十预测值;
将第一预测值,第二预测值,第三预测值,第四预测值,第五预测值拼接为第一拼接值;
将第六预测值,第七预测值,第八预测值,第九预测值,第十预测值加权平均为第一加权值;
分别根据三个元模型,得到第一拼接值,第二拼接值和第三拼接值作为新的训练数据,第一加权值,第二加权值和第三加权值作为新的测试数据;
使用LR元分类器对所述训练数据进行训练。
2.根据权利要求1所述的方法,其特征在于,所述对所述加密流量数据集预处理,得到会话数据集,包括:
解析pcap文件中的数据包,并将解析出的数据包会话化,得到包含多个会话数据包的会话数据集;
对所述会话数据集中的会话数据包进行清洗及标准化处理,得到标准化的会话数据集。
3.根据权利要求2所述的方法,其特征在于,所述解析pcap文件中的数据包,并将解析出的数据包会话化,得到包含多个会话数据包的会话数据集,包括:
对pcap文件中的数据包,按照数据包开始传输时间进行排序,得到包含多个数据包的数据集合,每个所述数据包至少包括:该数据包的五元组、该数据包开始传输时间及该数据包长度;
将具有相同五元组的数据包合并为一个会话数据包,每个所述会话数据包至少包括:该会话的五元组信息、该会话的开始时间、该会话的持续时间及该会话的长度;
将所有的会话数据包组合成会话数据集。
4.根据权利要求1所述的方法,其特征在于,所述三个基模型包括:XGBoost基模型、CNN基模型、LSTM基模型,所述将所述会话数据集输入stacking第一层的三个基模型训练,具体为:
所述会话数据集包含训练数据集和测试数据集;
分别搭建XGBoost基模型、CNN基模型和LSTM基模型,分别使用所述训练数据集对所述基模型五折交叉验证,每一步都使用其中的四折数据作为训练数据,一折作为测试数据,得到五份这一折数据的预测数据,并得到对所述测试数据集的预测数据;
分别将所述基模型的五份预测数据组合作为第二层元模型的一份训练数据,同时对所述基模型的测试数据做预测,将得到的预测数据加权平均作为第二层元模型的一份测试数据。
5.根据权利要求4所述的方法,其特征在于,所述搭建XGBoost基模型,包括:
使用随机森林选择特征,并使用网络流量分析和安全监控框架提取特征;
训练XGBoost基模型,若满足预设则得到最终模型;
若否,则调整参数继续训练所述XGBoost基模型。
6.根据权利要求5所述的方法,其特征在于,所述使用随机森林选择特征,并使用网络流量分析和安全监控框架提取特征,包括:
根据TLS指纹信息、会话数据、HTTP头部信息和DNS响应信息四个维度选取特征,其中,所述特征包括其本身以及前后数据包的最大值、最小值、平均值、比值、标准差、方差;
通过使用基于随机森林的特征选择算法进行特征选择;
获取随机森林的所有决策树在预设特征分割时的不纯度和平均值;
通过网络流量分析和安全监控框架工具将pcap文件包转换为流量日志,进行特征提取并对非数值型的特征流量使用One-Hot编码。
7.根据权利要求4所述的方法,其特征在于,所述搭建CNN基模型,包括:
将流量数据进行词向量表示;
提取所述流量中的特征;
通过sigmoid输出CNN基模型的预测结果。
8.根据权利要求4所述的方法,其特征在于,所述搭建LSTM基模型,包括:
所述LSTM基模型包括输入层、隐藏层、输出层,其中所述输入层对数据集划分;
数据通过LSTM基模型完成特征提取后,通过sigmoid输出LSTM基模型的预测结果。
9.一种基于stacking的多特征融合恶意加密流量识别装置,其特征在于,所述装置包括:
获取单元,用于收集并获取加密流量数据集,所述加密流量数据集包括:恶意软件产生的恶意流量和非恶意软件产生的白流量;
处理单元,用于对所述加密流量数据集预处理,得到会话数据集;
输出单元,用于将所述会话数据集输入stacking第一层的三个基模型训练,组合输出训练数据集和预测数据集;
建模单元,用于将所述预测数据集输入stacking第二层的元分类模型训练,直至模型收敛,得到预测结果,建立模型收敛时对应的基于stacking的恶意加密流量识别的模型;所述将所述预测数据集输入stacking第二层的元分类模型训练,包括:基于训练数据训练生成的模型对测试数据进行预测,在第一次交叉验证完成之后,得到当前测试数据的第一预测值;所述模型对数据集原有的测试数据进行预测,为第六预测值;通过五次交叉验证完成后,生成针对测试数据预测的数据第一预测值,第二预测值,第三预测值,第四预测值,第五预测值,第六预测值,第七预测值,第八预测值,第九预测值,第十预测值;将第一预测值,第二预测值,第三预测值,第四预测值,第五预测值拼接为第一拼接值;将第六预测值,第七预测值,第八预测值,第九预测值,第十预测值加权平均为第一加权值;分别根据三个元模型,得到第一拼接值,第二拼接值和第三拼接值作为新的训练数据,第一加权值,第二加权值和第三加权值作为新的测试数据;使用LR元分类器对所述训练数据进行训练;
预测单元,用于将待查流量输入所述基于stacking的恶意加密流量识别的模型,预测所述待查流量是否为恶意流量。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310272918.0A CN116346452B (zh) | 2023-03-17 | 2023-03-17 | 一种基于stacking的多特征融合恶意加密流量识别方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310272918.0A CN116346452B (zh) | 2023-03-17 | 2023-03-17 | 一种基于stacking的多特征融合恶意加密流量识别方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116346452A CN116346452A (zh) | 2023-06-27 |
CN116346452B true CN116346452B (zh) | 2023-12-01 |
Family
ID=86881721
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310272918.0A Active CN116346452B (zh) | 2023-03-17 | 2023-03-17 | 一种基于stacking的多特征融合恶意加密流量识别方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116346452B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117807598A (zh) * | 2024-02-29 | 2024-04-02 | 典基网络科技(上海)有限公司 | 一种恶意软件的检测方法及装置 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110247910A (zh) * | 2019-06-13 | 2019-09-17 | 深信服科技股份有限公司 | 一种异常流量的检测方法、系统及相关组件 |
CN110598774A (zh) * | 2019-09-03 | 2019-12-20 | 中电长城网际安全技术研究院(北京)有限公司 | 加密流量检测方法及装置、计算机可读存储介质、电子设备 |
CN111464485A (zh) * | 2019-01-22 | 2020-07-28 | 北京金睛云华科技有限公司 | 一种加密代理流量检测方法和装置 |
CN113705619A (zh) * | 2021-08-03 | 2021-11-26 | 广州大学 | 一种恶意流量检测方法、系统、计算机及介质 |
CN114172748A (zh) * | 2022-02-10 | 2022-03-11 | 中国矿业大学(北京) | 一种加密恶意流量检测方法 |
CN114697068A (zh) * | 2020-12-31 | 2022-07-01 | 华为技术有限公司 | 一种恶意流量识别方法及相关装置 |
WO2023001059A1 (zh) * | 2021-07-19 | 2023-01-26 | 中国第一汽车股份有限公司 | 检测方法、装置、电子设备及存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110753064B (zh) * | 2019-10-28 | 2021-05-07 | 中国科学技术大学 | 机器学习和规则匹配融合的安全检测系统 |
-
2023
- 2023-03-17 CN CN202310272918.0A patent/CN116346452B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111464485A (zh) * | 2019-01-22 | 2020-07-28 | 北京金睛云华科技有限公司 | 一种加密代理流量检测方法和装置 |
CN110247910A (zh) * | 2019-06-13 | 2019-09-17 | 深信服科技股份有限公司 | 一种异常流量的检测方法、系统及相关组件 |
CN110598774A (zh) * | 2019-09-03 | 2019-12-20 | 中电长城网际安全技术研究院(北京)有限公司 | 加密流量检测方法及装置、计算机可读存储介质、电子设备 |
CN114697068A (zh) * | 2020-12-31 | 2022-07-01 | 华为技术有限公司 | 一种恶意流量识别方法及相关装置 |
WO2022143511A1 (zh) * | 2020-12-31 | 2022-07-07 | 华为技术有限公司 | 一种恶意流量识别方法及相关装置 |
WO2023001059A1 (zh) * | 2021-07-19 | 2023-01-26 | 中国第一汽车股份有限公司 | 检测方法、装置、电子设备及存储介质 |
CN113705619A (zh) * | 2021-08-03 | 2021-11-26 | 广州大学 | 一种恶意流量检测方法、系统、计算机及介质 |
CN114172748A (zh) * | 2022-02-10 | 2022-03-11 | 中国矿业大学(北京) | 一种加密恶意流量检测方法 |
Non-Patent Citations (2)
Title |
---|
基于Stacking 的网络恶意加密流量识别方法;王天棋;通信技术;第55卷(第7期);第2-7页 * |
结合多特征识别的恶意加密流量检测方法;李慧慧;信息安全学报;第6卷(第2期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN116346452A (zh) | 2023-06-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112953924B (zh) | 网络异常流量检测方法、系统、存储介质、终端及应用 | |
JP6994588B2 (ja) | 顔特徴抽出モデル訓練方法、顔特徴抽出方法、装置、機器および記憶媒体 | |
CN113162908B (zh) | 一种基于深度学习的加密流量检测方法及系统 | |
CN113037730B (zh) | 基于多特征学习的网络加密流量分类方法及系统 | |
CN115606162A (zh) | 异常流量检测方法和系统、及计算机存储介质 | |
Kong et al. | Partial disentanglement for domain adaptation | |
CN110751222A (zh) | 基于cnn和lstm的在线加密流量分类方法 | |
CN111711633A (zh) | 多阶段融合的加密流量分类方法 | |
CN116346452B (zh) | 一种基于stacking的多特征融合恶意加密流量识别方法和装置 | |
CN113221104B (zh) | 用户异常行为的检测方法及用户行为重构模型的训练方法 | |
CN113468071A (zh) | 模糊测试用例生成方法、系统、计算机设备及存储介质 | |
CN113554094A (zh) | 网络异常检测方法、装置、电子设备及存储介质 | |
Shettar et al. | Intrusion detection system using MLP and chaotic neural networks | |
Yilmaz et al. | Expansion of cyber attack data from unbalanced datasets using generative techniques | |
CN113660196A (zh) | 一种基于深度学习的网络流量入侵检测方法及装置 | |
Yu et al. | Autoencoder framework based on orthogonal projection constraints improves anomalies detection | |
WO2023134060A1 (zh) | 基于药物分子图像分类的信息推送方法及装置 | |
Magán-Carrión et al. | Improving the reliability of network intrusion detection systems through dataset integration | |
Ren et al. | DUEN: Dynamic ensemble handling class imbalance in network intrusion detection | |
Obasi et al. | CARD-B: A stacked ensemble learning technique for classification of encrypted network traffic | |
Maseer et al. | Meta‐analysis and systematic review for anomaly network intrusion detection systems: Detection methods, dataset, validation methodology, and challenges | |
CN115134176B (zh) | 一种基于不完全监督的暗网加密流量分类方法 | |
Wilson et al. | Using grammatical evolution for evolving intrusion detection rules | |
US11595438B2 (en) | Webpage phishing detection using deep reinforcement learning | |
Ables et al. | Explainable Intrusion Detection Systems Using Competitive Learning Techniques |
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 |