首页 / 专利库 / 电信 / 迭代 / 基于逻辑回归的增强模型的恶意加密流量检测方法

基于逻辑回归的增强模型的恶意加密流量检测方法

阅读:124发布:2021-09-19

专利汇可以提供基于逻辑回归的增强模型的恶意加密流量检测方法专利检索,专利查询,专利分析的服务。并且本 发明 提出了一种基于逻辑回归的增强模型的恶意加密流量检测方法,用于在保证恶意加密流量检测查准率的前提下提高查全率。实现步骤为:获取训练样本集S'和测试样本集X';构建基于逻辑回归的分类器集合H(x);对基于逻辑回归的分类器集合H(x)进行训练;获取恶意加密流量的检测结果。本发明通过优化代价函数,采用多个代价敏感分类器 迭代 的增强模型区分出存在于加密网络流量中的恶意加密流量。用于解决 现有技术 中,由于异常加密流量数据远少于良性加密流量造成的,难以在保证查准率的前提下提升查全率的技术问题。,下面是基于逻辑回归的增强模型的恶意加密流量检测方法专利的具体信息内容。

1.一种基于逻辑回归的增强模型的恶意加密流量检测方法,其特征在于,包括如下步骤:
(1)获取训练样本集S'和测试样本集X':
(1a)获取训练样本集S':
(1a1)将在单位时间U内采集的沙箱环境中恶意代码运行所产生的流量作为恶意流量,采集的局域网用户正常网络活动所产生的流量作为良性流量,并将恶意流量和良性流量中包含有相同的源IP、目的IP、源端口和目的端口的TLS数据包、与TLS数据包具有相同IP的DNS数据包作为流单位,U≥5min;
(1a2)流单位为单位对恶意流量和良性流量分别进行划分,得到M个恶意流和N个良性流,并选取其中的m个恶意流和n个良性流,组成流集合{x1,x2,...,xi,...,xm+n},其中,M≥
2000,N≥60000,m≥200,n≥40000,xi表示第i个流;
(1a3)对每个流xi进行标注,m+n个流的标签组成流单位标签集合{y1,y2,...,yi,...,ym+n},yi表示xi的标签,yi∈{0,1},0表示恶意加密流量,1表示良性加密流量;
(1a4)提取每个流xi的W个协议头特征,并按照由大到小的顺序对W个协议头特征在x1,x2,...,xi,...,xm+n中的出现频率进行排序,将前G个协议头特征作为流量特征集X,X=[x'1,x'2,...,x'i,...,x'm+n],将X与m+n个流的标签y1,y2,...,yi,...,ym+n组成训练样本集S',S'={(x'1,y1),(x'2,y2),...,(x'i,yi),...,(x'm+n,ym+n)},其中,G>100,x'i表示从xi提取的维度为G的特征样本,yi表示x'i的标签;
(1b)获取测试样本集X':
将用户网络活动所产生的流量作为测试流量,并以步骤(1a1)所获取的流单位为单位将测试流量划分成d个流,对每个流提取步骤(1a4)所排序得到的前G个协议头特征作为测试样本集X',X'=[x”1,x”2,...,x”i,...,x”d],其中,x”i表示第i个含有G个协议头特征的特征样本;
(2)构建基于逻辑回归的分类器集合H(x):
(2a)构建包括T个逻辑回归分类器的分类器集合H(x):
H(x)={h1(x),h2(x),...,ht(x),...,hT(x)}   (1)
其中,ht(x)表示第t个逻辑回归分类器,T≥2;
(2b)对第t个逻辑回归分类器的ht(x)的极大似然函数lt(θt)进行优化:
定义代价ωt=[w0t,w1t],其中,w0t表示ht(x)将实际属于0的特征样本分为1所造成的代价,w1t表示ht(x)将实际属于1的特征样本分为0所造成的代价,并通过ωt对ht(x)的极大似然函数为lt(θt)进行优化,得到ht(x)优化后的极大似然函数 其中,lt(θt)和的表达式分别为:
其中,θt表示M+1维的参数向量,θ't表示对θt优化后的参数向量,ht(x)表示x'i的预测值,log(·)表示对数函数, 表示求和函数;
(3)对基于逻辑回归的分类器集合H(x)进行训练:
(3a)初始化t=1,
(3b)将训练样本集S'与ωt=[w0t,w1t]作为基于逻辑回归的分类器集合H(x)中第t个逻辑回归分类器ht(x)的输入,计算ht(x)优化后的极大似然函数 的值η(θ't):
(3c)计算η(θ't)为最小值时的参数向量θ't的值,并将θ't的值作为代价敏感分类器h't(x)的参数,得到代价敏感分类器h't(x);
(3d)通过θ't计算S'中第i个特征样本x'i的预测值ht'(x”i):
T
其中,x”i表示x'i加上一个偏置项x'i0=1的M+1维特征向量,θ't表示θ't的转置;
(3e)采用最大类间方差法确定h't(x)的阈值为λ't,并通过λ't计算代价敏感分类器h't(x)分类误差率εt,然后根据εt取值确定h't(x)参与最终决策的权重αt:
其中, TPRt表示h't(x)识别出的正样本占所有真实正样本的比
例,TNRt表示h't(x)识别出的负样本占所有真实负样本的比例;
(3f)判断t=T是否成立,若是,将T个代价敏感分类器h'1(x),h'2(x),...,h't(x),...,h'T(x)和T个权重α1,α2,...,αt,...,αT进行组合,得到基于逻辑回归分类器的增强模型H'(x),否则,执行步骤(3g),其中, 表示求和函数,sign
(·)表示符号函数;
(3g)令t=t+1,对ωt进行更新,并执行步骤(3b),其中,
表示第t-1个逻辑回归分类器的代价调整系数,
FNt-1表示使用第t-1个逻辑回归分类器被判定为负样本
但实际是正样本的样本数,N表示正样本数,Zt-1表示使各逻辑回归分类器权重和为1的第t-
1个逻辑回归分类器的归一化因子,
(4)获取恶意加密流量的检测结果:
计算增强模型H'(x)的阈值λ”, 并使用增强模型H'(x)和λ”对测试样本
集X'中的每一个特征样本x”i进行分类,得到d个分类结果u1,u2,...,ui,...,ud,ui∈{0,1},
0表示恶意加密流量,1表示良性加密流量,并将ui=0时的x”i作为所检测的恶意加密流量。
2.根据权利要求1所述的基于逻辑回归的增强模型的恶意加密流量检测方法,其特征在于,步骤(1a4)中所述的提取每个流xi的W个协议头特征,实现方法为:
(1a41)将第i个流xi包含的TLS数据包中的SAN数量numSAN、TLS公钥长度lenPKI和DNS数据包中的域名长度lenDOMAIN、域名中数字数量numDOMAIN_NUM、域名中英文字符数量numDOMAIN_ENG、IP数量numIP组成数字型特征LN;
(1a42)将第i个流xi包含的TLS数据包中的TLS版本集合 TLS密码套
件集合 TLS扩展集合
和DNS数据包中的域名后缀集合
TTL值集合 组成集合SET;
(1a43)将SET转换为二进制形式的字段型特征LL,并将LL与LN的拼接结果作为第i个流xi的W个协议头特征,其中,字段型特征LL第g位的值LLg为:
其中,SETg表示集合SET的第g个元素,W=n1+n2+n3+n4+n5+6。
3.根据权利要求1所述的基于逻辑回归的增强模型的恶意加密流量检测方法,其特征在于,步骤(3c)中所述的计算η(θ't)为最小值时的参数向量θ't的值,实现步骤如下:
对步骤(3b)中的公式(4)进行求导:
计算θ'tj:=θ'tj+μ[w0tyi+(w1t-w0t)ht(x'i)yi-w1tht(x'i)]x'j至θ'tj的值收敛,并将该θ'tj的值作为η(θ't)为最小值时的参数向量θ't的值,其中,θ'tj:=f(θ'tj)表示用以θ'tj为变量的函数f(θ'tj)给θ'tj赋值,f(θ'tj)=θ'tj+μ[w0tyi+(w1t-w0t)ht(x'i)yi-w1tht(x'i)]x'j,x'j表示第j个特征样本,θ'tj表示迭代过程中第j个θ值,w0t表示将实际属于正类的样本分为负类所造成的代价,w1t表示将实际属于负类的样本分为正类所造成的代价。
4.根据权利要求1所述的基于逻辑回归的增强模型的恶意加密流量检测方法,其特征在于,步骤(3e)所述的采用最大类间方差法确定h't(x)的阈值为λ't,并通过λ't计算代价敏感分类器h't(x)分类误差率εt,实现步骤如下:
(3e1)定义阈值取值范围的上界λmax, 定义阈值取值范围的下界λmin,
其中, 表示yi=0对应的特征样本x'i的预测值ht'(x”i)中的最大值,
表示yi=0对应的特征样本x'i的预测值ht'(x”i)中的最小值, 表示yi=1对应的特征样本x'i的预测值ht'(x”i)中的最大值, 将yi=1对应的特征样本x'i的预测值ht'(x”i)中的最小值,并以λstep为步长取K个阈值λ1,λ2,...,λk,...,λK,特征样本x'i的预测值ht'(x”i)大于阈值为正类,预测值小于阈值为负类,其中, 表示向上取
整,λk表示第k个阈值;
(3e2)令k=1,计算正类与负类的类间方差σ2k,σ2k=v0k*(u0k-uk)*(u0k-uk)+v1k*(u1k-uk)*(u1k-uk)=v0k*v1k*(u0k-u1k)*(u0k-u1k),其中,v0k表示在阈值λk分割下被分类为良性的样本数量占总测试样本数量的比例,v1k表示在阈值λk分割下被分类为恶意的样本数量占总测试样本数量的比例,u0k表示在阈值λk分割下被分类为良性样本的预测概率均值,u1k表示在阈值λk分割下被分类为恶意样本的预测概率均值,uk表示全体测试样本在阈值λk分割下预测概率的均值,uk=v0k*u0k+v1k*u1k;
2
(3e3)判断k=K是否成立,若是,将对应最大类间方差σk的阈值λk作为第t个逻辑回归分类器的阈值λ't,并执行步骤(3e5),否则,执行步骤(3e4);
(3e4)令k=k+1,使用λk计算正类与负类的类间方差σ2k,并执行步骤(3e3);
(3e5)通过λ't计算代价敏感分类器h't(x)分类误差率εt,计算公式为:
εt=(FNt+FPt)/(TPt+TNt+FNt+FPt)
其中,FNt表示被判为负样本但实际为正样本的样本数,FPt表示被判为正样本但实际是负样本的样本数,TNt表示被判为负样本实际也是负样本的样本数,TPt表示被判为正样本实际也是正样本的样本数。

说明书全文

基于逻辑回归的增强模型的恶意加密流量检测方法

技术领域

[0001] 本发明属于网络空间安全技术领域,涉及一种恶意加密流量检测方法,特别涉及一种基于逻辑回归的增强模型的恶意加密流量检测方法,可用于真实环境流量非平衡条件下恶意加密流量的检测。

背景技术

[0002] 网络环境中恶意攻击频发,导致用户隐私被侵害,造成大量财产损失。恶意攻击往往伴随着恶意流量的产生,通过检测网络中的恶意流量可以及时发现网络中存在的恶意攻击,并采取相应的防御措施。现有的主要检测技术为:1)基于规则的深度包检测技术与内容识别技术;2)采用机器学习方法构建检测模型。
[0003] 随着流量加密技术的不断发展,恶意攻击利用加密技术隐藏了恶意活动流量的明显特征。但深度包检测技术需要先解密流量,对用户隐私有一定的侵犯性,且大大增加了检测的处理时间和难度。
[0004] 目前使用机器学习技术进行恶意加密流量检测在检测的查准率与查全率上更具优势,主要包括三个阶段:1)加密流量采集与预处理;2)特征提取和3)分类器构建。在加密流量采集与预处理阶段,需要捕捉具有权威性的恶意样本的活动进行恶意加密流量的收集。在特征提取阶段,将具有代表性的特征通过特征提取技术从处理后的流量中提取出来。在分类器构建阶段,将特征提取阶段提取的具有代表性的特征输入到分类器中进行训练得到分类模型。目前常用的分类器算法主要包括逻辑回归和支持向量机等。使用分类模型对网络中的流量进行分类,分类结果为恶意的流量即为检测得到的恶意加密流量。
[0005] 但使用机器学习技术进行恶意加密流量检测在处理非平衡数据上有其不足之处。从训练模型的度来说,如果某类的样本数量很少,即使分错了这些极少数正类,但由于所带来的损失较小,当满足停机条件或者达到最大迭代次数之后,模型并没有学习到如何去判别出少数类。另一方面,模型在做出决策时希望能够遵循真实样本总体的样本分布。如果训练样本时不考虑样本的真实分布是不平衡的情况,导致少数类样本很容易被分类为多数类,降低分类的查全率。
[0006] 增强学习对多个分类器进行集成训练,可改进单分类器带来的查全率下降问题。增强模型的工作机制是从训练集用初始权重训练出弱学习器A,根据弱学习器A的学习误差率来更新训练样本的权重,使得之前弱学习器A中学习误差率高的训练样本点权重变高。然后这些误差率高的点在弱学习器B中得到更高的重视,利用调整权重后的训练集来训练弱学习器B。最终将这T个弱学习器通过集合策略进行整合,得到最终的增强学习器。
[0007] 2016年AIsec会议上,Anderson提出并于Proceedings of the 2016ACM Workshop on Artificial Intelligence and Security的35页至46页发表论文“Identifying Encrypted Malware Traffic with Contextual Flow Data”,公开了利用机器学习技术从加密的网络流量中识别出具有恶意行为的网络流量的方法。在不解密数据的前提下,利用数据包头部字段数据结合上下文信息进行异常加密流量检测。对采集的流量分析TLS流、DNS流和HTTP流的不同之处,具体包括未加密的TLS握手信息、DNS响应信息、HTTP头部信息,然后从上述信息中提取特征,并进行归一化处理,随后采用逻辑回归算法训练模型。该方案与仅采用流量统计特征的方法相比,查准率得到进一步提升。但在保证查准率的前提下,查全率的提升效果并不理想。当采用人工调整的平衡数据集时,查准率得到提升但导致查全率的下降,当直接为恶意类设置较高代价时,查全率得到提升但导致查准率的下降。
[0008] 这是由于真实网络环境下的正常加密流量远多于异常加密流量,逻辑回归算法通常是偏向数量占优的类,即偏向将恶意流量判别为良性流量,甚至异常加密流量样本会被视为正常加密流量样本的异常点而被忽略。导致了由数据非平衡造成难以在保证查准率的前提下提升查全率的技术问题。

