面向物联网设备的分布式DGA域名检测方法及系统技术方案

技术编号:34371310 阅读:30 留言:0更新日期:2022-07-31 11:18
本发明专利技术属于网络安全技术领域,公开了一种面向物联网设备的分布式DGA域名检测方法及系统,以Flask为通信框架,通过物联网主机聚合物联网节点上训练的孪生深度森林层级及层级准确率来分布式训练基于孪生深度森林的DGA检测模型。通过采集物联网设备上网卡中的DNS流量,并从中解析到DNS请求的域名数据,基于离线训练的模型对数据处理得到的域名数据进行物联网设备实时DGA检测。本发明专利技术在保护设备域名隐私的前提下完成例如路由器、摄像头、智能家居等算力及存储空间有限的物联网设备的分布式DGA检测问题,能够及时发现和阻断这些设备感染僵尸网络的C&C通信,避免造成信息泄漏和财产损失。产损失。产损失。

Distributed DGA domain name detection method and system for IOT devices

【技术实现步骤摘要】
面向物联网设备的分布式DGA域名检测方法及系统


[0001]本专利技术属于网络安全
,尤其涉及一种面向物联网设备的分布式DGA域名检测方法及系统。

技术介绍

[0002]目前,随着物联网技术的广泛应用,路由器、网络摄像头和智能家居设备等物联网设备得到广泛的普及,极大的提高了日常生活便利度。但是,这些设备由于成本原因安全防护能力较弱,导致极易被僵尸网络入侵造成隐私泄露和财产损失。DGA(域名生成算法)是僵尸网络中常用的黑名单逃避手段,该算法能够生成随机字符串,并将生成的字符串与顶级域名拼接生成大量DGA域名,僵尸网络使用DGA域名建立C&C通信,由于黑名单更新速度远不及DGA域名生成速度,使得黑名单无法用于阻断通信。因此,通过DGA域名检测模型发现DGA域名来及时阻断僵尸网络的C&C通信。
[0003]现有的DGA域名检测方法可以分为两种:(1)基于特征工程的机器学习方法来检测DGA域名,通过对DGA域名提取特征并训练机器学习分类器完成检测。然而,提取特征过程耗时耗力,并且由于DGA家族众多且更新频繁,特征工程很难覆盖到所有的家族,容易被攻击者绕过,导致分类效果不佳。(2)基于深度学习方法检测DGA域名,研究人员使用深度神经网络将域名转换为高维特征以完成分类,并取得了较好的效果。但是,该方法需要大量的数据集来训练模型,并且,由于物联网设备空余的算力和存储资源有限,难以部署深度学习环境训练模型。
[0004]因此,需要寻求一种方法,在保护物联网设备域名隐私的情况下,利用多台算力及存储资源有限的物联网设备共同完成DGA检测模型的训练,且该训练方法无需人为提取特征且具有较高的准确率。
[0005]通过上述分析,现有技术存在的问题及缺陷为:
[0006](1)现有的基于特征工程与机器学习的DGA检测方法提取特征耗时耗力,且存在特征提取不全,易被绕过等问题。
[0007](2)现有的基于深度学习的DGA检测算法由于数据集、算力和存储资源的限制,不能很好的应用于物联网设备。
[0008](3)现有技术中缺少适用于物联网的分布式DGA检测方法,难以利用不同物联网设备的算力共同训练模型。

技术实现思路

[0009]针对现有技术存在的问题,本专利技术提供了一种面向物联网设备的分布式DGA域名检测方法、系统、介质、设备及终端。
[0010]本专利技术是这样实现的,一种面向物联网设备的分布式DGA域名检测系统,所述面向物联网设备的分布式DGA域名检测方法包括:以Flask为通信框架,通过物联网主机聚合物联网节点上训练的孪生深度森林层级及层级准确率来分布式训练基于孪生深度森林的DGA
检测模型。通过采集物联网设备上网卡中的DNS流量,并从中解析到DNS请求的域名数据,基于离线训练的模型对数据处理得到的域名数据进行物联网设备实时DGA检测。
[0011]进一步,所述面向物联网设备的分布式DGA域名检测方法包括以下步骤:
[0012]步骤一,在多个物联网设备中选择性能最好的一台作为主机,其余设备作为节点,主机将承担额外的聚合过程,选择性能好的物联网设备作为主机能尽量减少训练时间;
[0013]步骤二,将每个节点上的训练集中的正常域名数据与DGA域名数据通过配对来扩充数据,通过配对能够增大正常域名数据与DGA域名数据的区别,使分类模型得到更加充分的训练;
[0014]步骤三,每个节点将配对后的数据进行预处理,包括域名长度对齐及字典转换,该步骤将训练数据转换为统一长度的数字序列,以便模型处理;
[0015]步骤四,每个节点对使用预处理后的数据进行滑动窗口扫描,将扫描到的数据训练一个随机森林和一个完全随机森林,并将两个森林发送至主机。该步骤用于自动化提取数据的局部特征和顺序特征,以便后续更好的分类;
[0016]步骤五,主机将各节点发送的随机森林与完全随机森林分别聚合成一个大的随机随机森林和完全随机森林,并下发给所有节点,通过聚合,将所有节点基于本地训练的森林模型组合起来,从而涵盖了更多的分类特征,增加了模型的鲁棒性和分类能力;
[0017]步骤六,每个节点更新随机森林和完全随机森林后将训练集转换为类向量并拼接成变换特征F1;
[0018]步骤七,每个基于变换特征逐层构建级联森林,使用变换特征训练完每一层后,将该层森林发送至主机聚合,聚合完成后,主机再下发给所有节点,所有节点更新该层级联森林,直到完成整个级联森林构建,通过级联森林中层级的构建,整个模型的鲁棒性和分类能力进一步提升;
[0019]步骤八,每个节点基于分布式训练得到的模型独立检测DGA域名。
[0020]进一步,所述步骤二中的域名配对方法的具体配对规则包括:
[0021]正常域名样本集S1,样本量为N1,DGA域名样本集S2,样本量为N2,同类域名配对的样本,对应标签为0,异类域名配对的样本,对应标签为1;基于随机下采样解决样本的不平衡,正常域名样本集相互配对的下采样系数为p1,DGA样本集相互配对下采样系数为p2,同类样本中正常域名对与DGA域名对相同,类样本量为N1*N1*p1=N2*N2*p2,则p2=(N1*N1*p1)/(N2*N2),正常域名样本集与DGA样本集配对的下采样系数为p3,异类样本量与同类样本量相同,根据N1*N1*p1+N2*N2*p2=N1*N2*p3,计算出异类样本采样系数p3=(N1*N1*p1*2)/(N1*N2);按照采样系数p1,p2,p3对正常域名样本集与DGA样本集随机下采样配对得到数据集X,划分为训练集X
train
与验证集X
valid

