恶意域名检测设备和方法技术

技术编号:27011791 阅读:45 留言:0更新日期:2021-01-08 17:23
本发明专利技术涉及恶意域名的检测,特别是由域名生成算法生成的恶意域名的检测。因此,本发明专利技术提供了一种设备、系统和方法。所述设备用于接收完全限定域名(Fully‑Qualified Domain Name,FQDN)和公共后缀索引作为输入。所述设备可以根据所述公共后缀索引确定所述FQDN中的公共后缀序列和域字符序列。然后,所述设备用于对所述公共后缀序列进行处理,以得到指示所述FQDN是否恶意的第一结果;对所述域字符序列进行处理,以得到指示所述FQDN是否恶意的第二结果;以及对所述第一结果和所述第二结果进行合并,并根据所述合并的结果判断所述FQDN是否恶意。

【技术实现步骤摘要】
【国外来华专利技术】恶意域名检测设备和方法
本专利技术大体上涉及恶意软件检测,尤其涉及恶意域名的检测。本专利技术尤其关于识别由域名生成算法(DomainGenerationAlgorithm,DGA)生成的恶意域名。为此,本专利技术提出一种恶意域名检测设备、系统和方法。
技术介绍
许多僵尸网络、木马以及其他新的恶意软件家族使用DGA生成大量域名以连接到指挥与控制(commandandcontrol,C&C)服务器。较老的恶意软件家族依赖于静态的域列表或IP地址列表,这些静态列表被硬编码在运行在感染主机上的恶意软件代码中。一旦发现给定的恶意软件,就可以通过阻止到这些网络地址的连接来使所述恶意软件无效,从而阻止所述感染主机和所述C&C服务器之间的进一步通信。然而,从Kraken僵尸网络(2008年发布)开始,较新的恶意软件家族开始使用DGA来规避此类下架尝试。这些恶意软件不依赖于固定的域列表或IP地址列表,而是执行一种用于生成大量(每天多达数万个)可能的域名的算法,并尝试连接到这些生成的域中的一部分,直到找到工作服务器。检测和阻止这些较新的使用DGA的恶意软件家族存在以下几个挑战:●每个DGA算法使用其不同的语法和不同的散播机制(时间、货币汇率等)。●某些DGA使用已知(例如,英语)词语(abobehaven.net、actionfight.net等)的组合。●某些DGA故意与良性域(wdmlmofa.net、yahoo.com、finlwx.com)碰撞。●域名系统(DNS)查找查询的频率可能会有很大差异。有若干种可能的技术以识别恶意域:●将域加入黑名单:这是一个完全被动的方法,误报率几乎为零。●启发式方法:通过将DGA的词汇结构或查询点建模到一个不存在的域来识别所述DGA。这些启发式方法需要在大时间窗内积累数据,并不能真正有利于对恶意软件的实时检测。●基于浅层机器学习的方法,如聚类算法和分类算法的组合。这些方法使用大量的良性域和恶意域的集合,以建立域分类器。●基于深度神经网络(DeepNeuralNetwork,DNN)的算法。这些算法表现出最佳的性能和准确性:■DGA检测的基于递归神经网络(RNN)的第一种实现方式提出了一种基于单热的、仅使用域信息的单向RNN。■然后,通过实现双向RNN、添加密集前馈层以及预测DGA的类型(例如,Suppobox)来扩展该实现方式。■也比较了基于DNN的RNN和卷积神经网络(ConvolutionalNeuralNetwork,CNN)模型与浅层学习随机森林模型。然而,所有这些技术(包括DNN)都没有普遍地推广到未被发现的DGA,而且基本上只能识别先前发现的攻击。有几种类型的DGA即使存在于训练集中,这些技术也无法识别。总之,所有技术都有局限性,即,对于先前无法检测和未被发现的DGA,它们的检测率非常低。
技术实现思路
鉴于上述挑战,本专利技术旨在改进传统的方法和所提及的技术。本专利技术的目的在于提供一种能够以更高的检测率检测恶意域名的设备和方法。特别地,它们甚至能够准确地检测先前未被发现的DGA。此外,可以减少误报的检测。通过独立项中提供的方案来实现本专利技术的目标。从属权利要求中进一步定义了本专利技术的有利实现方式。本专利技术的实现通常使得公共后缀能有助于DGA识别。“公共后缀”是一个域名,在该域名下,互联网用户可以(或过去可以)直接注册自己的域名(例如,pvt.k12.ma.us)。“公共后缀列表”是Mozilla的一项倡议,但是是作为社区资源进行维护的。通过所述公共后缀列表,使得浏览器能够执行,例如,以下操作:●避免为高级域名后缀设置侵犯隐私的“超级cookies”。●在用户界面中突出显示域名的最重要的部分。●准确地按站点对历史条目进行排序。有两个主要因素影响了DGA识别的准确性:●许多DGA作为子域(例如,dydns.org、mooo.com等)隐藏在已知的域后面。●许多网页应用程序/服务使用伪随机子域来满足自己的需求(kdsksksue.cdn.google.com)。对于第一种情况,通过使用公共后缀,可以单独学习所述子域的“语言”,并获得所述公共后缀的“偏置”(例如,对于FQDN:sdlsjdkjks.dydns.com,因为子域和公共后缀是分离的,所以会有两个输出:sdlsjdkjks和dydns.com,从而可以分别学习sdlsjdkjks的“语言”模型以及DGA使用dydns.com的概率)。对于第二种情况,可以从预测中省略子域(例如,对于FQDN:kdsksksue.cdn.google.com,因为cdn.google.com不是公共后缀,所以输出应为:google,com)。特别地,本专利技术因此提出根据公共后缀对恶意域名进行检测。进一步地,本专利技术具体采用一种用于分别对域名和公共后缀进行处理的深度神经网络模型。本专利技术第一方面提供一种恶意域名检测设备,所述设备用于接收FQDN和公共后缀索引作为输入;根据所述公共后缀索引确定所述FQDN中的公共后缀序列和域字符序列;对所述公共后缀序列进行处理,以得到指示所述FQDN是否恶意的第一结果;对所述域字符序列进行处理,以得到指示所述FQDN是否恶意的第二结果;以及对所述第一结果和第二结果进行合并,并根据所述合并的结果判断所述FQDN是否恶意。通过分别计算所述第一结果和所述第二结果,然后将这两个结果进行合并,以判断所述域名是否恶意,可以大大提高检测的准确性。特别地,甚至能够更准确地检测到由DGA生成的域名,且误报更少。此外,通过根据所述公共后缀索引将所述域名分离为所述公共后缀序列和所述域字符序列,大大提高了设备的效率。这是因为分离本身只需要很少的处理,而且根据所述公共后缀序列对结果进行计算也不复杂。此外,所述域字符序列因此尽可能短,即,减少必要的处理。在所述第一方面的一种实现方式中,所述设备包括:第一长短期记忆(LongShort-TermMemory,LSTM)网络,用于对所述公共后缀序列进行处理,和/或第二LSTM网络,用于对所述域字符序列进行处理。分别使用两个这样的LSTM网络对所述两个序列进行处理,可以高效准确地检测恶意域名。在所述第一方面的另一种实现方式中,所述第一LSTM网络和/或所述第二LSTM网络为递归神经网络。对于所述第一方面的设备提供的算法而言,所述RNN是最优的。所述RNN可以高效地分别对这两个序列进行处理。因此,可以单独训练所述RNN,以获得更高的检测准确性。在所述第一方面的另一种实现方式中,当用于对所述公共后缀序列进行处理时,所述设备用于根据确定的先前事件计算所述公共后缀序列和所述域字符序列用于恶意FQDN的概率。根据先前事件对概率进行计算只需要很少的处理负载,但相当准确。在所述第一方面的另一种实现方式中,所述设备还用于计算所述公共后缀序列被DGA使用的概率。...

