CN116032604A - 一种基于长短期记忆网络的物联网僵尸设备检测方法 - Google Patents

一种基于长短期记忆网络的物联网僵尸设备检测方法 Download PDF

Info

Publication number
CN116032604A
CN116032604A CN202211694738.3A CN202211694738A CN116032604A CN 116032604 A CN116032604 A CN 116032604A CN 202211694738 A CN202211694738 A CN 202211694738A CN 116032604 A CN116032604 A CN 116032604A
Authority
CN
China
Prior art keywords
domain name
malicious
long
term memory
memory network
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.)
Pending
Application number
CN202211694738.3A
Other languages
English (en)
Inventor
殷丽华
罗熙
张芫菲
方滨兴
朱木易洁
李如玉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangzhou University
Original Assignee
Guangzhou University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Guangzhou University filed Critical Guangzhou University
Priority to CN202211694738.3A priority Critical patent/CN116032604A/zh
Publication of CN116032604A publication Critical patent/CN116032604A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Computer And Data Communications (AREA)

Abstract

本发明公开了一种基于长短期记忆网络的物联网僵尸设备检测方法,基于长短期记忆网络和阈值随机漫步的物联网僵尸设备检测方法,实时监控主机DNS请求,关注其中的不存在域名(NxDomain)请求,具体为首先使用长短期记忆网络模型计算域名的恶意分数,然后根据域名的恶意分数实时更新主机的恶意分数,当主机的恶意分数达到某一阈值时,即发出告警认定该主机受到僵尸程序感染。

Description

