CN112771523A - 用于检测生成域的系统和方法 - Google Patents
用于检测生成域的系统和方法 Download PDFInfo
- Publication number
- CN112771523A CN112771523A CN201880096365.5A CN201880096365A CN112771523A CN 112771523 A CN112771523 A CN 112771523A CN 201880096365 A CN201880096365 A CN 201880096365A CN 112771523 A CN112771523 A CN 112771523A
- Authority
- CN
- China
- Prior art keywords
- domain
- layer
- model
- tld
- neural 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 102
- 238000001514 detection method Methods 0.000 claims abstract description 58
- 238000003062 neural network model Methods 0.000 claims abstract description 52
- 238000010801 machine learning Methods 0.000 claims abstract description 48
- 230000010354 integration Effects 0.000 claims abstract description 46
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 40
- 238000004458 analytical method Methods 0.000 claims abstract description 27
- 238000010606 normalization Methods 0.000 claims description 44
- 238000012549 training Methods 0.000 claims description 28
- 238000013528 artificial neural network Methods 0.000 claims description 24
- 238000003860 storage Methods 0.000 claims description 20
- 230000000306 recurrent effect Effects 0.000 claims description 18
- 238000007477 logistic regression Methods 0.000 claims description 12
- 238000012544 monitoring process Methods 0.000 claims description 12
- 238000004891 communication Methods 0.000 claims description 11
- 230000015654 memory Effects 0.000 description 22
- 239000013598 vector Substances 0.000 description 15
- 230000006870 function Effects 0.000 description 14
- 230000008569 process Effects 0.000 description 11
- 238000010586 diagram Methods 0.000 description 10
- 238000007637 random forest analysis Methods 0.000 description 8
- 230000004913 activation Effects 0.000 description 6
- 238000001994 activation Methods 0.000 description 6
- 238000012360 testing method Methods 0.000 description 6
- 230000008901 benefit Effects 0.000 description 5
- 239000011159 matrix material Substances 0.000 description 5
- 238000013500 data storage Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000006872 improvement Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 238000009826 distribution Methods 0.000 description 3
- ZXQYGBMAQZUVMI-GCMPRSNUSA-N gamma-cyhalothrin Chemical compound CC1(C)[C@@H](\C=C(/Cl)C(F)(F)F)[C@H]1C(=O)O[C@H](C#N)C1=CC=CC(OC=2C=CC=CC=2)=C1 ZXQYGBMAQZUVMI-GCMPRSNUSA-N 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 238000007792 addition Methods 0.000 description 2
- 239000000654 additive Substances 0.000 description 2
- 230000000996 additive effect Effects 0.000 description 2
- 238000003066 decision tree Methods 0.000 description 2
- 238000013136 deep learning model Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000008034 disappearance Effects 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 230000002441 reversible effect Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000007474 system interaction Effects 0.000 description 2
- 235000009499 Vanilla fragrans Nutrition 0.000 description 1
- 244000263375 Vanilla tahitensis Species 0.000 description 1
- 235000012036 Vanilla tahitensis Nutrition 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 230000010485 coping Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000002790 cross-validation Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000007636 ensemble learning method Methods 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000011835 investigation Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000000116 mitigating effect Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000002688 persistence Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000011897 real-time detection Methods 0.000 description 1
- 238000005067 remediation Methods 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 230000006403 short-term memory Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 210000003813 thumb Anatomy 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/30—Managing network names, e.g. use of aliases or nicknames
- H04L61/3015—Name registration, generation or assignment
- H04L61/3025—Domain name generation or assignment
-
- 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
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural 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/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/047—Probabilistic or stochastic 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
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N7/00—Computing arrangements based on specific mathematical models
- G06N7/01—Probabilistic graphical models, e.g. probabilistic networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/45—Network directories; Name-to-address mapping
- H04L61/4505—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
- H04L61/4511—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Computing Systems (AREA)
- Evolutionary Computation (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Biophysics (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Probability & Statistics with Applications (AREA)
- Algebra (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- Computational Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
一种用于域分析的计算机实施方法包括:通过计算设备获取域;以及通过所述计算设备将获取的域输入到经训练的检测模型,以确定所述获取的域是否由一种或多种域生成算法生成。所述检测模型包括神经网络模型、基于n‑gram的机器学习模型和集成层。将所述获取的域输入到所述检测模型包括:将所述获取的域输入到所述神经网络模型和所述基于n‑gram的机器学习模型。所述神经网络模型和所述基于n‑gram的机器学习模型都输出到所述集成层。所述集成层输出所述获取的域由域生成算法生成的概率。
Description
相关申请
本申请要求于2018年8月14日提交的题为“System and Method for DetectingGenerated Domain(用于检测生成域的系统和方法)”的美国临时申请No.62/718,736和于2018年12月14日提交的题为“System and Method for Detecting Generated Domain(用于检测生成域的系统和方法)”的美国非临时申请No.16/220,360的优先权的权益。上述申请的内容通过引用被整体并入本文。
技术领域
本公开总体上涉及域分析,且尤其涉及用于检测生成域的系统和方法。
背景技术
随着当今世界中技术的快速发展和数字设备的普及,生成、共享和存储的数据量比以往任何时候都要多。这包括高度敏感的信息,诸如信用卡详细信息、隐私和个人信息(诸如社会安全号码、地址)、甚至是政府雇员信息等。尽管数字革命以例如在线购物、数字政府和银行服务的形式带来了更多的便利,但是网络犯罪分子也意识到此类数据的价值。通过正在开发和部署新的先进技术以获取对重要或敏感数据的访问权限的网络威胁不断发展。
诸如后门、木马、信息窃取木马和自动运行型木马的数字威胁会尤其具有破坏性,因为它们会主动窃取个人信息或允许恶意攻击者出于恶意目的远程控制计算机(诸如执行分布式拒绝服务攻击(DDos攻击)或发送垃圾邮件)。由于此类恶意软件通常需要彼此进行网络通信并且为了避免被黑名单方法剔除,因此许多恶意软件使用域生成算法(domaingeneration algorithm,DGA)伪随机地生成多个域进行通信。因此,检测这些生成域对于发现数字威胁并且帮助修补漏洞很重要。
发明内容
本公开的各种实施例包括用于域分析的系统、方法和非暂时性计算机可读介质。根据一个方面,一种用于域分析的计算机实施方法包括:通过计算设备获取域;以及通过所述计算设备将获取的域输入到经训练的检测模型,以确定所述获取的域是否由一种或多种域生成算法生成。所述检测模型包括神经网络模型、基于n-gram的机器学习模型(n-gram-based machine learning model)和集成层(ensemble layer)。将所述获取的域输入到所述检测模型包括:将所述获取的域输入到所述神经网络模型和所述基于n-gram的机器学习模型。所述神经网络模型和所述基于n-gram的机器学习模型都输出到所述集成层。所述集成层输出所述获取的域由所述域生成算法生成的概率。
在一些实施例中,通过计算设备获取所述域包括:通过所述计算设备从本地域名服务(Domain Name Service,DNS)服务器的日志中获取所述域。所述方法还包括通过所述计算设备将所述确定转发到所述本地DNS服务器以阻止所述域的查询。在一些实施例中,通过计算设备获取所述域包括:通过所述计算设备从安装在客户端设备上的代理软件获取所述域。所述方法还包括通过所述计算设备将所述确定转发到所述代理软件以阻止与所述域的互联网协议(IP)地址的通信。
在一些实施例中,通过计算设备获取所述域包括:通过所述计算设备从网络监视服务器的日志中获取所述域。所述方法还包括通过所述计算设备将所述确定转发到所述网络监视服务器以阻止所述域的查询。
在一些实施例中,所述检测模型包括附加特征层,将所述获取的域输入到所述检测模型包括:将所述获取的域输入到所述附加特征层,所述附加特征层输出到所述集成层,所述域与域名和顶级域(top-level domain,TLD)相关联,并且所述附加特征层至少包括以下特征:所述域名的长度、所述TLD的长度、所述域名的长度是否超过域名阈值、所述TLD的长度是否超过TLD阈值、所述域名中的数字字符的数目、所述TLD是否包含任何数字字符、所述域名中包含的特殊字符的数目、或所述TLD是否包含任何特殊字符。
在一些实施例中,所述集成层包括输出所述概率的顶部逻辑回归模型,所述顶部逻辑回归模型包括分别与特征:所述神经网络模型的输出以及所述基于n-gram的机器学习模型的输出相关联的多个集成系数,并且所述检测模型通过以下方式进行训练:分别训练所述神经网络模型和所述基于n-gram的机器学习模型,以及将经训练的神经网络模型和经训练的基于n-gram的机器学习模型的输出输入到所述顶部逻辑回归模型,以求解所述集成系数。
在一些实施例中,所述神经网络模型包括概率网络,所述域与作为对所述概率网络的单独输入的域名、顶级域(TLD)和域长度相关联,所述域名被输入到独热编码层和循环神经网络层,然后被输入到密集和批量归一化层,所述TLD被输入到嵌入和批量归一化层,然后被输入到所述密集和批量归一化层,所述域长度被输入到所述密集和批量归一化层,并且所述密集和批量归一化层输出通过所述域生成算法生成所述获取的域的预测概率。在一示例中,所述循环神经网络层包括长短期记忆(long-short term memory,LSTM)单元。
在一些实施例中,所述神经网络模型包括表示网络,所述域与作为对所述表示网络的单独输入的域名和顶级域(TLD)相关联,所述域名被输入到嵌入和批量归一化层和循环神经网络层,然后被输入到密集和批量归一化层,所述TLD被输入到嵌入和批量归一化层,然后被输入到所述密集和批量归一化层,并且所述密集和批量归一化层输出所述域的密集表示。在一个示例中,所述循环神经网络层包括门控循环单元(gated recurrentunit,GRU)。
在一些实施例中,所述基于n-gram的机器学习模型包括基于二元组特征的基于梯度提升的分类器。
在一些实施例中,所述获取的域包括一个或多个汉语拼音元素。
根据另一方面,一种用于域分析的系统,包括处理器和存储指令的非暂时性计算机可读存储介质,所述指令在由处理器执行时使所述处理器执行用于域分析的方法。所述方法包括:获取域;以及将获取的域输入到经训练的检测模型,以确定所述获取的域是否由一种或多种域生成算法生成。所述检测模型包括神经网络模型、基于n-gram的机器学习模型和集成层。将所述获取的域输入到所述检测模型包括:将所述获取的域输入到所述神经网络模型和所述基于n-gram的机器学习模型。所述神经网络模型和所述基于n-gram的机器学习模型都输出到所述集成层。所述集成层输出所述获取的域由所述域生成算法生成的概率。
根据另一方面,一种非暂时性计算机可读存储介质存储指令,所述指令在由处理器执行时使所述处理器执行用于域分析的方法。所述方法包括:获取域;以及将获取的域输入到经训练的检测模型,以确定所述获取的域是否由一种或多种域生成算法生成。所述检测模型包括神经网络模型、基于n-gram的机器学习模型和集成层。将所述获取的域输入到所述检测模型包括:将所述获取的域输入到所述神经网络模型和所述基于n-gram的机器学习模型。所述神经网络模型和所述基于n-gram的机器学习模型都输出到所述集成层。所述集成层输出所述获取的域由所述域生成算法生成的概率。
本文公开的所述系统、方法和非暂时性计算机可读介质的这些和其它特征,以及结构的相关元件的操作和功能的方法以及部件的组合和制造的节约措施将参考附图并考虑以下描述和所附权利要求后变得更加明显,所有这些都构成本说明书的一部分,其中相同的附图标记表示各个图中的对应部分。然而,应清楚地理解,附图仅用于说明和描述的目的,并不旨在作为本发明的限制的定义。
附图说明
在所附权利要求中具体阐述了本发明技术的各个实施例的某些特征。通过参考以下详细描述将获得对该技术的特征和优点的更好理解,所述详细描述阐述了利用本发明的原理的示例性实施例,以及在附图中:
图1示出了根据各实施例的用于域分析的示例性环境。
图2示出了根据各实施例的用于域分析的示例性系统交互。
图3A示出了根据各实施例的用于域分析的示例性概率网络。
图3B示出了根据各实施例的用于域分析的示例性表示网络。
图3C示出了根据各实施例的用于域分析的示例性检测模型。
图3D示出了根据各实施例的在从基于门控循环单元(GRU)的表示网络输出的表示向量上的t分布随机近邻嵌入(t-Distributed Stochastic Neighbor Embedding,t-SNE)。
图4A示出了根据各实施例的用于域分析的示例性方法的流程图。
图4B示出了根据各实施例的用于域分析的另一示例性方法的流程图。
图4C示出了根据各种实施例的用于域分析的另一示例性方法的流程图。
图5示出了其中可以实施本文中描述的任一实施例的示例性计算机系统的框图。
具体实施方式
如今,诸如后门、特洛伊木马、信息窃取木马和自动运行型木马的数字威胁会尤其具有破坏性,因为它们会主动窃取信息或允许出于恶意目的而进行远程控制。由于此类恶意软件通常需要彼此进行网络通信,并且为了避免被黑名单方法剔除,因此许多恶意软件使用域生成算法(DGA)伪随机地生成多个域进行通信。在本公开中,生成域可以指由一个或多个DGA生成的域。DGA通常可以代表生成用于恶意目的的域的恶意软件或其他软件。DGA不断发展,并且这些生成域每天与网络通信流量中的良性查询混合在一起,从而使检测变得困难。域可以是例如统一资源定位符(URL)或URL的一部分。如后文所述,域的分析部分可以包括以下项中的一个或多个:子域、域名、顶级域(TLD)等。尽管所公开的实施例主要针对检测由DGA生成的域,但是这些实施例通常可以应用于分析域。
在一些实施例中,典型的恶意软件经由命令与控制(Command&Control,C&C)通道与攻击者控制的C&C服务器通信,以用于接收更新、命令或其他信息。例如,后门和自动运行型木马通过C&C通道接收命令,而信息窃取木马通过其C&C通道发送被盗的银行和登录信息。为了使恶意软件与其C&C服务器通信,恶意软件必须知道服务器的IP地址。一种简单的应对方法是对恶意软件(或恶意软件的配置文件)中的IP地址或域名列表进行硬编码。但是,这种硬编码方法使得恶意软件易于通过简单的IP或域黑名单禁用。已知恶意IP或域的列表可以被用作违规标记并且被安全系统阻止。IP或域剔除也可以有效地破坏整个恶意软件网络。因此,对于黑客而言,为了避免检测到恶意软件的IP和域并阻止此类剔除,某些恶意软件族采用DGA来从特定的种子生成大量的伪随机域。恶意软件和C&C服务器共享相同的种子和伪随机算法。例如,如在Torpig恶意软件中,DGA可以使用日期作为其种子,或者如在Torpig的升级版本中,甚至可以使用推文(tweet)字符作为其种子。采用DGA的恶意软件可能会从每个种子生成一组新域,并且尝试连接到这些域。生成域可以被用作与C&C服务器的集合点。大量潜在的集合点使执法人员很难有效地关闭僵尸网络,因为受感染的计算机每天都会尝试联系其中一些域名来接收更新或命令。由于恶意软件将不断尝试解析并连接到每个域,因此这些域中的一小部分需要被攻击者进行预注册以使整个方案正常工作。由于DGA方案中可以使用任何种子值和算法,因此很难预测各种恶意软件将使用的域。因此,DGA方法有效地使诸如IP/域黑名单等当前对策无效。
所公开的系统和方法可以至少减轻当前实践的上述技术问题。本公开的各实施例包括用于检测生成域的系统、方法和非暂时性计算机可读介质。在各种实施例中,公开了一种结合神经网络、基于n-gram的机器学习模型和附加域特征的检测模型。神经网络、基于n-gram的机器学习模型和附加域特征互为补充,在检测准确性方面显示出显著改进。例如,检测模型可以检测看起来像生成域的良性域,例如包含字母和数字的域,或包含汉语拼音的域。检测模型的更多细节在下面参考图1至图5进行描述。
图1示出了根据各实施例的用于域分析的示例性环境100。如图1所示,示例性环境100可以包括至少一个计算系统102,其包括一个或多个处理器104和存储器106。存储器106可以是非暂时性的并且是计算机可读的。存储器106可以存储指令,当指令由一个或多个处理器104执行时,使一个或多个处理器104执行本文描述的各种操作。系统102可以在诸如移动电话、平板电脑、服务器、计算机、可穿戴设备等的一个或多个计算设备上或作为一个或多个计算设备实现。上述的系统102可以安装有软件(例如,平台程序)和/或硬件(例如,有线、无线连接)以访问环境100的其他设备。
环境100可以包括可被系统102访问的一个或多个数据存储装置(例如,数据存储装置108)和一个或多个计算设备(例如,计算设备109)。数据存储装置108和计算设备可以是可选的,并且可以辅助系统102执行本文描述的各种操作。例如,系统102可以从数据存储装置108和/或计算设备109获得训练数据,例如良性域和生成域。获取的训练数据可以被存储在存储器106中或以其他方式可用于处理器104(例如,通过网络)。处理器104可以训练各种模型并且执行本文描述的各种算法。
环境100可以进一步包括耦合到系统102的一个或多个计算设备(例如,计算设备110、111和112)。计算设备110、111和112可以各自包括服务器、计算机、手机、平板电脑、可穿戴设备等。计算设备110、111和112可以向系统102发送信息、数据或指令或从系统102接收信息、数据或指令。下面参考图2描述计算设备110、111和112的示例性实施例。
在一些实施例中,系统102和一个或多个计算设备(例如,计算设备109)可以集成在单个装置或系统中。可替代地,系统102和一个或多个计算设备可以作为单独的装置而运行。一个或多个数据存储装置可以在系统102可访问的任何地方,例如,在存储器106中、在计算设备109中、在耦合到系统102的另一设备(例如,网络存储设备)中或另一存储位置(例如,基于云的存储系统、网络文件系统等)等。尽管系统102和计算设备109在图中被示为单个组件,但是应当理解,系统102和计算设备109可以被实现为单个设备或耦合在一起的多个设备。系统102可以被实现为单个系统或彼此耦合的多个系统。系统102、计算设备109、数据存储装置108、计算设备110、111和112能够通过一个或多个有线或无线网络(例如,互联网)相互通信,数据可以通过所述网络进行通信。下面参考图2至图5描述环境100的各方面。
图2示出了根据各实施例的用于域分析的示例性系统交互。图2中所示的并且在下面呈现的操作旨在是说明性的。如图2中所示,可以由系统102(例如,分析服务器)以各种方式获取在网络中查询的域。例如,系统102可以经由计算设备110(例如,本地DNS服务器)、计算设备111(例如,网络监视服务器)、计算设备112(例如,客户端设备)等获取一个或多个域。系统102可以从本地DNS服务器和/或监视服务器的日志(例如,域查询日志)获取域。系统102可以从安装在客户端设备上的代理软件获取域,该代理软件记录客户端设备查询的域。
域名服务(DNS)是一种协议,计算机通过该协议将文本主机标识符(www.example.com)转换为IP地址(93.184.216.34),该IP地址用于在互联网上定位计算机(服务器)。通过使用DNS查询可以进行这种转换。在给定的示例中,计算机对域www.example.com执行DNS查询,并接收IP地址93.184.216.34的DNS响应。DNS查询被发送到DNS服务器,如果DNS服务器知道请求的域和IP地址之间的映射,则DNS服务器可以使用IP地址进行响应。如果不是,该请求将被转发到另一DNS服务器,该服务器可能知道查询的答案。递归执行此过程,直到接收到响应为止。
在一些实施例中,一旦(例如,通过DNS服务器、监视服务器或代理软件)捕获域查询,则服务(例如系统102)可以获取用于域分析的域。一旦执行分析并且给出结论(例如,域是良性的或恶意的/生成的),系统102就可以将确定的结果发送到本地DNS服务器110以阻止对恶意域的未来查询、发送到网络监视服务器111以阻止将来对恶意域的查询、或者发送到客户端设备112上的代理软件以阻止与恶意域的已解析IP地址的通信。该确定的结果也可以被转发到安全信息和事件管理系统(SIEM),从而允许安全分析人员执行补救或任何进一步的分析。
由于DNS流量很大,因此实时DGA分类器对于尽早阻止恶意软件的C&C通道变得很重要,因为黑名单变得效率低下,并且随着攻击者更新种子和算法,DGA的反向工程可能仅在有限的时间内起作用。也就是说,需要对域名系统(DNS)日志中的域进行有效的实时DGA分类,以检测潜在恶意的生成域。为了构建此类分类器,可以提取许多特征,诸如描述URL的词汇特征、上下文特征或基于主机的特征。现有技术(1)依赖于组上下文/统计特征或附加的基于主机的信息,因此需要较长的时间窗口;(2)依赖于从域字符串中提取的词汇特征来构建实时分类器,或者(3)直接构建根据域字符串进行预测的端到端深度神经网络。现有技术的性能(例如,在查准率和查全率方面)可能不足。在本公开中,提供了用于域分析的系统和方法。描述了利用从域生成的元数据的多种新的实时检测模型和框架。所公开的系统和方法使用集成技术结合深度神经网络模型和基于词汇特征的模型的优点,从而比所有现有技术方法具有更好的性能。例如,结果显示,在广泛使用的公共数据集上,查准率和查全率均为99.8%。
人工神经网络(ANN)是一系列非常强大的机器学习模型,这些机器学习模型可以在许多困难的问题上实现高性能并且近年来越来越受欢迎。人工神经网络可以用来学习恶意URL字符串中的模式以及从这些字符串中提取的词汇特征,例如字符串长度、特殊字符编号等。RNN(循环神经网络)是一类带有循环的人工神经网络(所谓的递归),这些循环将输入向量与网络状态向量递归组合以产生新的状态向量,从而使时间信息在学习过程中得以持久,从而成功地学习数据序列中的某些模式。特别地,长短期记忆(LSTM)是一种经常用于具有长期时间依赖性或动态性的数据中的特殊RNN。它通过使用保留信息的单元并使用3个“门”(输入、输出和遗忘)来控制信息流,从而解决了最简单的RNN(vanilla RNN)可能会具有的梯度消失问题(此问题使“记忆”远程依赖性变得困难)。门控循环单元(GRU)是另一种流行的RNN,它类似于LSTM,用于解决梯度消失的问题。区别在于,GRU使用重置门和更新门来控制状态和信息持久性。此外,经训练的基于RNN的模型(如LSTM或GRU)的推理和预测速度很快,因此适用于实时恶意URL或DGA分类等领域。
一些现有的模型仅依赖于字符串本身的LSTM,而忽略了可以提取出来并有助于分类的大量词汇特征。由这种缺陷引起的失效的可能性有两个方面。首先,基于唯一URL字符串的模型可能会“过度”部署用作训练集中的负样本(例如,alexa前100万个域)和正样本的数据集,而在现实2中表现不佳,这将在后面讨论。其次,某些词汇特征(例如n-gram、特殊字符、顶级域和域长度)可以传达能真正帮助分类的模式。RNN模型可能最终会以隐式方式使用大量数据来学习这些有用的模式,但效率不如直接在模型中组合这些特征。将基于字符串的RNN模型与提取的词汇特征相结合可以帮助平衡模型焦点,并且至少缓解上述缺陷。因此,本公开的各实施例包括用于域分析(例如,检测由DGA生成的URL)的系统、方法和非暂时性计算机可读介质。公开了利用具有强大的学习字符串序列能力的RNN和实质上可以辅助“不良”情况下的预测并提高性能的词汇特征的新架构。此外,还描述了结合神经网络、n-gram架构和附加词汇特征的检测模型。所公开的系统和方法可以至少减轻当前实践的上述技术问题。
在一些实施例中,获取的域可以是字符串格式,包括字母、数字和/或特殊字符。该域可以与域名、顶级域(TLD)和/或域长度相关联。
在一些实施例中,公开了两个替代的基于RNN的模型(概率网络模型和表示网络模型)和基于n-gram的Xgboost模型。上述模型中的两个或两个以上被集成到检测模型中,该检测模型结合用于检测生成域的所有优点。
对于概率网络,深度学习模型可以捕获URL中的模式,以便预测给定URL是DGA的概率。根据各种实施例,图3A中示出了概率网络模型的结构的图形表示。如图所示,域名特征与附加词汇特征(如顶级域(TLD)和字符串长度)结合在一起以预测域为算法生成的可能性。TLD是Internet分层DNS中的最高级域。例如,在URL“photos.google.com”中,“photos”是子域,“google”是域名,以及“com”是TLD。又例如,在URL“www.library.shinjuku.tokyo.jp”中,“library”是域名,“shinjuku.tokyo.jp”是TLD。
如图所示,域名可以通过独热编码、RNN和平坦化层,并且被输入到第二密集+批量归一化(BN)层。TLD可以穿过嵌入+BN层、平坦化层和第一密集+BN层,并且被输入到第二密集+BN层。域长度也可以被输入到第二密集+BN层。使用三个输入,第二密集+BN层可以输出预测概率。
在一些实施例中,密集层涉及对层的输入向量的线性运算,而批量归一化则涉及标准化进入每一层的激活,强制其均值和方差不会随底层参数的变化而变化。密集+BN层可以输出输入的密集表示。
在一些实施例中,域名和TLD的字符串类型输入可以被标记化,并且被截断或填充成统一的长度。随后,可以对域名应用独热编码,并可以对TLD进行嵌入,以将标记化的字符串输入分别转换为可以馈送到学习模型中的合理数字表示形式。独热编码将所有信息从原始输入转换为二进制表示序列。另一方面,嵌入会压缩原始序列中的信息,并且可以与后续模型一起进行优化,但也可能会丢失原始序列中的一些有用信息。此处,来自域名的完整信息通过独热编码馈送,而TLD输入由嵌入层处理为TLD输入,因为TLD可以将其值包含在预定义列表中,因此与域名相比,其复杂度相对较低。
在一些实施例中,将独热编码的输出馈送到RNN(例如,LSTM)以学习域名序列中的DGA模式,并且随后可以将其平坦化以用于后续处理。例如,平坦化层可以将n×m矩阵平坦化为1×(n+m)矩阵。域长度和自TLD处理的输出串联的输出可以被馈送到一个或多个全连接层(例如,密集+批量归一化(BN)),然后从最终的S形(Sigmoid)激活函数产生概率预测。
图3B是根据各种实施例的表示网络模型的结构的图示。表示网络模型学习DGA(即编码器)中携带的信息的密集表示。如图所示,域名可以穿过嵌入+BN层、RNN和平坦化层,并且被输入到第四密集+BN层。TLD可以穿过嵌入+BN层、平坦化层和第三密集+BN层,并且被输入到第四密集+BN层。利用这两个输入,第四密集+BN层可以输出域URL的密集表示(例如,包含域名和TLD信息的32维向量)。
DNN可以用作非常有效的隐层特征的提取器。在一些实施例中,以嵌入后的域名作为输入,标准RNN可以产生矩阵表示,其中将输入序列内的每个字符编码为向量。类似于概率网络,矩阵随后被展平并与TLD的密集表示连接起来,然后一起馈送到全连接层中进行转换。域名和TLD信息的向量表示通过一个或多个全连接层输出,而不是直接将此输入映射到最终概率预测。此低维表示被保存为一组在后描述的检测模型的新特征。
比较图3B中的表示网络模型与图3A中的概率网络模型,考虑到提取的特征应该是输入的域的整体表示,不再将域长度用作输入。为了进一步加快训练过程,将独热编码器替换为嵌入层,以对可以通过反向传播与整个DNN一起训练的域名进行编码。此外,GRU用于获取嵌入序列的隐藏值。与LSTM相比,GRU没有存储单元,因此训练速度更快。这些变化使表示网络模型与使用概率网络相比更轻巧、更易于训练、几乎没有性能下降。
除了深度神经网络模型之外,还公开了用于学习DGA的模式的基于n-gram的模型(例如,Xgboost模型)。n-gram是来自给定文本样本的n项的连续序列。这些项可以是字母、数字或特殊字符。n-gram模型是一种概率语言模型,用于以(n-1)阶马尔可夫模型的形式预测这种序列中的下一项。使用拉丁文数字前缀,大小为1的n-gram被称为“一元组(unigram)”,大小为2的是“二元组(bigram)”。在此,n可以是1、2、3等。例如,可以根据训练数据为每个可能的字符二元组构造二元组(n=2)出现计数表。从直觉角度来说,生成算法(例如DGA)不可能生成保留与合法域名完全相同的二元组分布的域名。对于良性域,通常会看到一些“常规”组合,例如“Google”中的“go”或“YouTube”中的“be”,其中任意一个都包含合法的词汇项或遵循英语或其他某种语言(例如汉语拼音)的一般发音习惯。相比之下,恶意DGA往往会破坏字符顺序以规避黑名单中捕获的模式。因此,可能可以通过基于n-gram的模型检测到DGA域(其字符二元组的频率计数较低)。
在一些实施例中,所述基于n-gram的机器学习模型包括基于二元组特征的基于梯度提升的分类器。一旦获取字符二元组特征,就可以训练基于梯度提升的分类器(例如,Xgboost)进行预测。与传统的梯度提升决策树(GBDT)和Adaboost相比,Xgboost可以使用多核以分布式方式进行训练,从而大大加快训练过程。尽管也可以使用一元组特征和三元组特征来训练分类器,像随机森林(RF)DGA分类器,但在本文所述的所有评估指标中,二元组特征的性能要优于一元组特征和三元组特征。此外,无论字符n-gram中n的选择如何,基于梯度提升的模型可以比RF表现更佳。尽管RF和Xgboost都属于集成学习方法,但是它们在多个方面有所不同。对于RF,树的顺序并不重要,因为每棵树都是使用训练数据的引导样本独立构建的。另一方面,Xgboost通过不断最小化决策树空间上的伪残差,将新树添加到已构建的树中。只要对超参数进行了仔细调校,由于上述训练目标的差异,基于梯度提升的模型在尺寸小于4,000的常规特征空间上比RF更为稳健。对于所公开的系统和方法,二元组特征的数量为大约1000,小于4,000。
如前所述,基于RNN的模型擅长学习序列数据中的时间信息。所公开的基于RNN的模型可以没有特征,语法和语义表示仅在训练过程中被隐式考虑。对于恶意和良性域,可以捕获域名全局模式和字符之间的长期相关性。但是,如果训练集的某些生成算法实例不足,则RNN几乎无法捕获生成域的全局“随机性”。同时,基于n-gram的模型可以更好地检测与训练集中已知DGA共享字符n-gram(局部模式,而不是全字符串模式)分布的恶意域。它不保留序列的任何语义含义。因此,良性域可能被n-gram模型归类为DGA,因为即使二元组在字符串中的位置或前/后二元组不同,它也会与训练集中的某些恶意域共享一些二元组标记。这会产生很高的假阳性率(FPR),这会花费更多的进一步调查时间,当然也会增加人工成本。
在一些实施例中,为了减轻全局和局部信息的影响,并且以较低的假阳性率和假阴性率保持模型的有效性,一种包括基于RNN和基于n-gram的模型的优点以及一些附加基于URL的特征的检测模型被公开。域中的附加特征可以包括以下示例中的一个或多个:
·名称s(s∈{域名、TLD})的长度(例如,以domain_len表示域名长度,以tld_len表示TLD长度);
·名称s的长度是否大于阈值CS(s∈{域名、TLD})(例如,以is_dom_ge_45表示域名长度是否大于阈值45、以is_tld_ge_7表示TLD的长度是否大于阈值7);
·域名中包含的数字字符数,例如,以#_num_char表示;
·TLD是否包含任何数字字符,例如,以is_num_in_tld表示;
·域名中包含的特殊字符数,例如,以#_spec_char表示;和
·TLD是否包含任何特殊字符,例如,以is_spec_in_tld表示。
在图3C中示出了检测模型的图形描述。如图所示,在一些实施例中,将RNN模型预测与来自Xgboost模型的概率预测连接起来,连同从域字符串中获得的(在附加特征层中的)附加特征一起被馈送给顶部的逻辑回归模型(集成层),以进行最终DGA概率预测。RNN模型预测可以包括DGA概率预测(概率网络模型)和/或来自基于RNN的模型的域的隐式表示(表示网络模型)。包括DGA概率预测的检测模型可以被称为集成概率模型,而包括域的隐式表示的检测模型可以被称为集成表示模型。集成概率模型具有10个特征(来自概率网络的1个特征,来自n-gram模型的1个特征和来自附加特征的8个特征),而集成表示模型具有42个特征(来自表示网络的32个特征、来自n-gram模型的1个特征和来自附加特征的8个特征)。最终DGA概率预测为:
其中w是线性权重,xi=(x1i,x2i,…,xdi)T是包含附加特征和上游分量输出的级联向量,以及b是模型偏差。
在一些实施例中,在训练阶段,分别地训练基于RNN的模型和基于梯度提升的模型。在第二阶段,将其对训练数据的预测/隐藏表示用于顶部的逻辑回归模型训练中,以求解集成系数。在默认情况下,系数以l2范数进行正则化,并且通过网格搜索找到正则项的系数。
可以测试上述模型的性能。在关于概率网络模型的一些实施例中,将包括具有256个单元的一层的LSTM网络被用作实现概率网络模型中的RNN。在将LSTM输出序列发送到完全连接的密集层之前,对LSTM输出序列进行展平。首先将TLD嵌入5维向量,然后将其馈送到具有整流器(Rectifier,ReLU)激活函数的32个单元的密集层。连接LSTM模型输出、TLD输出和域长度,然后将其馈送到具有整流器激活函数的32个单元的密集层。输出层是具有S型激活函数的1个单元的密集层。如图3A中所示,批量归一化层被添加到某些层。
在关于表示网络模型的一些实施例中,域名首先被嵌入到63维向量中,并且被馈送到包括一层256个GRU隐藏单元的RNN中。TLD嵌入7维向量,并且被馈送到32个单位的全连接层。然后,GRU输出矩阵被展平并且与TLD的密集表示连接起来,并被一起馈送到64个单元的密集层。随后的两个密集层分别具有32个密集单元和1个密集单元,它们用于将联合密集表示转换为概率度量。整流器激活函数用于所有中间密集层,且最后一层通过S型函数激活。
对于概率网络和表示网络,通过优化二进制交叉熵损失,可以最大化训练实例为真正的恶意DGA的可能性。一旦训练了表示网络,就保存第二至最后一层(完全连接的32单元层)的输出矢量,以训练图3C中所示的顶层元模型。
在关于基于n-gram的模型的一些实施例中,随机森林和Xgboost分类器的性能分别在域名的一元组、二元组和三元组特征上进行测试。在训练集上提取字符n-gram特征,并使用随机保持测试集来度量从良性URL检测DGA的通用性。为了减少潜在的过度拟合,针对每个分类器,对包括树的数量和每棵树的最大深度的超参数进行网格搜索。选择逻辑损失作为Xgboost的目标函数,且学习率固定为0.1。信息增益熵被用作随机森林的节点分裂准则。
在关于集成层的一些实施例中,一旦对基于RNN的模型和基于n-gram的模型进行了彻底的训练,则可以在预测概率或隐藏表示的基础上联合一些基于URL的特征建立顶层逻辑回归模型,如图3C中所示。顶层特征空间包含10个特征或41个特征,这具体取决于采用的是概率网络还是表示网络。阈值CS={45,7}以及特殊字符包括诸如连字符和句点的常用符号。使用l2范数对层权重进行正则化,并且通过交叉验证对惩罚参数进行网格搜索。在下文中,所生成的特征可以被称为domain_len、tld_len、is_dom_ge_45、is_tld_ge_7(TLD的长度是否大于7)、#_num_char、is_num_in_tld、#_spec_char、is_spec_in_tld。
在一些实施例中,表1总结了所描述的模型的测试性能。所公开的模型优于现有方法。对于基于n-gram的模型,对于所有三种情况(n=1、2、3),n=2是最佳配置。总体而言,基于n-gram树的模型的表现不如公开的概率网络。集成概率模型(图3C中所示的概率模型,其中神经网络模型是概率网络)和集成表示模型(图3C中所示的概率模型,其中神经网络模型是表示网络)都优于其余模型,并显示出相对现有方法的明显进步,从而实现了DGA分类的最佳性能。集成概率模型实现99.77%的查准率和查全率。
表1模型评估
如表2中所示,权重w1(对应于概率网络的输出概率)和w2(对应于n-gram模型的输出概率)分别为6.9057和9.3469。即使在单独测试时概率网络优于n-gram模型,但n-gramXgboost模型对集成层的最终预测的影响要大于概率网络。
表2集成概率模型中的集成层的权重
概率网络 | N-gram | domain_len | tld_len | |
权重 | 6.9057 | 9.3469 | 0.0008 | 0.1307 |
is_dom_ge_45 | is_tld_ge_7 | #_num_char | is_num_in_tld | |
权重 | -0.0136 | -0.0832 | -0.0994 | -0.0325 |
#_spec_char | is_spec_in_tld | b | ||
权重 | -1.5355 | -1.5196 | -7.3310 |
在测试集中,将检查选择性URL,基于此集成概率模型的概率网络和基于n-gram的Xgboost模型将做出不同的预测。表3中显示每个分量对最终预测的贡献。前两列分别显示概率网络和n-gram模型的输出概率。表3的第三列和第四列显示这两个模型的分量值(即分别是w1x1i和w2x2i),而第五列是w1x1i+w2x2i之和。如表所示,较大的w1x1i+w2x2i分量值与检测模型产生的较高的最终预测概率成比例,这表明从特征重要性的角度来看,这两个概率特征在顶层特征空间中占主导地位。
表3样本URL的选定集成概率模型的预测分量
在一些实施例中,RNN模型可以正确地识别由随机分布的域名组成的良性URL,这些域名没有明显的语义含义,例如“v4dwkcv”和“qlzn6i11”。从字符角度来看,这些域名看起来像真正的DGA,并且“愚弄”n-gram模型,因为在训练集的良性案例中不太可能积累大量的像“v4”或“6i”之类的二元组标记。RNN模型还可以解码基于单词的DGA,像“gentleshould”。它通过LSTM学习每个单词的隐式表示。由于二元组特征不相交,因此N-gram模型无法检测到此潜在的分布。对于基于树的模型,编码的标记值主要用于节点拆分,在整个训练过程中学习到的字符之间没有相关性。
在一些实施例中,在解码基于汉语拼音的域名(例如,xizanglvyou、laocaifengxitong)时,RNN模型倾向于输出大于0.8的概率,该概率足够高以指示LSTM并未将其在其他类似基于语义的域(例如,gentleshould)上的良好性能扩展到基于拼音的域。如图3A中所示,概率网络模型从域名、TLD和域长度获取输入。由于“xizanglvyou.org”和“gentleshould.net”都使用常用的TLD,并且长度相似,因此造成预测差异的最可能原因可能是域名的输出表示形式。在LSTM的每个单元中,发出的隐藏向量包含当前输入字符的单元值以及先前字符的信息。为了始终获得捕获隐藏单元上潜在序列模式的标识向量,LSTM层应在包含足够的具有多样化分布的输入序列的数据集上进行训练。由一些很少使用的生成算法生成的训练实例的缺乏可能导致,在实际生产系统中,其基于LSTM的模型的池泛化。
在一些实施例中,获取的域包括一个或多个汉语拼音元素。训练域中基于汉语拼音的域名不足会增加通过所公开的概率网络进行良性域识别的难度。对于这些情况,所公开的n-gram模型基于其字符二元组计数做出正确的预测。此外,w2>w1确保来自n-gram模型的预测纠正了RNN网络所做的预测,从而改善所公开的检测模型在那些基于拼音的URL上的稳健性。
图3D示出了根据各种实施例的使用t分布随机近邻嵌入(t-SNE)的针对所选测试数据的表示网络输出的二维可视化。总体而言,表示网络成功地创建了易于分离和分类的测试域的低维表示。除了图形下部的某些案例外,大多数良性和恶意案例明显地形成其自身聚簇。这就解释了为什么集成表示模型与集成概率模型获得非常接近的性能。与表示网络的初始设计相一致(也即其作为与概率网络相比是权重轻得多的模型),表示网络的训练时间仅为使用同一台机器的概率网络训练时间的1/10。对于计算能力或时间框架受限的情况,可以使用集成表示模型以得到更好的效率-性能折衷。
在一些实施例中,根据表2,大多数附加特征在训练后具有相对较小的系数,并且实际上对于大多数测试案例而言,预测标签主要由基于RNN的模型输出和基于n-gram的模型确定。
如上所述,公开了两种类型的深度神经网络模型,一种用于DGA概率预测,另一种用于DGA压缩表示。结合用于DGA分类的基于n-gram的机器学习模型和附加词汇特征,结合了基于n-gram的模型、辅助词汇特征和基于全字符串的模型(深度神经网络)的优势的检测模型被进一步公开,同时减轻了当单独使用时每个单独组件的缺点。结果,基于LSTM的概率网络在查准率和查全率方面均比现有模型高出近1%。此外,与独立的基于n-gram的模型和独立的基于RNN的模型相比,该检测模型达到了更高的性能。此外,由于基于全字符串的深度学习模型或基于n-gram的模型可能无法捕获所有DGA,因为DGA用途广泛且该任务复杂,因此所公开的检测模型可以平衡两种类型的模型。
图4A示出了根据本公开的各种实施例的示例性方法400的流程图。方法400可以在例如图1的环境100中实施。示例性方法400可以由系统102的一个或多个组件来实施。示例性方法400可以由类似于系统102的多个系统来实施。以下呈现的方法400的操作旨在是说明性的。取决于实施方式,示例性方法400可以包含以各种顺序或并行执行的附加的、更少的或替代的步骤。
框401包括:通过计算设备获取域。可选地,框401包括框401a:通过所述计算设备从本地域名服务(DNS)服务器的日志中获取域。框402包括:通过所述计算设备将获取的域输入到经训练的检测模型,以确定所述获取的域是否由一种或多种域生成算法生成。所述检测模型包括神经网络模型、基于n-gram的机器学习模型和集成层。将所述获取的域输入到所述检测模型包括:将所述获取的域输入到所述神经网络模型和所述基于n-gram的机器学习模型。所述神经网络模型和所述基于n-gram的机器学习模型都输出到所述集成层。所述集成层输出所述获取的域由域生成算法生成的概率。可选框403a包括通过所述计算设备将确定转发到本地DNS服务器以阻止域的查询。
图4B示出了根据本公开的各种实施例的示例性方法410的流程图。方法410可以在例如图1的环境100中实施。示例性方法410可以由系统102的一个或多个组件来实施。示例性方法410可以由类似于系统102的多个系统来实施。以下呈现的方法410的操作旨在是说明性的。取决于实施方式,示例性方法410可以包含以各种顺序或并行执行的附加的、更少的或替代的步骤。
框401包括:通过计算设备获取域。可选地,方框401包括方框401b:通过所述计算设备从安装在客户端设备上的代理软件中获取域。框402包括:通过所述计算设备将获取的域输入到经训练的检测模型,以确定所述获取的域是否由一种或多种域生成算法生成。所述检测模型包括神经网络模型、基于n-gram的机器学习模型和集成层。将所述获取的域输入到所述检测模型包括:将所述获取的域输入到所述神经网络模型和所述基于n-gram的机器学习模型。所述神经网络模型和所述基于n-gram的机器学习模型都输出到所述集成层。所述集成层输出所述获取的域由域生成算法生成的概率。可选框403b包括通过所述计算设备将所述确定转发到所述代理软件以阻止与所述域的互联网协议(IP)地址的通信。
图4C示出了根据本公开的各种实施例的示例性方法420的流程图。方法420可以在例如图1的环境100中实施。示例性方法420可以由系统102的一个或多个组件来实施。示例性方法420可以由类似于系统102的多个系统来实施。以下呈现的方法420的操作旨在是说明性的。取决于实施方式,示例性方法420可以包含以各种顺序或并行执行的附加的、更少的或替代的步骤。
框401包括:通过计算设备获取域。可选地,框401包括框401c:通过所述计算设备从网络监视服务器的日志中获取所述域。框402包括:通过所述计算设备将获取的域输入到经训练的检测模型,以确定所述获取的域是否由一种或多种域生成算法生成。所述检测模型(上面参考图3C描述)包括神经网络模型、基于n-gram的机器学习模型和集成层。将所述获取的域输入到所述检测模型包括:将所述获取的域输入到所述神经网络模型和所述基于n-gram的机器学习模型。所述神经网络模型和所述基于n-gram的机器学习模型都输出到所述集成层。所述集成层输出所述获取的域由域生成算法生成的概率。可选框403c包括通过所述计算设备将所述确定转发到所述网络监视服务器以阻止所述域的查询。
参照方法400、410和420,在一些实施例中,所述检测模型(以上参照图3C描述)包括附加特征层,将所述获取的域输入到所述检测模型包括:将所述获取的域输入到所述附加特征层,所述附加特征层输出到所述集成层,所述域与域名和顶级域(TLD)相关联,并且所述附加特征层至少包括以下特征:所述域名的长度、所述TLD的长度、所述域名的长度是否超过域名阈值、所述TLD的长度是否超过TLD阈值、所述域名中的数字字符的数目、所述TLD是否包含任何数字字符、所述域名中包含的特殊字符的数目、或所述TLD是否包含任何特殊字符。
在一些实施例中,所述集成层包括输出所述概率的顶部逻辑回归模型,所述顶部逻辑回归模型包括分别与特征:所述神经网络模型的输出以及所述基于n-gram的机器学习模型的输出相关联的多个集成系数,并且所述检测模型通过以下方式进行训练:分别训练所述神经网络模型和所述基于n-gram的机器学习模型,以及将经训练的神经网络模型和经训练的基于n-gram的机器学习模型的输出输入到所述顶部逻辑回归模型,以求解所述集成系数。-
在一些实施例中,神经网络模型包括概率网络(以上参考图3A描述),域与作为对概率网络的单独输入的域名、顶级域(TLD)和域长度相关联,域名被输入到独热编码层和循环神经网络层,然后被输入到密集和批量归一化层,TLD被输入到嵌入和批量归一化层,然后被输入到密集和批量归一化层,域长度被输入到密集和批量归一化层,并且密集和批量归一化层输出所述获取的域为通过域生成算法生成的预测概率。在一示例中,所述循环神经网络层包括长短期记忆(LSTM)单元。
在一些实施例中,神经网络模型包括表示网络(以上参考图3B描述),域与作为对表示网络的单独输入的域名和顶级域(TLD)相关联,域名被输入到嵌入和批量归一化层和循环神经网络层,然后被输入到密集和批量归一化层,TLD被输入到嵌入和批量归一化层,然后被输入到密集和批量归一化层,并且密集和批量归一化层输出域的密集表示。在一个示例中,所述循环神经网络层包括门控循环单元(GRU)。
本文描述的技术由一个或多个专用计算设备实施。专用计算设备可以是结合硬连线和/或程序逻辑来实施技术的台式计算机系统、服务器计算机系统、便携式计算机系统、手持式装置、网络装置或任何其它装置或装置的组合。一个或多个计算设备通常通过操作系统软件来控制和协调。传统的操作系统控制和调度用于执行的计算机进程、执行存储器管理、提供文件系统、网络、I/O服务,以及提供用户界面功能,如图形用户界面(“GUI”)等。
图5是示出了可以在其上实施本文所述的实施例中的任何实施例的计算机系统500的框图。系统500可以对应于如上所述的系统102或103。计算机系统500包含用于传送信息的总线502或其它通信机构、一个或多个与总线502耦接以处理信息的硬件处理器504。例如,一个或多个硬件处理器504可以是一个或多个通用微处理器。一个或多个处理器504可以对应于如上所述的处理器104。
计算机系统500还包含主存储器506,如随机存取存储器(RAM)、高速缓存和/或其它动态存储设备,这些存储器与总线502耦接以存储将由处理器504执行的信息和指令。主存储器506还可用于在执行要由处理器504执行的指令期间来存储临时变量或其它中间信息。当存储在处理器504可访问的存储介质中时,这些指令使计算机系统500进入专用机器,专用机器被定制成执行指令中指定的操作。计算机系统500进一步包含与总线502耦接的只读存储器(ROM)508或其它静态存储设备,其用于存储处理器504的静态信息和指令。如磁盘、光盘或USB拇指驱动器(闪存驱动器)等存储设备510被提供并耦接到总线502,以存储信息和指令。主存储器506、ROM 508和/或存储设备510可以对应于如上所述的存储器106。
计算机系统500可使用定制的硬连线逻辑、一个或多个ASIC或FPGA、固件和/或程序逻辑来实施本文描述的技术,这些技术与计算机系统相结合使计算机系统500成为专用机器或将该系统编程为专用机器。根据一个实施例,本文的操作、方法和过程是通过计算机系统500响应于一个或多个处理器504执行在主存储器506中含有的一个或多个指令的一个或多个序列而执行的。这些指令可从另一个存储介质(如,存储设备510)读入主存储器506。执行在主存储器506中含有的指令序列使得一个或多个处理器504执行本文所述的处理步骤。在替代实施例中,可使用硬件电路来代替软件指令或与软件指令组合使用。
主存储器506、ROM 508和/或存储设备510可以包含非暂时性存储介质。本文所使用的术语“非暂时性介质”和类似术语是指存储数据和/或指令使机器以特定方式操作的任何介质。所述介质不包括瞬态信号。这种非暂时性介质可以包括非易失性介质和/或易失性介质。非易失性介质包括例如光盘或磁盘,比如,存储设备510。易失性介质包含动态存储器,如主存储器506。例如,非暂时性介质的常见形式包含例如:软驱、软盘、硬盘、固态硬盘、磁带或任何其它磁数据存储介质、CD-ROM、任何其它光学数据存储介质、任何有孔图案的物理介质、RAM、PROM和EPROM、FLASH-EPROM、NVRAM、任何其它存储器芯片或盒式磁带,以及其网络版本。
计算机系统500还包含与总线502耦接的网络接口518。网络接口518提供与连接至一个或多个本地网络的一个或多个网络链路耦接的双向数据通信。例如,网络接口518可以是综合业务数字网(ISDN)卡、电缆调制解调器、卫星调制解调器或提供与对应类型的电话线的数据之间的通信连接调制解调器。再例如,网络接口518可以是局域网(LAN)卡,以提供与兼容LAN(或与WAN通信的WAN组件)的数据之间的通信连接。还可使用无线链路。在任何这种实施方式中,网络接口518发送和接收携带表示各种类型信息的数字数据流的电信号、电磁信号或光信号。
计算机系统500可通过一个或多个网络、网络链路和网络接口518来发送消息和接收数据,包含发送和接收程序代码。在互联网实例中,服务器可通过互联网、ISP、本地网络和网络接口518来发送用于应用程序的请求代码。
所接收到的代码可在处理器504被接收时执行,和/或可存储在存储设备510或其它非易失性存储器中以供稍后执行。
前面部分中描述的流程、方法和算法中的每一个可通过由包括计算机硬件的一个或多个计算机系统或计算机处理器执行的代码模块来实现,并完全或部分实现自动化。所述流程和算法可部分或全部地在专用电路中实施。
上述各种特征和过程可彼此独立地使用,或可以各种方式组合使用。所有可能的组合和子组合都旨在落入本发明公开的范围内。另外,在一些实施方式中可省略某些方法或流程框。本文描述的方法和过程也不限于任何特定顺序,且与其相关的框或状态可以适当的其它顺序来执行。例如,所描述的框或状态可以不同于具体公开的顺序来执行,或多个框或状态可在单个框或状态中组合。示例性框或状态可串行、并行或以某种其它方式来执行。可向所公开的示例性实施例中添加框或状态或从其中移除框或状态。本文描述的示例性系统和组件可与所描述的不同地来进行配置。例如,与所公开的示例性实施例相比,可添加、移除或重新布置元件。
本文描述的示例性方法的各种操作可以至少部分地通过算法来执行。算法可以包括在存储于存储器(例如,上述非暂时性计算机可读存储介质)中的程序代码或指令中。这种算法可以包括机器学习算法。在一些实施例中,机器学习算法可以不明确地对计算机进行编程以执行功能,但是可以从训练数据中学习以制作执行所述功能的预测模型。
本文描述的示例性方法的各种操作可以至少部分地由临时配置(例如,通过软件配置)或永久配置为执行相关操作的一个或多个处理器来执行。无论是临时配置还是永久配置,这种处理器可以构成运行为执行本文描述的一个或多个操作或功能的处理器实施的引擎。
类似地,本文描述的方法可以至少部分地由处理器实施,一个或多个特定处理器是硬件的实例。例如,方法的操作中的至少一些操作可以由一个或多个处理器或处理器实施的引擎执行。此外,一个或多个处理器还可以在“云计算”环境中或作为“软件即服务”(SaaS)运行以支持相关操作的性能。例如,至少一些操作可以由一组计算机(作为包含处理器的机器的实例)执行,这些操作可以通过网络(例如,互联网)和通过一个或多个适当的接口(例如,应用程序接口(API))访问。
某些操作的性能可以分布在处理器之间,不仅驻留在单个机器中,而且在多个机器部署。在一些示例性实施例中,处理器或处理器实施的引擎可以位于单个地理位置中(例如,在家庭环境、办公室环境或服务器场内)。在其它示例性实施例中,处理器或处理器实施的引擎可以跨许多地理位置分布。
在整个说明书中,多个示例可实施被描述为单个示例的组件、操作或结构。尽管一个或多个方法的个别操作被示出并描述为单独的操作,但是可同时执行单独的操作中的一个或多个,且不需要以所示的顺序来执行这些操作。示例性配置中作为单独的组件展示的结构与功能性可以实施为组合结构或组件。类似地,作为单独组件展示的结构与功能可以实施为单独的组件。这些结构和功能及附加的变化、改动、添加及提高属于本文主题的范围。
尽管已经参考具体的示例性实施例描述了主题的概述,但是在不脱离本公开的实施例的更宽范围的情况下,可对这些实施例进行各种修改和改变。仅仅是为了方便,本发明中的主题的这些实施例可单独地或共同地通过术语“发明”来提及,如果事实上公开了多于一个公开或概念,则无意自愿将本申请的范围限制于任何单一的公开内容或概念。
本文示出的实施例被充分详细地描述,以使本领域技术人员能够实践所公开的教导。可以使用并从中派生出其它实施例,使得可以在不脱离本公开的范围的情况下进行结构和逻辑上的替换和改变。因此,具体实施方式不应被视为具有限制意义,且各个实施例的范围仅由所附权利要求以及这些权利要求所赋予的等同物的全部范围来限定。
本文描述的和/或在附图中描绘的流程图中的任何过程描述、元件或框都应被理解为潜在地表示包含用于实施过程中具体的逻辑功能或步骤的一个或多个可执行指令的模块、段或代码部分。如本领域技术人员所理解的,替代实施方式包含在本文描述的实施例的范围内,其中,可以根据所涉及的功能性来从所示出或所讨论的元件或功能中删除、执行次序混乱(包含基本上同时地或以相反的顺序)的元件或功能。
如本文所使用的,术语“或”可以以包括性或排它性的意义来解释。此外,可以提供本文中描述为单个示例的资源、操作或结构的多个示例。另外,各种资源、操作、引擎和数据存储之间的边界在某种程度上是任意的,并且在具体的说明性配置的上下文中说明了特定操作。功能性的其它分配被设想,并且其它分配可以落入本公开的各个实施例的范围内。通常,在示例性配置中表示为单独资源的结构和功能性可以实施为组合结构或资源。类似地,表示为单个资源的结构和功能性可以实施为单独的资源。这些和其它变体、修改、添加和提高落入如所附权利要求所表示的本公开的实施例的范围内。因此,说明书和附图被认为是说明性的而不是限制性的。
除非在所用上下文中另外明确说明或另外理解,否则条件性语言(如“能够”、“可能”、“也许”或“可以”等)通常旨在传达某些实施方式包含,而其它实施例不包含,某些特征、元件和/或步骤。因此,这种条件性语言通常不旨在暗示特征、元件和/或步骤以任何方式必须用于一个或多个实施例,或者一个或多个实施例必然包含用于确定以下的逻辑:在有或没有用户输入或提示的情况下,是否这些特征、元件和/或步骤包含在任何特定实施例中或将在其中执行。
Claims (20)
1.一种用于域分析的计算机实施方法,包括:
通过计算设备获取域;以及
通过所述计算设备将获取的域输入到经训练的检测模型,以确定所述获取的域是否由一种或多种域生成算法生成,其中:
所述检测模型包括神经网络模型、基于n-gram的机器学习模型和集成层;
将所述获取的域输入到所述检测模型包括:将所述获取的域输入到所述神经网络模型和所述基于n-gram的机器学习模型中的每一个;
所述神经网络模型和所述基于n-gram的机器学习模型都输出到所述集成层;以及
所述集成层输出所述获取的域由域生成算法生成的概率。
2.根据权利要求1所述的方法,其中:
通过计算设备获取域包括:通过所述计算设备从DNS服务器的日志中获取所述域;以及
所述方法还包括通过所述计算设备将所述确定转发到所述本地DNS服务器以阻止所述域的查询。
3.根据权利要求1所述的方法,其中:
通过计算设备获取域包括:通过所述计算设备从安装在客户端设备上的代理软件获取所述域;以及
所述方法还包括通过所述计算设备将所述确定转发到所述代理软件以阻止与所述域的IP地址的通信。
4.根据权利要求1所述的方法,其中:
通过计算设备获取域包括:通过所述计算设备从网络监视服务器的日志中获取所述域;以及
所述方法还包括通过所述计算设备将所述确定转发到所述网络监视服务器以阻止所述域的查询。
5.根据权利要求1所述的方法,其中:
所述检测模型包括附加特征层;
将获取的域输入到检测模型包括:将所述获取的域输入到所述附加特征层;
所述附加特征层输出到所述集成层;
所述域与域名和TLD相关联;并且
所述附加特征层至少包括以下特征:所述域名的长度、所述TLD的长度、所述域名的长度是否超过域名阈值、所述TLD的长度是否超过TLD阈值、所述域名中的数字字符的数目、所述TLD是否包含任何数字字符、所述域名中包含的特殊字符的数目、或所述TLD是否包含任何特殊字符。
6.根据权利要求5所述的方法,其中:
所述集成层包括输出所述概率的顶层逻辑回归模型;
所述顶层逻辑回归模型包括分别与特征,所述神经网络模型的输出以及所述基于n-gram的机器学习模型的输出相关联的多个集成系数;以及
所述检测模型通过以下方式进行训练:
分别训练所述神经网络模型和所述基于n-gram的机器学习模型;以及
将训练后的神经网络模型和训练后的基于n-gram的机器学习模型的输出输入到所述顶层逻辑回归模型,以求解所述集成系数。
7.根据权利要求1所述的方法,其中:
所述神经网络模型包括概率网络;
所述域与作为对所述概率网络的单独输入的域名、TLD和域长度相关联;
所述域名被输入到独热编码层和循环神经网络层,然后被输入到密集和批量归一化层;
所述TLD被输入到嵌入和批量归一化层,然后被输入到所述密集和批量归一化层;
所述域长度被输入到所述密集和批量归一化层;并且
所述密集和批量归一化层输出所述获取的域为通过所述域生成算法生成的预测概率。
8.根据权利要求7所述的方法,其中:
所述循环神经网络层包括LSTM单元。
9.根据权利要求1所述的方法,其中:
所述神经网络模型包括表示网络;
所述域与作为对所述表示网络的单独输入的域名和TLD相关联;
所述域名被输入到嵌入和批量归一化层和循环神经网络层,然后被输入到密集和批量归一化层;
所述TLD被输入到嵌入和批量归一化层,然后被输入到所述密集和批量归一化层;并且
所述密集和批量归一化层输出所述域的密集表示。
10.根据权利要求9所述的方法,其中:
所述循环神经网络层包括门控循环单元(GRU)。
11.根据权利要求1所述的方法,其中:
所述基于n-gram的机器学习模型包括基于二元组特征的基于梯度提升的分类器。
12.根据权利要求1所述的方法,其中:
所述获取的域包括一个或多个汉语拼音元素。
13.一种用于域分析的系统,包括处理器和存储指令的非暂时性计算机可读存储介质,所述指令在由所述处理器执行时使所述处理器执行用于域分析的方法,所述方法包括:
获取域;以及
将获取的域输入到经训练的检测模型,以确定所述获取的域是否由一种或多种域生成算法生成,其中:
所述检测模型包括神经网络模型、基于n-gram的机器学习模型和集成层;
将所述获取的域输入到所述检测模型包括:将所述获取的域输入到所述神经网络模型和所述基于n-gram的机器学习模型中的每一个;
所述神经网络模型和所述基于n-gram的机器学习模型都输出到所述集成层;以及
所述集成层输出所述获取的域由域生成算法生成的概率。
14.根据权利要求13所述的系统,其中:
获取域包括:从本地DNS服务器的日志中获取所述域;以及
所述方法还包括将所述确定转发到所述本地DNS服务器以阻止所述域的查询。
15.根据权利要求13所述的系统,其中:
获取域包括:从安装在客户端设备上的代理软件中获取所述域;以及
所述方法还包括将所述确定转发到所述代理软件以阻止与所述域的IP地址的通信。
16.根据权利要求13所述的系统,其中:
获取域包括:从网络监视服务器的日志中获取所述域;以及
所述方法还包括将所述确定转发到所述网络监视服务器以阻止所述域的查询。
17.根据权利要求13所述的系统,其中:
所述检测模型包括附加特征层;
将获取的域输入到检测模型包括:将所述获取的域输入到所述附加特征层;
所述附加特征层输出到所述集成层;
所述域与域名和TLD相关联;并且
所述附加特征层至少包括以下特征:所述域名的长度、所述TLD的长度、所述域名的长度是否超过域名阈值、所述TLD的长度是否超过TLD阈值、所述域名中的数字字符的数目、所述TLD是否包含任何数字字符、所述域名中包含的特殊字符的数目、或所述TLD是否包含任何特殊字符。
18.根据权利要求13所述的系统,其中:
所述神经网络模型包括概率网络;
所述域与作为对所述概率网络的单独输入的域名、TLD和域长度相关联;
所述域名被输入到独热编码层和循环神经网络层,然后被输入到密集和批量归一化层;
所述TLD被输入到嵌入和批量归一化层,然后被输入到所述密集和批量归一化层;
所述域长度被输入到所述密集和批量归一化层;并且
所述密集和批量归一化层输出所述获取的域为通过所述域生成算法生成的预测概率。
19.根据权利要求13所述的系统,其中:
所述神经网络模型包括表示网络;
所述域与作为对所述表示网络的单独输入的域名和TLD相关联;
所述域名被输入到嵌入和批量归一化层和循环神经网络层,然后被输入到密集和批量归一化层;
所述TLD被输入到嵌入和批量归一化层,然后被输入到所述密集和批量归一化层;并且
所述密集和批量归一化层输出所述域的密集表示。
20.一种非暂时性计算机可读存储介质,存储有指令,所述指令在由处理器执行时使所述处理器执行用于域分析的方法,所述方法包括:
获取域;以及
将获取的域输入到经训练的检测模型,以确定所述获取的域是否由一种或多种域生成算法生成,其中:
所述检测模型包括神经网络模型、基于n-gram的机器学习模型和集成层;
将所述获取的域输入到所述检测模型包括:将所述获取的域输入到所述神经网络模型和所述基于n-gram的机器学习模型中的每一个;
所述神经网络模型和所述基于n-gram的机器学习模型都输出到所述集成层;以及
所述集成层输出所述获取的域由域生成算法生成的概率。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201862718736P | 2018-08-14 | 2018-08-14 | |
US62/718,736 | 2018-08-14 | ||
US16/220,360 | 2018-12-14 | ||
US16/220,360 US10764246B2 (en) | 2018-08-14 | 2018-12-14 | System and method for detecting generated domain |
PCT/US2018/067774 WO2020036622A1 (en) | 2018-08-14 | 2018-12-28 | System and method for detecting generated domain |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112771523A true CN112771523A (zh) | 2021-05-07 |
Family
ID=69523589
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880096365.5A Pending CN112771523A (zh) | 2018-08-14 | 2018-12-28 | 用于检测生成域的系统和方法 |
Country Status (3)
Country | Link |
---|---|
US (2) | US10764246B2 (zh) |
CN (1) | CN112771523A (zh) |
WO (1) | WO2020036622A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113441421A (zh) * | 2021-07-22 | 2021-09-28 | 北京信息科技大学 | 一种自动垃圾分类系统和方法 |
Families Citing this family (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10673814B1 (en) * | 2017-08-28 | 2020-06-02 | Proofpoint, Inc. | Domain name classification systems and methods |
US11416622B2 (en) | 2018-08-20 | 2022-08-16 | Veracode, Inc. | Open source vulnerability prediction with machine learning ensemble |
KR102169255B1 (ko) * | 2018-12-20 | 2020-10-23 | 펜타시큐리티시스템 주식회사 | Cae 기반으로 비정상적인 트래픽을 탐지하는 방법 및 장치 |
US11245720B2 (en) * | 2019-06-06 | 2022-02-08 | Micro Focus Llc | Determining whether domain is benign or malicious |
US11601468B2 (en) * | 2019-06-25 | 2023-03-07 | International Business Machines Corporation | Detection of an adversarial backdoor attack on a trained model at inference time |
EP4028919A4 (en) * | 2019-09-09 | 2023-09-27 | Reliaquest Holdings, LLC | THREAT MITIGATION SYSTEM AND METHODS |
US11595357B2 (en) * | 2019-10-23 | 2023-02-28 | Cisco Technology, Inc. | Identifying DNS tunneling domain names by aggregating features per subdomain |
US11522906B2 (en) * | 2019-12-18 | 2022-12-06 | Somma, Inc. | Malware detection method for preventing execution of malware, method for detecting domain generation algorithm, and computer device therefor |
US11762990B2 (en) * | 2020-04-07 | 2023-09-19 | Microsoft Technology Licensing, Llc | Unstructured text classification |
TWI811545B (zh) * | 2020-05-18 | 2023-08-11 | 安碁資訊股份有限公司 | 域名系統中惡意域名的偵測方法與偵測裝置 |
KR102486124B1 (ko) * | 2020-12-01 | 2023-01-06 | 호서대학교 산학협력단 | Dga 생성 도메인 탐지 및 분류하는 방법 |
CN112926647B (zh) * | 2021-02-23 | 2023-10-17 | 亚信科技(成都)有限公司 | 模型训练方法、域名检测方法及装置 |
US12003535B2 (en) | 2021-03-01 | 2024-06-04 | Microsoft Technology Licensing, Llc | Phishing URL detection using transformers |
CN113206860B (zh) * | 2021-05-17 | 2022-07-01 | 北京交通大学 | 一种基于机器学习和特征选择的DRDoS攻击检测方法 |
CN113222707B (zh) * | 2021-05-25 | 2024-02-27 | 中国人民大学 | 一种智能服务交易推荐方法和系统 |
GB2612008B (en) * | 2021-07-06 | 2023-12-27 | British Telecomm | Malware protection |
CN113810372B (zh) * | 2021-08-06 | 2022-10-04 | 杭州电子科技大学 | 一种低吞吐量dns隐蔽信道检测方法及装置 |
US11861476B2 (en) | 2021-08-18 | 2024-01-02 | International Business Machines Corporation | Secure ensemble training and inference using heterogeneous private machine learning models |
US11856005B2 (en) * | 2021-09-16 | 2023-12-26 | Centripetal Networks, Llc | Malicious homoglyphic domain name generation and associated cyber security applications |
US11689546B2 (en) * | 2021-09-28 | 2023-06-27 | Cyberark Software Ltd. | Improving network security through real-time analysis of character similarities |
CN114330360B (zh) * | 2021-12-03 | 2024-08-09 | 哈尔滨工业大学 | 一种针对特定目标的立场检测方法 |
CN114970521B (zh) * | 2022-05-18 | 2024-09-20 | 哈尔滨工业大学(威海) | 基于域名信息检测dga域名的方法 |
CN115022282B (zh) * | 2022-06-06 | 2023-07-21 | 天津大学 | 一种新型域名生成模型建立及应用 |
US20240037443A1 (en) * | 2022-07-29 | 2024-02-01 | Palo Alto Networks, Inc. | Unified parked domain detection system |
Citations (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101930561A (zh) * | 2010-05-21 | 2010-12-29 | 电子科技大学 | 一种基于N-Gram分词模型的反向神经网络垃圾邮件过滤装置 |
CN105119876A (zh) * | 2015-06-29 | 2015-12-02 | 中国科学院信息工程研究所 | 一种自动生成的域名的检测方法及系统 |
CN105897714A (zh) * | 2016-04-11 | 2016-08-24 | 天津大学 | 基于dns流量特征的僵尸网络检测方法 |
US20160255107A1 (en) * | 2015-02-27 | 2016-09-01 | Cisco Technology, Inc. | Classification of Malware Generated Domain Names |
US20160337391A1 (en) * | 2015-05-11 | 2016-11-17 | Cisco Technology, Inc. | Detecting Domains Generated By A Domain Generation Algorithm |
US20160352679A1 (en) * | 2015-05-27 | 2016-12-01 | Hewlett-Packard Development Company, L.P. | Identifying algorithmically generated domains |
JP2017016384A (ja) * | 2015-07-01 | 2017-01-19 | 日本放送協会 | 混合係数パラメータ学習装置、混合生起確率算出装置、及び、これらのプログラム |
US20170026390A1 (en) * | 2015-07-22 | 2017-01-26 | Cisco Technology, Inc. | Identifying Malware Communications with DGA Generated Domains by Discriminative Learning |
CN106576058A (zh) * | 2014-08-22 | 2017-04-19 | 迈克菲股份有限公司 | 用于检测域生成算法恶意软件和被此类恶意软件感染的系统的系统和方法 |
CN106713312A (zh) * | 2016-12-21 | 2017-05-24 | 深圳市深信服电子科技有限公司 | 检测非法域名的方法及装置 |
CN106709345A (zh) * | 2015-11-17 | 2017-05-24 | 武汉安天信息技术有限责任公司 | 基于深度学习方法推断恶意代码规则的方法、系统及设备 |
CN106992969A (zh) * | 2017-03-03 | 2017-07-28 | 南京理工大学 | 基于域名字符串统计特征的dga生成域名的检测方法 |
CN107046586A (zh) * | 2017-04-14 | 2017-08-15 | 四川大学 | 一种基于类自然语言特征的算法生成域名检测方法 |
US9756063B1 (en) * | 2014-11-25 | 2017-09-05 | Trend Micro Inc. | Identification of host names generated by a domain generation algorithm |
CN107645503A (zh) * | 2017-09-20 | 2018-01-30 | 杭州安恒信息技术有限公司 | 一种基于规则的恶意域名所属dga家族的检测方法 |
CN107682348A (zh) * | 2017-10-19 | 2018-02-09 | 杭州安恒信息技术有限公司 | 基于机器学习的dga域名快速判别方法及装置 |
WO2018032936A1 (zh) * | 2016-08-18 | 2018-02-22 | 中兴通讯股份有限公司 | 一种对算法生成域名进行检测的方法及装置 |
US20180077117A1 (en) * | 2015-05-27 | 2018-03-15 | Trend Micro Incorporated | Identifying algorithmically generated domains |
CN108156174A (zh) * | 2018-01-15 | 2018-06-12 | 深圳市联软科技股份有限公司 | 基于c&c域名分析的僵尸网络检测方法、装置、设备及介质 |
CN108200054A (zh) * | 2017-12-29 | 2018-06-22 | 北京奇安信科技有限公司 | 一种基于dns解析的恶意域名检测方法及装置 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4241818B2 (ja) * | 2006-12-14 | 2009-03-18 | パナソニック電工株式会社 | 内部検査装置 |
US8775341B1 (en) * | 2010-10-26 | 2014-07-08 | Michael Lamport Commons | Intelligent control with hierarchical stacked neural networks |
WO2013059487A1 (en) * | 2011-10-19 | 2013-04-25 | Cornell University | System and methods for automatically detecting deceptive content |
US10318882B2 (en) * | 2014-09-11 | 2019-06-11 | Amazon Technologies, Inc. | Optimized training of linear machine learning models |
US10540957B2 (en) * | 2014-12-15 | 2020-01-21 | Baidu Usa Llc | Systems and methods for speech transcription |
CN105338001A (zh) * | 2015-12-04 | 2016-02-17 | 北京奇虎科技有限公司 | 识别钓鱼网站的方法及装置 |
CN105931179B (zh) * | 2016-04-08 | 2018-10-26 | 武汉大学 | 一种联合稀疏表示与深度学习的图像超分辨率方法及系统 |
US10819724B2 (en) * | 2017-04-03 | 2020-10-27 | Royal Bank Of Canada | Systems and methods for cyberbot network detection |
KR20190041790A (ko) * | 2017-10-13 | 2019-04-23 | 한국전자통신연구원 | 신경망 번역 모델 구축 장치 및 방법 |
US10831519B2 (en) * | 2017-11-22 | 2020-11-10 | Amazon Technologies, Inc. | Packaging and deploying algorithms for flexible machine learning |
US11423647B2 (en) * | 2018-05-07 | 2022-08-23 | Nec Corporation | Identification system, model re-learning method and program |
-
2018
- 2018-12-14 US US16/220,360 patent/US10764246B2/en active Active
- 2018-12-28 WO PCT/US2018/067774 patent/WO2020036622A1/en active Application Filing
- 2018-12-28 CN CN201880096365.5A patent/CN112771523A/zh active Pending
-
2020
- 2020-07-22 US US16/936,171 patent/US11329952B2/en active Active
Patent Citations (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101930561A (zh) * | 2010-05-21 | 2010-12-29 | 电子科技大学 | 一种基于N-Gram分词模型的反向神经网络垃圾邮件过滤装置 |
CN106576058A (zh) * | 2014-08-22 | 2017-04-19 | 迈克菲股份有限公司 | 用于检测域生成算法恶意软件和被此类恶意软件感染的系统的系统和方法 |
US9756063B1 (en) * | 2014-11-25 | 2017-09-05 | Trend Micro Inc. | Identification of host names generated by a domain generation algorithm |
US20160255107A1 (en) * | 2015-02-27 | 2016-09-01 | Cisco Technology, Inc. | Classification of Malware Generated Domain Names |
US20160337391A1 (en) * | 2015-05-11 | 2016-11-17 | Cisco Technology, Inc. | Detecting Domains Generated By A Domain Generation Algorithm |
US20180077117A1 (en) * | 2015-05-27 | 2018-03-15 | Trend Micro Incorporated | Identifying algorithmically generated domains |
US20160352679A1 (en) * | 2015-05-27 | 2016-12-01 | Hewlett-Packard Development Company, L.P. | Identifying algorithmically generated domains |
CN105119876A (zh) * | 2015-06-29 | 2015-12-02 | 中国科学院信息工程研究所 | 一种自动生成的域名的检测方法及系统 |
JP2017016384A (ja) * | 2015-07-01 | 2017-01-19 | 日本放送協会 | 混合係数パラメータ学習装置、混合生起確率算出装置、及び、これらのプログラム |
US20170026390A1 (en) * | 2015-07-22 | 2017-01-26 | Cisco Technology, Inc. | Identifying Malware Communications with DGA Generated Domains by Discriminative Learning |
CN106709345A (zh) * | 2015-11-17 | 2017-05-24 | 武汉安天信息技术有限责任公司 | 基于深度学习方法推断恶意代码规则的方法、系统及设备 |
CN105897714A (zh) * | 2016-04-11 | 2016-08-24 | 天津大学 | 基于dns流量特征的僵尸网络检测方法 |
WO2018032936A1 (zh) * | 2016-08-18 | 2018-02-22 | 中兴通讯股份有限公司 | 一种对算法生成域名进行检测的方法及装置 |
CN107770132A (zh) * | 2016-08-18 | 2018-03-06 | 中兴通讯股份有限公司 | 一种对算法生成域名进行检测的方法及装置 |
CN106713312A (zh) * | 2016-12-21 | 2017-05-24 | 深圳市深信服电子科技有限公司 | 检测非法域名的方法及装置 |
CN106992969A (zh) * | 2017-03-03 | 2017-07-28 | 南京理工大学 | 基于域名字符串统计特征的dga生成域名的检测方法 |
CN107046586A (zh) * | 2017-04-14 | 2017-08-15 | 四川大学 | 一种基于类自然语言特征的算法生成域名检测方法 |
CN107645503A (zh) * | 2017-09-20 | 2018-01-30 | 杭州安恒信息技术有限公司 | 一种基于规则的恶意域名所属dga家族的检测方法 |
CN107682348A (zh) * | 2017-10-19 | 2018-02-09 | 杭州安恒信息技术有限公司 | 基于机器学习的dga域名快速判别方法及装置 |
CN108200054A (zh) * | 2017-12-29 | 2018-06-22 | 北京奇安信科技有限公司 | 一种基于dns解析的恶意域名检测方法及装置 |
CN108156174A (zh) * | 2018-01-15 | 2018-06-12 | 深圳市联软科技股份有限公司 | 基于c&c域名分析的僵尸网络检测方法、装置、设备及介质 |
Non-Patent Citations (6)
Title |
---|
BIN YU等: "Inline DGA Detection with Deep Networks", IEEE INTERNATIONAL CONFERENCE ON DATA MINING WORKSHOPS * |
LATAH, M.: "When deep learning meets security.", Retrieved from the Internet <URL:https://arxiv.org/abs/1807.04739> * |
SAXE, J. ET AL.: "eXpose: A Character-Level Convolutional Neural Network with Embeddings For Detecting Malicious URLs, File Paths and Registry Keys.", Retrieved from the Internet <URL:https://arxiv.org/abs/1702.08568> * |
张雪松;徐小琳;李青山;: "算法生成恶意域名的实时检测", 现代电信科技, no. 07 * |
王峥;: "一种针对算法自动生成恶意域名的检测方法", 信息工程大学学报, no. 06 * |
赵科军;葛连升;秦丰林;洪晓光;: "基于word-hashing的DGA僵尸网络深度检测模型", 东南大学学报(自然科学版), no. 1 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113441421A (zh) * | 2021-07-22 | 2021-09-28 | 北京信息科技大学 | 一种自动垃圾分类系统和方法 |
CN113441421B (zh) * | 2021-07-22 | 2022-12-13 | 北京信息科技大学 | 一种自动垃圾分类系统和方法 |
Also Published As
Publication number | Publication date |
---|---|
US20200059451A1 (en) | 2020-02-20 |
US20200351242A1 (en) | 2020-11-05 |
US10764246B2 (en) | 2020-09-01 |
US11329952B2 (en) | 2022-05-10 |
WO2020036622A1 (en) | 2020-02-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11329952B2 (en) | System and method for detecting generated domain | |
Wang et al. | PDRCNN: Precise phishing detection with recurrent convolutional neural networks | |
Vinayakumar et al. | A visualized botnet detection system based deep learning for the internet of things networks of smart cities | |
Vinayakumar et al. | Evaluating deep learning approaches to characterize and classify malicious URL’s | |
Vinayakumar et al. | Evaluating deep learning approaches to characterize and classify the DGAs at scale | |
Zhu et al. | OFS-NN: an effective phishing websites detection model based on optimal feature selection and neural network | |
Curtin et al. | Detecting DGA domains with recurrent neural networks and side information | |
Thakur et al. | An intelligent algorithmically generated domain detection system | |
CN110266647B (zh) | 一种命令和控制通信检测方法及系统 | |
Vinayakumar et al. | DBD: Deep learning DGA-based botnet detection | |
Yang et al. | Detecting stealthy domain generation algorithms using heterogeneous deep neural network framework | |
EP3614645B1 (en) | Embedded dga representations for botnet analysis | |
Mohan et al. | Spoof net: syntactic patterns for identification of ominous online factors | |
Srinivasan et al. | DURLD: Malicious URL detection using deep learning-based character level representations | |
US11580222B2 (en) | Automated malware analysis that automatically clusters sandbox reports of similar malware samples | |
Fang et al. | Detecting webshell based on random forest with fasttext | |
Tong et al. | A method for detecting DGA botnet based on semantic and cluster analysis | |
Liu et al. | An efficient multistage phishing website detection model based on the CASE feature framework: Aiming at the real web environment | |
Nowroozi et al. | An adversarial attack analysis on malicious advertisement URL detection framework | |
Vanitha et al. | Malicious-URL detection using logistic regression technique | |
Song et al. | Evaluations of AI‐based malicious PowerShell detection with feature optimizations | |
Vinayakumar et al. | Improved DGA domain names detection and categorization using deep learning architectures with classical machine learning algorithms | |
Vij et al. | Detection of algorithmically generated domain names using LSTM | |
Kumar et al. | Enhanced domain generating algorithm detection based on deep neural networks | |
Bai et al. | N‐Gram, Semantic‐Based Neural Network for Mobile Malware Network Traffic Detection |
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 |