CN112204930A - 恶意域名检测设备和方法 - Google Patents
恶意域名检测设备和方法 Download PDFInfo
- Publication number
- CN112204930A CN112204930A CN201880093939.3A CN201880093939A CN112204930A CN 112204930 A CN112204930 A CN 112204930A CN 201880093939 A CN201880093939 A CN 201880093939A CN 112204930 A CN112204930 A CN 112204930A
- Authority
- CN
- China
- Prior art keywords
- malicious
- fqdn
- sequence
- result
- common suffix
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 56
- 238000001514 detection method Methods 0.000 title claims abstract description 33
- 230000008569 process Effects 0.000 claims abstract description 21
- 238000012545 processing Methods 0.000 claims abstract description 21
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 10
- 238000012549 training Methods 0.000 claims description 5
- 238000013528 artificial neural network Methods 0.000 claims description 4
- 238000004590 computer program Methods 0.000 claims description 4
- 238000012806 monitoring device Methods 0.000 claims description 3
- 238000012544 monitoring process Methods 0.000 claims description 3
- 230000000903 blocking effect Effects 0.000 claims description 2
- 230000000306 recurrent effect Effects 0.000 claims description 2
- 230000006403 short-term memory Effects 0.000 claims description 2
- 230000006870 function Effects 0.000 description 9
- 238000013136 deep learning model Methods 0.000 description 7
- 230000008901 benefit Effects 0.000 description 4
- 230000002776 aggregation Effects 0.000 description 3
- 238000004220 aggregation Methods 0.000 description 3
- 238000013527 convolutional neural network Methods 0.000 description 3
- 230000001419 dependent effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 241001386813 Kraken Species 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000007635 classification algorithm Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 235000014510 cooky Nutrition 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 238000007637 random forest analysis Methods 0.000 description 1
- 238000011897 real-time detection Methods 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
- H04L63/145—Countermeasures against malicious traffic the attack involving the propagation of malware through the network, e.g. viruses, trojans or worms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0227—Filtering policies
- H04L63/0236—Filtering by address, protocol, port number or service, e.g. IP-address or URL
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0227—Filtering policies
- H04L63/0245—Filtering by information in the payload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0227—Filtering policies
- H04L63/0263—Rule management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1416—Event detection, e.g. attack signature detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
- G06N20/20—Ensemble learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/01—Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2101/00—Indexing scheme associated with group H04L61/00
- H04L2101/30—Types of network names
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2463/00—Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
- H04L2463/144—Detection or countermeasures against botnets
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Hardware Design (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- General Physics & Mathematics (AREA)
- Molecular Biology (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Virology (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- General Business, Economics & Management (AREA)
- Business, Economics & Management (AREA)
Abstract
本发明涉及恶意域名的检测,特别是由域名生成算法生成的恶意域名的检测。因此,本发明提供了一种设备、系统和方法。所述设备用于接收完全限定域名(Fully‑Qualified Domain Name,FQDN)和公共后缀索引作为输入。所述设备可以根据所述公共后缀索引确定所述FQDN中的公共后缀序列和域字符序列。然后,所述设备用于对所述公共后缀序列进行处理,以得到指示所述FQDN是否恶意的第一结果;对所述域字符序列进行处理,以得到指示所述FQDN是否恶意的第二结果;以及对所述第一结果和所述第二结果进行合并,并根据所述合并的结果判断所述FQDN是否恶意。
Description
技术领域
本发明大体上涉及恶意软件检测,尤其涉及恶意域名的检测。本发明尤其关于识别由域名生成算法(Domain Generation Algorithm,DGA)生成的恶意域名。为此,本发明提出一种恶意域名检测设备、系统和方法。
背景技术
许多僵尸网络、木马以及其他新的恶意软件家族使用DGA生成大量域名以连接到指挥与控制(command and control,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。这些启发式方法需要在大时间窗内积累数据,并不能真正有利于对恶意软件的实时检测。
●基于浅层机器学习的方法,如聚类算法和分类算法的组合。这些方法使用大量的良性域和恶意域的集合,以建立域分类器。
●基于深度神经网络(Deep Neural Network,DNN)的算法。这些算法表现出最佳的性能和准确性:
■DGA检测的基于递归神经网络(RNN)的第一种实现方式提出了一种基于单热的、仅使用域信息的单向RNN。
■然后,通过实现双向RNN、添加密集前馈层以及预测DGA的类型(例如,Suppobox)来扩展该实现方式。
■也比较了基于DNN的RNN和卷积神经网络(Convolutional Neural Network,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-Term Memory,LSTM)网络,用于对所述公共后缀序列进行处理,和/或第二LSTM网络,用于对所述域字符序列进行处理。
分别使用两个这样的LSTM网络对所述两个序列进行处理,可以高效准确地检测恶意域名。
在所述第一方面的另一种实现方式中,所述第一LSTM网络和/或所述第二LSTM网络为递归神经网络。
对于所述第一方面的设备提供的算法而言,所述RNN是最优的。所述RNN可以高效地分别对这两个序列进行处理。因此,可以单独训练所述RNN,以获得更高的检测准确性。
在所述第一方面的另一种实现方式中,当用于对所述公共后缀序列进行处理时,所述设备用于根据确定的先前事件计算所述公共后缀序列和所述域字符序列用于恶意FQDN的概率。
根据先前事件对概率进行计算只需要很少的处理负载,但相当准确。
在所述第一方面的另一种实现方式中,所述设备还用于计算所述公共后缀序列被DGA使用的概率。
因此,所述第一方面的所述设备特别适合检测由DGA生成的恶意域名。
在所述第一方面的另一种实现方式中,所述设备用于接收用于学习所述确定的先前事件的训练集作为输入。
这使得所述第一方面的设备以甚至更高的检测准确性进行操作。尤其可以更好地避免误报检测。
在所述第一方面的另一种实现方式中,当用于对所述域字符序列进行处理时,所述设备用于根据所述序列中一个或多个下一个字符的似然计算所述域字符序列用于恶意FQDN的概率。
这会使结果更准确。进一步地,由于所述域字符序列尽可能短,所以所述设备效率高。
在所述第一方面的另一种实现方式中,当用于判断所述FQDN是否恶意时,所述设备用于对所述合并的结果进行分类。
通过这样分类,可以准确、快速地对所述域名是否恶意进行最终判断。
本发明的第二方面提供一种恶意域名检测系统,所述系统包括监控设备,用于监控传入DNS流量并从所述传入DNS流量确定至少一个FDQN;以及根据第一方面或其任一实现方式的设备,用于判断所述确定的FQDN是否恶意。
相应地,所述第二方面的系统实现了根据所述第一方面及其实现方式的设备的所有优势和效果。根据所述第二方面的所述系统,例如,可以在基于主机的入侵检测系统中实现,且安全性更高。
在所述第二方面的一种实现方式中,所述系统用于在一定数量的FQDN已经被确定为恶意FQDN后,其中所述FQDN的数量高于所确定的阈值数量,阻止作为所述传入DNS流量的来源的进程,其中,所述FQDN是从所述传入DNS流量中确定的;或者输出警报消息。
本发明第三方面提供一种恶意域名检测方法,所述方法包括:接收FQDN和公共后缀索引作为输入;根据所述公共后缀索引确定所述FQDN中的公共后缀序列和域字符序列;对所述公共后缀序列进行处理,以得到指示所述FQDN是否恶意的第一结果;对所述域字符序列进行处理,以得到指示所述FQDN是否恶意的第二结果;以及对所述第一结果和所述第二结果进行合并,并根据所述合并的结果判断所述FQDN是否恶意。
在所述第三方面的一种实现方式中,所述方法包括:利用LSTM网络对所述公共后缀序列进行处理,和/或利用第二LSTM网络对所述域字符序列进行处理。
在所述第三方面的另一种实现方式中,所述第一LSTM网络和/或所述第二LSTM网络为RNN。
在所述第三方面的另一种实现方式中,如果所述方法确定所述FQDN不包含任何公共后缀序列,所述方法还包括:获取所述FQDN,并省略对所述FQDN的任何子域字符序列的处理。
在所述第三方面的另一种实现方式中,在对所述公共后缀序列进行处理时,所述方法包括:根据确定的先前事件计算所述公共后缀序列和所述域字符序列用于恶意FQDN的概率。
在所述第三方面的另一种实现方式中,所述方法还包括:计算所述公共后缀序列被DGA使用的概率。
在所述第三方面的另一种实现方式中,所述方法包括:接收用于学习所述确定的先前事件的训练集作为输入。
在所述第三方面的另一种实现方式中,在对所述域字符序列进行处理时,所述方法包括:根据所述序列中一个或多个下一个字符的似然计算所述域字符序列用于恶意FQDN的概率。
在所述第三方面的另一种实现方式中,在判断所述FQDN是否恶意时,所述方法包括:对所述合并的结果进行分类。
根据所述第三方面及其实现方式的所述方法实现了与根据所述第一方面及其相应的实现方式的所述设备相同的优势。
本发明的第四方面提供了一种计算机程序产品,包括用于控制根据第一方面或其任一实现方式的设备的程序代码,或包括当在处理器上实施时,用于执行根据所述第三方面或其任一实现方式的方法的程序代码。
相应地,通过例如存储在所述计算机程序产品上的所述程序代码,可以分别实现所述第三方面的方法和所述第一方面的设备的上述优点和效果。所述计算机程序产品可以是携带所述程序代码的数据载体,也可以是硬件存储设备等。
必须注意,本申请中描述的所有设备、元件、单元和装置可以在软件或硬件元件或其任意组合中实现。本申请中描述的各种实体执行的所有步骤和所描述的将由各种实体执行的功能旨在表明各个实体适于或用于执行各自的步骤和功能。
虽然在以下具体实施例的描述中,由外部实体执行的特定功能或步骤没有在执行特定步骤或功能的该实体的具体元件的描述中反映,但是技术人员应该清楚的是这些方法和功能可以在各自的硬件或软件元件或其任意组合中实现。
附图说明
结合所附附图,下面具体实施例的描述将阐述上述本发明的各方面及其实现形式,其中:
图1示出了根据本发明实施例的设备;
图2示出了根据本发明实施例的设备;
图3示出了根据本发明实施例的设备;
图4示出了根据本发明实施例的设备的性能;
图5示出了根据本发明实施例的设备的对若干个DGA的检测率;
图6示出了根据本发明实施例的系统;
图7示出了根据本发明实施例的系统集成到基于主机的入侵检测系统;
图8示出了包括根据本发明实施例的设备的基于云的僵尸网络检测服务;以及
图9示出了根据本发明实施例的方法。
具体实施方式
图1示出了根据本发明实施例的设备100。所述设备100尤其适于检测恶意域名,尤其是由DGA生成的域名,从而用于识别DGA。所述设备100可以包括至少一个处理器和/或至少一个LSTM网络,用于实现下文描述的功能(检测算法)。由此,所述至少一个LSTM网络可以通过处理电路实现。
所述设备100用于接收FQDN101和公共后缀索引102作为输入。所述公共后缀索引102也可以称为公共后缀列表。进一步地,所述设备100用于根据所述公共后缀索引102确定所述FQDN101中的公共后缀序列103和域字符序列104。换言之,所述设备100可以从所述FQDN101中提取所述公共后缀序列103作为第一部分,提取所述域字符序列104作为第二部分。然后,由所述设备100分别对所述FQDN101的这些部分进行处理。
特别地,所述设备100用于对所述公共后缀序列103进行处理,以获得指示所述FQDN101是否恶意的第一结果105,并对所述域字符序列104进行处理,以获得指示所述FQDN101是否恶意的第二结果106。为此,所述设备100可以包括至少一个LSTM网络,以执行所述处理。LSTM网络可以是RNN或CNN等。当用于获得所述第一结果105时,所述设备100可用于根据已确定的历史记录等先前事件计算所述公共后缀序列103或所述公共后缀序列103和所述域字符序列104用于恶意FQDN101的概率。例如,公共后缀序列103已经用于恶意FQDN101的频率越高,所述公共后缀序列103再次被恶意使用的概率就越高。当用于获得所述第二结果105时,所述设备100可以用于根据所述域字符序列104中的一个或多个下一个字符的似然计算所述域字符序列104用于恶意FQDN101的概率。例如,所述一个或多个下一个字符的似然越低,所述域字符序列104被恶意使用的概率就越高。
最后,所述设备100用于对所述第一结果105和所述第二结果106进行合并,以得到合并的结果107。所述设备100用于根据所述合并的结果107判断所述FQDN101是否恶意,并将判断结果作为最终结果。在对所述第一结果105和所述第二结果106进行合并时,所述设备100也可以用于对所述结果进行加权。
图2示出了根据本发明实施例的设备100,其以图1所示的所述设备100为基础。图1和图2中的相同元件通过相同的附图标记来标记,且功能相同。相应地,图2的所述设备100也用于分别接收所述公共后缀索引102和所述FQDN101,并在包含两个步骤的过程中判断所述FQDN101是否恶意。对于所述包含两个步骤的过程,所述设备100具体使用深度学习模型中的两个不同的路径202、203,具体为两个不同的LSTM网络。
图2具体示出所述公共后缀索引102和所述FQDN101被输入到所述设备100的单元200,其中所述单元200用于顶级域提取。所述提取单元200生成所述域字符序列104和所述公共后缀序列103,其中所述公共后缀序列103此处称为公共后缀阵列。然后,通过第一路径,即,第一LSTM202,对所述公共后缀序列103进行处理,以生成所述第一结果105。通过第二路径,即,第二LSTM203,对所述域字符序列104进行处理,以生成所述第二结果106。在所述设备100的合并层204对这两个结果105和106进行合并,以生成所述合并的结果107。根据所述合并的结果107,利用深度学习模型判断所述输入的FQDN101是否恶意。应注意,所述LSTM202和203以及所述合并层204是所述深度学习模型的一部分。
图3示出了根据本发明实施例的设备100,其以图2所示的所述设备100为基础。图2和图3中的相同元件通过相同的附图标记来标记,且功能相同。特别地,图3更详细地示出了图2所示的所述设备100的所述深度学习模型。
所述深度学习模型具体包括两个单独的LSTM网络202和203。所述第一LSTM203用于对所述域字符序列104(例如,kmcokkdoqwvfgk)进行处理。所述第二LSTM202用于对所述公共后缀序列103或阵列(例如,由阵列[‘act’,‘edu’,‘au’]表示的公共后缀act.edu.au)进行处理。
在合并级联层204对所述相应的结果105和106进行合并,并且由全连接层306和308分别对所述结果进行处理。第一完全级联层306对所述第一LSTM202的输出进行处理,以生成所述结果105。第二完全级联层308对所述合并的结果107进行处理。然后预测所述设备100的输出,即,所述FQDN101是否恶意。
例如,已利用最流行网站的1M的Alexa索引、含有3M以上手动编辑的非恶意域的DMOZ索引和来自开源情报(Open-source intelligence,OSINT)和DGArchive(DGArchive.caad.fkie.fraunhofer.de)的约1M的DGA样本对所述深度学习模型进行训练。
图4比较了根据本发明的具体实现上述深度学习模型的设备100与实现传统模型(例如,由挪威计算中心提出的算法)的设备的性能。可以看出,根据本发明实施例的所述设备100在验证准确性和验证损失两方面都比传统设备表现出显着改进的性能。也就是说,所述设备100的验证准确性大大高于传统设备,而其验证损失也更低。
图5示出了根据本发明实施例的设备100的对若干个DGA的检测率。特别地,图5中的表格中示出了各种DGA,简短地描述了所述DGA,并且展示了所述设备100检测出利用各种DGA生成的未被发现的域的概率始终很高。此外,来自未被发现的来源的非恶意域的误报概率较低。
图6示出了根据本发明实施例的系统600。所述系统600具体用于检测恶意域名,尤其是由DGA生成的恶意域名。所述系统600包括监控设备601,用于监控传入DNS流量602并从所述传入DNS流量602中确定至少一个FDQN101。所述系统600还包括根据本发明实施例的设备100,例如,如图1、2或3所示的设备100。所述设备100用于判断所述确定的FQDN101是否恶意。通过上述包含两个步骤的过程判断所述确定的FQDN101是否恶意。
图7示出了所述系统600(以及所述设备100)可以在基于主机的入侵检测系统(host intrusion detection system,HIDS)中实现,或者甚至可以是HIDS。所述HIDS可以是提供给消费者的云服务。所述HIDS可以由运行在安全用户虚拟机(Guest VirtualMachine,GVM)侧的基于通用代理的平台上的若干插件组成。所述DGA插件,即,所述系统600,可以运行在HIDS代理平台上,并且可以被动地嗅探所述DNS流量602。一旦检测到新的DNS查找,将所述FQDN101发送到基于云的僵尸网络检测服务,该基于云的僵尸网络检测服务包括所述设备100。若所述基于云的僵尸网络检测服务检测到恶意域,所述HIDS会等待一定的阈值(例如,10个正检测的DGA),然后阻止(或者,警报)作为所述DGA流量的来源的进程。换言之,所述HIDS中的所述系统600用于在一定数量的FQDN101被确定为恶意FQDN后,其中所述FQDN的数量高于所确定的阈值数量,阻止作为所述传入DNS流量602的来源的进程,其中,所述FQDN101是从所述传入DNS流量中确定的;或输出警报消息。
图8示出了包括所述设备100的基于云的僵尸网络检测服务,例如,在图7的所述系统600中使用的基于云的僵尸网络检测服务。所述基于云的僵尸网络检测服务可以是Galaxy大数据和AI平台的一部分。Galaxy负责来自多个来源的数据聚合及其处理(包括模型构建)。DGA提要聚合组件负责已证明的良性域(例如,Alexa、DMOZ、华为DNSaaS)和恶意域(例如,DGArchive、Malwaredomainlist、OSINT)的数据聚合。聚合后的数据存储在大数据平台。僵尸网络检测服务负责上述模型的周期性训练,其中所述僵尸网络检测服务由根据本发明实施例的所述设备100实现或包括所述设备100。所述训练的模型用于对来自HIDS代理的域列表进行推断。
图9示出了根据本发明实施例的方法900。所述方法900可以由根据本发明实施例的设备100执行,例如,如图1、2或3所示的设备100,或者由如图6或图7所示的系统600执行。所述方法900包括:步骤901:接收FQDN101和公共后缀索引102作为输入。进一步地,所述方法900包括:步骤902:根据所述公共后缀索引103确定所述FQDN101中的公共后缀序列103和域字符序列104。进一步地,所述方法900包括:步骤902:对所述公共后缀序列103进行处理,以得到指示所述FQDN101是否恶意的第一结果105。进一步地,所述方法900包括:步骤904:对所述域字符序列104进行处理,以得到指示所述FQDN101是否恶意的第二结果106。最后,所述方法900包括:步骤905:对所述第一结果105和所述第二结果106进行合并,并根据所述合并的结果107判断所述FQDN101是否恶意。
已经结合作为实例的不同实施例以及实施方案描述了本发明。但本领域技术人员通过实践所请发明,研究附图、本公开以及独立权项,能够理解并获得其他变体。在权利要求以及描述中,术语“包括”不排除其他元件或步骤,且“一”并不排除复数可能。单个元件或其它单元可满足权利要求书中所叙述的若干实体或项目的功能。在仅凭某些措施被记载在相互不同的从属权利要求书中这个单纯的事实并不意味着这些措施的结合不能在有利的实现方式中使用。
Claims (12)
1.一种恶意域名检测设备(100),其特征在于,所述设备(100)用于:
接收完全限定域名(Fully-Qualified Domain Name,FQDN)(101)和公共后缀索引(102)作为输入;
根据所述公共后缀索引(102)确定所述FQDN(101)中的公共后缀序列(103)和域字符序列(104);
对所述公共后缀序列(103)进行处理,以得到指示所述FQDN(101)是否恶意的第一结果(105);
对所述域字符序列(104)进行处理,以得到指示所述FQDN(101)是否恶意的第二结果(106);以及
对所述第一结果(105)和所述第二结果(106)进行合并,并根据所述合并的结果(107)判断所述FQDN(101)是否恶意。
2.根据权利要求1所述的设备(100),其特征在于,包括:
第一长短期记忆(Long Short-Term Memory,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)中的一个或多个下一个字符的似然计算所述域字符序列(104)用于恶意FQDN(101)的概率。
8.根据权利要求1至7中任一项所述的设备(100),其特征在于,当用于判断所述FQDN(101)是否恶意时,所述设备(100)用于:
对所述合并的结果(107)进行分类。
9.一种恶意域名检测系统(600),其特征在于,所述系统(600)包括:
监控设备(601),用于监控传入的域名系统(Domain Name System,DNS)流量(602),并从所述传入的DNS流量(602)中确定至少一个FQDN(101);以及
根据权利要求1至8中任一项所述的设备(100),用于判断所述确定的FQDN(101)是否恶意。
10.根据权利要求9所述的系统(600),其特征在于,用于:
在一定数量的FQDN(101)已经被确定为恶意FQDN之后,其中,所述FQDN的数量高于确定的阈值数量,
阻止作为所述传入DNS流量(602)的来源的进程,其中,所述FQDN(101)是从所述传入DNS流量中确定的;或者
输出警报消息。
11.一种恶意域名检测方法(900),其特征在于,所述方法(900)包括:
(901):接收完全限定域名(Fully-Qualified Domain Name,FQDN)(101)和公共后缀索引(102)作为输入;
(902):根据所述公共后缀索引(102)确定所述FQDN(101)中的公共后缀序列(103)和域字符序列(104);
(903):对所述公共后缀序列(103)进行处理,以得到指示所述FQDN(101)是否恶意的第一结果(105);
(904):对所述域字符序列(104)进行处理,以得到指示所述FQDN(101)是否恶意的第二结果(106);以及
(905):对所述第一结果(105)和所述第二结果(106)进行合并,并根据所述合并的结果(107)判断所述FQDN(101)是否恶意。
12.一种计算机程序产品,其特征在于,包括用于控制根据权利要求1至8中任一项所述的设备(100)的程序代码,或包括当在处理器中实现时,用于执行根据权利要求11所述的方法(900)的程序代码。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/EP2018/064092 WO2019228613A1 (en) | 2018-05-29 | 2018-05-29 | Device and method for detecting malicious domain names |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112204930A true CN112204930A (zh) | 2021-01-08 |
CN112204930B CN112204930B (zh) | 2022-03-01 |
Family
ID=62528421
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880093939.3A Active CN112204930B (zh) | 2018-05-29 | 2018-05-29 | 恶意域名检测设备、系统和方法 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN112204930B (zh) |
WO (1) | WO2019228613A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11595357B2 (en) | 2019-10-23 | 2023-02-28 | Cisco Technology, Inc. | Identifying DNS tunneling domain names by aggregating features per subdomain |
CN112261063A (zh) * | 2020-11-09 | 2021-01-22 | 北京理工大学 | 结合深度分层网络的网络恶意流量检测方法 |
CN115102714A (zh) * | 2022-05-17 | 2022-09-23 | 中国科学院信息工程研究所 | 基于动态演进图的恶意域名检测方法及装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101350032A (zh) * | 2008-09-23 | 2009-01-21 | 胡辉 | 判断网页内容是否相同的方法 |
US9043894B1 (en) * | 2014-11-06 | 2015-05-26 | Palantir Technologies Inc. | Malicious software detection in a computing system |
CN105827594A (zh) * | 2016-03-08 | 2016-08-03 | 北京航空航天大学 | 一种基于域名可读性及域名解析行为的可疑性检测方法 |
US9419986B2 (en) * | 2014-03-26 | 2016-08-16 | Symantec Corporation | System to identify machines infected by malware applying linguistic analysis to network requests from endpoints |
CN107547488A (zh) * | 2016-06-29 | 2018-01-05 | 华为技术有限公司 | 一种dns隧道检测方法以及dns隧道检测装置 |
US20180063168A1 (en) * | 2016-08-31 | 2018-03-01 | Cisco Technology, Inc. | Automatic detection of network threats based on modeling sequential behavior in network traffic |
-
2018
- 2018-05-29 CN CN201880093939.3A patent/CN112204930B/zh active Active
- 2018-05-29 WO PCT/EP2018/064092 patent/WO2019228613A1/en active Application Filing
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101350032A (zh) * | 2008-09-23 | 2009-01-21 | 胡辉 | 判断网页内容是否相同的方法 |
US9419986B2 (en) * | 2014-03-26 | 2016-08-16 | Symantec Corporation | System to identify machines infected by malware applying linguistic analysis to network requests from endpoints |
US9043894B1 (en) * | 2014-11-06 | 2015-05-26 | Palantir Technologies Inc. | Malicious software detection in a computing system |
CN105827594A (zh) * | 2016-03-08 | 2016-08-03 | 北京航空航天大学 | 一种基于域名可读性及域名解析行为的可疑性检测方法 |
CN107547488A (zh) * | 2016-06-29 | 2018-01-05 | 华为技术有限公司 | 一种dns隧道检测方法以及dns隧道检测装置 |
US20180063168A1 (en) * | 2016-08-31 | 2018-03-01 | Cisco Technology, Inc. | Automatic detection of network threats based on modeling sequential behavior in network traffic |
Non-Patent Citations (1)
Title |
---|
周昌令等: "基于深度学习的域名查询行为向量空间嵌入", 《通信学报》 * |
Also Published As
Publication number | Publication date |
---|---|
CN112204930B (zh) | 2022-03-01 |
WO2019228613A1 (en) | 2019-12-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Gupta et al. | A novel approach for phishing URLs detection using lexical based machine learning in a real-time environment | |
Vinayakumar et al. | Scalable framework for cyber threat situational awareness based on domain name systems data analysis | |
US11558418B2 (en) | System for query injection detection using abstract syntax trees | |
Marchal et al. | PhishStorm: Detecting phishing with streaming analytics | |
Sun et al. | {HinDom}: A robust malicious domain detection system based on heterogeneous information network with transductive classification | |
US10574681B2 (en) | Detection of known and unknown malicious domains | |
US8578497B2 (en) | Method and system for detecting malware | |
Tahir et al. | A hybrid model to detect phishing-sites using supervised learning algorithms | |
Tong et al. | A method for detecting DGA botnet based on semantic and cluster analysis | |
CN112204930B (zh) | 恶意域名检测设备、系统和方法 | |
CN112839017B (zh) | 一种网络攻击检测方法及其装置、设备和存储介质 | |
US10911477B1 (en) | Early detection of risky domains via registration profiling | |
Abraham et al. | Approximate string matching algorithm for phishing detection | |
Aung et al. | URL-based phishing detection using the entropy of non-alphanumeric characters | |
He et al. | Malicious domain detection via domain relationship and graph models | |
Vij et al. | Detection of algorithmically generated domain names using LSTM | |
Chen et al. | Efficient suspicious URL filtering based on reputation | |
Thakur et al. | An intelligent algorithmically generated domain detection system | |
Chiba et al. | Botprofiler: Profiling variability of substrings in http requests to detect malware-infected hosts | |
Gupta | Efficient malicious domain detection using word segmentation and BM pattern matching | |
Najafi et al. | Guilt-by-association: detecting malicious entities via graph mining | |
Jo et al. | You're not who you claim to be: Website identity check for phishing detection | |
Nguyen Quoc et al. | Detecting DGA Botnet based on Malware Behavior Analysis | |
Nakamura et al. | Classification of unknown Web sites based on yearly changes of distribution information of malicious IP addresses | |
Stiawan et al. | IoT botnet attack detection using deep autoencoder and artificial neural networks |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20220217 Address after: 550025 Huawei cloud data center, jiaoxinggong Road, Qianzhong Avenue, Gui'an New District, Guiyang City, Guizhou Province Applicant after: Huawei Cloud Computing Technologies Co.,Ltd. Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen Applicant before: HUAWEI TECHNOLOGIES Co.,Ltd. |
|
TA01 | Transfer of patent application right |