一种基于长短期记忆网络的物联网僵尸设备检测方法
技术领域
本发明涉及计算机网络空间安全的技术领域,具体涉及一种基于长短期记忆网络的物联网僵尸设备检测方法。
背景技术
僵尸网络是网络安全领域的重大威胁,攻击者可以利用僵尸网络实时多种类型的网络攻击,如发送垃圾邮件,传播恶意软件和分布式拒绝服务攻击(DDoS)。近年来,海量安全薄弱的物联网设备给僵尸网络带来更大的流量,物联网僵尸网络愈发猖獗。2016年,物联网僵尸网络Mirai针对域名服务商Dyn发起攻击,峰值高达1Tbps的拒绝服务攻击导致大半个美国的网络瘫痪数小时。
受感染的僵尸设备是攻击者实施恶意活动的基础,目前有不少研究致力于检测僵尸设备。许多研究通过分析主机行为来发现受感染的僵尸主机。一些工作通过关联多个分析主机行为来发现僵尸网络,这些工作认为被同一僵尸程序感染的主机会呈现出相似的行为,通过分析不同主机行为的相似性和周期性来挖掘僵尸网络。典型工作包括BotGAD,PsyBoG,DBod,Dfbotkiller、Beewolf。一些工作专注于单一主机的行为分析。这些工作认为僵尸设备的行为特点与正常主机有区别,通过分析单一主机的DNS请求来发现僵尸设备,如Grill通过分析主机一段时间内请求的域名和获得的解析IP的比例来检测僵尸设备,Mowbray通过分析一段时间内主机请求域名的字符长度分布来判断主机是否被感染。除了分析主机行为外,还有一些工作通过分析域名的特征来检测DGA恶意域名,然后将访问恶意域名的设备认定为僵尸设备。
然而,大多数现有工作需要长期的活动信息或者较长的分析时间,这使得他们很难及时在恶意行为发生初期(僵尸设备连接到C&C服务器前)阻止恶意活动。此外,许多工作很难平衡资源耗费和检测效果,无法部署在资源受限的物联网上。
发明内容
本发明克服现有技术的不足,提供了一种基于长短期记忆网络的物联网僵尸设备检测方法。本发明的目的通过以下的技术方案实现:
一种基于长短期记忆网络的物联网僵尸设备检测方法,包括:
S1:实时监控设备的DNS请求数据,初始化原始数据,提取后续处理需要的有效字段;
S2:使用训练好的长短期记忆网络处理域名字符串,计算域名对应的恶意分数;
S3:使用阈值随机游走算法迭代设备的恶意分数,当设备的恶意分数超过预设阈值时,则判定该设备为受感染的僵尸设备,产生告警。
优选的,所述S1中,原始数据包括不存在域名访问序列Seq、设备恶意分数Sdevice、最后访问的不存在域名LastNxD和最后访问不存在域名的时间LastTime。
优选的,所述S1中,提取后续处理需要的有效字段的步骤包括实时监控主机的DNS请求,如果请求的响应是不存在域名NXDOMAIN,则提取被请求域名的二级域名和相应的访问时间两个字段。
更优的,通过以下规则对原始数据进行参数更新:
a)更新最后访问的不存在域名LastNxD为当前域名;
b)若当前访问时间和最后访问不存在域名之间的时间间隔大于预设阈值τ,则重置设备恶意分数Sdevice为0,重置不存在域名访问序列Seq为空;
c)更新最后访问不存在域名的时间LastTime为当前域名的访问时间;
d)更新不存在域名访问序列Seq,将当前访问域名加入序列末尾。
优选的,所述S2中,计算域名对应的恶意分数包括以下步骤:
①.构建计算域名恶意概率的长短期记忆网络模型;
②.域名恶意分数计算。
更优的,所述构建计算域名恶意概率的长短期记忆网络模型包括:
输入层:输入层用于将S1中提取的域名字段作为输入;
编码层:编码层用于根据预先制定的编码规则将域名字符转换为长度为m的编码,对于一个长度为k的域名,经过编码层,会转换为k*m的矩阵;
LSTM层:LSTM层用于通过单层经典长短期记忆模型处理域名字符串,将编码后的域名字段,即编码层得到的矩阵,作为输入,分析计算域名的恶意分数;
具体公式如下:
fn=σ(Wf·[hn-1,xn]+bf)
in=σ(Wi·[hn-1,xn]+bi)
on=σ(Wo·[hn-1,]+bo)
Figure BDA0004022134210000021
Figure BDA0004022134210000022
hn=on·tanh(Cn)
其中n代表域名字符串的第n个字符,xn是第n个字符的编码向量,Wf,bf,Wi,bi,Wo,bo,Wc,bc是训练参数,σ是非线性激活函数,tanh是双曲正切函数,fn是遗忘门,in是输入门,on是输出门,
Figure BDA0004022134210000031
是当前单元状态,Cn是短期记忆,hn是输出;对于一个域名,经过LSTM层的处理,会分析这一域名的字符并生成该域名的隐藏特征向量;输出层:输出层用于通过全连接层将域名的隐藏向量映射到标签空间,预测域名的良性概率Pb和恶意概率Pm
(Pm,Pb)=softmax(hnWoutput)
其中,Woutput是训练参数。
更优的,域名恶意分数计算根据如下公式计算域名S的恶意分数:
Figure BDA0004022134210000032
其中,域名S的恶意分数越高,域名S的恶意概率越高。
优选的,所述S3中,设备的恶意分数Sdevice表示为:
Figure BDA0004022134210000033
其中,[nd1,nd2,…ndN]表示设备访问的不存在域名序列,Pr(ndi|H1)表示设备在感染状态(H1)时访问域名ndi的概率,Pr(ndi|H0)表示设备在良性状态(H0)时访问域名ndi的概率;
使用域名的良性概率Pb和恶意概率Pm表示Pr(ndi|H0)和Pr(ndi|H1),则
Figure BDA0004022134210000034
当有一个新的不存在域名请求,计算出了该域名的恶意分数S,则根据如下公式更新设备的恶意分数:
Sdevice=Sdevice+lnS
通过设置μ和ν分别表示误报率和漏报率,如果Sdevice游走超过上界
Figure BDA0004022134210000035
则认定该设备是恶意的,产生告警,输出存储的异常访问序列Seq。
本发明具有的有益效果包括以下:
1)本方法仅关注域名请求中的不存在域名,这种类型的域名在请求中占比极少,可以在大量缩减待分析域名的数目,降低计算资源消耗,可有效部署在物联网设备中。
2)本方法使用长短期记忆网络计算域名恶意分数,仅需要域名名称就可以进行计算,所需数据收集容易,实现简单,同时还具有较高的准确率。
3)本方法使用阈值随机游走方法更新主机的恶意分数,大大缩短判断主机恶意所需的异常域名请求数目,缩短所需时间,从而在僵尸主机连接到C&C服务器之前实现检测。
附图说明
利用附图对本发明作进一步说明,但附图中的实施例不构成对本发明的任何限制,对于本领域的普通技术人员,在不付出创造性劳动的前提下,还可以根据以下附图获得其它的附图。
图1是本发明基于长短期记忆网络的物联网僵尸设备检测方法的步骤流程示意图。
具体实施方式
以下结合具体实施例对一种基于长短期记忆网络的物联网僵尸设备检测方法作进一步的详细描述,这些实施例只用于比较和解释的目的,本发明不限定于这些实施例中。
请参阅图1,一种基于长短期记忆网络的物联网僵尸设备检测方法,包括:
S1:实时监控设备的DNS请求数据,初始化原始数据,提取后续处理需要的有效字段;
S2:使用训练好的长短期记忆网络处理域名字符串,计算域名对应的恶意分数;
S3:使用阈值随机游走算法迭代设备的恶意分数,当设备的恶意分数超过预设阈值时,则判定该设备为受感染的僵尸设备,产生告警。
优选的,所述S1中,原始数据包括不存在域名访问序列Seq、设备恶意分数Sdevice、最后访问的不存在域名LastNxD和最后访问不存在域名的时间LastTime。
优选的,所述S1中,提取后续处理需要的有效字段的步骤包括实时监控主机的DNS请求,如果请求的响应是不存在域名NXDOMAIN,则提取被请求域名的二级域名和相应的访问时间两个字段。
更优的,通过以下规则对原始数据进行参数更新:
a)更新最后访问的不存在域名LastNxD为当前域名;
b)若当前访问时间和最后访问不存在域名之间的时间间隔大于预设阈值τ,则重置设备恶意分数Sdevice为0,重置不存在域名访问序列Seq为空;
c)更新最后访问不存在域名的时间LastTime为当前域名的访问时间;
d)更新不存在域名访问序列Seq,将当前访问域名加入序列末尾。
优选的,所述S2中,计算域名对应的恶意分数包括以下步骤:
①.构建计算域名恶意概率的长短期记忆网络模型;
②.域名恶意分数计算。
更优的,所述构建计算域名恶意概率的长短期记忆网络模型包括:
输入层:输入层用于将S1中提取的域名字段作为输入;
编码层:编码层用于根据预先制定的编码规则将域名字符转换为长度为m的编码,对于一个长度为k的域名,经过编码层,会转换为k*m的矩阵;
LSTM层:LSTM层用于通过单层经典长短期记忆模型处理域名字符串,将编码后的域名字段,即编码层得到的矩阵,作为输入,分析计算域名的恶意分数;
具体公式如下:
fn=σ(Wf·[hn-1,xn]+bf)
in=σ(Wi·[hn-1,xn]+bi)
on=σ(Wo·[hn-1,n]+bo)
Figure BDA0004022134210000051
Figure BDA0004022134210000052
hn=on·tanh(Cn)
其中n代表域名字符串的第n个字符,xn是第n个字符的编码向量,Wf,bf,Wi,bi,Wo,bo,Wc,bc是训练参数,σ是非线性激活函数,tanh是双曲正切函数,fn是遗忘门,in是输入门,on是输出门,
Figure BDA0004022134210000053
是当前单元状态,Cn是短期记忆,hn是输出;对于一个域名,经过LSTM层的处理,会分析这一域名的字符并生成该域名的隐藏特征向量;
输出层:输出层用于通过全连接层将域名的隐藏向量映射到标签空间,预测域名的良性概率Pb和恶意概率Pm
(Pm,Pb)=softmax(hnWoutput)
其中,Woutput是训练参数。
更优的,域名恶意分数计算根据如下公式计算域名S的恶意分数:
Figure BDA0004022134210000054
其中,域名S的恶意分数越高,域名S的恶意概率越高。
优选的,所述S3中,设备的恶意分数Sdevice表示为:
Figure BDA0004022134210000055
其中,[nd1,nd2,…ndN]表示设备访问的不存在域名序列,Pr(ndi|H1)表示设备在感染状态(H1)时访问域名ndi的概率,Pr(ndi|H0)表示设备在良性状态(H0)时访问域名ndi的概率;
使用域名的良性概率Pb和恶意概率Pm表示Pr(ndi|H0)和Pr(ndi|H1),则
Figure BDA0004022134210000061
当有一个新的不存在域名请求,计算出了该域名的恶意分数S,则根据如下公式更新设备的恶意分数:
Sdevice=Sdevice+lnS
通过设置μ和ν分别表示误报率和漏报率,如果Sdevice游走超过上界
Figure BDA0004022134210000062
则认定该设备是恶意的,产生告警,输出存储的异常访问序列Seq。
该方法实时监控主机请求的不存在域名,对每一个新的被请求域名,使用长短期记忆网络分析计算被请求域名的恶意分数,而后使用阈值随机游走算法根据新请求域名的恶意分数更新主机的恶意分数,从而达到在僵尸主机发出少量异常查询,连接C&C服务器之前快速发现该设备被感染目的。
在一实施例中,在预处理阶段,初始化四个相关参数Seq=[NULL],Sdevice=0,LastNxD=NULL,LastTime=NULL,设置时间间隔阈值τ为10分钟。监控设备的DNS请求,当出现一个新的不存在域名www.example.com的访问请求时,提取对应的二级域名example.com和访问时间t。更新Seq=[example.com],Sdevice=0,LastNxD=example.com,LastTime=t。
在域名恶意分数计算阶段,使用长为39的one-hot向量编码字符,具体编码规则为,字符‘a-z’对应编码序号1-26,字符,‘0-9’对应编码序号27-36,‘-’对应编码序号37,‘.’对应编码序号38,所有其他字符对应编码序号39,设置隐藏向量维度为100,使用交叉熵函数作为损失函数训练模型,使用训练好的模型计算example.com的恶意概率和良性概率,并进一步得出其恶意分数S。
在受感染设备检测阶段,根据example.com对应的恶意分数S更新设备的恶意分数Sdevice=Sdevice+ln S,设置误报率和漏报率μ和ν均为0.01,当Sdevice>ln99时判定该设备为恶意的,发出告警,并输出当前存储域名访问序列Seq=[example.com]作为告警依据。
最后应当说明的是,以上实施例仅用以说明本发明的技术方案,而非对本发明保护范围的限制,尽管参照较佳实施例对本发明作了详细地说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的实质和范围。