发明内容

[0009] 本发明的目的在于克服上述现有技术存在的不足,提出了一种基于逻辑回归的增强模型的恶意加密流量检测方法,用于解决现有技术中,由于异常加密流量数据远少于良性加密流量造成的,难以在保证查准率的前提下提升查全率的技术问题。
[0010] 为实现上述目的,本发明采取的技术方案包括如下步骤:
[0011] (1)获取训练样本集S'和测试样本集X':
[0012] (1a)获取训练样本集S':
[0013] (1a1)将在单位时间U内采集的沙箱环境中恶意代码运行所产生的流量作为恶意流量,采集的局域网用户正常网络活动所产生的流量作为良性流量,并将恶意流量和良性流量中包含有相同的源IP、目的IP、源端口和目的端口的TLS数据包、与TLS数据包具有相同IP的DNS数据包作为流单位,U≥5min;
[0014] (1a2)流单位为单位对恶意流量和良性流量分别进行划分,得到M个恶意流和N个良性流,并选取其中的m个恶意流和n个良性流,组成流集合{x1,x2,...,xi,...,xm+n},其中,M≥2000,N≥60000,m≥200,n≥40000,xi表示第i个流;
[0015] (1a3)对每个流xi的进行标注,m+n个流的标签组成流单位标签集合{y1,y2,...,yi,...,ym+n},yi表示xi的标签,yi∈{0,1},0表示恶意加密流量,1表示良性加密流量;
[0016] (1a4)提取每个流xi的W个协议头特征,并按照由大到小的顺序对W个协议头特征在x1,x2,...,xi,...,xm+n中的出现频率进行排序,将前G个协议头特征作为流量特征集X,X=[x'1,x'2,...,x'i,...,x'm+n],将X与m+n个流的标签y1,y2,...,yi,...,ym+n组成训练样本集S',S'={(x'1,y1),(x'2,y2),...,(x'i,yi),...,(x'm+n,ym+n)},其中,G>100,x'i表示从xi提取的维度为G的特征样本,yi表示x'i的标签;
[0017] (1b)获取测试样本集X':
[0018] 将用户网络活动所产生的流量作为测试流量,并以步骤(1a1)所获取的流单位为单位将测试流量划分成d个流,对每个流提取步骤(1a4)所排序得到的前G个协议头特征作为测试样本集X',X'=[x”1,x”2,...,x”i,...,x”d],其中,x”i表示第i个含有G个协议头特征的特征样本;
[0019] (2)构建基于逻辑回归的分类器集合H(x):
[0020] (2a)构建包括T个逻辑回归分类器的分类器集合H(x):
[0021] H(x)={h1(x),h2(x),...,ht(x),...,hT(x)}   (1)
[0022] 其中,ht(x)表示第t个逻辑回归分类器,T≥2;
[0023] (2b)对第t个逻辑回归分类器的ht(x)的极大似然函数lt(θt)进行优化:
[0024] 定义代价ωt=[w0t,w1t],其中,w0t表示ht(x)将实际属于0的特征样本分为1所造成的代价,w1t表示ht(x)将实际属于1的特征样本分为0所造成的代价,并通过ωt对ht(x)的极大似然函数为lt(θt)进行优化,得到ht(x)优化后的极大似然函数 其中,lt(θt)和的表达式分别为:
[0025]
[0026]
[0027] 其中,θt表示M+1维的参数向量,θ't表示对θt优化后的参数向量,ht(x)表示x'i的预测值,log(·)表示对数函数, 表示求和函数;
[0028] (3)对基于逻辑回归的分类器集合H(x)进行训练:
[0029] (3a)初始化t=1,
[0030] (3b)将训练样本集S'与ωt=[w0t,w1t]作为基于逻辑回归的分类器集合H(x)中第t个逻辑回归分类器ht(x)的输入,计算ht(x)优化后的极大似然函数 的值η(θ't):
[0031]
[0032] (3c)计算η(θ't)为最小值时的参数向量θ't的值,并将θ't的值作为代价敏感分类器h't(x)的参数,得到代价敏感分类器h't(x);
[0033] (3d)通过θ't计算S'中第i个特征样本x'i的预测值ht'(x”i):
[0034]
[0035] 其中,x”i表示x'i加上一个偏置项x'i0=1的M+1维特征向量,θ'tT表示θ't的转置;
[0036] (3e)采用最大类间方差法确定h't(x)的阈值为λ't,并通过λ't计算代价敏感分类器h't(x)分类误差率εt,然后根据εt取值确定h't(x)参与最终决策的权重αt:
[0037]
[0038] 其中, TPRt表示h't(x)识别出的正样本占所有真实正样本的比例,TNRt表示h't(x)识别出的负样本占所有真实负样本的比例;
[0039] (3f)判断t=T是否成立,若是,将T个代价敏感分类器h'1(x),h'2(x),...,h't(x),...,h'T(x)和T个权重α1,α2,...,αt,...,αT进行组合,得到基于逻辑回归分类器的增强模型H'(x),否则,执行步骤(3g),其中, 表示求和函数,sign(·)表示符号函数;
[0040] (3 g) 令t =t+ 1 ,对ω t进 行更新 ,并 执行 步骤 (3 b) ,其中 ,表示第t-1个逻辑回归分类器的代价调整系数,
FNt-1表示使用第t-1个逻辑回归分
类器被判定为负样本但实际是正样本的样本数,N表示正样本数,Zt-1表示使各逻辑回归分类器权重和为1的第t-1个逻辑回归分类器的归一化因子,
[0041] (4)获取恶意加密流量的检测结果:
[0042] 计算增强模型H'(x)的阈值λ”, 并使用增强模型H'(x)和λ”对测试样本集X'中的每一个特征样本x”i进行分类,得到d个分类结果u1,u2,...,ui,...,ud,ui∈{0,1},0表示恶意加密流量,1表示正常加密流量,并将ui=0时的x”i作为所检测的恶意加密流量。
[0043] 本发明与现有技术相比,具有如下优点:
[0044] 本发明在检测恶意加密网络流量时,针对真实环境下良性加密流量远多于恶意加密流量的现实问题。提出了一种基于逻辑回归的增强模型的恶意加密流量检测方法,通过优化代价函数,采用多个代价敏感分类器迭代的增强模型对恶意加密流量进行检测,在保证异常加密流量检测查准率的前提下提升了检测的查全率。附图说明
[0045] 图1为本发明的实现流程图

具体实施方式

[0046] 参照图1,本发明包括如下步骤:
[0047] 步骤1)获取训练样本集S'和测试样本集X':
[0048] 步骤1a)获取训练样本集S':
[0049] 步骤1a1)在主机中搭建windows7沙箱环境,并关闭系统安全设置,使用python中threading库与os库编写程序,自动化运行一个病毒程序5分钟,结束后更新沙箱环境并自动运行下一个病毒程序,重复该过程至全部病毒程序运行完成,病毒程序由权威病毒检测机构提供,在沙箱环境网络流量出口处使用scapy库中的监听方法sniff(),监听出口网卡,采集恶意代码活动产生的流量作为恶意流量,搭建局域网,使用监听方法sniff()捕捉经过路由器的出口网卡的用户正常上网流量作为良性流量,使用scapy库中的IP()函数解析TLS数据包和DNS数据包,将恶意流量和良性流量中包含有相同的源IP、目的IP、源端口和目的端口的TLS数据包以及与TLS数据具有包相同IP的DNS数据包作为流单位,流量采集时间单位为5分钟,该时间单位是通过多次实验得出的最佳结果,由于TLS通信的握手阶段在5分钟之内可以完成,过长的采集时间会导致资源浪费,过短的采集时间会导致握手信息收集不完整不能用做流量样本;
[0050] 步骤1a2)流单位为单位对恶意流量和良性流量分别进行划分,得到4000个恶意流和60000个良性流,并选取其中的2000个恶意流和40000个良性流,组成流集合{x1,x2,...,xi,...,x42000},由于真实环境下良性加密流量远多于恶意加密流量,因此在组成流集合时,使用的良性流远大于恶意流,本实例中选取的流数量是通过多次实验得出的结果,数量过少会因信息不足导致模型的泛化能不足,容易产生过拟合现象导致模型的分类能力较弱;
[0051] 步骤1a3)为恶意流添加0标签,为良性流添加1标签;
[0052] 步骤1a4)使用scapy库中的TLS()函数以及DNS()函数解析TLS数据包和DNS数据包,提取TLS数据包头部的SAN数量numSAN、TLS公钥长度lenPKI,、2个TLS版本特征、364个TLS密码套件特征、57个TLS扩展特征,提取DNS数据包头部的域名长度lenDOMAIN、域名中数字数量numDOMAIN_NUM、域名中英文字符数量numDOMAIN_ENG、IP数量numIP、69个域名后缀特征、33个TTL值特征,numSAN、numDOMAIN_NUM、lenPKI、lenDOMAIN、numDOMAIN_ENG、numIP在特征向量对应位置用数值表示,其余特征若存在于数据包中则将特征向量对应位置标1,否则标0,并按照由大到小的顺序对531个协议头特征在流中出现频率进行排序,将前150个协议头特征作为流量特征集X,X=[x'1,x'2,...,x'i,...,x'm+n],将X与m+n个流的标签y1,y2,...,yi,...,ym+n组成训练样本集S',S'={(x'1,y1),(x'2,y2),...,(x'i,yi),...,(x'm+n,ym+n)},其中,yi表示x'i的标签,yi∈{0,1},0表示恶意加密流量,1表示正常加密流量,并采用MIN-MAX标准化方法进行归一化处理,进行归一化处理提升模型的收敛速度,以及提升模型的查准率,找到区分恶意加密流量与良性加密流量的性能显著的特征向量子集,通过特征选择降低样本维数降低学习的难度,避免过多特征维度造成模型的过拟合现象增加计算复杂度;
[0053] 步骤1b)获取测试样本集X':
[0054] 使用监听方法sniff()捕捉经过路由器的出口网卡的用户上网流量作为测试流量,并以步骤(1a1)所获取的流单位为单位将测试流量划分500个流,对每个流提取步骤(1a4)所排序得到的前150个协议头特征作为测试样本集X',X'=[x”1,x”2,...,x”i,...,x”d];
[0055] 步骤2)构建基于逻辑回归的分类器集合H(x):
[0056] 步骤2a)利用前面筛选完的特征,构建包括T个逻辑回归分类器的分类器集合H(x),
[0057] H(x)={h1(x),h2(x),...,ht(x),...,hT(x)}   (1)
[0058] ht(x)表示第t个逻辑回归分类器,本实施例中T取50,T的选值是通过多次实验得出的最佳结果;
[0059] 步骤2b)定义代价ωt=[w0t,w1t],对第t个逻辑回归分类器ht(x)的极大似然函数进行改进,将lt(θt)修改
[0060]
[0061] 其中,w0t表示ht(x)将实际属于0的特征样本分为1所造成的代价,w1t表示ht(x)将实际属于1的特征样本分为0所造成的代价,θt表示M+1维的参数向量,θ't表示对θt优化后的参数向量,ht(x)表示x'i的预测值,log(·)表示对数函数, 表示求和函数,ωt通过训练不断的迭代优化至50次迭代结束,代价ωt=[w0t,w1t]放大了将恶意加密流量判错为良性加密流量的代价,针对真实环境下良性加密流量远多于恶意加密流量的现实问题,在保证查准率的前提下,提高恶意加密流量检测的查全率,解决了由数据非平衡带来的技术问题;
[0062] 步骤3)对基于逻辑回归的分类器集合H(x)进行训练:
[0063] 步骤3a)初始化t=1, 该代价 是通过多次实验得出的最佳结果,初始代价w0t与w1t之比过小或过大会导致后续迭代收敛较慢,延长迭代时间浪费资源;
[0064] 步骤3b)将训练样本集S'与ωt=[w0t,w1t]作为基于逻辑回归的分类器集合H(x)中第t个逻辑回归分类器ht(x)的输入,计算ht(x)优化后的极大似然函数 的值η(θ't):
[0065]
[0066] 步骤3c)对步骤(3b)中的公式(4)进行求导:
[0067]
[0068] 对θ'tj:=θ'tj+μ[w0tyi+(w1t-w0t)ht(x'i)yi-w1tht(x'i)]x'j进行多次计算至θ'tj收敛,得到参数向量θ't=θ'tj,其中,x'j表示第j个特征样本,θ'tj表示迭代过程中第j个θ值,w0t表示将实际属于正类的样本分为负类所造成的代价,w1t表示将实际属于负类的样本分为正类所造成的代价;
[0069] 步骤3d)通过θ't计算S'中第i个特征样本x'i的预测值ht'(x”i):
[0070]
[0071] 其中,x”i表示x'i加上一个偏置项x'i0=1的M+1维特征向量,θ'tT表示θ't的转置;
[0072] 步骤3e)采用最大类间方差法确定h't(x)的阈值为λ't,避免了因偶然性导致阈值与真实概率分割阈值不符,缩小阈值的可取值范围,提高了确定阈值搜索效率,更快定位合适阈值解决分类模型阈值定义不准导致样本被错误分类问题;
[0073] 步骤3e1)将训练集中恶意样本得到的最大预测值与良性样本得到的最大预测值相加取均值λmax,将恶意样本得到的最小预测值与良性样本得到的最小预测值相加取均值λmin,λmax、λmin为阈值取值范围的上界与下界,根据定义在阈值取值范围内的取值步长λstep共取K个阈值λ1,λ2,...,λk,...,λK,使用阈值判断样本正负类,预测值大于阈值为正类,预测值小于阈值为负类,其中, 表示向上取整,λk表示第k个阈值;
[0074] 步骤3e2)令k=1,以λk为阈值,计算正类与负类的类间方差σ2k,σ2k=v0k*(u0k-uk)*(u0k-uk)+v1k*(u1k-uk)*(u1k-uk)=v0k*v1k*(u0k-u1k)*(u0k-u1k),其中,v0k表示在阈值分割下被分类为良性的样本数量占总测试样本数量的比例,v1k表示在阈值分割下被分类为恶意的样本数量占总测试样本数量的比例,u0k表示在阈值分割下被分类为良性样本的预测概率均值,u1k表示在阈值分割下被分类为恶意样本的预测概率均值,uk表示全体测试样本预测概率的均值,uk=v0k*u0k+v1k*u1k,
[0075] 方差用于判断数据的稳定性,方差越大,数据的波动越大;方差越小,数据的波动就越小,因此,方差可以用于判断两个类别是否有明显区别,方差越大说明两个类别的区别更明显,
[0076] 类间方差如果越大,就说明两个类别样本的预测概率差别越大,当部分良性加密流量样本被错分为恶意加密流量样本或部分恶意加密流量样本被错分为良性加密流量样本,都会导致两部分差别变小,当所取阈值的分割使类间方差最大时就意味着错分概率最小,因此,可以认为良性加密流量样本的预测概率和恶意加密流量样本的预测概率差异最大,此时定义的阈值是最佳阈值;
[0077] 步骤3e3)判断k=K是否成立,若是,对应最大类间方差的阈值λk作为第t个逻辑回归分类器的阈值λ't,否则,执行步骤(3e4);
[0078] 本实例通过比较得到的所有类间方差值,得到最大类间方差值,并使用该最大类间方差值对应的阈值作为分类良性流量类与恶意流量类的分割阈值,即样本的预测概率大于该阈值分为恶意样本类,样本的预测概率小于该阈值分为良性样本类,在使用该阈值时错分概率最小;
[0079] 步骤3e4)令k=k+1,以λk为阈值,计算正类与负类的类间方差,并执行步骤(3e3);
[0080] 步骤3e5)通过λ't计算代价敏感分类器h't(x)分类误差率εt,εt=(FNt+FPt)/(TPt+TNt+FNt+FPt),其中,FNt表示被判为负样本但实际为正样本的样本数,FPt表示被判为正样本但实际是负样本的样本数,TNt表示被判为负样本实际也是负样本的样本数,TPt表示被判为正样本实际也是正样本的样本数;
[0081] 本实例中,根据εt取值确定h't(x)参与最终决策的权重αt:
[0082]
[0083] 其中, TPRt表示h't(x)识别出的正样本占所有真实正样本的比例,TNRt表示h't(x)识别出的负样本占所有真实负样本的比例;
[0084] 分类误差率若大于0.5,则说明分类器没有任何效果,将该分类器参与最终决策的权重定义为0,若分类误差率若小于0.5,则说明分类器分类效果合格,进一步计算αt的值,由于真实样本存在数据非平衡的问题,所以在考虑模型参与最终决策的权重问题时,不单要考虑分类误差率,还应考虑GMeant的值,使得分类误差率低且对非平衡数据集有更好分类效果的模型得到更大参与最终决策的权重,从而得到在真实非平衡加密流量数据集中分类效果更好的分类模型,在保证查准率的前提下,提高恶意加密流量检测的查全率;
[0085] 步骤3f)判断t=T是否成立,若是,将T个代价敏感分类器h'1(x),h'2(x),...,h't(x),...,h'T(x)和T个权重α1,α2,...,αt,...,αT进行组合,得到基于逻辑回归分类器的增强模型H'(x),否则,执行步骤(3g),其中, 表示求和函数;
[0086] 本实例中,采用上述计算公式,将代价敏感分类器与参与最终决策的权重对应结合,根据不同代价敏感分类器对真实非平衡加密流量分类的分类效果,效果更好的代价敏感分类器得到更大的权重,得到在真实非平衡加密流量数据集中分类效果更好的增强模型H'(x);
[0087] 步骤3g)令t=t+1,重新计算代价ωt,使容易被分类错误的恶意加密流量的代价增加,良性加密流量的代价减小,使分类器会更关注检测容易被错分类的恶意加密流量,并执行步骤(3b),其中, 表示第t-1个逻辑回归分类器的代价调整系数, FNt-1表示使用第
t-1个逻辑回归分类器被判定为负样本但实际是正样本的样本数,N表示正样本数,Zt-1表示使各逻辑回归分类器权重和为1的第t-1个逻辑回归分类器的归一化因子,
[0088] 本实例中,根据定义的计算方式计算代价调整系数,通过定义μt-1,使模型更关注被错分为良性加密流量的恶意加密流量样本,通过给本轮迭代过程的类别权重分别乘上相应的调整系数,降低或增加相应类别的权重,并将该更新后的权重用于下一轮迭代过程,得到趋于优化的适应于现实非平衡加密流量样本的分类模型;
[0089] 步骤4)获取恶意加密流量的检测结果:
[0090] 计算增强模型H'(x)的阈值λ”, 并使用增强模型H'(x)和λ”对测试样本集X'中的500个特征样本x”i进行分类,得到500个分类结果u1,u2,...,ui,...,ud,ui∈{0,1},0表示恶意加密流量,1表示正常加密流量,并将ui=0时的x”i作为所检测的恶意加密流量。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