一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于双域VAE的零日多步威胁识别方法与流程

2021-10-24 06:58:00 来源:中国专利 TAG:识别 威胁 方法 编码器 联网

一种基于双域vae的零日多步威胁识别方法
技术领域
1.本发明涉及物联网多步攻击检测领域,尤其涉及一种基于双域变分自编码器(variational auto

encoder,vae)的零日多步威胁识别方法。


背景技术:

2.随着人工智能、大数据以及5g等新技术的发展,物联网(internet of things,iot)信息时代已经到来。作为物联网的重要组成部分,智能家居存在着大量的物联网设备,这些设备常常被部署在物联网的边缘端,与人们的日常生活息息相关。一旦这些设备被攻击或入侵,会带来严重的隐私泄露以及人身安全问题。当前,物联网设备存在的主要安全风险包括mirai僵尸网络、分布式拒绝服务(distributed denial of service,ddos)、拒绝服务(denial of service,dos)、干扰、欺骗、中间人(man

in

the

middle,mitm)攻击、隐私泄漏等。其中,造成这些设备容易受到攻击的主要原因是其有限的计算资源和长久不更新的设备固件。
3.为了保护物联网设备,入侵检测系统(intrusion detection system,ids)常常被部署去检测网络威胁。传统的ids主要采用防火墙,密码学等技术,但是这些技术的部署需要占据大量的计算资源,在传统网络中是适用的,针对资源受限的物联网环境来说存在一定的挑战。另外,这些传统的ids通过预定义的规则和专家经验来建立网络的入站规则,对于经常超出规则和协议行为的物联网来说难以适用,因为物联网环境的复杂和动态性。
4.近年来,人工智能技术的快速发展为其提供了一个很好的解决方案,它能够有效的识别物联网的异常事件,并且在单步攻击检测方面取得了极大的成功。然而,现实世界的网络攻击通常是精心策划的多步攻击,这些攻击往往是未知的,即所谓的零日多步威胁。现有的基于人工智能的物联网ids利用大量已知威胁样本进行训练学习,从而建立一个具有攻击识别能力的智能ids。但是该ids仅限于识别已知威胁或相类似的威胁,难以对未知的零日多步威胁进行有效的判断,这带来了全新的挑战。因此,设计一种能够同时识别已知多步威胁和未知多步威胁的物联网设备保护系统具有重要的意义。


技术实现要素:

5.为了克服零日多步威胁检测问题,本发明提出一种基于双域vae的零日多步威胁识别方法,基于vae的网络攻击防御模型,利用监督学习技术,实现基本的已知多步威胁检测,再利用vae的双域,即重构域和潜域,实现零日多步威胁的识别。
6.为了实现上述目标,本发明提供如下的技术方案:
7.一种基于双域vae的零日多步威胁识别方法,所述方法包括以下步骤:
8.(1)搭建智能家居平台,并进行多步攻击实验来收集网络攻击流量数据;
9.(2)对收集的实验数据和公开可用的多步攻击数据集分别进行特征提取和数据预处理工作;
10.(3)搭建基于vae的网络模型,通过双域损失对公开的多步攻击数据集进行训练;
11.(4)设计一种双域防御策略并且将收集的实验数据作为零日多步威胁进行验证测试,实现零日威胁的识别;
12.(5)搭建一个深度神经网络(dnn)分类器,利用多分类交叉熵损失对已知的多步威胁进行监督训练,实现已知多步威胁检测。
13.所述步骤(1)中,多步攻击实验数据收集的步骤如下:
14.步骤101,将树莓派作为智能家居网关,配置wi

fi热点并开启,并将天猫精灵,智能插座,智能灯泡等智能设备进行网络接入;
15.步骤102,利用一台装有kali系统的笔记本作为攻击设备,并通过多步攻击脚本进行攻击,攻击脚本主要包括dos和mitm多步攻击;
16.步骤103,在网关处利用tcpdump工具记录网络流量和日志,并将流量保存为pcap格式文件。
17.所述步骤(2)中,对公开可用的darpa

2000(ddos)多步攻击数据和在步骤(1)中实验收集的dos,mitm多步攻击数据集进行特征提取和预处理工作,过程如下:
18.步骤201,利用t

