一种软投票策略的加密恶意流量检测方法

文档序号:30829607发布日期:2022-07-22 20:30阅读:156来源:国知局
一种软投票策略的加密恶意流量检测方法

1.本发明属于数据识别中的加密恶意流量检测领域,尤其涉及一种软投票策略的多模型加权投票(swvc)加密恶意流量检测方法。


背景技术:

2.近年来,网络已经普及到生活中的方方面面,而网络攻击也在急速增长,例如数据泄露、挖矿病毒等安全事件频发。为了保护用户隐私和上网的安全性,许多站点和应用都对自己的通信采取加密措施。现在,已经有一半的流量都采用tls(transport layer security)加密协议来加密通信。然而加密技术是一把双刃剑,在合法流量加密的同时,携带蠕虫、木马的恶意软件也采用tls加密协议来伪装攻击行为,进而侵入主机,产生恶意行为。
3.若没有解密技术,就无法得知流量内包含的信息。但解密技术硬件开销大,成本高,不符合保护用户上网隐私的初衷。由于近年来计算机技术的飞速发展,计算机的计算能力有了显著提升,机器学习和深度学习技术也日趋成熟,国内外许多学者开始研究使用机器学习或深度学习的方法来检测网络中的加密流量。例如,思科研究tls握手的过程,结合机器学习建立了一套tls加密恶意流量检测系统。还有学者研究基于时序的lstm神经网络来解决此类问题。
4.过去常用基于深度包检测和解密的方法,一方面,这两种方法解析的是数据包底层信息,侵犯了用户的上网隐私,另一方面,该方法也存在误报率高的问题,给网络安全从业人员带来了诸多麻烦。如今,基于机器学习的加密恶意流量检测方法已经成为主流研究方法,但是,加密流量检测存在以下问题:(1)加密流量特征类别多样,单一模型不适应于处理多元异构的特征;(2)加密恶意流量检测误报率高。


技术实现要素:

5.针对现有技术存在的不足和缺陷,本发明提供了一种加密恶意流量检测方法,旨在检测过程中综合考虑流级特征、连接特征、tls握手特征和x.509证书特征,结合软投票策略解决以上问题。
6.本发明的技术路线是在不解密tls加密协议的情况下,提取流级特征、连接特征、tls握手特征和x.509证书特征来检测混合流量中的tls加密恶意流量。技术思路是获取完整的pcap流量包,对数据包进行特征提取,按照特征类别组合成2个特征子集,对这2个特征子集分别进行标准化和编码处理,处理后的特征子集进行特征降维和多特征融合,构建样本集;建立5个投票器模型,使用控制变量法或网格搜索法调节模型参数,使用层次分析法确定每个投票器的权重,构成权重矩阵;根据软投票策略和权重矩阵组合5个投票器模型构成swvc检测模型;将训练集输入swvc检测模型,训练模型;利用测试集检验训练完成的swvc检测模型,使用准确率、f1分数和误报率来评估模型性能。
7.根据以上实验思路,实现本发明目的的技术方案包括以下步骤:
8.首先,捕获原始的流量包:
9.在特定的环境下执行恶意程序,捕获恶意软件运行过程中所产生的恶意流量,得到原始的恶意流量包;捕获网络正常情况下产生的流量,得到原始的良性流量包;
10.进一步地,数据预处理,将流量包中ip校验和无效的流量过滤,得到纯净的恶意流量包和良性流量包;
11.进一步地,解析流量包,进行特征提取,得到流级特征、连接特征、tls握手特征和x.509证书特征,其中,tls握手特征由client hello和server hello两部分组成,采用流指纹组合每条流的不同特征;
12.进一步地,将流级特征和连接特征通过流指纹进行融合,构成流特征子集;将tls握手特征和x.509证书特征通过流指纹进行融合,构成tls特征子集;将流特征子集进行标准化,得到标准流特征子集,将tls特征子集进行one-hot编码,得到稀疏tls特征子集;
13.进一步地,采用特征重要性评估法,对标准流特征子集的每一个维度的特征进行重要性评估,选取特征重要性大于0.01的特征作为降维后的流特征子集x1;采用主成分分析法(pca)设置累计最大特征贡献率ε≥90%,对稀疏tls特征子集进行特征降维,得到降维后的tls特征子集x2;
14.进一步地,通过流指纹将两个降维后的特征子集x1,x2进行特征融合,添加一个tls流的标注特征,得到特征集x,特征集x与标签值y构成样本集,并将样本集划分为训练集和测试集;
15.进一步地,建立决策树分类器、k近邻分类器、高斯朴素贝叶斯分类器、极限随机树分类器和gbdt分类器5个投票器模型,采用网格搜索法或控制变量法调节投票器参数;采用层次分析法构建判断矩阵,进而得到5个投票器各自的权重ωi,进而得到权重矩阵ω=[ω1,ω2,ω3,ω4,ω5];
[0016]
进一步地,根据软投票策略,将5个投票器按权重矩阵ω组合,构成swvc检测模型;
[0017]
进一步地,将训练集输入swvc检测模型,训练模型;将测试集输入训练完成的swvc检测模型进行预测,并使用准确率、f1分数和误报率评估swvc检测模型性能,其中f1分数是精确率和召回率的调和平均数,精确率和召回率同等重要,权重均为1。
[0018]
本发明相比现有技术的有益效果为:
[0019]
1.针对样本中的tls加密流量添加了一个4维tls版本号特征,能够在使用单标签的情况下准确的检测出恶意/良性流量中的tls加密流量,有利于网络流量分析员精准的定位检测到的tls加密恶意流量,进而提高响应速度;
[0020]
2.根据特征工程的原理和处理方式,对流量包进行特征提取、特征子集构建、特征子集标准化和编码以及多特征融合,大大提高了投票器模型的训练效果,进而提高了检测的准确率;
[0021]
3.采用异构的机器学习模型作为投票器,能够减少swvc检测模型对数据的倾向性和偏差,进而防止检测模型训练过拟合,提高检测模型的泛化能力。
附图说明
[0022]
为了更清楚的表述本发明的技术方案,下面对本发明需要使用的附图进行简要介绍,如下所述附图仅为展示本发明的实施方式,而并不是对本发明的限制。
[0023]
图1为本发明实施例提出的一种软投票策略的加密恶意流量检测方法的流程图;
[0024]
图2为本发明实施例提出的一种软投票策略的加密恶意流量检测方法的设计图;
[0025]
图3为本发明实施例提出的swvc检测模型的原理图。
具体实施方式
[0026]
如图1-3所示,本发明实施例提供的一种软投票策略的加密恶意流量检测方法,检测模型设计过程为:捕获原始的流量包,进行数据预处理后得到恶意流量包和良性流量包,并打上恶意/良性标签,对预处理后的流量包进行特征提取,进而构建特征子集、特征子集标准化和编码、特征子集降维,将降维后的特征子集组合后,添加tls流标注特征,构成样本集;建立投票器模型,采用控制变量法或网格寻优法调节投票器参数,采用层次分析法确定投票器权重,并构成权重矩阵;通过软投票策略将5个投票器模型和对应的权重矩阵加权组合,构成swvc检测模型;训练并测试swvc检测模型;
[0027]
如图1所示,一种加密恶意流量检测方法,包含以下步骤:
[0028]
步骤1,捕获pcap流量包,构建原始数据集。利用wireshark工具捕获真实网络环境下的pcap流量包,获取7种恶意软件在运行期间产生的流量,构成恶意流量包;捕获正常情况下的良性流量,构成良性流量包;所述7种恶意软件为yakes、conficker、cridex、dridex、sality、razy和trickbot;
[0029]
步骤2,数据预处理。利用机器学习来进行加密流量检测,真实有效的数据更有利于发挥机器学习模型的作用,而且真实的网络环境所产生的流量包含加密流量和非加密流量;因此,将流量包中ip校验和无效的流量过滤,得到包含653633条流量的恶意流量包(含35552条tls加密流量)和含314733条流量良性流量包(含51703条tls加密流量),并对两个流量包分别打上恶意/良性标签,恶意流量样本标签为-1,良性流量样本标签为1,构成样本集的标签y;
[0030]
步骤3,解析流量包,提取流级特征,连接特征,tls握手特征和x.509证书特征。
[0031]
特征工程对tls加密恶意流量检测有重要作用,tls加密协议在建立连接过程中很多信息是明文传输的,而这些信息从统计学的角度,对于加密流量的恶意和良性识别来说具有很高的区分度;同样的,流量的行为和连接特性能反映出流的底层行为,也具有较高的区分度;
[0032]
利用zeek工具对流量包进行特征提取,所提取的特征包括:流级特征,包括流的特征和到达过程;连接特征,包括跟踪tcp/udp建立连接的过程;tls握手特征,包括client hello开始到client hello done结束以及server hello开始到server hello done结束两个过程所产生的明文信息;x.509证书特征,包括tls的证书校验过程;所述流级特征,连接特征,tls握手特征和x.509证书特征分别存放在4个日志文件中,采用流指纹组合每条流在不同日志中的所有特征;
[0033]
步骤4,构建特征子集并进行标准化和编码。将数值类型的流级特征和连接特征通过流指纹融合,得到流特征子集;将文本类型的tls握手特征和x.509证书特征通过流指纹融合,得到tls特征子集;对流特征子集进行标准化处理后,得到标准流特征子集,对tls特征子集采用one-hot编码后,得到稀疏tls特征子集;
[0034]
步骤5,特征子集降维。使用随机森林特征重要性评估器来对标准流特征集的每一
维特征进行特征重要性评估,取特征重要性大于0.01的28维特征作为降维后的流特征子集x1;
[0035]
采用主成分分析法对稀疏tls特征子集进行降维,设置累计最大特征重要性贡献率ε≥90%的指标进行特征降维,得到降维后的120维tls特征子集x2;
[0036]
步骤6,特征子集组合,构建样本集。将步骤5中降维后的流特征子集x1和tls特征子集x2通过流指纹进行特征组合;将tls握手特征中的tls版本号作为每条tls加密流的数据标识,对tls版本号进行编码后得到4个维度的特征,用于表示tls加密协议的4个版本号ssl3.0/tls1.0/tls1.1/tls1.2,将该数据标注特征与组合后的特征子集通过流指纹拼接,得到153个维度的特征集x;
[0037]
特征集x和标签y构成样本集t,将样本集打乱后,按照7:3的比例将样本集划分为训练集和测试集,其中训练集和测试集中恶意流量和良性流量的比例与预处理后的数据集比例保持一致;
[0038]
步骤7,建立投票器模型,调节投票器模型参数,确定投票器模型权重。建立决策树分类器模型,采用控制变量法得到决策树分类器树的最大深度为20;建立k近邻分类器模型,设置k值为5;建立高斯朴素贝叶斯分类器模型,设置极大似然法计算先验概率;建立极限随机树分类器模型,采用控制变量法,设置迭代器的个数为110,迭代器最大树的深度为20;建立gbdt分类器模型,采用网格搜索法,设置迭代器个数为100,学习速率0.3,树的最大深度20;
[0039]
采用层次分析法,建立判断矩阵,如表1所示,计算得决策树分类器、k近邻分类器、高斯朴素贝叶斯分类器、极限随机树分类器和gbdt分类器的权重ω1,ω2,ω3,ω4,ω5,5个投票器模型的权重构成的权重矩阵ω=[0.2491,0.1243,0.0501,0.3293,0.2472],并通过一致性检验;
[0040]
表1:5个投票器的判断矩阵
[0041][0042]
步骤8,组合投票器模型,构成swvc检测模型。根据软投票策略,将5个投票器模型按权重矩阵ω加权组合,构成swvc检测模型;该模型的训练机制为:每一个投票器模型独立的训练所有样本,训练后为每一个样本输出两个预测的概率值,一个预测概率值是样本xi为恶意流量的概率ω
i1
,另一个预测概率值是样本xi为良性流量的概率ω
i2
,最后通过软投票策略,将5个分类器的预测概率值与这5个投票器的权重矩阵加权求和,得到每个样本为恶意流量的概率ω-1
和为良性流量的概率ω
+1
,其中
[0043]
[0044][0045]
对比两个概率值,若ω-1
大于ω
+1
,则svwc检测模型对样本xi的预测结果为恶意流量,反之则为良性流量;
[0046]
步骤9,训练模型,检验模型性能。将训练集输入swvc检测模型进行训练,将测试集输入训练完成的swvc检测模型进行检验,采用准确率,f1分数和误报率来评价swvc模型性能,如表2所示,其中,误报的tls加密恶意样本数量为2例;f1分数是精确率和召回率的调和平均数,精确率和召回率同等重要,权重均为1,f1分数越高,反映分类效果越好;
[0047][0048]
其中,fp表示错误识别为恶意样本的良性样本,tn表示正确识别为恶意样本的恶意样本。
[0049]
表2:swvc模型性能
[0050][0051]
综上所述,本发明的一种软投票策略的加密恶意流量检测方法,所提出的swvc检测模型达到了99.86%的分类准确性,反映了该检测模型具有良好的检测效果;第二,所提出的swvc检测模型达到了99.88%的f1分数,反映了该检测模型的精确率和召回率达到了较高的调和平均数,进而说明该检测模型具有较好的二分类效果;第三,整体误报率低于0.1%,其中误报的tls加密恶意样本数量2例,反映了本发明所提出的swvc检测模型对tls加密恶意流量检出率高,大大减轻了网络流量分析人员的工作量。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1