Claims (8)

1.一种基于长短期记忆网络的物联网僵尸设备检测方法,其特征在于,包括:
S1:实时监控设备的DNS请求数据,初始化原始数据,提取后续处理需要的有效字段;
S2:使用训练好的长短期记忆网络处理域名字符串,计算域名对应的恶意分数;
S3:使用阈值随机游走算法迭代设备的恶意分数,当设备的恶意分数超过预设阈值时,则判定该设备为受感染的僵尸设备,产生告警。
2.根据权利要求1所述的一种基于长短期记忆网络的物联网僵尸设备检测方法,其特征在于,所述S1中,原始数据包括不存在域名访问序列Seq、设备恶意分数Sdevice、最后访问的不存在域名LastNxD和最后访问不存在域名的时间LastTime。
3.根据权利要求1所述的一种基于长短期记忆网络的物联网僵尸设备检测方法,其特征在于,所述S1中,提取后续处理需要的有效字段的步骤包括实时监控主机的DNS请求,如果请求的响应是不存在域名NXDOMAIN,则提取被请求域名的二级域名和相应的访问时间两个字段。
4.根据权利要求2所述的一种基于长短期记忆网络的物联网僵尸设备检测方法,其特征在于,通过以下规则对原始数据进行参数更新:
a)更新最后访问的不存在域名LastNxD为当前域名;
b)若当前访问时间和最后访问不存在域名之间的时间间隔大于预设阈值τ,则重置设备恶意分数Sdevice为0,重置不存在域名访问序列Seq为空;
c)更新最后访问不存在域名的时间LastTime为当前域名的访问时间;
d)更新不存在域名访问序列Seq,将当前访问域名加入序列末尾。
5.根据权利要求1所述的一种基于长短期记忆网络的物联网僵尸设备检测方法,其特征在于,所述S2中,计算域名对应的恶意分数包括以下步骤:
①.构建计算域名恶意概率的长短期记忆网络模型;
②.域名恶意分数计算。
6.根据权利要求5所述的一种基于长短期记忆网络的物联网僵尸设备检测方法,其特征在于,所述构建计算域名恶意概率的长短期记忆网络模型包括:
输入层:输入层用于将S1中提取的域名字段作为输入;
编码层:编码层用于根据预先制定的编码规则将域名字符转换为长度为m的编码,对于一个长度为k的域名,经过编码层,会转换为k*m的矩阵;
LSTM层:LSTM层用于通过单层经典长短期记忆模型处理域名字符串,将编码后的域
名字段,即编码层得到的矩阵,作为输入,分析计算域名的恶意分数;
具体公式如下:
fn=σ(Wf·[hn-1,xn]+f)
in=σ(Wi·[hn-1,xn]+bi)
on=σ(Wo·[hn-1,n]+bo)
Figure FDA0004022134200000021
Figure FDA0004022134200000022
hn=on·tanh(Cn)
其中n代表域名字符串的第n个字符,xn是第n个字符的编码向量,Wf,bf,Wi,bi,Wo,bo,Wc,bc是训练参数,σ是非线性激活函数,tanh是双曲正切函数,fn是遗忘门,in是输入门,on是输出门,
Figure FDA0004022134200000026
是当前单元状态,Cn是短期记忆,hn是输出;对于一个域名,经过LSTM层的处理,会分析这一域名的字符并生成该域名的隐藏特征向量;
输出层:输出层用于通过全连接层将域名的隐藏向量映射到标签空间,预测域名的良性概率Pb和恶意概率Pm
(Pm,Pb)=softmax(hnWoutput)
其中,Woutput是训练参数。
7.根据权利要求6所述的一种基于长短期记忆网络的物联网僵尸设备检测方法,其特征在于,域名恶意分数计算根据如下公式计算域名S的恶意分数:
Figure FDA0004022134200000023
其中,域名S的恶意分数越高,域名S的恶意概率越高。
8.根据权利要求1所述的一种基于长短期记忆网络的物联网僵尸设备检测方法,其特征在于,所述S3中,设备的恶意分数Sdevice表示为:
Figure FDA0004022134200000024
其中,[nd1,nd2,…ndN]表示设备访问的不存在域名序列,Pr(ndi|H1)表示设备在感染状态(H1)时访问域名ndi的概率,Pr(ndi|H0)表示设备在良性状态(H0)时访问域名ndi的概率;
使用域名的良性概率Pb和恶意概率Pm表示Pr(ndi|Ho)和Pr(ndi|H1),则
Figure FDA0004022134200000025
当有一个新的不存在域名请求,计算出了该域名的恶意分数S,则根据如下公式更新设备的恶意分数:
Sdevice=Sdevice+ln S
通过设置μ和ν分别表示误报率和漏报率,如果Sdevice游走超过上界
Figure FDA0004022134200000031
则认定该设备是恶意的,产生告警,输出存储的异常访问序列Seq。
CN202211694738.3A 2022-12-28 2022-12-28 一种基于长短期记忆网络的物联网僵尸设备检测方法 Pending CN116032604A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211694738.3A CN116032604A (zh) 2022-12-28 2022-12-28 一种基于长短期记忆网络的物联网僵尸设备检测方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211694738.3A CN116032604A (zh) 2022-12-28 2022-12-28 一种基于长短期记忆网络的物联网僵尸设备检测方法

