CN109788079A - Dga域名实时检测方法和装置 - Google Patents

Dga域名实时检测方法和装置 Download PDF

Info

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
Application number
CN201711130020.0A
Other languages
English (en)
Other versions
CN109788079B (zh
Inventor
曾凤
常朔
万晓川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hansi Anxin (beijing) Software Technology Co Ltd
Original Assignee
Hansi Anxin (beijing) Software Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hansi Anxin (beijing) Software Technology Co Ltd filed Critical Hansi Anxin (beijing) Software Technology Co Ltd
Priority to CN201711130020.0A priority Critical patent/CN109788079B/zh
Priority to PCT/CN2018/115087 priority patent/WO2019096099A1/zh
Priority to US16/764,741 priority patent/US11334764B2/en
Publication of CN109788079A publication Critical patent/CN109788079A/zh
Application granted granted Critical
Publication of CN109788079B publication Critical patent/CN109788079B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • G06F18/2148Generating training patterns; Bootstrap methods, e.g. bagging or boosting characterised by the process organisation or structure, e.g. boosting cascade
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2411Classification 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2413Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/243Classification techniques relating to the number of classes
    • G06F18/24323Tree-organised classifiers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing 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/7715Feature extraction, e.g. by transforming the feature space, e.g. multi-dimensional scaling [MDS]; Mappings, e.g. subspace methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing 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/774Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations 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域名实时检测方法和装置
技术领域
本发明涉及网络安全技术领域,特别涉及一种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,将所述多维图像字节矩阵的尺寸缩小到预定大小。
CN201711130020.0A 2017-11-15 2017-11-15 Dga域名实时检测方法和装置 Active CN109788079B (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (7)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Title
罗骞等: "基于深度学习的集成DGA域名检测方法", 《信息技术与网络安全》 *

Cited By (8)

* Cited by examiner, † Cited by third party
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