shark工具将网络协议包头特征进行提取,并保存为csv文件;
19.步骤202,对特征数据进行预处理,包括缺失值补“0”,字符编码,归一化处理。
20.所述步骤(3)中,利用vae的重构域和潜域损失对经过步骤(2)之后的多步攻击数据集训练,vae的训练目标是从原始流量特征x中重建流量特征时误差更小,其潜在向量z的分布接近于高斯分布其中,vae由编码器q和解码器p组成,流量特征x由编码器编码为潜在向量z,对于输入的流量特征x
i
={x1,x2,...x
n
}.其数据分布为p(x)。
21.进一步,步骤(3)中的vae训练过程如下:
22.步骤301,定义生成模型vae为:
23.p(x,z)=p(x|z)p(z),
24.其中z为潜在向量,p(
·
)是概率密度;
25.步骤302,基于vae模型定义的基础上,vae的损失函数被定义为
[0026][0027]
其中,p
data
表示真实的数据分布,θ表示网络参数;
[0028]
步骤303,令q(z|x)表示辅助分布来近似真实潜码分布p(z|x),损失函数的变分推导过程为:
[0029][0030]
其中p(z)表示表示潜在向量z的先验分布,kl(
·
)代表kl散度,q(z|x)可以通过q编码器计算,p(x|z)可以通过p解码器计算。根据kl(q(z|x)||p(z|x))的非负性,得到log(p(x))的下界损失为
[0031]
所述步骤(4)中,根据步骤(3)中的vae训练,我们进一步设计一个双域防御策略并
且将步骤(1)中收集的实验数据作为零日多步威胁进行验证测试。未知样本的重构域损失与潜域损失相结合,以进一步有效地区分零日多步威胁,过程如下:
[0032]
步骤401,我们令logp(x|z)为重构域,kl(q(z|x)||p(z|x))为潜域;
[0033]
步骤402,对于未知样本,由于其未被训练,其重构域损失不一定收敛且潜域特性不一定特别接近于高斯分布,因此利用一种相似度(sim.)方法来区分未知样本,其方法定义如下:
[0034][0035]
其中λ表示权重,表示重构域异常概率,表示潜域异常概率,j1,j2表示相应的特征维度和潜码维度;
[0036]
步骤403,p
r
(x
new
)被表示为:
[0037][0038][0039]
其中表示已知样本的平均重构误差,提供新样本x
new
和已知样本重构域误差间的差异;
[0040]
步骤404,被表示为:
[0041][0042][0043]
其中表示用kl度量方法度量已知样本分布和未知样本分布间的差异,表示已知样本的正态高斯分布的平均kl度量,由下式计算:
[0044][0045]
其中表示正编码器q的输出分布;
[0046]
步骤405,通过计算分数的平均相似度,并将其和阈值γ比较,可判断当前攻击是否为零日攻击;
[0047]
步骤406,通过相似度比对,加入该攻击为零日异常,则调查人员展开调查。
[0048]
所述步骤(5)中,根据步骤(4),假如一个多步攻击被识别为已知威胁,则通过dnn分类器实现已知威胁检测包括以下过程:
[0049]
步骤501,将vae的潜域向量z与原始向量x进行合并,输入到分类模型dnn中;
[0050]
步骤502,使用多分类交叉熵损失进行优化,其原理如下:
[0051][0052]
其中y
i
表示真实标签,p
i
表示类别预测概率;
[0053]
步骤503,对已知威胁进行识别,推断出具体的威胁类型,并发出系统警报。
[0054]
本发明的技术构思是:通过搭建家居平台收集多步攻击网络流量数据,将收集的
流量数据文件和公开可用的多步攻击数据提取特征,随后搭建基于vae的网络攻击防御模型,设计一种双域vae的零日多步攻击检测策略,实现零日威胁的识别,最后利用dnn分类器进行监督学习训练,实现已知多步威胁的检测。
[0055]
本发明的有益效果主要表现在:本发明利用vae的重构域和潜域实现零日威胁的预测和检测功能;所提出的方法能够适应资源受限的物联网环境且不依赖与昂贵的ids软件;最后该方面还能有效的识别已知的多步攻击威胁。
附图说明
[0056]
图1是搭建的智能家居平台;
[0057]
图2为选取的流量特征;
[0058]
图3是一种基于双域vae的零日多步威胁识别方法的流程图。
具体实施方式
[0059]
为了能够更清楚地描述本发明的技术内容,下面结合具体事例来进行进一步的描述。
[0060]
参照图1~图3,一种基于双域vae的零日多步威胁识别方法,基于vae的网络攻击防御模型,利用监督学习技术,实现基本的已知多步威胁检测,再利用vae的双域,即重构域和潜域,实现零日多步威胁的识别。
[0061]
一种基于双域vae的零日多步威胁识别方法,所述方法包括以下步骤:
[0062]
(1)搭建智能家居平台,并进行多步攻击实验来收集网络攻击流量数据;
[0063]
所述步骤(1)中,多步攻击实验数据收集的步骤如下:
[0064]
步骤101,将树莓派作为智能家居网关,配置wi