Publications (1)

Publication Number Publication Date
CN116032604A true CN116032604A (zh) 2023-04-28

Family

ID=86090570

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211694738.3A Pending CN116032604A (zh) 2022-12-28 2022-12-28 一种基于长短期记忆网络的物联网僵尸设备检测方法

Country Status (1)

Country Link
CN (1) CN116032604A (zh)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102685145A (zh) * 2012-05-28 2012-09-19 西安交通大学 一种基于dns数据包的僵尸网络域名发现方法
CN109391602A (zh) * 2017-08-11 2019-02-26 北京金睛云华科技有限公司 一种僵尸主机检测方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102685145A (zh) * 2012-05-28 2012-09-19 西安交通大学 一种基于dns数据包的僵尸网络域名发现方法
CN109391602A (zh) * 2017-08-11 2019-02-26 北京金睛云华科技有限公司 一种僵尸主机检测方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
LIHUA YIN, ET AL: "ConnSpoiler: Disrupting C&C Communication of IoT-Based Botnet Through Fast Detection of Anomalous Domain Queries", 《 IEEE TRANSACTIONS ON INDUSTRIAL INFORMATICS 》, vol. 16, no. 2, 11 September 2019 (2019-09-11), pages 1373 - 1384, XP011767200, DOI: 10.1109/TII.2019.2940742 *