[0022]进一步,所述步骤七中的级联森林每层包含2个随机森林与2个完全随机森林,训练的当前层数为k,k初始值为1,第k层的变换特征为F
k
,准确率阈值为t。
[0023]进一步,所述步骤七中的逐层构建级联森林包括:
[0024](1)所有的节点使用F
k
训练第k层级联森林,训练完成后将该层级联森林发送给主机,主机聚合所有节点发送来的级联森林,组合成新的级联森林发送给所有节点;
[0025](2)所有节点接收并更新级联森林,在本地验证集上验证得到当前模型准确率并发送给主机,主机将所有节点的准确率求和得到当前分布式模型的准确率ACC
k
;当k大于0,
判断ACC
k

ACC
k
‑1是否小于阈值t,若小于,则跳转至步骤(3);否则,将F
k
经过随机下采样后与训练集经过第k层级联森林的类向量拼接得到F
k+1
,k=k+1,并跳转至步骤(1);
[0026](3)完成级联森林构建。
[0027]进一步,所述步骤八中的基于模型检测方法包括:
[0028]在训练集中精心挑选N条正常域名与N条DGA域名组成参考域名集,待测域名与参考本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种面向物联网设备的分布式DGA域名检测方法,其特征在于,所述面向物联网设备的分布式DGA域名检测方法包括:训练分布式DGA检测算法,使用Flask框架作为分布式I

SDF算法的通信框架,传输节点与主机之间的森林与准确率;采集物联网设备上网卡中的DNS流量,采集到的流量用于后续检测;处理DNS流量,并从中解析到DNS请求的域名数据;基于离线训练的模型对数据处理得到的域名数据DGA检测。2.如权利要求1所述的面向物联网设备的分布式DGA域名检测方法,其特征在于,所述面向物联网设备的分布式DGA域名检测方法包括以下步骤:步骤一,在多个物联网设备中选择性能最好的一台作为主机,其余设备作为节点;步骤二,将每个节点上的训练集中的正常域名数据与DGA域名数据通过配对来扩充数据;步骤三,每个节点将配对后的数据进行预处理,包括域名长度对齐及字典转换;步骤四,每个节点对使用预处理后的数据进行滑动窗口扫描,将扫描到的数据训练一个随机森林和一个完全随机森林,并将两个森林发送至主机;步骤五,主机将各节点发送的随机森林与完全随机森林分别聚合成一个大的随机随机森林和完全随机森林,并下发给所有节点;步骤六,每个节点更新随机森林和完全随机森林后将训练集转换为类向量并拼接成变换特征F1;步骤七,每个基于变换特征逐层构建级联森林,使用变换特征训练完每一层后,将该层森林发送至主机聚合,聚合完成后,主机再下发给所有节点,所有节点更新该层级联森林,直到完成整个级联森林构建;步骤八,每个节点基于分布式训练得到的模型独立检测DGA域名。3.如权利要求2所述的面向物联网设备的分布式DGA域名检测方法,其特征在于,所述步骤二中的域名配对方法的具体配对规则包括:正常域名样本集S1,样本量为N1,DGA域名样本集S2,样本量为N2,同类域名配对的样本,对应标签为0,异类域名配对的样本,对应标签为1;基于随机下采样解决样本的不平衡,正常域名样本集相互配对的下采样系数为p1,DGA样本集相互配对下采样系数为p2,同类样本中正常域名对与DGA域名对相同,类样本量为N1*N1*p1=N2*N2*p2,则p2=(N1*N1*p1)/(N2*N2),正常域名样本集与DGA样本集配对的下采样系数为p3,异类样本量与同类样本量相同,根据N1*N1*p1+N2*N2*p2=N1*N2*p3,计算出异类样本采样系数p3=(N1*N1*p1*2)/(N1*N2);按照采样系数p1,p2,p3对正常域名样本集与DGA样本集随机下采样配对得到数据集X,划分为训练集X
train
与验证集X
valid
。4.如权利要求2所述的面向物联网设备的分布式DGA域名检测方法,其特征在于,所述步骤七中的级联森林每层包含2个随机森林与2个完全随机森林,训练的当前层数为k,k初始值为1,第k层的变换特征为F
k
,准确率阈值为t。5.如权利要求2所述的面向物联网设备的分布式DGA域名检测方法,其特征在于,所述步骤七中的逐层构建级联森林包括:(1)所有的...

【专利技术属性】
技术研发人员:付玉龙刘璐璐焦小彬
申请(专利权)人:西安电子科技大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1