CN109788079A - Dga域名实时检测方法和装置 - Google Patents
Dga域名实时检测方法和装置 Download PDFInfo
- Publication number
- CN109788079A CN109788079A CN201711130020.0A CN201711130020A CN109788079A CN 109788079 A CN109788079 A CN 109788079A CN 201711130020 A CN201711130020 A CN 201711130020A CN 109788079 A CN109788079 A CN 109788079A
- Authority
- CN
- China
- Prior art keywords
- domain name
- training
- model
- feature
- classifier
- 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 35
- 238000011897 real-time detection Methods 0.000 title claims abstract description 26
- 238000012549 training Methods 0.000 claims abstract description 93
- 238000013136 deep learning model Methods 0.000 claims abstract description 44
- 238000001514 detection method Methods 0.000 claims abstract description 32
- 239000011159 matrix material Substances 0.000 claims description 33
- 238000006243 chemical reaction Methods 0.000 claims description 16
- 238000005549 size reduction Methods 0.000 claims description 11
- 238000013135 deep learning Methods 0.000 claims description 10
- 238000007637 random forest analysis Methods 0.000 claims description 8
- 238000003066 decision tree Methods 0.000 claims description 7
- 238000004590 computer program Methods 0.000 claims description 6
- 238000004364 calculation method Methods 0.000 claims description 3
- 239000000284 extract Substances 0.000 claims description 2
- 230000008569 process Effects 0.000 abstract description 4
- 230000000007 visual effect Effects 0.000 abstract description 3
- 238000005259 measurement Methods 0.000 abstract description 2
- 238000012795 verification Methods 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 16
- 238000004422 calculation algorithm Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 238000007477 logistic regression Methods 0.000 description 5
- 238000003780 insertion Methods 0.000 description 4
- 230000037431 insertion Effects 0.000 description 4
- 238000000605 extraction Methods 0.000 description 3
- 230000015654 memory Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000013480 data collection Methods 0.000 description 2
- 238000003058 natural language processing Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000013526 transfer learning Methods 0.000 description 2
- 241001269238 Data Species 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000012512 characterization method Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 201000010099 disease Diseases 0.000 description 1
- 208000037265 diseases, disorders, signs and symptoms Diseases 0.000 description 1
- 238000012407 engineering method Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000007787 long-term memory Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 239000002574 poison Substances 0.000 description 1
- 231100000614 poison Toxicity 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000006403 short-term memory Effects 0.000 description 1
- 230000003612 virological effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
- G06F18/2148—Generating training patterns; Bootstrap methods, e.g. bagging or boosting characterised by the process organisation or structure, e.g. boosting cascade
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2411—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on the proximity to a decision surface, e.g. support vector machines
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2413—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/243—Classification techniques relating to the number of classes
- G06F18/24323—Tree-organised classifiers
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/764—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/7715—Feature extraction, e.g. by transforming the feature space, e.g. multi-dimensional scaling [MDS]; Mappings, e.g. subspace methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/774—Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural 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
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- General Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Databases & Information Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Mathematical Physics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Evolutionary Biology (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Molecular Biology (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Image Analysis (AREA)
Abstract
一种DGA域名实时检测方法和装置,其将原始域名转换为多维数值向量,输入到基于ImageNet数据集预训练好的深度学习模型,生成域名特征,并基于生成的域名特征训练域名分类器,基于训练得到的域名分类器对DGA域名进行分类和预测。该方法首次将基于ImageNet数据集预训练好的深度学习模型从视觉图像分类检测领域用于对DGA域名的实时检测,避免了在DGA域名检测中对深度学习模型的高强度训练和参数权重调整过程,具有较高的检测率和更快的检测速度。
Description
技术领域
本发明涉及网络安全技术领域,特别涉及一种DGA域名实时检测方法和装置。
背景技术
僵尸网络(BotNet)是指采用一种或多种传播手段,将大量僵尸主机(Bot)感染病毒,从而在主控者(Botmaster)和被感染主机之间,通过命令与控制服务器(Command andControl Server,简称C2服务器)形成的可一对多控制的网络,其目的是尽可能地感染更多的主机。不论是对网络安全运行还是用户数据安全的保护来说,僵尸网络都是极具威胁的隐患。
目前,攻击者操纵僵尸网络通常会使用多个域名的方式来连接至C2服务器,从而达到操控受害者机器的目的。这些域名通常会被编码在恶意程序中,这也使得攻击者具有了很大的灵活性,他们可以轻松地更改这些域名以及IP。该连接方式最大的优势是用极为简单的代码便可实现,劣势是极易被政府检测到。域名生成算法(Domain GenerationAlgorithms,简称DGA)是一种利用随机字符来生成C&C域名(简称DGA域名),从而逃避域名黑名单检测的技术手段,通过DGA,攻击者可以在短时间内自动产生成千上万的域名,这样就可有效地避开域名黑名单列表以及政府的检测。DGA的出现对网络安全带来了极大威胁,例如前段时间席卷全球的勒索病毒CryptoLocker就采用了这种域名生成算法,因此如何实现对DGA恶意域名进行有效检测一直是网络安全领域的研究目标。
为了实现这一目标,现有的一种检测手段是通过收集DGA域名样本以及对DGA进行逆向,来预测哪些域名将来可能会被生成和预注册,并将它们列入黑名单中。但是,这种方案存在一个明显的弊端,由于DGA可以在短时间内生成成千上万的域名,网络安全人员不可能做到每天都重复收集域名样本和更新黑名单列表。
另一种经典的检测技术是对域名数据进行特征提取和分类来实现,其主要包括两个阶段,即特征工程和分类算法。特征工程是其中最为烦琐的工作,其主要包含两个方面:
1)基于过滤的方法:采用Alexa前100万个网站和黑名单对域名进行检测;
2)基于统计特征的方法:典型的域名统计特征例如包括域名长度、二元语法、N元语法、信息熵、生存周期和字符频率分布等。
申请公布号为CN105577660A的中国专利申请提出了一种基于随机森林的DGA域名检测方法。申请公布号为CN105897714A的中国专利申请提出了一种基于DNS流量特征的僵尸网络检测方法。申请公布号为US2013/0191915A1的美国专利申请也提出了一种DGA域名检测方法和***。这些专利申请均是采用上述经典的基于统计特征的特征工程方法来实现对DGA域名的检测。这种检测方式存在一些缺点,例如:过度依赖人工特征工程,实现难度较大;检测率偏低,误报率较高;检测速度慢,不能实现实时检测。
随着机器学***衡性较为敏感,对于缺乏足够训练集支持的一些DGA域名族的检测能力也存在不足。
发明内容
本发明一方面提供一种DGA域名实时检测方法,其特征在于包括以下步骤:
步骤S1,将原始域名转换为多维数值向量;
步骤S2,将所述多维数值向量输入基于ImageNet数据集预训练好的深度学习模型,生成域名特征;
步骤S3,基于生成的域名特征训练域名分类器;
步骤S4,基于训练得到的域名分类器对DGA域名进行分类和预测。
在一些实施方式中,所述步骤S1将原始域名转换为多维数值向量包括以下步骤:
步骤S11,将原始域名的字符串转换为多维图像字节矩阵,以匹配基于ImageNet数据集预训练好的深度学习模型的输入;
步骤S12,将所述多维图像字节矩阵的尺寸缩小到预定大小。
在一些实施方式中,所述步骤S2之前进一步包括:
步骤S2’,对所述缩小到预定大小的多维图像字节矩阵进行归一化处理。
在一些实施方式中,所述步骤S2中生成域名特征进一步包括:
抽取所述预训练好的深度学习模型的倒数第三层来生成域名特征。
在一些实施方式中,所述基于ImageNet数据集预训练好的深度学习模型包括:AlexNet模型、VGG模型、SqueezeNet模型、Inception模型或ResNet模型。
在一些实施方式中,所述域名分类器包括决策树模型、支持向量机模型、逻辑回归模型或随机森林模型。
在一些实施方式中,所述步骤S3中基于生成的域名特征训练域名分类器包括:计算两个域名之间的相似度距离。
在一些实施方式中,所述步骤S3中基于生成的域名特征训练域名分类器包括:计算域名族中域名的特征平均值作为所述域名族的特征。
本发明另一方面提供一种DGA域名实时检测装置,其特征在于包括以下模块:
转换模块,用于将原始域名转换为多维数值向量;
深度学习模块,用于将所述多维数值向量输入到基于ImageNet数据集预训练好的深度学习模型,生成域名特征;
分类器训练模块,用于基于生成的域名特征训练域名分类器;
预测模块,用于基于训练得到的域名分类器对DGA域名进行分类和预测。
在一些实施方式中,所述转换模块包括:
预处理单元,用于将原始域名的字符串转换为多维图像字节矩阵,以匹配基于ImageNet数据集预训练好的深度学习模型的输入;
调整单元,用于将所述多维图像字节矩阵的尺寸缩小到预定大小。
在一些实施方式中,所述检测装置进一步包括:
归一化模块,用于对所述缩小到预定大小的多维图像字节矩阵进行归一化处理。
在一些实施方式中,所述深度学习模块抽取所述预训练好的深度学习模型的倒数第三层来生成域名特征。
在一些实施方式中,所述基于ImageNet数据集预训练好的深度学习模型包括:AlexNet模型、VGG模型、SqueezeNet模型、Inception模型或ResNet模型。
在一些实施方式中,所述域名分类器包括决策树模型、支持向量机模型、逻辑回归模型或随机森林模型。
在一些实施方式中,所述分类器训练模块包括:
相似度计算单元,用于计算两个域名之间的相似度距离。
在一些实施方式中,所述分类器训练模块包括:
特征计算单元,用于计算域名族中域名的特征平均值作为所述域名族的特征。
本发明另一方面提供一计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令用于在计算机中执行以下步骤:
步骤S1,将原始域名转换为多维数值向量;
步骤S2,将所述多维数值向量输入基于ImageNet数据集预训练好的深度学习模型,生成域名特征;
步骤S3,基于生成的域名特征训练域名分类器;
步骤S4,基于训练得到的域名分类器对DGA域名进行分类和预测。
在一些实施方式中,所述步骤S1将原始域名转换为多维数值向量包括以下步骤:
步骤S11,将原始域名的字符串转换为多维图像字节矩阵,以匹配基于ImageNet数据集预训练好的深度学习模型的输入;
步骤S12,将所述多维图像字节矩阵的尺寸缩小到预定大小。
在一些实施方式中,所述步骤S2之前进一步包括:
步骤S2’,对所述缩小到预定大小的多维图像字节矩阵进行归一化处理。
在一些实施方式中,所述步骤S2中生成域名特征进一步包括:
抽取所述预训练好的深度学习模型的倒数第三层来生成域名特征。
在一些实施方式中,所述基于ImageNet数据集预训练好的深度学习模型包括:AlexNet模型、VGG模型、SqueezeNet模型、Inception模型或ResNet模型。
在一些实施方式中,所述域名分类器包括决策树模型、支持向量机模型、逻辑回归模型或随机森林模型。
在一些实施方式中,所述步骤S3中基于生成的域名特征训练域名分类器包括:计算两个域名之间的相似度距离。
在一些实施方式中,所述步骤S3中基于生成的域名特征训练域名分类器包括:计算域名族中域名的特征平均值作为所述域名族的特征。
本发明另一方面提供一种计算机装置,其包括处理器和存储器,所述存储器存储有计算机程序指令,其特征在于所述计算机程序指令在处理器运行时用于执行以下步骤:
步骤S1,将原始域名转换为多维数值向量;
步骤S2,将所述多维数值向量输入基于ImageNet数据集预训练好的深度学习模型,生成域名特征;
步骤S3,基于生成的域名特征训练域名分类器;
步骤S4,基于训练得到的域名分类器对DGA域名进行分类和预测。
在一些实施方式中,所述步骤S1将原始域名转换为多维数值向量包括以下步骤:
步骤S11,将原始域名的字符串转换为多维图像字节矩阵,以匹配基于ImageNet数据集预训练好的深度学习模型的输入;
步骤S12,将所述多维图像字节矩阵的尺寸缩小到预定大小。
在一些实施方式中,所述步骤S2之前进一步包括:
步骤S2’,对所述缩小到预定大小的多维图像字节矩阵进行归一化处理。
在一些实施方式中,所述步骤S2中生成域名特征进一步包括:
抽取所述预训练好的深度学习模型的倒数第三层来生成域名特征。
在一些实施方式中,所述基于ImageNet数据集预训练好的深度学习模型包括:AlexNet模型、VGG模型、SqueezeNet模型、Inception模型或ResNet模型。
在一些实施方式中,所述域名分类器包括决策树模型、支持向量机模型、逻辑回归模型或随机森林模型。
在一些实施方式中,所述步骤S3中基于生成的域名特征训练域名分类器包括:计算两个域名之间的相似度距离。
在一些实施方式中,所述步骤S3中基于生成的域名特征训练域名分类器包括:计算域名族中域名的特征平均值作为所述域名族的特征。
在本发明的一些实施方式中,利用基于ImageNet大规模图像数据集已经预训练好的优秀深度学习模型的知识优势,通过域名数据的词嵌入转换和深度学习模型的迁移学习首次将基于ImageNet数据集预训练的深度学习模型从视觉图像分类检测领域用于对DGA域名的实时检测,避免了在DGA域名检测中对深度学习模型的高强度训练和参数权重调整过程,具有较高检测率和较低的误报率,并且具有更快的检测速度。
附图说明
图1为本发明一个实施方式的DGA域名实时检测方法的流程示意图;
图2为本发明另一个实施方式的DGA域名实时检测方法的流程示意图;
图3为本发明另一个实施方式的DGA域名实时检测方法的流程示意图;
图4为本发明进行域名转换的一个实施方式的应用示例图;
图5为本发明一个实施方式的DGA域名实时检测装置的结构示意图;
图6为本发明一个实施方式的转换模块的结构示意图;
图7为本发明另一个实施方式的DGA域名实时检测装置的结构示意图;
图8为本发明一个实施方式的分类器训练模块的结构示意图;
图9为本发明实施例的DGA域名检测速度性能的比较图。
具体实施方式
下面结合附图对本发明进行清楚、完整地说明。
图1为本发明一个实施方式的DGA域名实时检测方法的流程示意图。如图1所示,该方法包括如下步骤:
步骤S1,将原始域名转换为多维数值向量;
步骤S2,将所述多维数值向量输入到基于ImageNet数据集预训练好的深度学习模型,生成域名特征;
步骤S3,基于生成的域名特征训练域名分类器;
步骤S4,基于训练得到的域名分类器对DGA域名进行分类和预测。
本发明实施例中,ImageNet数据集是目前著名的一个计算机视觉***识别项目的名称,它是目前世界上用于图像识别最大的数据库,其包含1000万以上的具有手工标注的图片以及2万多的对象类别。基于该大规模数据集已经发展和训练出了一些优秀的深度学习模型,例如AlexNet模型、VGG模型、SqueezeNet模型、Inception模型或ResNet模型等。目前,这些优秀的深度学习模型主要应用于计算机视觉识别、语音识别、自然语言处理等技术领域,并在这些领域取得了较大成功,但尚未发现有应用于计算机网络安全领域尤其是DGA域名检测的先例。
因此,如何将这些基于ImageNet数据集已经预训练好的深度学习模型应用到DGA域名检测问题上,存在两个主要的难点:
首先,作为学习和分类对象的DGA域名本质上是一种字符类型的数据,它无论是尺寸大小还是内容上均有别于ImageNet数据集中的原始图片数据;
其次,对域名进行检测,需要处理的域名数据能达到百万级,基于这些海量的域名数据重新训练深度学习模型将面临巨大的计算强度,耗费大量的时间和资源。
本发明实施例针对上述两个难点,首先,通过词嵌入技术将字符类型的原始域名数据转换成多维数值向量的图像格式,使得域名数据能够像ImageNet数据集中图像数据一样能被基于ImageNet数据集预训练好的深度学习模型处理。词嵌入是自然语言处理中的名词,从数学上就是定义为一个从文档空间投影到数值向量空间(通常是低维度的)的映射。该映射为一个单射函数,即每个Y只有唯一的X对应,反之亦然。通过词嵌入技术,能够将文档类型数据进行数值化处理,从而将文档分析问题转化成相对应的数值向量的问题。
其次,借助迁移学习理论,直接将基于ImageNet数据集已经预训练好的深度学习模型的参数权重迁移到针对经过词嵌入转换后的域名数据集的目标学习模型中,从而有效利用了基于ImageNet数据集训练演进出的优秀深度学习模型的知识经验,避免了基于大规模域名数据对深度学习模型的高强度训练和参数权重调整过程,同时也使得对DGA域名的检测在确保实时性的性能要求时,也具有较高检测率和较低的误报率。
在一些实施方式中,所述基于ImageNet数据集预训练的深度学习模型包括:AlexNet模型、VGG模型、SqueezeNet模型、Inception模型或ResNet模型。
在一些实施方式中,所述步骤S2中生成域名特征进一步包括:抽取所述预训练的深度学习模型的倒数第三层来生成域名特征。这是因为预训练的深度学习模型中,顶层的输出层通常存在过拟合问题,比顶层输出层更低层的特征往往更适用于进行分类。
在一些实施方式中,所述域名分类器包括决策树模型、支持向量机模型、逻辑回归模型或随机森林模型。
在一些实施方式中,所述步骤S3中基于生成的域名特征训练域名分类器进一步包括:计算两个域名之间的相似度距离。对两个域名之间进行欧式距离的相似度评分有助于提高分类的精确度。
在一些实施方式中,所述步骤S3中基于生成的域名特征训练域名分类器包括:计算域名族中域名的特征平均值作为所述域名族的特征。在现实世界中,DGA域名具有多个域名族,对于这些域名族的检测,本发明实施例采用计算域名族中域名的特征平均值作为所述域名族的特征,以此可以实现对DGA域名族的分类检测。
图2为本发明另一个实施方式的DGA域名实时检测方法的流程示意图。如图2所示,在图1所示实施例的基础上,本发明实施例中所述将原始域名转换为多维数值向量的步骤S1包括:
步骤S11,将原始域名的字符串转换为多维图像字节矩阵,以匹配基于ImageNet数据集预训练好的深度学习模型的输入;
步骤S12,将所述多维图像字节矩阵的尺寸缩小到预定大小。
本发明实施例中,所述步骤S2包括将所述多维图像字节矩阵输入到基于ImageNet数据集预训练好的深度学习模型,生成域名特征。
本发明实施例中,将原始域名转换为多维图像字节矩阵,由于域名字符串的长度大小相对于一般图像数据而言尺寸更小,将转换后的图像字节矩阵的大小缩小到预定大小,可以显著降低对内存空间的占用。
图3为本发明另一个实施方式的DGA域名实时检测方法的流程示意图。如图3所示,该方法在图2所示实施例的步骤S2之前进一步包括以下步骤:
步骤S2’,对所述缩小到预定大小的多维图像字节矩阵进行归一化处理。
本发明实施例中,通过对经过词嵌入转换后的多维图像字节矩阵进行归一化处理,使得域名数据的向量表征更加标准和规范,进一步提高域名的分类准确性。
图4为本发明进行域名转换的一个实施方式的应用示例图。如图4所示,本发明实施例中,以一个DGA生成域名zzzzanerraticallyqozaw.com为例,首先将该域名字符串通过词嵌入转换为[224×224×3]的图像字节矩阵,由于域名字符串的最大长度通常不超过25,我们可以将所述[224×224×3]的图像字节矩阵的尺寸进一步缩小到[25×25×3],最后输入基于ImageNet数据集预训练好的AlexNet深度学习模型生域名特征。由此,将转换后的图像字节矩阵的尺寸缩小到预定大小,可以显著降低内存空间的占用。
图5是本发明一个实施方式的DGA域名实时检测装置100的结构示意图。如图5所示,DGA域名实时检测装置100包括如下模块:
转换模块10,用于将原始域名转换为多维数值向量;
深度学习模块20,用于将所述多维数值向量输入到基于ImageNet数据集预训练好的深度学习模型,生成域名特征;
分类器训练模块30,用于基于生成的域名特征训练域名分类器;
预测模块40,用于基于训练得到的域名分类器对DGA域名进行分类和预测。
图6是本发明一个实施方式的转换模块10的结构示意图。如图6所示,转换模块10包括如下单元:
预处理单元11,用于将原始域名的字符串转换为多维图像字节矩阵,以匹配基于ImageNet数据集预训练好的深度学习模型的输入。
调整单元12,用于将所述多维图像字节矩阵的尺寸缩小到预定大小。
图7是本发明另一个实施方式的DGA域名实时检测装置200的结构示意图。如图7所示,DGA域名实时检测装置200在图5所示DGA域名实时检测装置100的基础上进一步包括如下模块:
归一化模块50,用于对所述缩小到预定大小的多维图像字节矩阵进行归一化处理。
图8是本发明一个实施方式的分类器训练模块30的结构示意图。如图8所示,分类器训练模块30包括如下单元:
相似度计算单元31,用于计算两个域名之间的相似度距离;
特征计算单元32,用于计算域名族中域名的特征平均值作为所述域名族的特征。
本发明实施例选取了Alexa前100万条域名数据作为非DGA域名,并选取真实的3300万条DGA恶意域名作为测试数据,这些DGA恶意域名包含64个域名族。分别采用基于ImageNet数据集预训练好的多种深度学习模型对上述数据进行分类检测,实验结果如表1所示。可见,本发明实施例对于DGA域名检测的真阳性率可以高达99.863%,准确率达到98.568%。
图9为本发明实施例的DGA域名检测速度性能的比较图。如图9所示,利用GPU的图像数据处理能力,当采用一个GPU运行本发明所述检测方法时每天处理的域名数据量是采用一个CPU运行时处理的域名数量的两倍以上,当采用两个GPU运行本发明所述检测方法时,每天能处理的域名数据量最高可以达到500万条以上。
表1.模型检测的实验结果
上述实验结果表明,本发明的一些实施方式首次将基于ImageNet数据集预训练好的深度学习模型从视觉图像分类检测领域用于对DGA域名的实时检测,避免了在DGA域名检测中对深度学习模型的高强度训练和参数权重调整过程,具有较高检测率和较低的误报率,并且具有更快的检测速度。
Claims (18)
1.一种DGA域名实时检测方法,其特征在于包括以下步骤:
步骤S1,将原始域名转换为多维数值向量;
步骤S2,将所述多维数值向量输入到基于ImageNet数据集预训练好的深度学习模型,生成域名特征;
步骤S3,基于生成的域名特征训练域名分类器;
步骤S4,基于训练得到的域名分类器对DGA域名进行分类和预测。
2.根据权利要求1所述的方法,其特征在于:所述步骤S1将原始域名转换为多维数值向量包括以下步骤:
步骤S11,将原始域名的字符串转换为多维图像字节矩阵,以匹配基于ImageNet数据集预训练好的深度学习模型的输入;
步骤S12,将所述多维图像字节矩阵的尺寸缩小到预定大小。
3.根据权利要求2所述的方法,其特征在于:所述步骤S2之前进一步包括以下步骤:
步骤S2’,对所述缩小到预定大小的多维图像字节矩阵进行归一化处理。
4.根据权利要求3所述的方法,其特征在于:所述步骤S2中生成域名特征包括:抽取所述训练好的深度学习模型的倒数第三层来生成域名特征。
5.根据权利要求4所述的方法,其特征在于:所述基于ImageNet数据集预训练好的深度学习模型包括:AlexNet模型、VGG模型、SqueezeNet模型、Inception模型或ResNet模型。
6.根据权利要求5所述的方法,其特征在于:所述域名分类器包括决策树模型、支持向量机模型、逻辑回归模型或随机森林模型。
7.根据权利要求6所述的方法,其特征在于:所述步骤S3中基于生成的域名特征训练域名分类器包括:计算两个域名之间的相似度距离。
8.根据权利要求7所述的方法,其特征在于:所述步骤S3中基于生成的域名特征训练域名分类器包括:计算域名族中域名的特征平均值作为所述域名族的特征。
9.一种DGA域名实时检测装置,其特征在于包括以下模块:
转换模块,用于将原始域名转换为多维数值向量;
深度学习模块,用于将所述多维数值向量输入到基于ImageNet数据集预训练好的深度学习模型,生成域名特征;
分类器训练模块,用于基于生成的域名特征训练域名分类器;
预测模块,用于基于训练得到的域名分类器对DGA域名进行分类和预测。
10.根据权利要求9所述的装置,其特征在于:所述转换模块包括:
预处理单元,用于将原始域名的字符串转换为多维图像字节矩阵,以匹配基于ImageNet数据集预训练好的深度学习模型的输入;
调整单元,用于将所述多维图像字节矩阵的尺寸缩小到预定大小。
11.根据权利要求10所述的装置,其特征在于:所述检测装置进一步包括:
归一化模块,用于对所述缩小到预定大小的多维图像字节矩阵进行归一化处理。
12.根据权利要求11所述的装置,其特征在于:所述深度学习模块抽取所述预训练好的深度学习模型的倒数第三层来生成域名特征。
13.根据权利要求12所述的装置,其特征在于:所述基于ImageNet数据集预训练好的深度学习模型包括:AlexNet模型、VGG模型、SqueezeNet模型、Inception模型或ResNet模型。
14.根据权利要求13所述的装置,其特征在于:所述域名分类器包括决策树模型、支持向量机模型、逻辑回归模型或随机森林模型。
15.根据权利要求14所述的装置,其特征在于:所述分类器训练模块包括:
相似度计算单元,用于计算两个域名之间的相似度距离。
16.根据权利要求15所述的装置,其特征在于:所述分类器训练模块包括:
特征计算单元,用于计算域名族中域名的特征平均值作为所述域名族的特征。
17.一种计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令用于在计算机中执行以下步骤:
步骤S1,将原始域名转换为多维数值向量;
步骤S2,将所述多维数值向量输入到基于ImageNet数据集预训练好的深度学习模型,生成域名特征;
步骤S3,基于生成的域名特征训练域名分类器;
步骤S4,基于训练得到的域名分类器对DGA域名进行分类和预测。
18.根据权利要求17所述的存储介质,其特征在于:所述步骤S1将原始域名转换为多维数值向量包括以下步骤:
步骤S11,将原始域名的字符串转换为多维图像字节矩阵,以匹配基于ImageNet数据集预训练好的深度学习模型的输入;
步骤S12,将所述多维图像字节矩阵的尺寸缩小到预定大小。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711130020.0A CN109788079B (zh) | 2017-11-15 | 2017-11-15 | Dga域名实时检测方法和装置 |
PCT/CN2018/115087 WO2019096099A1 (zh) | 2017-11-15 | 2018-11-12 | Dga域名实时检测方法和装置 |
US16/764,741 US11334764B2 (en) | 2017-11-15 | 2018-11-12 | Real-time detection method and apparatus for DGA domain name |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711130020.0A CN109788079B (zh) | 2017-11-15 | 2017-11-15 | Dga域名实时检测方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109788079A true CN109788079A (zh) | 2019-05-21 |
CN109788079B CN109788079B (zh) | 2022-03-15 |
Family
ID=66494337
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711130020.0A Active CN109788079B (zh) | 2017-11-15 | 2017-11-15 | Dga域名实时检测方法和装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11334764B2 (zh) |
CN (1) | CN109788079B (zh) |
WO (1) | WO2019096099A1 (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110674370A (zh) * | 2019-09-23 | 2020-01-10 | 鹏城实验室 | 域名识别方法及装置、存储介质及电子设备 |
CN110798481A (zh) * | 2019-11-08 | 2020-02-14 | 杭州安恒信息技术股份有限公司 | 基于深度学习的恶意域名检测方法及装置 |
CN111125700A (zh) * | 2019-12-11 | 2020-05-08 | 中山大学 | 一种基于主机关联性的dga家族分类方法 |
CN111628970A (zh) * | 2020-04-24 | 2020-09-04 | 中国科学院计算技术研究所 | 一种dga型僵尸网络的检测方法、介质和电子设备 |
CN112866257A (zh) * | 2021-01-22 | 2021-05-28 | 网宿科技股份有限公司 | 一种域名检测方法、***及装置 |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11423143B1 (en) | 2017-12-21 | 2022-08-23 | Exabeam, Inc. | Anomaly detection based on processes executed within a network |
US11431741B1 (en) * | 2018-05-16 | 2022-08-30 | Exabeam, Inc. | Detecting unmanaged and unauthorized assets in an information technology network with a recurrent neural network that identifies anomalously-named assets |
US11625366B1 (en) | 2019-06-04 | 2023-04-11 | Exabeam, Inc. | System, method, and computer program for automatic parser creation |
US11227122B1 (en) | 2019-12-31 | 2022-01-18 | Facebook, Inc. | Methods, mediums, and systems for representing a model in a memory of device |
US11956253B1 (en) | 2020-06-15 | 2024-04-09 | Exabeam, Inc. | Ranking cybersecurity alerts from multiple sources using machine learning |
CN112217787B (zh) * | 2020-08-31 | 2022-11-04 | 北京工业大学 | 一种基于ed-gan的仿冒域名训练数据生成方法及*** |
CN114499906B (zh) * | 2020-11-12 | 2023-04-25 | 清华大学 | 一种dga域名检测方法及*** |
CN114978558B (zh) * | 2021-02-20 | 2024-07-02 | 中国电信股份有限公司 | 域名识别方法和装置、计算机装置和存储介质 |
CN113572770B (zh) * | 2021-07-26 | 2022-09-02 | 清华大学 | 检测域名生成算法生成的域名的方法及装置 |
CN113746952B (zh) * | 2021-09-14 | 2024-04-16 | 京东科技信息技术有限公司 | Dga域名检测方法、装置、电子设备及计算机存储介质 |
CN114095176B (zh) * | 2021-10-29 | 2024-04-09 | 北京天融信网络安全技术有限公司 | 一种恶意域名检测方法及装置 |
CN114648069A (zh) * | 2022-03-23 | 2022-06-21 | 三六零数字安全科技集团有限公司 | 域名检测方法和装置、设备及存储介质 |
CN116074081B (zh) * | 2023-01-28 | 2023-06-13 | 鹏城实验室 | Dga域名检测方法、装置、设备及存储介质 |
CN116132154B (zh) * | 2023-02-03 | 2023-06-30 | 北京六方云信息技术有限公司 | Dns隧道流量检测***的验证方法、装置、设备及存储介质 |
CN115913792B (zh) * | 2023-03-08 | 2023-05-23 | 浙江鹏信信息科技股份有限公司 | Dga域名的鉴别方法、***及可读介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102333313A (zh) * | 2011-10-18 | 2012-01-25 | 中国科学院计算技术研究所 | 移动僵尸网络特征码生成方法和移动僵尸网络检测方法 |
US20130263226A1 (en) * | 2012-01-22 | 2013-10-03 | Frank W. Sudia | False Banking, Credit Card, and Ecommerce System |
CN104778407A (zh) * | 2015-04-14 | 2015-07-15 | 电子科技大学 | 一种多维无特征码恶意程序检测方法 |
CN105474649A (zh) * | 2013-08-26 | 2016-04-06 | 索尼公司 | 代理服务器装置、信息处理方法、程序、终端装置和内容供应*** |
US20170026390A1 (en) * | 2015-07-22 | 2017-01-26 | Cisco Technology, Inc. | Identifying Malware Communications with DGA Generated Domains by Discriminative Learning |
US20170041333A1 (en) * | 2015-08-07 | 2017-02-09 | Cisco Technology, Inc. | Domain classification based on domain name system (dns) traffic |
CN106850571A (zh) * | 2016-12-29 | 2017-06-13 | 北京奇虎科技有限公司 | 僵尸网络家族的识别方法和装置 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8516585B2 (en) * | 2010-10-01 | 2013-08-20 | Alcatel Lucent | System and method for detection of domain-flux botnets and the like |
US9922190B2 (en) * | 2012-01-25 | 2018-03-20 | Damballa, Inc. | Method and system for detecting DGA-based malware |
US10079846B2 (en) | 2015-06-04 | 2018-09-18 | Cisco Technology, Inc. | Domain name system (DNS) based anomaly detection |
US9917852B1 (en) * | 2015-06-29 | 2018-03-13 | Palo Alto Networks, Inc. | DGA behavior detection |
CN105577660B (zh) | 2015-12-22 | 2019-03-08 | 国家电网公司 | 基于随机森林的dga域名检测方法 |
CN105610830A (zh) | 2015-12-30 | 2016-05-25 | 山石网科通信技术有限公司 | 域名的检测方法及装置 |
CN105897714B (zh) * | 2016-04-11 | 2018-11-09 | 天津大学 | 基于dns流量特征的僵尸网络检测方法 |
CA3000166A1 (en) * | 2017-04-03 | 2018-10-03 | Royal Bank Of Canada | Systems and methods for cyberbot network detection |
CN106911717A (zh) * | 2017-04-13 | 2017-06-30 | 成都亚信网络安全产业技术研究院有限公司 | 一种域名检测方法及装置 |
US11025648B2 (en) * | 2017-09-21 | 2021-06-01 | Infoblox Inc. | Detection of algorithmically generated domains based on a dictionary |
-
2017
- 2017-11-15 CN CN201711130020.0A patent/CN109788079B/zh active Active
-
2018
- 2018-11-12 US US16/764,741 patent/US11334764B2/en active Active
- 2018-11-12 WO PCT/CN2018/115087 patent/WO2019096099A1/zh active Application Filing
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102333313A (zh) * | 2011-10-18 | 2012-01-25 | 中国科学院计算技术研究所 | 移动僵尸网络特征码生成方法和移动僵尸网络检测方法 |
US20130263226A1 (en) * | 2012-01-22 | 2013-10-03 | Frank W. Sudia | False Banking, Credit Card, and Ecommerce System |
CN105474649A (zh) * | 2013-08-26 | 2016-04-06 | 索尼公司 | 代理服务器装置、信息处理方法、程序、终端装置和内容供应*** |
CN104778407A (zh) * | 2015-04-14 | 2015-07-15 | 电子科技大学 | 一种多维无特征码恶意程序检测方法 |
US20170026390A1 (en) * | 2015-07-22 | 2017-01-26 | Cisco Technology, Inc. | Identifying Malware Communications with DGA Generated Domains by Discriminative Learning |
US20170041333A1 (en) * | 2015-08-07 | 2017-02-09 | Cisco Technology, Inc. | Domain classification based on domain name system (dns) traffic |
CN106850571A (zh) * | 2016-12-29 | 2017-06-13 | 北京奇虎科技有限公司 | 僵尸网络家族的识别方法和装置 |
Non-Patent Citations (1)
Title |
---|
罗骞等: "基于深度学习的集成DGA域名检测方法", 《信息技术与网络安全》 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110674370A (zh) * | 2019-09-23 | 2020-01-10 | 鹏城实验室 | 域名识别方法及装置、存储介质及电子设备 |
CN110798481A (zh) * | 2019-11-08 | 2020-02-14 | 杭州安恒信息技术股份有限公司 | 基于深度学习的恶意域名检测方法及装置 |
CN111125700A (zh) * | 2019-12-11 | 2020-05-08 | 中山大学 | 一种基于主机关联性的dga家族分类方法 |
CN111125700B (zh) * | 2019-12-11 | 2023-02-07 | 中山大学 | 一种基于主机关联性的dga家族分类方法 |
CN111628970A (zh) * | 2020-04-24 | 2020-09-04 | 中国科学院计算技术研究所 | 一种dga型僵尸网络的检测方法、介质和电子设备 |
CN111628970B (zh) * | 2020-04-24 | 2021-10-15 | 中国科学院计算技术研究所 | 一种dga型僵尸网络的检测方法、介质和电子设备 |
CN112866257A (zh) * | 2021-01-22 | 2021-05-28 | 网宿科技股份有限公司 | 一种域名检测方法、***及装置 |
CN112866257B (zh) * | 2021-01-22 | 2023-09-26 | 网宿科技股份有限公司 | 一种域名检测方法、***及装置 |
Also Published As
Publication number | Publication date |
---|---|
US20210182612A1 (en) | 2021-06-17 |
CN109788079B (zh) | 2022-03-15 |
WO2019096099A1 (zh) | 2019-05-23 |
US11334764B2 (en) | 2022-05-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109788079A (zh) | Dga域名实时检测方法和装置 | |
Tajaddodianfar et al. | Texception: a character/word-level deep learning model for phishing URL detection | |
Vinayakumar et al. | Evaluating deep learning approaches to characterize and classify the DGAs at scale | |
CN109005145B (zh) | 一种基于自动特征抽取的恶意url检测***及其方法 | |
ALRashdi et al. | Deep learning and word embeddings for tweet classification for crisis response | |
CN112073551B (zh) | 基于字符级滑动窗口和深度残差网络的dga域名检测*** | |
CN112073550B (zh) | 融合字符级滑动窗口和深度残差网络的dga域名检测方法 | |
CN103577755A (zh) | 一种基于支持向量机的恶意脚本静态检测方法 | |
CN109740151A (zh) | 基于迭代膨胀卷积神经网络的公安笔录命名实体识别方法 | |
CN105912525A (zh) | 基于主题特征的半监督学习情感分类方法 | |
Chen et al. | DGA-based botnet detection toward imbalanced multiclass learning | |
Gao et al. | SetConv: A new approach for learning from imbalanced data | |
CN111209373A (zh) | 基于自然语义的敏感文本识别方法和装置 | |
CN113965377A (zh) | 一种攻击行为检测方法及装置 | |
CN114065749A (zh) | 一种面向文本的粤语识别模型及***的训练、识别方法 | |
CN109583208A (zh) | 基于移动应用评论数据的恶意软件识别方法和*** | |
CN110704611B (zh) | 基于特征解交织的非法文本识别方法及装置 | |
CN116684144A (zh) | 一种恶意域名检测方法及装置 | |
Chao et al. | Research on network intrusion detection technology based on dcgan | |
CN113627498B (zh) | 人物丑化图像识别和模型训练方法与装置 | |
Catania et al. | An analysis of convolutional neural networks for detecting DGA | |
CN112733144B (zh) | 一种基于深度学习技术的恶意程序智能检测方法 | |
Kang et al. | Android malware family classification using images from dex files | |
Ding et al. | Detecting Domain Generation Algorithms with Bi-LSTM. | |
Wang et al. | Research on Network Traffic Anomaly Detection for Class Imbalance |
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 |