Similar Documents

Publication Publication Date Title
EP2769508B1 (en) System and method for detection of denial of service attacks
Marchal et al. Proactive discovery of phishing related domain names
CN114021040B (zh) 基于业务访问的恶意事件的告警及防护方法和系统
Sirageldin et al. Malicious web page detection: A machine learning approach
CN110351291B (zh) 基于多尺度卷积神经网络的DDoS攻击检测方法及装置
Liao et al. Feature extraction and construction of application layer DDoS attack based on user behavior
Yu et al. Online botnet detection based on incremental discrete fourier transform
CN109257393A (zh) 基于机器学习的xss攻击防御方法及装置
Singh et al. Detection and differentiation of application layer DDoS attack from flash events using fuzzy‐GA computation
Wang et al. Alert correlation system with automatic extraction of attack strategies by using dynamic feature weights
Gharehchopogh et al. Evaluation of fuzzy k-means and k-means clustering algorithms in intrusion detection systems
CN115270996A (zh) 一种dga域名检测方法、检测装置及计算机存储介质
Zhang et al. Cross-site scripting (XSS) detection integrating evidences in multiple stages
KR100950079B1 (ko) 은닉마코프 모델을 이용한 확률적인 네트워크 이상징후탐지 장치 및 그 방법
KR20130014300A (ko) 사이버 위협 사전 예측 장치 및 방법
CN111628961A (zh) 一种dns异常检测方法
CN113746804B (zh) Dns隐蔽信道检测方法、装置、设备及存储介质
CN117478433B (zh) 一种网络与信息安全动态预警系统
Almseidin et al. On detecting distributed denial of service attacks using fuzzy inference system
CN116032604A (zh) 一种基于长短期记忆网络的物联网僵尸设备检测方法
CN112261004B (zh) 一种Domain Flux数据流的检测方法及装置
CN113726775B (zh) 一种攻击检测方法、装置、设备及存储介质
EP4024252A1 (en) A system and method for identifying exploited cves using honeypots
Virmani et al. Entropy deviation method for analyzing network intrusion
Maslan et al. Ddos detection on network protocol using neural network with feature extract optimization

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