【技术保护点】
1.一种恶意域名检测设备(100),其特征在于,所述设备(100)用于:/n接收完全限定域名(Fully-Qualified Domain Name,FQDN)(101)和公共后缀索引(102)作为输入;/n根据所述公共后缀索引(102)确定所述FQDN(101)中的公共后缀序列(103)和域字符序列(104);/n对所述公共后缀序列(103)进行处理,以得到指示所述FQDN(101)是否恶意的第一结果(105);/n对所述域字符序列(104)进行处理,以得到指示所述FQDN(101)是否恶意的第二结果(106);以及/n对所述第一结果(105)和所述第二结果(106)进行合并,并根据所述合并的结果(107)判断所述FQDN(101)是否恶意。/n

【技术特征摘要】
【国外来华专利技术】1.一种恶意域名检测设备(100),其特征在于,所述设备(100)用于:
接收完全限定域名(Fully-QualifiedDomainName,FQDN)(101)和公共后缀索引(102)作为输入;
根据所述公共后缀索引(102)确定所述FQDN(101)中的公共后缀序列(103)和域字符序列(104);
对所述公共后缀序列(103)进行处理,以得到指示所述FQDN(101)是否恶意的第一结果(105);
对所述域字符序列(104)进行处理,以得到指示所述FQDN(101)是否恶意的第二结果(106);以及
对所述第一结果(105)和所述第二结果(106)进行合并,并根据所述合并的结果(107)判断所述FQDN(101)是否恶意。


2.根据权利要求1所述的设备(100),其特征在于,包括:
第一长短期记忆(LongShort-TermMemory,LSTM)网络(202),用于对所述公共后缀序列(103)进行处理,和/或
第二LSTM网络(203),用于对所述域字符序列(104)进行处理。


3.根据权利要求2所述的设备(100),其特征在于,
所述第一LSTM网络(202)和/或所述第二LSTM网络(203)为递归神经网络。


4.根据权利要求1至3中任一项所述的设备(100),其特征在于,当用于对所述公共后缀序列(103)进行处理时,所述设备(100)用于:
根据确定的先前事件计算所述公共后缀序列(103)和所述域字符序列(104)用于恶意FQDN(101)的概率。


5.根据权利要求4所述的设备(100),其特征在于,还用于:
计算所述公共后缀序列(103)被域名生成算法使用的概率。


6.根据权利要求4或5所述的设备(100),其特征在于,用于:
接收用于学习所述确定的先前事件的训练集作为输入。


7.根据权利要求1至6中任一项所述的设备(100),其特征在于,当用于对所述域字符序列(104)进行处理时,所述设备(100)用于:
根据所述域字符序列(104)中的一个或多个下一个字符的似然计算所述域字符序...

【专利技术属性】
技术研发人员:德米特里·梅汀埃拉德·佐里夫
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东;44

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

1