fi热点并开启,并将天猫精灵,智能插座,智能灯泡等智能设备进行网络接入;
[0065]
步骤102,利用一台装有kali系统的笔记本作为攻击设备,并通过多步攻击脚本进行攻击,攻击脚本主要包括dos和mitm多步攻击;
[0066]
步骤103,在网关处利用tcpdump工具记录网络流量和日志,并将流量保存为pcap格式文件;
[0067]
(2)对收集的实验数据和公开可用的多步攻击数据集分别进行特征提取和数据预处理工作;
[0068]
所述步骤(2)中,对公开可用的darpa

2000(ddos)多步攻击数据和在步骤(1)中实验收集的dos,mitm多步攻击数据集进行特征提取和预处理工作,过程如下:
[0069]
步骤201,利用t

shark工具将网络协议包头特征进行提取,并保存为csv文件;
[0070]
步骤202,对特征数据进行预处理,包括缺失值补“0”,字符编码,归一化处理。
[0071]
所述步骤(3)中,利用vae的重构域和潜域损失对经过步骤(2)之后的多步攻击数据集训练,vae的训练目标是从原始流量特征x中重建流量特征时误差更小,其潜在向量z的分布接近于高斯分布其中,vae由编码器q和解码器p组成,流量特征x可以由编码器编码为潜在向量z,对于输入的流量特征x
i
={x1,x2,...x
n
}.其数据分布为p(x)。
[0072]
(3)搭建基于vae的网络模型,通过双域损失对公开的多步攻击数据集进行训练;
[0073]
所述步骤(3)中的vae训练过程如下:
[0074]
步骤301,定义生成模型vae为:
[0075]
p(x,z)=p(x|z)p(z),
[0076]
其中z为潜在向量,p(
·
)是概率密度;
[0077]
步骤302,基于vae模型定义的基础上,vae的损失函数被定义为
[0078][0079]
其中,p
data
表示真实的数据分布,θ表示网络参数;
[0080]
步骤303,令q(z|x)表示辅助分布来近似真实潜码分布p(z|x),损失函数的变分推导过程为:
[0081][0082]
其中p(z)表示表示潜在向量z的先验分布,kl(
·
)代表kl散度,q(z|x)可以通过q编码器计算,p(x|z)可以通过p解码器计算。根据kl(q(z|x)||p(z|x))的非负性,得到log(p(x))的下界损失为
[0083]
(4)设计一种双域防御策略并且将收集的实验数据作为零日多步威胁进行验证测试,实现零日威胁的识别;
[0084]
所述步骤(4)中,根据步骤(3)中的vae训练,我们进一步设计一个双域防御策略并且将步骤(1)中收集的实验数据作为零日多步威胁进行验证测试。未知样本的重构域损失与潜域损失相结合,以进一步有效地区分零日多步威胁,过程如下:
[0085]
步骤401,我们令logp(x|z)为重构域,kl(q(z|x)||p(z|x))为潜域;
[0086]
步骤402,对于未知样本,由于其未被训练,其重构域损失不一定收敛且潜域特性不一定特别接近于高斯分布,因此利用一种相似度(sim.)方法来区分未知样本,其方法定义如下:
[0087][0088]
其中λ表示权重,表示重构域异常概率,表示潜域异常概率,j1,j2表示相应的特征维度和潜码维度;
[0089]
步骤403,p
r
(x
new
)被表示为:
[0090][0091][0092]
其中表示已知样本的平均重构误差,提供新样本x
new
和已知样本重构域误差间的差异;
[0093]
步骤404,被表示为:
[0094][0095][0096]
其中表示用kl度量方法度量已知样本分布和未知样本分布间的差异,表示已知样本的正态高斯分布的平均kl度量,由下式计算:
[0097][0098]
其中表示正编码器q的输出分布;
[0099]
步骤405,通过计算分数的平均相似度,并将其和阈值γ比较,可判断当前攻击是否为零日攻击;
[0100]
步骤406,通过相似度比对,加入该攻击为零日异常,则调查人员展开调查。
[0101]
(5)搭建一个深度神经网络(dnn)分类器,利用多分类交叉熵损失对已知的多步威胁进行监督训练,实现已知多步威胁检测。
[0102]
所述步骤(5)中,根据步骤(4),假如一个多步攻击被识别为已知威胁,则通过dnn分类器实现已知威胁检测包括以下过程:
[0103]
步骤501,将vae的潜域向量z与原始向量x进行合并,输入到分类模型dnn中;
[0104]
步骤502,使用多分类交叉熵损失进行优化,其原理如下:
[0105][0106]
其中y
i
表示真实标签,p
i
表示类别预测概率;
[0107]
步骤503,对已知威胁进行识别,推断出具体的威胁类型,并发出系统警报。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