CN112926647A - 模型训练方法、域名检测方法及装置 - Google Patents

模型训练方法、域名检测方法及装置 Download PDF

Info

Publication number
CN112926647A
CN112926647A CN202110203045.9A CN202110203045A CN112926647A CN 112926647 A CN112926647 A CN 112926647A CN 202110203045 A CN202110203045 A CN 202110203045A CN 112926647 A CN112926647 A CN 112926647A
Authority
CN
China
Prior art keywords
domain name
classification model
dga
model
sample data
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
CN202110203045.9A
Other languages
English (en)
Other versions
CN112926647B (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.)
Asiainfo Technologies (chengdu) Inc
Original Assignee
Asiainfo Technologies (chengdu) Inc
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 Asiainfo Technologies (chengdu) Inc filed Critical Asiainfo Technologies (chengdu) Inc
Priority to CN202110203045.9A priority Critical patent/CN112926647B/zh
Publication of CN112926647A publication Critical patent/CN112926647A/zh
Application granted granted Critical
Publication of CN112926647B publication Critical patent/CN112926647B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/25Fusion techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/10Machine learning using kernel methods, e.g. support vector machines [SVM]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Engineering & Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Software Systems (AREA)
  • Medical Informatics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请提供一种模型训练方法、域名检测方法及装置,涉及网络安全领域,能够提高判断是否为DGA域名的精准性。该方法包括:获取训练样本数据的特征;训练样本数据的特征包括:第一特征、第二特征、第三特征;第一特征用于表征将训练样本数据输入域名生成算法DGA家族分类模型后确定的全连接层参数,第二特征用于表征训练样本数据中各个域名的ngram特征;第三特征至少包括训练样本数据中各个域名的字符长度信息;将训练样本数据的特征输入第一神经网络模型进行训练,确定二分类模型;二分类模型用于确定目标域名是否为DGA域名。本申请实施例用于域名检测过程中。

Description

