CN114297924A - 模型生成方法、装置、设备及计算机可读存储介质 - Google Patents
模型生成方法、装置、设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN114297924A CN114297924A CN202111614410.1A CN202111614410A CN114297924A CN 114297924 A CN114297924 A CN 114297924A CN 202111614410 A CN202111614410 A CN 202111614410A CN 114297924 A CN114297924 A CN 114297924A
- Authority
- CN
- China
- Prior art keywords
- domain name
- model
- name detection
- detection model
- combination mode
- 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
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供了一种模型生成方法,包括:将至少一种向量生成方法、与至少两种域名检测算法进行组合,得到至少两种组合方式;对于每种组合方式,采用该组合方式下的向量生成方法,对域名样本库中的各个样本域名进行域名向量化,且基于生成的域名向量,采用该组合方式下的域名检测算法进行模型训练,得到该组合方式对应的待选域名检测模型;根据每种组合方式对应的待选域名检测模型的模型选择指标,选择一个待选域名检测模型,作为目标域名检测模型,以便利用目标域名检测模型进行域名检测。本申请能够在节省人力的情况下生成目标域名检测模型,且保证了域名检测时的准确性。本申请还提供了一种模型生成装置、设备及计算机可读存储介质。
Description
技术领域
本申请涉及网络安全技术领域,特别涉及一种模型生成方法、装置、设备及计算机可读存储介质。
背景技术
当今的僵尸网络普遍采用域名生成算法(Domain Generation Algorithm,简称DGA)来逃避黑名单检测,但由于DGA域名为防止与合法域名冲突加入了随机性,这造成DGA域名与合法域名存在差异,因此,需要从域名自身角度进行分类检测。
在一种基于机器学习的DGA域名快速判别方法中,该方法包括:构建包含有多个DGA域名和正常域名的训练集;提取训练集中的各个域名的域名特征;对域名特征进行归一化获得特征数据集合;基于特征数据集合建立域名分类器模型。该方法需要提取域名的长度、n-gram、转移概率、TLD后缀等域名信息,用于训练机器学习模型,这种模式强依赖于安全人员的特征工程构建,安全人员需实时的更新和创建新的特征库。
但是,人工提取域名特征的方式不但需要做大量的投入,而且,如果特征库搭建的不够优异,反而会影响最终的域名判断结果,比如,对于新出现的DGA类型通常需要提取新的特征,如果不及时更新特征库的特征内容,很难发现新的DGA域名;另外,一旦攻击者掌握了该方法中的过滤规则,那么攻击者就可以轻松地通过更新其DGA来逃避检测。可见,这种方式不但花费了大量的人力,还存在域名判别不准确的问题。
发明内容
有鉴于此,本申请提供了一种模型生成方法、装置、设备及计算机可读存储介质,能够在节省人力的情况下生成域名检测模型,且保证了域名检测的准确性。
具体地,本申请是通过如下技术方案实现的:
一种模型生成方法,包括:
将至少一种向量生成方法、与至少两种域名检测算法进行组合,得到至少两种组合方式;
对于每种组合方式,采用该组合方式下的向量生成方法,对域名样本库中的各个样本域名进行域名向量化,且基于生成的域名向量,采用该组合方式下的域名检测算法进行模型训练,得到该组合方式对应的待选域名检测模型;
确定每种组合方式对应的待选域名检测模型的模型选择指标;
根据各个待选域名检测模型的模型选择指标,选择一个待选域名检测模型,作为目标域名检测模型,其中,所述目标域名检测模型用于对目标域名进行域名检测。
一种模型生成装置,包括:
模式组合单元,用于将至少一种向量生成方法、与至少两种域名检测算法进行组合,得到至少两种组合方式;
模型训练单元,用于对于每种组合方式,采用该组合方式下的向量生成方法,对域名样本库中的各个样本域名进行域名向量化,且基于生成的域名向量,采用该组合方式下的域名检测算法进行模型训练,得到该组合方式对应的待选域名检测模型;
指标确定单元,用于确定每种组合方式对应的待选域名检测模型的模型选择指标;
模型选择单元,用于根据各个待选域名检测模型的模型选择指标,选择一个待选域名检测模型,作为目标域名检测模型,其中,所述目标域名检测模型用于对目标域名进行域名检测。
一种电子设备,包括:处理器、存储器;
所述存储器,用于存储计算机程序;
所述处理器,用于通过调用所述计算机程序,执行上述模型生成方法。
一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述模型生成方法。
在以上本申请提供的技术方案中,将至少一种向量生成方法、与至少两种域名检测算法进行组合,得到至少两种组合方式;对于每种组合方式,采用该组合方式下的向量生成方法,对域名样本库中的各个样本域名进行域名向量化,且基于生成的域名向量,采用该组合方式下的域名检测算法进行模型训练,得到该组合方式对应的待选域名检测模型;根据每种组合方式对应的待选域名检测模型的模型选择指标,选择一个待选域名检测模型,作为目标域名检测模型,以便利用目标域名检测模型进行域名检测。本申请中的域名检测算法是深度学习算法,由于深度学习的自动表征学习能力,省去了特征工程这一繁杂的构建过程,摆脱了人工特征提取的局限,能够更快的适应DGA的变化更新,可见,本申请能够在节省人力的情况下生成目标域名检测模型,且保证了目标域名检测模型在进行域名检测时的准确性。
附图说明
图1为本申请示出的一种模型生成方法的流程示意图;
图2为本申请示出的模型生成框架示意图;
图3为本申请示出的域名矩阵示意图;
图4为本申请示出的模型比较示意图;
图5为本申请示出的一种模型生成装置的组成示意图;
图6为本申请示出的一种电子设备的结构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
在本申请实施例提供的模型生成方法中,采用该方法生成的模型用于进行域名检测。该方法提出将深度学习应用于DGA域名识别的框架,该框架从字符向量化和深度学习算法选择这两层角度进行考虑,以构建不同组合模式对应的深度学习模型;通过建立模型比较机制,从中选择最优组合模式对应的深度学习模型,作为最终的域名检测模型。
下面对本申请实施例提供的模型生成方法进行具体介绍。
参见图1,为本申请实施例提供的一种模型生成方法的流程示意图,该方法包括以下步骤S101-S104:
S101:将至少一种向量生成方法、与至少两种域名检测算法进行组合,得到至少两种组合方式。
在本申请实施例中,可以从现有或未来出现的各种向量生成方法中选择一种或多种方法,并且,从现有或未来出现的各种域名检测算法中选择两种或两种以上的算法,其中,域名检测算法可以是用于进行域名检测的深度学习算法。将这些向量生成方法和域名检测算法进行不同方式的组合,可以得到两种或两种以上的不同组合方式,每一组合方式下有一种向量生成方法和一种域名检测算法。
在本申请实施例中,S101中的“至少一种向量生成方法”,可以包括以下至少一种方法:字典法、独热(one-hot)编码方法、词向量(word to vector,简称word2vec)编码方法、n元模型(n-gram)与词袋法的组合编码方法、全局向量(Global Vector,简称GloVe)编码方法。
在本申请实施例中,S101中的“至少两种域名检测算法”,可以包括以下至少两种算法:基于卷积神经网络(Convolutional Neural Networks,简称CNN)的文本分类算法,即TextCNN;基于循环神经网络(Recurrent Neural Network,简称RNN)的文本分类算法,即TextRNN;长短期记忆(Long short-term memory,简称LSTM)算法;区域卷积神经网络(Region-CNN,简称RCNN)算法;门控循环单元(Gate Recurrent Unit,简称GRU)算法。
S102:对于每种组合方式,采用该组合方式下的向量生成方法,对域名样本库中的各个样本域名进行域名向量化,且基于生成的域名向量,采用该组合方式下的域名检测算法进行模型训练,得到该组合方式对应的待选域名检测模型。
由于基于深度学习的DGA域名检测是有监督学习,因此,需要预先构建一个域名样本库,该域名样本库包括两个样本子库,分别是包括大量正常域名的样本子库和包括大量DGA域名的样本子库。其中,正常域名可以从Alexa网站进行域名采集,DGA域名可以使用域名生成算法生成。
为便于描述,将域名样本库中的每一域名定义为样本域名。
在本申请实施例中,对于采用S101得到的每一种组合方式,可以采用该组合方式下的向量生成方法,对上述域名样本库中的样本域名进行域名向量化,从而得到样本域名的域名向量。
具体来讲,由于深度学习模型只能处理经过数值化的向量,而不能直接处理字符形式的数据,因此,需要将样本域名转换为数值向量,这是一个对样本域名进行字符向量化的过程。如图2所示的模型生成框架示意图,可以采用字典法、one-hot编码方法、word2vec编码方法、n-gram与词袋法的组合编码方法、GloVe编码方法等,对样本域名进行字符向量化,下面对这几种方法进行介绍。
(1)、字典法
预先统计训练集域名中出现的所有字符,生成字典,每个字符都对应数值编码,编码从1开始。对于任意给定的域名,将其转换为长度为L的向量,其中L可以为训练数据中最长域名的长度,向量中每一位为域名字符在字典中的索引值,长度小于L的域名后面补0。
例如,关于语料库[‘dptech.com’,‘baidu.com’],对应字典为:{'h':1,'.':2,'u':3,'p':4,'o':5,'m':6,'a':7,'b':8,'c':9,'t':10,'i':11,'d':12,'e':13}。
假设长度L为10,则域名‘dptech.com’经编码处理后为向量:[3,1,11,6,8,5,7,8,2,4],‘baidu.com’经编码处理后为向量:[13,12,9,3,10,7,8,2,4,0]。
(2)、one-hot编码
首先通过将样本域名字符构成一个集合,去掉集合中重复的单词,然后对集合中的字符以一定顺序排列,排列好的集合称为词汇表。词汇表长度为N,即,构成样本库里所有域名的所需要的字符数为N。
使用one-hot编码将每个域名编为长度为N的向量,如果域名使用了该字符则为1,否则为0。
例如,关于语料库[‘dptech.com’,‘baidu.com’],对应词汇表为:{'d':0,'p':1,'t':2,'e':3,'c':4,'h':5,'.':6,'o':7,'m':8,'b':9,'a':10,'i':11,'u':12},则域名‘dptech.com’经one-hot编码处理后为向量:[1.1.1.1.1.1.1.1.1.0.0.0.0.],‘baidu.com’经one-hot编码处理后为向量:[1.0.0.0.1.0.1.1.1.1.1.1.1.]。
(3)、word2vec
word2vec会将One-Hot编码转化为低纬度的连续值,也就是稠密向量。依次获得每个字符的向量,这样可以将一个域名变成一个N×K×1的矩阵,比如图3所示的域名矩阵示意图。其中,N为域名中字符的个数,K为词向量的维度,1表示管道。对于长度小于N的域名使用0填充,长度大于N的域名做部分截断。
(4)、n-gram+词袋法BoW
n-gram是将可在源文本中找到的长度为n的相邻词的所有组合。例如,‘dptech’的1-gram序列为[d,p,t,e,c,h],2-gram序列为[dp,pt,te,ec,ch],3-gram序列为[dpt,pte,tec,ech]。
词袋模型通过计算某些词出现的次数来进行向量化表示,不考虑词出现的次数以及位置。常用TF和TF-IDF两组模式。TF统计一个词的出现次数,TF-IDF与一个词在文档中的出现次数成正比,与该词在整个语言中的出现次数成反比,利用这种方法可以找到相对重要的词。
例如,关于语料库语料库[‘dptech.com’,‘baidu.com’],2-gram字符级别的向量化涉及词集合['.c','ai','ba','ch','co','dp','du','ec','h.','id','om','pt','te','u.'],则域名‘dptech.com’经TF编码处理后为向量:[1 0 0 1 1 1 0 1 1 0 1 1 10],域名‘baidu.com’经TF编码处理后为向量:[1 1 1 0 1 0 1 0 0 1 1 0 0 1],向量的数据就是某个2-gram的字符串出现的次数。
域名‘dptech.com’经TF-IDF编码处理后为向量:[0.2595,0.0,0.0,0.3647,0.2595,0.3647,0.0,0.3647,0.3647,0.0,0.2595,0.3647,0.3647,0.0],‘baidu.com’经TF-IDF编码处理后为向量:[0.2787,0.3917,0.3917,0.0,0.2787,0.0,0.3917,0.0,0.0,0.3917,0.2787,0.0,0.0,0.3917]。
(5)、GloVe
GloVe是基于全局词频统计(count-based&overall statistics)的词表征工具。
在本申请实施例中,对于采用S101得到的每一种组合方式,可以基于采用该组合方式下的向量生成方法所生成的域名向量,采用该组合方式下的域名检测算法进行模型训练,从而得到该组合方式对应的待选域名检测模型。
具体来讲,将深度学习应用在文本分类上的应用算法很多,如图2所示的TextCNN、TextRNN、LSTM、RCNN以及GRU等深度学习算法。
下面分别对TextCNN、TextRNN、LSTM、RCNN以及GRU进行介绍。
(1)、LSTM
LSTM是一种RNN的特殊类型,可以学习长期依赖信息,如文本和语言等。检测DGA域名正好利用LSTM对前后文理解优势,利用域名的前后字符判断域名的拼写特征、随机特征,达到检测DGA域名的目的。
LSTM包含embedding层、lstm层、dropout层、dense层和activation激活层,其中:
embedding层将编码后的向量转换为固定大小;
lstm层是训练模型的核心,将从样本中学习特征;
dropout层是为了训练的神经网络过拟合,随机断开一定比例的神经元连接;
dense层是为了将学习到的特征映射到样本空间;
activation激活层将权值转换成分类结果。
(2)、TextCNN
卷积神经网络CNN最初在图像领域取得巨大成功,它的核心在于捕捉局部相关性,通过反向传播算法进行参数优化。TextCNN是利用卷积神经网络对文本进行分类的算法,由Yoon Kim于2014年在“Convolutional Neural Networks for Sentence Classification”一文中提出的算法。
TextCNN包含Embedding层、卷积层、池化层、全连接层、输出层。
(3)、TextRNN
TextRNN指的是利用循环神经网络RNN解决文本分类问题。
TextRNN的结构非常灵活,可以任意改变。比如把LSTM单元替换为GRU单元,把双向改为单向,添加dropout或BatchNormalization以及再多堆叠一层等等。
(4)、RCNN
RCNN对词汇的向量表示进行拓展,加入了前、后上下文向量,可以捕捉更大范围的上下文信息,结合RNN和CNN来实现文本分类任务。
(5)、GRU
GRU是LSTM网络的一种效果很好的变体,它较LSTM网络的结构更加简单,而且效果也很好,也是当前非常流形的一种网络。
本申请实施例可以结合DGA域名特点,将S101中每一种组合方式下的深度学习算法作为域名检测算法来进行模型训练,在进行模型训练时,需要对模型进行多轮训练。在基于某组合方式(包括一种向量生成方法和一种域名检测算法)下的每一轮模型训练中,可以包括以下步骤A1-A3:
A1:从域名样本库中选择一个样本域名;
A2:利用该组合方式下的向量生成方法,生成该样本域名的域名向量;
A3:利用该组合方式下的域名检测算法,基于该样本域名的域名向量进行模型训练,以调整域名检测模型的参数。
为了得到该组合方式对应的最终的域名检测模型,可以将域名样本库进行数据划分,得到三份数据集,分别是训练数据集train、验证数据集validation、以及测试数据集test。可以使用训练数据集train、验证数据集validation进行模型训练,用于调整该模型参数,并获得训练耗时和预测准确率(即预测能力);使用测试数据集test,获得模型的泛化准确率(即泛化能力)和预测耗时。
可见,通过上述方式,可以得到每种组合方式对应的最终的域名检测模型,为便于区分,将这里的域名检测模型定义为待选域名检测模型。
S103:确定每种组合方式对应的待选域名检测模型的模型选择指标。
在本申请实施例中,待选域名检测模型的模型选择指标,可以包括模型的训练耗时、预测耗时、预测能力和泛化能力中的至少一个。具体来讲,参见图2,如上述内容所述,当使用train、validation、test这三个数据集对模型进行训练、验证和测试,可以获得待选域名检测模型的训练耗时、预测准确率(即预测能力)、泛化准确率(即泛化能力)和预测耗时。
因此,在本申请实施例的一种实现方式中,S103具体可以包括:
对于每种组合方式对应的待选域名检测模型,基于该待选域名检测模型的模型训练阶段和模型验证阶段,确定该待选域名检测模型的训练耗时和预测能力,并且,基于该待选域名检测模型的模型测试阶段,确定该待选域名检测模型的预测耗时和泛化能力。
S104:根据各个待选域名检测模型的模型选择指标,选择一个待选域名检测模型,作为目标域名检测模型,其中,目标域名检测模型用于对目标域名进行域名检测。
在本申请实施例中,当得到每种组合方式对应的待选域名检测模型后,可以基于各个待选域名检测模型的模型选择指标,从这些待选域名检测模型中选择一个模型,作为目标域名检测模型,如图2所示。这样,对于任意一个DGA域名(即目标域名),可以利用目标域名检测模型对其进行检测,从而正确识别出DGA域名。
在选择目标域名检测模型时,可以从图2所示的训练耗时、预测耗时、预测能力、泛化能力这四个指标方面进行比较。其中,关于训练耗时方面,考虑超参数调优等问题,倾向于选择训练时间较小的模型;关于预测耗时方面,为保障模型上线后的预测能力,倾向于使用预测耗时小的模型;关于预测能力和泛化能力方面,要求模型的预测能力和适应能力较好。
在本申请实施例的一种实现方式中,S104中的“根据各个待选域名检测模型的模型选择指标,选择一个待选域名检测模型”,可以包括:对于各个待选域名检测模型的各个模型选择指标,确定表征各个模型选择指标的指标情况的参数值,并确定表征各个模型选择指标的重要程度的权重值;依据各个待选域名检测模型对应的参数值和权重值,选择一个待选域名检测模型。
在本实现方式中,如图4所示的模型比较示意图,对于采用步骤S101进行组合得到的N种组合方式,每一组合方式对应一个训练好的待选域名检测模型,比如图4中的模型1、模型2、……模型M、……模型N。
对于每一待选域名检测模型来讲,假设该待选域名检测模型存在4个模型选择指标、且这4个指标分别是训练耗时、预测耗时、预测能力和泛化能力时,可以将这4个指标以数值的形式体现,但由于训练耗时和预测耗时通常对应具体的时长,而预测能力(即预测准确率)和泛化能力(即泛化准确率)通常对应具体的百分数,这4个指标不属于同一指标类型,因此,可以对这4个指标进行数值处理,使它们属于一个选定的参数范围(比如1-10、或1-100)内,使每一指标对应一个表征其指标情况的参数值;此外,还可以根据这4个指标的重要程度,为这4个指标分别赋予一个权重值,比如该权重值可以在0-1的范围内;然后,将这4个指标的参数值与其权重值进行加权求和,并将求得到的值作为该待选域名检测模型的模型评分。这样,每一待选域名检测模型将对应一个模型评分,可以从中选择评分最高的待选域名检测模型,作为目标域名检测模型,用于实现对DGA域名的识别。
通过上述介绍可知,本申请实施例提出了一种基于深度学习的DGA域名检测模型的生成框架,该框架设置字符向量化和深度学习算法的选择框架,同时设置模型比较指标,从而选择出适合的DGA域名检测模型。具体地,从字典法、one-hot编码、word2vec、n-gram+词袋法BoW、GloVe等选择字符向量化方法;从TextCNN、TextRNN、LSTM、RCNN、GRU等选择深度学习算法,避免了单一深度学习模型应用的片面性;比较训练耗时、预测耗时、预测能力、泛化能力以选择最优组合模式,从而实现深度学习模型的搭建。
在以上本申请实施例提供的模型生成方法中,将至少一种向量生成方法、与至少两种域名检测算法进行组合,得到至少两种组合方式;对于每种组合方式,采用该组合方式下的向量生成方法,对域名样本库中的各个样本域名进行域名向量化,且基于生成的域名向量,采用该组合方式下的域名检测算法进行模型训练,得到该组合方式对应的待选域名检测模型;根据每种组合方式对应的待选域名检测模型的模型选择指标,选择一个待选域名检测模型,作为目标域名检测模型,以便利用目标域名检测模型进行域名检测。本申请实施例中的域名检测算法是深度学习算法,由于深度学习的自动表征学习能力,省去了特征工程这一繁杂的构建过程,摆脱了人工特征提取的局限,能够更快的适应DGA的变化更新,可见,本申请实施例能够在节省人力的情况下生成目标域名检测模型,且保证了目标域名检测模型在进行域名检测时的准确性。
参见图5,为本申请实施例提供的一种模型生成装置的组成示意图,该装置包括:
模式组合单元510,用于将至少一种向量生成方法、与至少两种域名检测算法进行组合,得到至少两种组合方式;
模型训练单元520,用于对于每种组合方式,采用该组合方式下的向量生成方法,对域名样本库中的各个样本域名进行域名向量化,且基于生成的域名向量,采用该组合方式下的域名检测算法进行模型训练,得到该组合方式对应的待选域名检测模型;
指标确定单元530,用于确定每种组合方式对应的待选域名检测模型的模型选择指标;
模型选择单元540,用于根据各个待选域名检测模型的模型选择指标,选择一个待选域名检测模型,作为目标域名检测模型,其中,所述目标域名检测模型用于对目标域名进行域名检测。
在本申请实施例的一种实现方式中,所述至少一种向量生成方法,包括以下至少一种方法:
字典法、独热one-hot编码方法、词向量word2vec编码方法、n元模型n-gram与词袋法的组合编码方法、全局向量GloVe编码方法。
在本申请实施例的一种实现方式中,所述至少两种域名检测算法,包括以下至少两种算法:
基于卷积神经网络的文本分类算法TextCNN、基于循环神经网络的文本分类算法TextRNN、长短期记忆LSTM算法、区域卷积神经网络RCNN算法、门控循环单元GRU算法。
在本申请实施例的一种实现方式中,所述模型选择指标,包括模型的训练耗时、预测耗时、预测能力和泛化能力中的至少一个。
在本申请实施例的一种实现方式中,所述指标确定单元530,具体用于:
对于每种组合方式对应的待选域名检测模型,基于该待选域名检测模型的模型训练阶段和模型验证阶段,确定该待选域名检测模型的训练耗时和预测能力,并且,基于该待选域名检测模型的模型测试阶段,确定该待选域名检测模型的预测耗时和泛化能力。
在本申请实施例的一种实现方式中,所述模型选择单元540,具体用于:
对于各个待选域名检测模型的各个模型选择指标,确定表征各个模型选择指标的指标情况的参数值,并确定表征各个模型选择指标的重要程度的权重值;依据各个待选域名检测模型对应的参数值和权重值,选择一个待选域名检测模型,作为目标域名检测模型。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
本申请实施例还提供了一种电子设备,该电子设备的结构示意图如图6所示,该电子设备6000包括至少一个处理器6001、存储器6002和总线6003,至少一个处理器6001均与存储器6002电连接;存储器6002被配置用于存储有至少一个计算机可执行指令,处理器6001被配置用于执行该至少一个计算机可执行指令,从而执行如本申请中任意一个实施例或任意一种可选实施方式提供的任意一种模型生成方法的步骤。
进一步,处理器6001可以是FPGA(Field-Programmable Gate Array,现场可编程门阵列)或者其它具有逻辑处理能力的器件,如MCU(Microcontroller Unit,微控制单元)、CPU(Central Process Unit,中央处理器)。
应用本申请实施例,省去了特征工程这一繁杂的构建过程,摆脱了人工特征提取的局限,能够更快的适应DGA的变化更新,本申请实施例能够在节省人力的情况下生成目标域名检测模型,且保证了目标域名检测模型在进行域名检测时的准确性。
本申请实施例还提供了另一种计算机可读存储介质,存储有计算机程序,该计算机程序用于被处理器执行时实现本申请中任意一个实施例或任意一种可选实施方式提供的任意一种模型生成方法的步骤。
本申请实施例提供的计算机可读存储介质包括但不限于任何类型的盘(包括软盘、硬盘、光盘、CD-ROM、和磁光盘)、ROM(Read-Only Memory,只读存储器)、RAM(RandomAccess Memory,随即存储器)、EPROM(Erasable Programmable Read-Only Memory,可擦写可编程只读存储器)、EEPROM(Electrically Erasable Programmable Read-Only Memory,电可擦可编程只读存储器)、闪存、磁性卡片或光线卡片。也就是,可读存储介质包括由设备(例如,计算机)以能够读的形式存储或传输信息的任何介质。
应用本申请实施例,省去了特征工程这一繁杂的构建过程,摆脱了人工特征提取的局限,能够更快的适应DGA的变化更新,本申请实施例能够在节省人力的情况下生成目标域名检测模型,且保证了目标域名检测模型在进行域名检测时的准确性。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
Claims (10)
1.一种模型生成方法,其特征在于,包括:
将至少一种向量生成方法、与至少两种域名检测算法进行组合,得到至少两种组合方式;
对于每种组合方式,采用该组合方式下的向量生成方法,对域名样本库中的各个样本域名进行域名向量化,且基于生成的域名向量,采用该组合方式下的域名检测算法进行模型训练,得到该组合方式对应的待选域名检测模型;
确定每种组合方式对应的待选域名检测模型的模型选择指标;
根据各个待选域名检测模型的模型选择指标,选择一个待选域名检测模型,作为目标域名检测模型,其中,所述目标域名检测模型用于对目标域名进行域名检测。
2.根据权利要求1所述的方法,其特征在于,所述至少一种向量生成方法,包括以下至少一种方法:
字典法、独热one-hot编码方法、词向量word2vec编码方法、n元模型n-gram与词袋法的组合编码方法、全局向量GloVe编码方法。
3.根据权利要求1所述的方法,其特征在于,所述至少两种域名检测算法,包括以下至少两种算法:
基于卷积神经网络的文本分类算法TextCNN、基于循环神经网络的文本分类算法TextRNN、长短期记忆LSTM算法、区域卷积神经网络RCNN算法、门控循环单元GRU算法。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述模型选择指标,包括模型的训练耗时、预测耗时、预测能力和泛化能力中的至少一个。
5.根据权利要求4所述的方法,其特征在于,所述确定每种组合方式对应的待选域名检测模型的模型选择指标,包括:
对于每种组合方式对应的待选域名检测模型,基于该待选域名检测模型的模型训练阶段和模型验证阶段,确定该待选域名检测模型的训练耗时和预测能力,并且,基于该待选域名检测模型的模型测试阶段,确定该待选域名检测模型的预测耗时和泛化能力。
6.根据权利要求1-3任一项所述的方法,其特征在于,所述根据各个待选域名检测模型的模型选择指标,选择一个待选域名检测模型,包括:
对于各个待选域名检测模型的各个模型选择指标,确定表征各个模型选择指标的指标情况的参数值,并确定表征各个模型选择指标的重要程度的权重值;
依据各个待选域名检测模型对应的参数值和权重值,选择一个待选域名检测模型。
7.一种模型生成装置,其特征在于,包括:
模式组合单元,用于将至少一种向量生成方法、与至少两种域名检测算法进行组合,得到至少两种组合方式;
模型训练单元,用于对于每种组合方式,采用该组合方式下的向量生成方法,对域名样本库中的各个样本域名进行域名向量化,且基于生成的域名向量,采用该组合方式下的域名检测算法进行模型训练,得到该组合方式对应的待选域名检测模型;
指标确定单元,用于确定每种组合方式对应的待选域名检测模型的模型选择指标;
模型选择单元,用于根据各个待选域名检测模型的模型选择指标,选择一个待选域名检测模型,作为目标域名检测模型,其中,所述目标域名检测模型用于对目标域名进行域名检测。
8.根据权利要求7所述的装置,其特征在于,所述模型选择指标,包括模型的训练耗时、预测耗时、预测能力和泛化能力中的至少一个。
9.一种电子设备,其特征在于,包括:处理器、存储器;
所述存储器,用于存储计算机程序;
所述处理器,用于通过调用所述计算机程序,执行如权利要求1-6中任一项所述的模型生成方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1-6任一项所述的模型生成方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111614410.1A CN114297924A (zh) | 2021-12-27 | 2021-12-27 | 模型生成方法、装置、设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111614410.1A CN114297924A (zh) | 2021-12-27 | 2021-12-27 | 模型生成方法、装置、设备及计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114297924A true CN114297924A (zh) | 2022-04-08 |
Family
ID=80969022
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111614410.1A Pending CN114297924A (zh) | 2021-12-27 | 2021-12-27 | 模型生成方法、装置、设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114297924A (zh) |
-
2021
- 2021-12-27 CN CN202111614410.1A patent/CN114297924A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Evans et al. | Can neural networks understand logical entailment? | |
CN110097085B (zh) | 歌词文本生成方法、训练方法、装置、服务器及存储介质 | |
CN109947931B (zh) | 基于无监督学习的文本自动摘要方法、系统、设备及介质 | |
CN111241291A (zh) | 利用对抗生成网络生成对抗样本的方法及装置 | |
CN111866004B (zh) | 安全评估方法、装置、计算机系统和介质 | |
CN107579821B (zh) | 密码字典生成方法及计算机可读存储介质 | |
CN112528637A (zh) | 文本处理模型训练方法、装置、计算机设备和存储介质 | |
CN109462578B (zh) | 基于统计学习的威胁情报利用与繁殖方法 | |
CN112948578B (zh) | 一种dga域名开集分类方法、装置、电子设备及介质 | |
CN112329476A (zh) | 一种文本纠错方法及装置、设备、存储介质 | |
CN114026556A (zh) | 义素预测方法、计算机设备和存储介质背景 | |
CN110942774A (zh) | 一种人机交互系统、其对话方法、介质和设备 | |
CN113691542A (zh) | 基于HTTP请求文本的Web攻击检测方法及相关设备 | |
CN110674370A (zh) | 域名识别方法及装置、存储介质及电子设备 | |
CN114444476A (zh) | 信息处理方法、装置和计算机可读存储介质 | |
CN111488950B (zh) | 分类模型信息输出方法及装置 | |
CN111881293B (zh) | 一种风险内容识别方法及装置、服务器、存储介质 | |
CN116684144A (zh) | 一种恶意域名检测方法及装置 | |
CN111353147A (zh) | 口令强度评估方法、装置、设备及可读存储介质 | |
CN114297924A (zh) | 模型生成方法、装置、设备及计算机可读存储介质 | |
CN116384405A (zh) | 文本处理方法,文本分类方法及情感识别方法 | |
CN112818688B (zh) | 文本处理方法、装置、设备及存储介质 | |
CN115713669A (zh) | 一种基于类间关系的图像分类方法、装置、存储介质及终端 | |
CN117795527A (zh) | 使用自回归语言模型神经网络评估输出序列 | |
CN112000948B (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 |