模型训练方法、域名检测方法及装置
技术领域
本申请涉及网络安全领域,尤其涉及一种模型训练方法、域名检测方法及装置。
背景技术
域名生成算法(domain generation algorithms,DGA)是一种常用的恶意域名生成方法。例如,感染了恶意代码的主机可以通过DGA算法生成一系列的域名,并使用这些域名尝试接入连接远程控制(command&control,C&C)服务器,以对C&C服务器进行攻击。因此,在主机使用域名接入C&C服务器时,需要检测使用的域名是否为DGA域名,以避免主机使用DGA域名接入C&C服务器,对C&C服务器造成影响。
当前,检测域名是否为DGA域名的方法主要包括:使用经典机器学习模型和/或使用深度学习模型,现有技术的方式会出现步骤繁琐、难度较高、域名的特征的利用率不高的问题,进而会降低判断是否为DGA域名的精准性。
发明内容
本申请提供一种模型训练方法、域名检测方法及装置,能够提高判断是否为DGA域名的精准性。
为达到上述目的,本申请采用如下技术方案:
第一方面,本申请提供一种模型训练方法,该方法包括:
获取训练样本数据的特征;训练样本数据的特征包括:第一特征、第二特征、第三特征;第一特征用于表征将训练样本数据输入域名生成算法DGA家族分类模型后确定的全连接层参数,第二特征用于表征训练样本数据中各个域名的ngram特征;第三特征至少包括训练样本数据中各个域名的字符长度信息;DGA家族分类模型为根据训练样本数据对第二神经网络模型进行训练后,生成的用于确定DGA域名的DGA家族分类的神经网络模型;将训练样本数据的特征输入第一神经网络模型进行训练,确定二分类模型;二分类模型用于确定目标域名是否为DGA域名。
基于上述技术方案,本申请实施例提供的模型训练方法,在对第一神经网络模型的训练时,增加了从DGA家族分类模型中获取全连接参数进行输入,全连接层参数的加入可以帮助更好的检测是否为DGA域名,将全连接层参数与其他特征(即ngram特征和基本特征)进行特征层的融合,提高了特征的利用率,进而提升了检测是否为DGA域名的输出结果的精准性。
在一种可能的实现方式中,将训练样本数据的特征输入第一神经网络模型进行训练,确定二分类模型,具体包括:步骤1、将训练样本数据的特征输入第一神经网络模型进行训练,确定满足第一预设条件的初始二分类模型;步骤2、将测试样本数据的特征输入初始二分类模型进行测试,确定测试结果,测试样本数据的特征包括:第四特征、第五特征、第六特征;第四特征用于表征将测试样本数据输入域名生成算法DGA家族分类模型后确定的全连接层参数,第五特征用于表征测试样本数据中各个域名的ngram特征;第六特征至少包括测试样本数据中各个域名的字符长度信息;步骤3、若测试结果满足第二预设条件,确定初始二分类模型为二分类模型;步骤4、若测试结果不满足第二预设条件,根据测试结果调整初始二分类模型,并将调整后的初始二分类模型作为初始二分类模型,依次对初始二分类模型执行步骤1、步骤2、步骤3和步骤4,直至确定二分类模型。该种实现方式,需要训练模型和测试模型均满足预设条件后,才能确定二分类模型,使得最终确定的二分类模型的稳定性更高,性能更好。
在一种可能的实现方式中,在将训练样本数据的特征输入第一神经网络模型进行训练之前,方法还包括:步骤5、将训练样本数据输入第二神经网络模型进行训练,确定满足第三预设条件的初始DGA家族分类模型;步骤6、将测试样本数据输入初始DGA家族分类模型进行测试,确定测试结果;步骤7、若测试结果满足第四预设条件,确定初始DGA家族分类模型为DGA家族分类模型;步骤8、若测试结果不满足第四预设条件,根据测试结果调整初始DGA家族分类模型,并将调整后的初始DGA家族分类模型作为初始DGA家族分类模型,依次对初始DGA家族分类模型执行步骤5、步骤6、步骤7和步骤8,直至确定DGA家族分类模型。该种实现方式,需要训练模型和测试模型均满足预设条件后,才能确定DGA家族分类模型,使得最终确定的DGA家族分类模型的稳定性更高,性能更好。
第二方面,本申请提供一种域名检测方法,该方法包括:
获取待检测域名的特征,待检测域名的特征包括:第七特征、第八特征、第九特征;第七特征用于表征将待检测域名输入DGA家族分类模型后确定的全连接层参数,第八特征用于表征待检测域名中的ngram特征;第九特征包括待检测域名的字符长度信息;将待检测域名的特征输入二分类模型,确定二分类模型的输出结果;根据二分类模型的输出结果,确定待检测域名是否为DGA域名。
基于上述技术方案,本申请实施例提供的域名检测方法,在通过二分类模型对待检测域名是否为DGA域名进行判断时,增加了从DGA家族分类模型中获取全连接参数进行输入,全连接层参数的加入可以帮助更好的检测是否为DGA域名,将全连接层参数与其他特征(即ngram特征和基本特征)进行特征层的融合,提高了特征的利用率,进而提升了检测是否为DGA域名的输出结果的精准性。
在一种可能的实现方式中,获取待检测域名的特征,包括:将待检测域名输入DGA家族分类模型,确定DGA家族分类模型的输出结果;DGA家族分类模型的输出结果用于表征待检测域名所属DGA家族的信息;DGA家族分类模型为根据训练样本数据训练后,生成的用于确定DGA域名的DGA家族分类的神经网络模型;确定DGA家族分类模型根据待检测域名生成的全连接层参数为待检测域名的第七特征。该种实现方式中,DGA家族分类模型不仅可以在输入域名后,直接检测出DGA域名所属的家族信息,使得获取DGA域名所属的家族信息的过程更加方便、简易;还可以在检测待检测域名的DGA域名所属的家族信息的过程中,输出全连接层参数,为二分类模型提供特征,使得二分类模型的输出结果的准确性更高。
在一种可能的实现方式中,在确定二分类模型的输出结果以及确定DGA家族分类模型的输出结果之后,方法还包括:确定二分类模型的输出结果,以及DGA家族分类模型的输出结果;在二分类模型的输出结果用于表征待检测域名为非DGA域名,DGA家族分类模型的输出结果用于表征待检测域名存在对应的DGA家族分类的情况下,调整DGA家族分类模型的输出结果为待检测域名不存在对应的DGA家族分类。该种实现方式中,若二分类模型的输出结果与DGA家族分类模型的输出结果存在矛盾时,可以依据二分类模型的输出结果调整DGA家族分类模型的输出结果,使得DGA家族分类模型的输出结果更加准确。
第三方面,本申请提供一种模型训练装置,该装置包括:通信单元和处理单元;通信单元,用于获取训练样本数据的特征;训练样本数据的特征包括:第一特征、第二特征、第三特征;第一特征用于表征将训练样本数据输入域名生成算法DGA家族分类模型后确定的全连接层参数,第二特征用于表征训练样本数据中各个域名的ngram特征;第三特征至少包括训练样本数据中各个域名的字符长度信息;DGA家族分类模型为根据训练样本数据对第二神经网络模型进行训练后,生成的用于确定DGA域名的DGA家族分类的神经网络模型;处理单元,用于将训练样本数据的特征输入第一神经网络模型进行训练,确定二分类模型;二分类模型用于确定目标域名是否为DGA域名。
在一种可能的实现方式中,处理单元,具体用于:步骤1、将训练样本数据的特征输入第一神经网络模型进行训练,确定满足第一预设条件的初始二分类模型;步骤2、将测试样本数据的特征输入初始二分类模型进行测试,确定测试结果,测试样本数据的特征包括:第四特征、第五特征、第六特征;第四特征用于表征将测试样本数据输入域名生成算法DGA家族分类模型后确定的全连接层参数,第五特征用于表征测试样本数据中各个域名的ngram特征;第六特征至少包括测试样本数据中各个域名的字符长度信息;步骤3、若测试结果满足第二预设条件,确定初始二分类模型为二分类模型;步骤4、若测试结果不满足第二预设条件,根据测试结果调整初始二分类模型,并将调整后的初始二分类模型作为初始二分类模型,依次对初始二分类模型执行步骤1、步骤2、步骤3和步骤4,直至确定二分类模型。
在一种可能的实现方式中,处理单元,还用于:步骤5、将训练样本数据输入第二神经网络模型进行训练,确定满足第三预设条件的初始DGA家族分类模型;步骤6、将测试样本数据输入初始DGA家族分类模型进行测试,确定测试结果;步骤7、若测试结果满足第四预设条件,确定初始DGA家族分类模型为DGA家族分类模型;步骤8、若测试结果不满足第四预设条件,根据测试结果调整初始DGA家族分类模型,并将调整后的初始DGA家族分类模型作为初始DGA家族分类模型,依次对初始DGA家族分类模型执行步骤5、步骤6、步骤7和步骤8,直至确定DGA家族分类模型。
可以理解地,上述提供的模型训练装置用于执行上文所提供的第一方面对应的方法,因此,其所能达到的有益效果可参考上文第一方面对应的方法以及下文具体实施方式中对应的方案的有益效果,此处不再赘述。
第四方面,本申请提供一种域名检测装置,该装置包括:应用于包括上述第三方面的二分类模型中,包括:通信单元和处理单元;通信单元,用于获取待检测域名的特征,待检测域名的特征包括:第七特征、第八特征、第九特征;第七特征用于表征将待检测域名输入DGA家族分类模型后确定的全连接层参数,第八特征用于表征待检测域名中的ngram特征;第九特征包括待检测域名的字符长度信息;处理单元,用于将待检测域名的特征输入二分类模型,确定二分类模型的输出结果;处理单元,还用于根据二分类模型的输出结果,确定待检测域名是否为DGA域名。
在一种可能的实现方式中,处理单元,具体用于:将待检测域名输入DGA家族分类模型,确定DGA家族分类模型的输出结果;DGA家族分类模型的输出结果用于表征待检测域名所属DGA家族的信息;DGA家族分类模型为根据训练样本数据训练后,生成的用于确定DGA域名的DGA家族分类的神经网络模型;确定DGA家族分类模型根据待检测域名生成的全连接层参数为待检测域名的第七特征。
在一种可能的实现方式中,处理单元,还用于:确定二分类模型的输出结果,以及DGA家族分类模型的输出结果;在二分类模型的输出结果用于表征待检测域名为非DGA域名,DGA家族分类模型的输出结果用于表征待检测域名存在对应的DGA家族分类的情况下,调整DGA家族分类模型的输出结果为待检测域名不存在对应的DGA家族分类。
可以理解地,上述提供的域名检测装置用于执行上文所提供的第二方面对应的方法,因此,其所能达到的有益效果可参考上文第二方面对应的方法以及下文具体实施方式中对应的方案的有益效果,此处不再赘述。
第五方面,本申请提供了一种模型训练装置,该装置包括:处理器和通信接口;通信接口和处理器耦合,处理器用于运行计算机程序或指令,以实现如第一方面和第一方面的任一种可能的实现方式中所描述的模型训练方法。
第六方面,本申请提供了一种计算机可读存储介质,计算机可读存储介质中存储有指令,当计算机可读存储介质中的指令由模型训练装置的处理器执行时,使得模型训练装置能够执行如第一方面和第一方面的任一种可能的实现方式中描述的模型训练方法。
第七方面,本申请实施例提供一种包含指令的计算机程序产品,计算机程序产品包括计算机指令,当计算机指令在模型训练装置上运行时,使得模型训练装置执行如第一方面和第一方面的任一种可能的实现方式中所描述的模型训练方法。
第八方面,本申请实施例提供一种芯片,芯片包括处理器和通信接口,通信接口和处理器耦合,处理器用于运行计算机程序或指令,以实现如第一方面和第一方面的任一种可能的实现方式中所描述的模型训练方法。
第九方面,本申请提供了一种域名检测装置,该装置包括:处理器和通信接口;通信接口和处理器耦合,处理器用于运行计算机程序或指令,以实现如第二方面和第二方面的任一种可能的实现方式中所描述的域名检测方法。
第十方面,本申请提供了一种计算机可读存储介质,计算机可读存储介质中存储有指令,当计算机可读存储介质中的指令由域名检测装置的处理器执行时,使得域名检测装置能够执行如第二方面和第二方面的任一种可能的实现方式中描述的域名检测方法。
第十一方面,本申请实施例提供一种包含指令的计算机程序产品,计算机程序产品包括计算机指令,当计算机指令在域名检测装置上运行时,使域名检测装置执行如第二方面和第二方面的任一种可能的实现方式中所描述的域名检测方法。
第十二方面,本申请实施例提供一种芯片,芯片包括处理器和通信接口,通信接口和处理器耦合,处理器用于运行计算机程序或指令,以实现如第二方面和第二方面的任一种可能的实现方式中所描述的域名检测方法。
具体的,本申请实施例中提供的芯片还包括存储器,用于存储计算机程序或指令。
附图说明
图1为本申请实施例提供的一种深度学习模型的结构图;
图2为本申请实施例提供的另一种模型训练系统的示意图;
图3为本申请实施例提供的一种模型训练方法的流程图;
图4为本申请实施例提供的一种特征组成的结构示意图;
图5为本申请实施例提供的另一种模型训练方法的流程图;
图6为本申请实施例提供的一种域名检测方法的流程图;
图7为本申请实施例提供的另一种域名检测方法的流程图;
图8为本申请实施例提供的一种模型训练装置的结构示意图;
图9为本申请实施例提供的另一种模型训练装置的结构示意图;
图10为本申请实施例提供的另一种模型训练装置的结构示意图;
图11为本申请实施例提供的一种域名检测装置的结构示意图;
图12为本申请实施例提供的另一种域名检测装置的结构示意图;
图13为本申请实施例提供的另一种域名检测装置的结构示意图。
具体实施方式
下面结合附图对本申请实施例提供的模型训练方法、域名检测方法及装置进行详细地描述。
本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。
本申请的说明书以及附图中的术语“第一”和“第二”等是用于区别不同的对象,或者用于区别对同一对象的不同处理,而不是用于描述对象的特定顺序。
此外,本申请的描述中所提到的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括其他没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
需要说明的是,本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
在本申请的描述中,除非另有说明,“多个”的含义是指两个或两个以上。
以下,对本申请实施例涉及的名词进行解释,以方便读者理解。
(1)深度学习模型:包括词嵌入层、长短时记忆神经网络(long short termmemory neural network,LSTM)层、多个卷积神经网络(convolutional neural networks,CNN)层、全连接层、softmax分类器。该模型的组成结构可以参见图1。
词嵌入层:将输入的离散的数字向量转换成连续的向量,从而方便后续对输入数据的训练。
LSTM层:用于提取域名字符串序列的特征。
多个CNN层:用于提取域名字符串序列的邻近关系特征。
全连接层:将LSTM层以及多个CNN层提取的特征融合到一起,输出用于表征与DGA家族分类信息相关的融合特征。
softmax分类器:根据LSTM层以及多个CNN层提取的融合特征对域名所属的家族进行分类,最终输出所属DGA家族的标签。
DGA家族分类模型可以通过LSTM-CNN深度学习模型构建。
(2)梯度提升树(gradient boosting tree,GBT):包括多个决策树,通过迭代的方式对多个决策树进行训练,可以简洁高效的输出标签。GBT具有准确度高,训练速度快,可解释性强的优点。二分类模型可以通过GBT构建。
以上是对本申请实施例中涉及到的部分概念所做的简单介绍。
如图2所示,图2是根据实施例示出的一种模型训练系统的示意图。如图2所示,该模型训练系统可以包括:模型训练节点21。其中,该目标模型可以是深度学习模型。在一些实施例中,模型训练节点21可以是一台服务器,也可以是由多台服务器组成的服务器集群。
模型训练节点可以包括多个图形处理单元(graphic processing units,GPU),可以用于对训练样本标识对应的嵌入结果进行优化计算,得到训练样本标识对应的梯度信息,从参数服务器获取训练样本的稀疏特征的更新后的模型参数等。其中,GPU作为高性能的并行计算组件,在语音、图像等训练场景中被广泛应用;还可以用于获取初始训练样本,为初始训练样本分配训练样本标识,获取初始训练样本的稀疏特征和稠密特征等;还可以用于对初始训练样本的稀疏特征进行排序和去重处理,以及变长整数编码处理,得到训练样本标识对应的稀疏特征。
目前,针对使用的域名是否为DGA域名的检测可以应用以下方式1、方式2、方式3。
方式1:训练经典机器学习模型,检测待检测的域名是否为DGA域名。
训练经典机器学习模型(例如,支持向量机(support vector machine,SVM),射频(radio frequency,RF)、梯度提升决策树(gradient boosting decision tree,GBDT))需要先通过特征工程和经验,计算域名的各种特征(例如,主域名长度、顶级域名、域名字符信息熵、ngram特征,数字比例,元音字符比例等),再将计算出的域名的各种特征输入经典机器学习模型,输出该域名是否为DGA域名的标签。
方式1存在的问题:需要构建大量的特征工程,计算域名的各种特征,特征工程的构建需要经过特征构建、特征提取、特征选择这三个过程,导致特征工程的构建是特别繁琐复杂的,进而导致使用经典机器学习模型检测待检测的域名是否为DGA域名的过程也很繁琐复杂。
方式2:训练经典机器学习模型以及深度学习模型,检测待检测用的域名是否为DGA域名。
获取黑名单以及白名单的数据,根据黑白名单合并的数据计算域名的特征,训练经典机器学习模型;再将黑白样本合并的数据训练输入深度学习模型(例如,长短期记忆网络(long short term memory,LSTM)、双向循环神经网络(bidirectional-recurrentneural network,Bi-RNN)、卷积神经网络(character-convolutional neural networks,Char-CNN)),训练深度学习模型。
在得到上述经典机器学习模型以及深度学习模型后,通过经典机器学习模型从数据中获取非DGA域名,再通过深度学习模型对经典学习模型分类出的非DGA域名集合进行检测,进一步找出DGA域名。
方式2存在的问题:只能对检测过输出的结果进行集成,并不能将不同的特征进行集成,导致特征的利用率不高,特征集成权重参数不能在训练过程中动态调整,自适应不强。
并且,对于DGA域名来说是可以按照生成方式的不同(即生成DGA域名的随机算法不同)划分为不同的DGA家族,然而所属DGA域名家族的信息对于域名是否是DGA域名的判断也是有很大的助益的。现有针对如何检测所属DGA域名家族的方式为:
方式3、依据行业专家的特征工程计算域名的家族特征,在计算出域名的家族特征后,将计算出域名的家族特征与已知的DGA算法生成的域名特征规则进行匹配,从而识别其DGA家族类型。
方式3存在的问题:现有技术对于域名所属DGA域名家族的分类需要很强的特征工程,和/或针对性的特征,和/或特定的规则,导致成本比较高,且不易实现。
为了解决上述现有技术中存在的问题,本申请实施例提出了一种模型训练方法的方法,用于提高判断是否为DGA域名的精准性。如图3所示,该方法包括:
S301、服务器获取训练样本数据的特征。
结合图4所示,训练样本数据的特征包括:第一特征、第二特征、第三特征。
第一特征用于表征将训练样本数据输入DGA家族分类模型后确定的全连接层参数。
其中,DGA家族分类模型为根据训练样本数据训练后,生成的用于确定DGA域名的DGA家族分类的神经网络模型。关于DGA家族分类模型的训练方法详见下述S505-S509,此处不再赘述。
第二特征用于表征训练样本数据中各个域名的ngram特征。其中,ngram特征是从域名中依据每n个连续字符组成一个特征的规则所提取到的。例如,域名为abcdf:当依据每3个连续字符为一个特征的规则进行特征提取时,所提取到的3gram特征为:abc、bcd、cdf;当依据每4个连续字符为一个特征的规则进行特征提取时,所提取到的4gram特征为:abcd、bcdf。
第三特征至少包括训练样本数据中各个域名的字符长度信息。可选的,第三特征还可以包括训练样本数据中各个域名的字符熵信息,即第三特征用于表征训练样本数据中各个域名的一些基本特征(例如,字符长度信息、字符熵信息等),这些常规特征可以通过其所对应的公式计算得到。
需要说明的是,在获取到上述特征之后,需要将这些特征进行拼接,再输入第一神经网络模型。特征拼接可以采用矢量结合的方式。例如,第一特征有250个,第二特征有12个,第三特征有8个,将这270个特征以矢量结合的方式结合到一起后,再输入第一神经网络模型。
S302、服务器将训练样本数据的特征输入第一神经网络模型进行训练,确定二分类模型。
一种可能的实现方式中,二分类模型用于确定目标域名是否为DGA域名。
本申请提供模型训练方法的方法,在对第一神经网络模型的训练和测试时,输入的并不仅仅是一些域名的基本特征,还增加了从DGA家族分类模型中获取全连接参数进行输入,全连接层参数的加入可以帮助更好的检测是否为DGA域名,将全连接层参数与其他特征(即ngram特征和基本特征)进行特征层的融合,提高了特征的利用率,进而提升了检测是否为DGA域名的输出结果的精准性。
一种可能的实现方式中,结合图3,如图5所示,上述S301具体可以通过以下S501至S504确定。
S501、服务器获取原始数据。
其中,原始数据包括黑白名单样本数据。黑名单样本数据包括多个DGA域名,白名单样本数据包括多个非DGA域名。
需要说明的是,非DGA域名可以是可读性强、可理解性强且随机性不强的域名,可以从AlexTop1M网站(即一个存储大量域名的网站,通常可以作为正常域名的集合)中采样获取。DGA域名可以是可读性不强、可理解性不强且随机性强的域名,可以通过各种DGA算法生成。上述DGA算法可以为以下任一项:banjori算法、cryptolocker算法、ramnit算法、matsnu算法、suppobox算法、simda算法、vawtrak算法、symmi算法、corebot算法、ccleaner算法。
S502、服务器对原始数据进行预处理。
其中,服务器对数据进行预处理至少包括清洗和序列化编码中的一项。
服务器清洗原始数据的方法包括:
服务器确定原始数据中的错误数据。例如,乱码数据,重复数据等。服务器删除或修改上述错误数据,得到清洗后的数据。
服务器序列化编码原始数据的方法包括:
服务器将主域名从域名中抽取出来。服务器对主域名中的字符进行字符级的序列化编码,并在主域名适应的添加字符。
上述对数据进行预处理的操作可以便于后续对样本数据的处理。
需要说明的是,上述仅为服务器对数据进行预处理的方式的两种示例,对数据进行清洗的方式还可以包括去重、归一化等,本申请不作限制。
S503、服务器根据预处理后的原始样本数据确定训练样本数据、测试样本数据。
其中,服务器根据预处理后的原始样本数据确定训练样本数据、测试样本数据的方法可以是将上述预处理后的原始样本数据拆分为训练样本数据和测试样本数据。
一种可能的实现方式中,将上述预处理后的原始样本数据以随机拆分的方式拆分成训练样本数据和测试样本数据。需要说明的是,上述拆分方式仅为一种示例性的描述,还可以使用其他的拆分方式(例如,设置权重规则进行拆分),本申请实施例不作限制。
训练样本数据中包括白名单样本数据和黑名单样本数据,训练样本用于训练第一神经网络模型和第二神经网络模型,直至上述模型满足其训练过程中的预设条件,确定训练成功,停止输入训练样本数据。
训练成功之后执行测试模型的步骤。
测试样本数据中包括白名单样本数据和黑名单样本数据,测试样本用于测试第一神经网络模型和第二神经网络模型,直至上述模型满足其测试过程中的预设条件,停止输入测试样本数据,从而确定上述模型。
S504、服务器根据训练样本数据和测试样本数据确定训练样本数据的特征和测试样本数据的特征。
训练样本数据的特征包括第一特征、第二特征、第三特征。
测试样本数据的特征包括第四特征、第五特征、第六特征。
关于第一特征、第二特征、第三特征、第四特征、第五特征、第六特征的解释可参考相应位置进行理解,此处不再赘述。
一种可能的实现方式中,结合图3,如图5所示,上述S302具体可以通过以下S505至S514确定。
S505、服务器将训练样本数据输入第二神经网络模型进行训练,确定满足第三预设条件的初始DGA家族分类模型。
一种可能的实现方式中,服务器根据第二神经网络模型的损失函数,判断第二神经网络模型是否满足第三预设条件,确定满足第三预设条件的初始DGA家族分类模型。
示例性的,服务器在第二神经网络模型的损失函数的值大于或等于预设值的情况下,确定第二神经网络模型满足第三预设条件。服务器在第二神经网络模型的损失函数的值小于预设值的情况下,确定第二神经网络模型不满足第三预设条件。
S506、服务器将测试样本数据输入初始DGA家族分类模型进行测试,确定测试结果。
S507、服务器判断测试结果是否满足第四预设条件。
若是,则服务器执行S508。
若否,则服务器执行S509。
S508、服务器确定初始DGA家族分类模型为DGA家族分类模型。
S509、服务器根据测试结果调整初始DGA家族分类模型,并将调整后的初始DGA家族分类模型作为初始DGA家族分类模型,依次对初始DGA家族分类模型执行上述S505-S509,直至确定DGA家族分类模型。
一种可能的实现方式中,服务器根据初始DGA家族分类模型的准确率,确定初始DGA家族分类模型是否满足第四预设条件。需要说明的是,上述依据准确率确定初始DGA家族分类模型仅为一种示例性的说明,确定初始DGA家族分类模型的依据还可以包括召回率等,本申请不作限制。
示例性的,服务器在初始DGA家族分类模型的准确率的值大于或等于预设值的情况下,确定初始DGA家族分类模型满足第四预设条件。服务器在初始DGA家族分类模型的准确率的值小于预设值的情况下,确定初始DGA家族分类模型不满足第四预设条件。
在初始DGA家族分类模型不满足第四预设条件的情况下,服务器可以根据初始DGA家族分类模型的准确率动态调整初始DGA家族分类模型,调整后再执行上述S505-S509,直至确定DGA家族分类模型。需要说明的是,上述调整模型的超参数可以包括调整模型的超参数、调整模型结构等,本申请不作限制。
其中,服务器通过训练和测试第二神经网络模型,得到DGA家族分类模型,进而可以通过DGA家族分类模型在输入域名后直接得到DGA家族分类的标签,该DGA家族分类模型使得输出DGA域名所属家族分类的标签的过程更加方便。
S510、服务器将训练样本数据的特征输入第一神经网络模型进行训练,确定满足第一预设条件的初始二分类模型。
一种可能的实现方式中,服务器根据第一神经网络模型的损失函数,确定第一神经网络模型是否满足第一预设条件。
示例性的,服务器在第一神经网络模型的损失函数的值大于或等于预设值的情况下,确定第一神经网络模型满足第一预设条件。服务器在第一神经网络模型的损失函数的值小于预设值的情况下,确定第一神经网络模型不满足第一预设条件。
S511、服务器将测试样本数据的特征输入初始二分类模型进行测试,确定测试结果。
测试样本数据的特征包括:第四特征、第五特征、第六特征。
第四特征用于表征将测试样本数据输入域名生成算法DGA家族分类模型后确定的全连接层参数。
第五特征用于表征测试样本数据中各个域名的ngram特征。
第六特征至少包括测试样本数据中各个域名的字符长度信息。
此处第四特征、第五特征、第六特征可以参考上述第一特征、第二特征、第三特征进行理解,此处不再赘述。
S512、服务器判断测试结果是否满足第二预设条件。
若是,则服务器执行S513。
若否,则服务器执行S514。
S513、服务器确定初始二分类模型为二分类模型。
S514、服务器根据测试结果调整初始二分类模型,并将调整后的初始二分类模型作为初始二分类模型,依次对初始二分类模型执行S508-S514,直至确定二分类模型。
一种可能的实现方式中,服务器根据初始二分类模型的准确率,确定初始二分类模型是否满足第二预设条件。需要说明的是,上述依据准确率确定初始二分类模型仅为一种示例性的说明,确定初始二分类模型的依据还可以包括召回率等,本申请不作限制。
示例性的,服务器在初始二分类模型的准确率的值大于或等于预设值的情况下,确定初始二分类模型满足第二预设条件。服务器在初始二分类模型的准确率的值小于预设值的情况下,确定初始二分类模型不满足第二预设条件。在不满足的情况下,服务器可以根据初始二分类模型的准确率动态调整初始二分类模型,调整后再执行上述S508-S514,直至确定二分类模型。需要说明的是,上述调整模型的超参数可以包括调整模型的超参数、调整模型结构等,本申请不作限制。
本申请提供了一种模型训练方法,预处理原始数据可以便于后续对数据的使用;在DGA家族分类模型和二分类模型的确定过程中,均需要进行训练模型和测试模型,直至训练和测试的结果均满足预设条件后,才能确定DGA家族分类模型和二分类模型,可以使得最终确定的DGA家族分类模型和二分类模型的稳定性更高,性能更好。
以上,提供了一种模型训练方法,用于训练得到DGA家族分类模型,以及根据DGA家族分类模型的全连接层参数训练得到二分类模型。
以下,详细介绍根据上述训练得到的DGA家族分类模型和二分类模型确定域名是否为DGA域名的方法。
如图6所示,本申请实施例提出了一种域名检测方法,用于提高判断是否为DGA域名的精准性。该方法包括:
S601、服务器获取待检测域名的特征。
其中,待检测域名的特征包括:第七特征、第八特征、第九特征。
第七特征用于表征将待检测域名输入DGA家族分类模型后确定的全连接层参数。
第八特征用于表征待检测域名中的ngram特征。
第九特征至少包括待检测域名的字符长度信息。
S602、服务器将待检测域名的特征输入二分类模型,确定二分类模型的输出结果。
其中,二分类模型的输出结果包括:DGA域名和非DGA域名。
S603、服务器根据二分类模型的输出结果,确定待检测域名是否为DGA域名。
本申请提供的域名检测方法,在服务器通过二分类模型对待检测域名是否为DGA域名进行判断时,输入的并不仅仅是一些域名的基本特征,还增加了从DGA家族分类模型中获取全连接参数进行输入,全连接层参数的加入可以帮助更好的检测是否为DGA域名,将全连接层参数与其他特征(即ngram特征和基本特征)进行特征层的融合,提高了特征的利用率,进而提升了检测是否为DGA域名的输出结果的精准性。
一种可能的实现方式中,结合图6,如图7所示,上述S601具体可以通过以下S701至S704确定。
S701、服务器将待检测域名输入DGA家族分类模型,确定DGA家族分类模型的输出结果。
其中,DGA家族分类模型的输出结果用于表征待检测域名所属DGA家族的信息。DGA家族分类模型为根据第二训练样本数据训练后,生成的用于确定DGA域名的DGA家族分类的神经网络模型。
一种可能的实现方式中,若二分类模型的输出结果用于表征待检测域名为非DGA域名,DGA家族分类模型的输出结果为待检测域名存在对应的DGA家族分类,服务器调整DGA家族分类模型的输出结果为待检测域名不存在对应的DGA家族分类。在该情况下,服务器可以依据二分类模型的输出结果调整DGA家族分类模型的输出结果,以便进一步的优化DGA家族分类模型的输出结果的准确性。
S702、服务器确定DGA家族分类模型根据待检测域名生成的全连接层参数为待检测域名的第七特征。
S703、服务器获取待检测域名的第八特征以及待检测域名的第九特征。
其中,获取待检测域名的第八特征以及待检测域名的第九特征的方法可参考上述相应的位置进行理解,此处不再赘述。
S704、服务器拼接待检测域名的第七特征、第八特征、第九特征,得到待检测域名的特征。
其中,关于拼接特征的方法可以参考上述相应位置的陈述进行理解,此处不再赘述。
本申请提供的域名检测方法,服务器可以依据二分类模型的输出结果调整DGA家族分类模型的输出结果,以便进一步的优化DGA家族分类模型的输出结果的准确性。
可以理解的是,上述模型训练方法可以由模型训练装置实现,上述域名检测方法可以域名检测装置实现。模型训练装置和域名检测装置为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的模块及算法步骤,本公开实施例能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本公开实施例的范围。
本公开实施例可以根据上述方法示例对上述歌词生成模型训练装置和域名检测装置等进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本公开实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
如图8所示,为本申请实施例提供的一种模型训练装置的结构示意图,该装置包括:
处理单元,用于对模型训练装置的动作进行控制管理,例如,处理单元801用于执行图3中的301、302,图5中的501-514,和/或本申请实施例中所描述的其他过程中的数据加密装置执行的动作。处理单元801可以通过通信单元802与其他网络实体通信。
在通过硬件实现时,本申请实施例中的通信单元802可以集成在通信接口上,处理单元801可以集成在处理器上。具体实现方式如图9所示。
图9示出了上述实施例中所涉及的模型训练装置的又一种可能的结构示意图。该模型训练装置包括:处理器902和通信接口903。处理器902用于对模型训练装置的动作进行控制管理,例如,执行上述处理单元801执行的步骤,和/或用于执行本文所描述的技术的其它过程。通信接口903用于支持模型训练装置与其他网络实体的通信,例如,执行上述通信单元802执行的步骤。模型训练装置还可以包括存储器901和总线904,存储器901用于存储模型训练装置的程序代码和数据。
其中,存储器901可以是模型训练装置中的存储器等,该存储器可以包括易失性存储器,例如随机存取存储器;该存储器也可以包括非易失性存储器,例如只读存储器,快闪存储器,硬盘或固态硬盘;该存储器还可以包括上述种类的存储器的组合。
上述处理器902可以是实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。该处理器可以是中央处理器,通用处理器,数字信号处理器,专用集成电路,现场可编程门阵列或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。该处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等。
总线904可以是扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。总线904可以分为地址总线、数据总线、控制总线等。为便于表示,图9中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
图10是本申请实施例提供的芯片100的结构示意图。芯片100包括一个或两个以上(包括两个)处理器110和通信接口130。
可选的,该芯片100还包括存储器140,存储器140可以包括只读存储器和随机存取存储器,并向处理器110提供操作指令和数据。存储器140的一部分还可以包括非易失性随机存取存储器(non-volatile random access memory,NVRAM)。
在一些实施方式中,存储器140存储了如下的元素,执行模块或者数据结构,或者他们的子集,或者他们的扩展集。
在本申请实施例中,通过调用存储器140存储的操作指令(该操作指令可存储在操作系统中),执行相应的操作。
其中,上述处理器110可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,单元和电路。该处理器可以是中央处理器,通用处理器,数字信号处理器,专用集成电路,现场可编程门阵列或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,单元和电路。所述处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等。
存储器140可以包括易失性存储器,例如随机存取存储器;该存储器也可以包括非易失性存储器,例如只读存储器,快闪存储器,硬盘或固态硬盘;该存储器还可以包括上述种类的存储器的组合。
总线120可以是扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。总线120可以分为地址总线、数据总线、控制总线等。为便于表示,图10中仅用一条线表示,但并不表示仅有一根总线或一种类型的总线。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本申请实施例提供一种包含指令的计算机程序产品,当该计算机程序产品在计算机上运行时,使得该计算机执行上述方法实施例中的模型训练方法。
本申请实施例还提供一种计算机可读存储介质,计算机可读存储介质中存储有指令,当该指令在计算机上运行时,使得该计算机执行上述方法实施例所示的方法流程中的模型训练方法。
其中,计算机可读存储介质,例如可以是但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(Random Access Memory,RAM)、只读存储器(Read-Only Memory,ROM)、可擦式可编程只读存储器(Erasable Programmable Read Only Memory,EPROM)、寄存器、硬盘、光纤、便携式紧凑磁盘只读存储器(Compact Disc Read-Only Memory,CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合、或者本领域熟知的任何其它形式的计算机可读存储介质。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于特定用途集成电路(Application Specific Integrated Circuit,ASIC)中。在本申请实施例中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
本发明的实施例提供一种包含指令的计算机程序产品,当指令在计算机上运行时,使得计算机执行如图3和图5中所述的模型训练方法。
由于本发明的实施例中的模型训练装置、计算机可读存储介质、计算机程序产品可以应用于上述方法,因此,其所能获得的技术效果也可参考上述方法实施例,本发明实施例在此不再赘述。
如图11所示,为本申请实施例提供的一种域名检测装置的结构示意图,该装置包括:
处理单元,用于对域名检测装置的动作进行控制管理,例如,处理单元1101用于执行图6中的601-603,图7中的701-704、602、603,和/或本申请实施例中所描述的其他过程中的数据加密装置执行的动作。处理单元1101可以通过通信单元1102与其他网络实体通信。
在通过硬件实现时,本申请实施例中的通信单元1102可以集成在通信接口上,处理单元1101可以集成在处理器上。具体实现方式如图12所示。
图12示出了上述实施例中所涉及的模型训练装置的又一种可能的结构示意图。该模型训练装置包括:处理器1202和通信接口1203。处理器1202用于对模型训练装置的动作进行控制管理,例如,执行上述处理单元1101执行的步骤,和/或用于执行本文所描述的技术的其它过程。通信接口1203用于支持模型训练装置与其他网络实体的通信,例如,执行上述通信单元1102执行的步骤。模型训练装置还可以包括存储器1201和总线1204,存储器1201用于存储模型训练装置的程序代码和数据。
其中,存储器1201可以是模型训练装置中的存储器等,该存储器可以包括易失性存储器,例如随机存取存储器;该存储器也可以包括非易失性存储器,例如只读存储器,快闪存储器,硬盘或固态硬盘;该存储器还可以包括上述种类的存储器的组合。
上述处理器1202可以是实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。该处理器可以是中央处理器,通用处理器,数字信号处理器,专用集成电路,现场可编程门阵列或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。该处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等。
总线1204可以是扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。总线1204可以分为地址总线、数据总线、控制总线等。为便于表示,图12中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
图13是本申请实施例提供的芯片1300的结构示意图。芯片1300包括一个或两个以上(包括两个)处理器1301和通信接口1303。
可选的,该芯片1300还包括存储器1304,存储器1304可以包括只读存储器和随机存取存储器,并向处理器1301提供操作指令和数据。存储器1304的一部分还可以包括非易失性随机存取存储器(non-volatile random access memory,NVRAM)。
在一些实施方式中,存储器1304存储了如下的元素,执行模块或者数据结构,或者他们的子集,或者他们的扩展集。
在本申请实施例中,通过调用存储器1304存储的操作指令(该操作指令可存储在操作系统中),执行相应的操作。
其中,上述处理器1301可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,单元和电路。该处理器可以是中央处理器,通用处理器,数字信号处理器,专用集成电路,现场可编程门阵列或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,单元和电路。所述处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等。
存储器1304可以包括易失性存储器,例如随机存取存储器;该存储器也可以包括非易失性存储器,例如只读存储器,快闪存储器,硬盘或固态硬盘;该存储器还可以包括上述种类的存储器的组合。
总线1302可以是扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。总线1302可以分为地址总线、数据总线、控制总线等。为便于表示,图13中仅用一条线表示,但并不表示仅有一根总线或一种类型的总线。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本申请实施例提供一种包含指令的计算机程序产品,当该计算机程序产品在计算机上运行时,使得该计算机执行上述方法实施例中的模型训练方法。
本申请实施例还提供一种计算机可读存储介质,计算机可读存储介质中存储有指令,当该指令在计算机上运行时,使得该计算机执行上述方法实施例所示的方法流程中的模型训练方法。
其中,计算机可读存储介质,例如可以是但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(Random Access Memory,RAM)、只读存储器(Read-Only Memory,ROM)、可擦式可编程只读存储器(Erasable Programmable Read Only Memory,EPROM)、寄存器、硬盘、光纤、便携式紧凑磁盘只读存储器(Compact Disc Read-Only Memory,CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合、或者本领域熟知的任何其它形式的计算机可读存储介质。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于特定用途集成电路(Application Specific Integrated Circuit,ASIC)中。在本申请实施例中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
本发明的实施例提供一种包含指令的计算机程序产品,当指令在计算机上运行时,使得计算机执行如图6和图7中所述的模型训练方法。
由于本发明的实施例中的域名检测装置、计算机可读存储介质、计算机程序产品可以应用于上述方法,因此,其所能获得的技术效果也可参考上述方法实施例,本发明实施例在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
以上,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何在本申请揭露的技术范围内的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应该以权利要求的保护范围为准。

Claims (16)

1.一种模型训练方法,其特征在于,包括:
获取训练样本数据的特征;所述训练样本数据的特征包括:第一特征、第二特征、第三特征;所述第一特征用于表征将训练样本数据输入域名生成算法DGA家族分类模型后确定的全连接层参数,所述第二特征用于表征所述训练样本数据中各个域名的ngram特征;所述第三特征至少包括所述训练样本数据中各个域名的字符长度信息;所述DGA家族分类模型为根据所述训练样本数据对第二神经网络模型进行训练后,生成的用于确定DGA域名的DGA家族分类的神经网络模型;
将所述训练样本数据的特征输入第一神经网络模型进行训练,确定二分类模型;所述二分类模型用于确定目标域名是否为DGA域名。
2.根据权利要求1所述的方法,其特征在于,所述将所述训练样本数据的特征输入第一神经网络模型进行训练,确定二分类模型,具体包括:
步骤1、将所述训练样本数据的特征输入所述第一神经网络模型进行训练,确定满足第一预设条件的初始二分类模型;
步骤2、将测试样本数据的特征输入所述初始二分类模型进行测试,确定测试结果,所述测试样本数据的特征包括:第四特征、第五特征、第六特征;所述第四特征用于表征将测试样本数据输入DGA家族分类模型后确定的全连接层参数,所述第五特征用于表征所述测试样本数据中各个域名的ngram特征;所述第六特征至少包括所述测试样本数据中各个域名的字符长度信息;
步骤3、若所述测试结果满足第二预设条件,确定所述初始二分类模型为所述二分类模型;
步骤4、若所述测试结果不满足所述第二预设条件,根据所述测试结果调整所述初始二分类模型,并将调整后的初始二分类模型作为所述初始二分类模型,依次对所述初始二分类模型执行所述步骤1、所述步骤2、所述步骤3和所述步骤4,直至确定所述二分类模型。
3.根据权利要求1或2所述的方法,其特征在于,在所述将所述训练样本数据的特征输入第一神经网络模型进行训练之前,所述方法还包括:
步骤5、将所述训练样本数据输入第二神经网络模型进行训练,确定满足第三预设条件的初始DGA家族分类模型;
步骤6、将测试样本数据输入所述初始DGA家族分类模型进行测试,确定测试结果;
步骤7、若所述测试结果满足第四预设条件,确定所述初始DGA家族分类模型为所述DGA家族分类模型;
步骤8、若所述测试结果不满足第四预设条件,根据所述测试结果调整所述初始DGA家族分类模型,并将调整后的初始DGA家族分类模型作为所述初始DGA家族分类模型,依次对所述初始DGA家族分类模型执行所述步骤5、所述步骤6、所述步骤7和所述步骤8,直至确定所述DGA家族分类模型。
4.一种域名检测方法,其特征在于,应用于包括上述权利要求1-3任一项所述的二分类模型中,包括:
获取待检测域名的特征,所述待检测域名的特征包括:第七特征、第八特征、第九特征;所述第七特征用于表征将所述待检测域名输入域名生成算法DGA家族分类模型后确定的全连接层参数,所述第八特征用于表征所述待检测域名中的ngram特征;所述第九特征至少包括所述待检测域名的字符长度信息;
将所述待检测域名的特征输入所述二分类模型,确定所述二分类模型的输出结果;
根据所述二分类模型的输出结果,确定待检测域名是否为DGA域名。
5.根据权利要求4所述的方法,其特征在于,所述获取待检测域名的特征,包括:
将所述待检测域名输入DGA家族分类模型,确定所述DGA家族分类模型的输出结果;所述DGA家族分类模型的输出结果用于表征待检测域名所属DGA家族的信息;所述DGA家族分类模型为根据所述训练样本数据训练后,生成的用于确定DGA域名的DGA家族分类的神经网络模型;
确定所述DGA家族分类模型根据所述待检测域名生成的全连接层参数为所述待检测域名的第七特征。
6.根据权利要求4或5所述的方法,其特征在于,在所述确定所述二分类模型的输出结果以及所述确定所述DGA家族分类模型的输出结果之后,所述方法还包括:
确定所述二分类模型的输出结果,以及所述DGA家族分类模型的输出结果;
在所述二分类模型的输出结果用于表征所述待检测域名为非DGA域名,所述DGA家族分类模型的输出结果用于表征所述待检测域名存在对应的DGA家族分类的情况下,调整所述DGA家族分类模型的输出结果为所述待检测域名不存在对应的DGA家族分类。
7.一种模型训练装置,其特征在于,包括:通信单元和处理单元;
所述通信单元,用于获取训练样本数据的特征;所述训练样本数据的特征包括:第一特征、第二特征、第三特征;所述第一特征用于表征将训练样本数据输入域名生成算法DGA家族分类模型后确定的全连接层参数,所述第二特征用于表征所述训练样本数据中各个域名的ngram特征;所述第三特征至少包括所述训练样本数据中各个域名的字符长度信息;所述DGA家族分类模型为根据所述训练样本数据对第二神经网络模型进行训练后,生成的用于确定DGA域名的DGA家族分类的神经网络模型;
所述处理单元,用于将所述训练样本数据的特征输入第一神经网络模型进行训练,确定二分类模型;所述二分类模型用于确定目标域名是否为DGA域名。
8.根据权利要求7所述的装置,其特征在于,所述处理单元,具体用于执行以下步骤:
步骤1、将所述训练样本数据的特征输入第一神经网络模型进行训练,确定满足第一预设条件的初始二分类模型;
步骤2、将测试样本数据的特征输入所述初始二分类模型进行测试,确定测试结果,所述测试样本数据的特征包括:第四特征、第五特征、第六特征;所述第四特征用于表征将测试样本数据输入域名生成算法DGA家族分类模型后确定的全连接层参数,所述第五特征用于表征所述测试样本数据中各个域名的ngram特征;所述第六特征至少包括所述测试样本数据中各个域名的字符长度信息;
步骤3、若所述测试结果满足第二预设条件,确定所述初始二分类模型为所述二分类模型;
步骤4、若所述测试结果不满足第二预设条件,根据所述测试结果调整所述初始二分类模型,并将调整后的初始二分类模型作为所述初始二分类模型,依次对所述初始二分类模型执行所述步骤1、所述步骤2、步骤3和步骤4,直至确定所述二分类模型。
9.根据权利要求7或8所述的装置,其特征在于,所述处理单元,还用于执行以下步骤:
步骤5、将所述训练样本数据输入第二神经网络模型进行训练,确定满足第三预设条件的初始DGA家族分类模型;
步骤6、将测试样本数据输入所述初始DGA家族分类模型进行测试,确定测试结果;
步骤7、若所述测试结果满足第四预设条件,确定所述初始DGA家族分类模型为所述DGA家族分类模型;
步骤8、若所述测试结果不满足第四预设条件,根据所述测试结果调整所述初始DGA家族分类模型,并将调整后的初始DGA家族分类模型作为所述初始DGA家族分类模型,依次对所述初始DGA家族分类模型执行所述步骤5、所述步骤6、所述步骤7和所述步骤8,直至确定所述DGA家族分类模型。
10.一种域名检测装置,其特征在于,应用于包括上述权利要求7-9任一项所述的二分类模型中,包括:通信单元和处理单元;
所述通信单元,用于获取待检测域名的特征,所述待检测域名的特征包括:第七特征、第八特征、第九特征;所述第七特征用于表征将所述待检测域名输入DGA家族分类模型后确定的全连接层参数,所述第八特征用于表征所述待检测域名中的ngram特征;所述第九特征包括所述待检测域名的字符长度信息;
所述处理单元,用于将所述待检测域名的特征输入所述二分类模型,确定所述二分类模型的输出结果;
所述处理单元,还用于根据所述二分类模型的输出结果,确定待检测域名是否为DGA域名。
11.根据权利要求10所述的装置,其特征在于,所述处理单元,具体用于:
将所述待检测域名输入DGA家族分类模型,确定所述DGA家族分类模型的输出结果;所述DGA家族分类模型的输出结果用于表征待检测域名所属DGA家族的信息;所述DGA家族分类模型为根据所述训练样本数据训练后,生成的用于确定DGA域名的DGA家族分类的神经网络模型;
确定所述DGA家族分类模型根据所述待检测域名生成的全连接层参数为所述待检测域名的第七特征。
12.根据权利要求10或11所述的装置,其特征在于,所述处理单元,还用于:
确定所述二分类模型的输出结果,以及所述DGA家族分类模型的输出结果;
在所述二分类模型的输出结果用于表征所述待检测域名为非DGA域名,所述DGA家族分类模型的输出结果用于表征所述待检测域名存在对应的DGA家族分类的情况下,调整所述DGA家族分类模型的输出结果为所述待检测域名不存在对应的DGA家族分类。
13.一种模型训练装置,其特征在于,包括:处理器和通信接口;所述通信接口和所述处理器耦合,所述处理器用于运行计算机程序或指令,以实现如权利要求1-3任一项中所述的模型训练方法。
14.一种域名检测装置,其特征在于,包括:处理器和通信接口;所述通信接口和所述处理器耦合,所述处理器用于运行计算机程序或指令,以实现如权利要求4-6任一项中所述的域名检测方法。
15.一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,其特征在于,当所述计算机可读存储介质中的指令由模型训练装置的处理器执行时,使得所述模型训练装置能够执行如权利要求1-3中任一项所述的模型训练方法;
或者,当所述计算机可读存储介质中的指令由域名检测装置的处理器执行时,使得所述域名检测装置能够执行如权利要求4-6中任一项所述的域名检测方法。
16.一种计算机程序产品,其特征在于,计算机程序产品包括计算机指令,当所述计算机指令在模型训练装置上运行时,使得所述模型训练装置执行如权利要求1-3中任一项所述的模型训练方法;
或者,当所述计算机指令在域名检测装置上运行时,使所述域名检测装置执行如权利要求4-6中任一项所述的域名检测方法。
CN202110203045.9A 2021-02-23 2021-02-23 模型训练方法、域名检测方法及装置 Active CN112926647B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110203045.9A CN112926647B (zh) 2021-02-23 2021-02-23 模型训练方法、域名检测方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110203045.9A CN112926647B (zh) 2021-02-23 2021-02-23 模型训练方法、域名检测方法及装置

Publications (2)

Publication Number Publication Date
CN112926647A true CN112926647A (zh) 2021-06-08
CN112926647B CN112926647B (zh) 2023-10-17

Family

ID=76170455

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110203045.9A Active CN112926647B (zh) 2021-02-23 2021-02-23 模型训练方法、域名检测方法及装置

Country Status (1)

Country Link
CN (1) CN112926647B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114844682A (zh) * 2022-04-11 2022-08-02 广东工业大学 一种dga域名检测方法及系统
CN115841113A (zh) * 2023-02-24 2023-03-24 山东云天安全技术有限公司 一种域名标号检测方法、存储介质及电子设备

Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101701940A (zh) * 2009-10-26 2010-05-05 南京航空航天大学 基于svm和dga的变压器在线故障诊断方法
CN102930299A (zh) * 2012-11-20 2013-02-13 山东电力集团公司莱芜供电公司 基于优化方法的多特征选择多层次变压器故障诊断方法
US20180204111A1 (en) * 2013-02-28 2018-07-19 Z Advanced Computing, Inc. System and Method for Extremely Efficient Image and Pattern Recognition and Artificial Intelligence Platform
CN108600200A (zh) * 2018-04-08 2018-09-28 腾讯科技(深圳)有限公司 域名检测方法、装置、计算机设备及存储介质
CN109391602A (zh) * 2017-08-11 2019-02-26 北京金睛云华科技有限公司 一种僵尸主机检测方法
CN109688110A (zh) * 2018-11-22 2019-04-26 顺丰科技有限公司 Dga域名检测模型构建方法、装置、服务器及存储介质
CN110191103A (zh) * 2019-05-10 2019-08-30 长安通信科技有限责任公司 一种dga域名检测分类方法
CN110321430A (zh) * 2019-04-16 2019-10-11 中国银行股份有限公司 域名识别和域名识别模型生成方法、装置及存储介质
US20200059451A1 (en) * 2018-08-14 2020-02-20 Didi Research America, Llc System and method for detecting generated domain
EP3674994A1 (en) * 2018-12-27 2020-07-01 Bull SAS Method of blocking or passing messages sent via a firewall based on parsing of symbols strings contained in messages among different keywords
CN111738270A (zh) * 2020-08-26 2020-10-02 北京易真学思教育科技有限公司 模型生成方法、装置、设备和可读存储介质
CN112019651A (zh) * 2020-08-26 2020-12-01 重庆理工大学 利用深度残差网络和字符级滑动窗口的dga域名检测方法
CN112073550A (zh) * 2020-08-26 2020-12-11 重庆理工大学 融合字符级滑动窗口和深度残差网络的dga域名检测方法
CN112073551A (zh) * 2020-08-26 2020-12-11 重庆理工大学 基于字符级滑动窗口和深度残差网络的dga域名检测系统

Patent Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101701940A (zh) * 2009-10-26 2010-05-05 南京航空航天大学 基于svm和dga的变压器在线故障诊断方法
CN102930299A (zh) * 2012-11-20 2013-02-13 山东电力集团公司莱芜供电公司 基于优化方法的多特征选择多层次变压器故障诊断方法
US20180204111A1 (en) * 2013-02-28 2018-07-19 Z Advanced Computing, Inc. System and Method for Extremely Efficient Image and Pattern Recognition and Artificial Intelligence Platform
CN109391602A (zh) * 2017-08-11 2019-02-26 北京金睛云华科技有限公司 一种僵尸主机检测方法
CN108600200A (zh) * 2018-04-08 2018-09-28 腾讯科技(深圳)有限公司 域名检测方法、装置、计算机设备及存储介质
US20200059451A1 (en) * 2018-08-14 2020-02-20 Didi Research America, Llc System and method for detecting generated domain
CN109688110A (zh) * 2018-11-22 2019-04-26 顺丰科技有限公司 Dga域名检测模型构建方法、装置、服务器及存储介质
EP3674994A1 (en) * 2018-12-27 2020-07-01 Bull SAS Method of blocking or passing messages sent via a firewall based on parsing of symbols strings contained in messages among different keywords
CN110321430A (zh) * 2019-04-16 2019-10-11 中国银行股份有限公司 域名识别和域名识别模型生成方法、装置及存储介质
CN110191103A (zh) * 2019-05-10 2019-08-30 长安通信科技有限责任公司 一种dga域名检测分类方法
CN111738270A (zh) * 2020-08-26 2020-10-02 北京易真学思教育科技有限公司 模型生成方法、装置、设备和可读存储介质
CN112019651A (zh) * 2020-08-26 2020-12-01 重庆理工大学 利用深度残差网络和字符级滑动窗口的dga域名检测方法
CN112073550A (zh) * 2020-08-26 2020-12-11 重庆理工大学 融合字符级滑动窗口和深度残差网络的dga域名检测方法
CN112073551A (zh) * 2020-08-26 2020-12-11 重庆理工大学 基于字符级滑动窗口和深度残差网络的dga域名检测系统

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114844682A (zh) * 2022-04-11 2022-08-02 广东工业大学 一种dga域名检测方法及系统
CN114844682B (zh) * 2022-04-11 2023-05-26 广东工业大学 一种dga域名检测方法及系统
CN115841113A (zh) * 2023-02-24 2023-03-24 山东云天安全技术有限公司 一种域名标号检测方法、存储介质及电子设备

Also Published As

Publication number Publication date
CN112926647B (zh) 2023-10-17

Similar Documents

Publication Publication Date Title
CN107004159B (zh) 主动机器学习
CN113065525B (zh) 年龄识别模型训练方法、人脸年龄识别方法及相关装置
CN112926647B (zh) 模型训练方法、域名检测方法及装置
CN114047929B (zh) 基于知识增强的用户定义函数识别方法、装置及介质
CN111563161B (zh) 一种语句识别方法、语句识别装置及智能设备
CN114726823B (zh) 一种基于生成对抗网络的域名生成方法、装置和设备
CN117332090B (zh) 一种敏感信息识别方法、装置、设备和存储介质
CN112100374A (zh) 文本聚类方法、装置、电子设备及存储介质
CN111160188A (zh) 金融票据识别方法、装置、设备及存储介质
CN113688240A (zh) 威胁要素提取方法、装置、设备及存储介质
CN113204956B (zh) 多模型训练方法、摘要分段方法、文本分段方法及装置
CN114826681A (zh) 一种dga域名检测方法、系统、介质、设备及终端
CN113127864A (zh) 特征码提取方法、装置、计算机设备和可读存储介质
CN118193668A (zh) 一种文本实体关系抽取的方法和装置
US11347928B2 (en) Detecting and processing sections spanning processed document partitions
CN113111350A (zh) 一种恶意pdf文件的检测方法、装置及电子设备
CN110929499B (zh) 文本相似度获取方法、装置、介质及电子设备
US20230186613A1 (en) Sample Classification Method and Apparatus, Electronic Device and Storage Medium
JP7565561B2 (ja) 検知装置、学習装置、検知方法及び検知プログラム
US20100049713A1 (en) Pattern matching device and method
CN114741697A (zh) 恶意代码分类方法、装置、电子设备和介质
WO2022141855A1 (zh) 文本正则方法、装置、电子设备及存储介质
CN115718696B (zh) 源码密码学误用检测方法、装置、电子设备和存储介质
CN113378543B (zh) 数据分析方法、训练数据分析模型的方法及电子设备
CN111860662B (zh) 一种相似性检测模型的训练方法及装置、应用方法及装置

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