CN109391706A - 基于深度学习的域名检测方法、装置、设备和存储介质 - Google Patents
基于深度学习的域名检测方法、装置、设备和存储介质 Download PDFInfo
- Publication number
- CN109391706A CN109391706A CN201811319504.4A CN201811319504A CN109391706A CN 109391706 A CN109391706 A CN 109391706A CN 201811319504 A CN201811319504 A CN 201811319504A CN 109391706 A CN109391706 A CN 109391706A
- Authority
- CN
- China
- Prior art keywords
- domain name
- traffic data
- server traffic
- data
- term vector
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/45—Network directories; Name-to-address mapping
- H04L61/4505—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
- H04L61/4511—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
- H04L63/1483—Countermeasures against malicious traffic service impersonation, e.g. phishing, pharming or web spoofing
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Signal Processing (AREA)
- Evolutionary Computation (AREA)
- Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请公开了一种基于深度学习的域名检测方法、装置、设备和存储介质,该方法包括:获取服务器流量数据,所述服务器流量数据包含域名;对所述服务器流量数据进行初始化处理,确定所述服务器流量数据中的域名对应的词向量;将所述域名对应的词向量输入训练好的最优长短时记忆网络LSTM模型进行域名生成算法DGA域名的检测;其中,所述最优LSTM模型具有域名检测能力。该方法能够对DGA域名进行自动化筛选检测,进一步提高了工作效率。
Description
技术领域
本发明一般涉及计算机网络安全技术领域,具体涉及一种基于深度学习的域名检测方法、装置、设备和存储介质。
背景技术
随着人工智能技术的快速发展,深度学习被应用到越来越多的领域,例如可以进行垃圾分类、网页检索、图像识别及语音识别等,它是机器学习中一种对数据进行表征学习的方法,采用非监督式或半监督式的特征学习和分层特征提取高效算法来替代手工获取特征。DGA(Domain Generate Algorithm,简称域名生成算法)是一种利用随机字符来生成C&C域名,从而逃避域名黑名单检测的技术手段,该算法被运用于恶意软件以及远程控制软件上,由于大型公司每日有大量的域名访问,为了维护网络信息安全,检测DGA域名已成为急需解决的问题。
传统技术中通过将含有域名的网址输入至网址栏,生成对应的网页,并通过特定软件分析其源码信息和网页信息,从而检测该网页的合法性,如果该网页不存在或不合法,即确定出该网页对应的域名为DGA域名。
但是,现有技术中对DGA域名的检测需要连接网络,该过程操作局限性大,且检测灵活性不高,导致工作效率低。
发明内容
鉴于现有技术中的上述缺陷或不足,期望提供一种基于深度学习的域名检测方法、装置、设备和存储介质,能够快速实现对DGA域名的检测,且提高了对DGA域名的检测精度。
第一方面,本发明提供了一种基于深度学习的域名检测方法,该方法包括:
获取服务器流量数据;所述服务器流量数据包含域名;
对所述服务器流量数据进行初始化处理,确定所述服务器流量数据中的域名对应的词向量;
将所述域名对应的词向量输入训练好的最优长短期记忆网络LSTM模型进行域名生成算法DGA域名的检测;其中,所述最优LSTM模型具有域名检测能力。
在其中一个实施例中,对所述服务器流量数据进行初始化处理,确定所述服务器流量数据中的域名对应的词向量,包括:
从所述服务器流量数据中提取所述域名;
将所述域名按照预设的标准格式进行转换,得到转换后的域名;
将所述转换后的域名向量化,得到所述转换后的域名对应的词向量。
在其中一个实施例中,将所述域名按照预设的标准格式进行转换,得到转换后的域名,包括:
将所述域名中的大写英文字母转换为小写英文字母;
当所述域名的字符长度超过预设的最大字符长度时,从后往前截取所述最大字符长度,确定为所述转换后的域名。
在其中一个实施例中,所述方法还包括:
获取预设数量的历史域名数据和所述历史域名数据的域名类别;所述域名类别包括:DGA域名和非DGA域名;
按照标准格式和最大字符长度,对所述历史域名数据进行预处理;
将预处理后的历史域名数据和所述历史域名数据的域名类别转换为词向量;
根据所述词向量对预设的LSTM模型进行训练,得到所述最优LSTM模型。
在其中一个实施例中,根据所述词向量对预设的LSTM模型进行训练,得到所述最优LSTM模型,包括:
将所述词向量随机分为训练集和验证集;
根据所述训练集,对所述预设的LSTM模型中的参数进行优化训练;
根据所述验证集,对优化后的参数进行评估,得到所述最优LSTM模型。
在其中一个实施例中,所述方法还包括:
当检测出所述域名是DGA域名时,从所述服务器流量数据中获取各主机和所述域名的通信次数和通信时间;
根据各主机和所述域名的通信次数和通信时间,判断所述域名是否为非法域名。
在其中一个实施例中,根据各主机和所述域名的通信次数和通信时间,判断所述域名是否为非法域名,包括:
对所述各主机和所述域名的通信次数和通信时间进行周期性统计分析,确定各主机与所述域名在预设的单位时间内的通信次数;
当在所述单位时间内的通信次数大于预设阈值时,将所述域名确定为非法域名。
第二方面,本申请实施例提供了一种基于深度学习的域名检测装置,该装置包括:
第一获取模块,用于获取服务器流量数据;所述服务器流量数据包含域名;
处理模块,用于对所述服务器流量数据进行初始化处理,确定所述服务器流量数据中的域名对应的词向量;
检测模块,用于将所述域名对应的的词向量输入训练好的最优长短期记忆网络LSTM模型进行域名生成算法DGA域名的检测;其中,所述最优LSTM模型具有域名检测能力。
第三方面,本申请实施例提供了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述所述基于深度学习的域名检测方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述所述基于深度学习的域名检测方法。
本发明实施例提供的基于深度学习的域名检测方法、装置、设备及存储介质,获取服务器流量数据,服务器流量数据包含域名,对服务器流量数据进行初始化处理,确定服务器流量数据中的域名对应的词向量,并将域名对应的词向量输入训练好的LSTM模型进行DGA域名的检测。本技术方案由于在域名检测时,通过使用训练好的最优的LSTM模型对域名进行自动检测,从而检测出DGA域名,提高了域名检测精度,使得域名检测能够自动化处理,很大程度上提高了工作效率,进一步保证了网络信息安全。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1为本发明实施例提供的基于深度学习的域名检测方法的流程示意图;
图2为本发明实施例提供的对服务器流量数据进行初始化处理方法的流程示意图;
图3为本发明实施例提供的对服务器流量数据进行初始化处理方法的流程示意图;
图4为本发明实施例提供的获得最优LSTM模型方法的流程示意图;
图5为本发明实施例提供的获得最优LSTM模型方法的流程示意图;
图6为本发明实施例提供的对域名进行周期性分析的流程示意图;
图7为本发明实施例提供的基于深度学习的域名检测装置的结构示意图;
图8为本发明实施例提供的一种计算机设备的结构示意图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
如背景技术中提到的,LSTM是长短期记忆网络,是一种时间递归神经网络,具有自动表征学习能力,可以学习长期依赖信息,如文本和语言等,而DGA域名生成算法,攻击者可以利用它来生成用作域名的随机字符串,以有效的避开黑名单列表的检测,该算法常被运用于恶意软件上以及远程控制软件上,如果公司的任意电脑的进程尝试与DGA域名建立连接,那么该电脑就可能感染勒索病毒等黑客程序,产生信息安全隐患,因此,必须检测不合法的DGA域名,以维护网络信息安全。传统技术在对域名中不合法的DGA域名进行检测时,通常是将含有该域名的网址输入至界面中的网址栏,从而生成对应的网页,可以通过特定软件分析其源码信息和网页信息,判断该网页是否合法,如果无法生成网页或者判断出网页不合法时,则确定该域名为DGA域名。但是,在域名检测的过程中,需要连接网络并分析源码和网页,该检测过程复杂,且检测灵活性差,如果待检测域名数量较多,则检测速度慢,导致工作效率低。
基于上述缺陷,本发明实施例提供了一种基于深度学习的域名检测方法,通过将服务器流量数据中的域名初始化数值处理后,得到词向量,并将其输入至训练好的最优LSTM模型中,来自动检测出DGA域名,与现有技术相比,该方法检测精度准确,能够自动识别检测DGA域名,进一步提高了安全专家维护网络安全的效率。
下面将参考附图并结合实施例来详细说明本申请。
需要说明的是,下述方法实施例的执行主体可以是基于深度学习的域名检测装置,该装置可以通过软件、硬件或者软硬件结合的方式实现成为终端设备的部分或者全部。下述方法实施例的执行主体以计算机设备为例来进行说明。
图1为本发明实施例提供的基于深度学习的域名检测方法的流程示意图,如图1所示,该方法包括:
S101、获取服务器流量数据;服务器流量数据包含域名。
具体的,服务器流量数据为包含域名的待处理数据,可以是包括各种类型的数据,例如:文本数据、语音数据、图像数据等,可选的,上述服务器流量数据可以是通过网络中心实时采集的流量数据,可以是直接通过云端下载的流量数据,也可以是通过其他设备导入的流量数据等,本实施例对此不做限定,该流量数据可以包括通信时间、域名、网络通信协议等数据。
可选的,计算机设备获取服务器流量数据的过程可以为:计算机设备接收用户输入的处理指令,并根据处理指令获取服务器流量数据。其中,处理指令包括域名标识。
S102、对服务器流量数据进行初始化处理,确定服务器流量数据中的域名对应的词向量。
示例性的,可以通过浅而双层的神经网络(word to vector,简称word2vec)模型将该域名转化为词向量。
可选的,作为S102的一种实施方式,可以参见图2,如图2所示,该方法包括:
S201、从服务器流量数据中提取域名。
具体的,当从网络中心获取的服务器流量数据后,可以对该流量数据进行数据分割处理,以过滤掉不规范的日志域名记录,从服务流量数据中提取域名,得到可处理的域名。可选的,该域名可以为DGA域名,也可以是非DGA域名,该域名可以是任意长度的域名。
S202、将域名按照预设的标准格式进行转换,得到转换后的域名。
具体的,域名为由一串用点分隔的名字组成的因特网上某一台计算机或者计算机组的名称,用于在数据传输时标识计算机的电子方位,其中一般可以由(a-z、A-Z)26个英文字母、“0-9”十个数字以及连接符“-”组成。
需要说明的是,可以对提取的域名按照标准格式进行转换,得到转换后的域名。该标准格式可以是预先设置好的的域名格式。
可选的,作为步骤S202的一种可实现方式,可以参见图3所示,该方法包括:
S301、将域名中的大写英文字母转换为小写英文字母。
S302、当域名的字符长度超过预设的最大字符长度时,从后往前截取最大字符长度,确定为转换后的域名。
具体的,在得到域名后,该域名中可能包括大写英文字母,可以通过将大写英文字母全部转化为小写英文字母,便于对域名进行处理,其中,当域名的字符长度超过预设的最大字符长度时,可以根据最大字符长度,对该域名从后往前截取处理,得到转换后的域名,其中,该最大域名长度可以是用户经过多次测试,选择的包含尽量多的域名信息,且长度不会过长的域名长度。
可选的,也可以先对域名根据最大域名长度从后向前进行截取处理,再将域名的中英文字母转化为小写字母,得到转换后的域名。
S203、将转换后的域名向量化,得到转换后的域名对应的词向量。
在将转换后的域名输入最优LSTM模型之前,可以将域名的所有字符按照预设的域名编码规则,对域名中的所有字符进行数值化处理,编码成键值对的词典,其中,该词典表示字符与数字的映射关系。
示例性的,可以通过添加键值对的顺序,将字符“u”编码为1,字符“3”编码为2,字符“0”编码为3,字符“-”编码为10,对其他字符也相应的编码处理。
其中,上述域名编码规则可以根据实际情况自定义设定。
具体的,通过编码处理得到键值对的词典,对该转换后的域名进行数值化处理,转化为词向量。
例如,若该域名数据中包括(“a”,“D”,“3”,“-”)等字符,则“a”可以被表示为一维向量[1,0,0,0],“-”可以被表示为一维向量[0,0,0,1]。
需要说明的是,通过获取到服务器流量数据,对其进行初始化处理,得到转换后的域名对应的词向量,也就是对该域名进行数值化处理,便于输入最优的LSTM模型中进行测试。
S103、将域名对应的词向量输入训练好的最优长短期记忆网络LSTM模型进行域名生成算法DGA域名的检测;其中,最优LSTM模型具有域名检测能力。
本技术方案由于在域名检测时,通过使用训练好的最优的LSTM模型对域名进行自动检测,从而检测出DGA域名,提高了域名检测精度,使得域名检测能够自动化处理,很大程度上提高了工作效率,进一步保证了网络信息安全。
图4为本发明实施例提供的获取最优LSTM模型的流程示意图,如图4所示,该方法包括:
S401、获取预设数量的历史域名数据和历史域名数据的域名类别;域名类别包括:DGA域名和非DGA域名。
具体的,在进行域名检测之前,需要基于预设的LSTM模型获取具有域名检测能力的最优LSTM模型。
可选的,可以通过整合网络中公开的已知域名数据,收集得到预设数量的历史域名数据,也可以是通过外部存储设备导入得到历史域名数据,并将历史域名数据作为LSTM模型的训练数据,并获取历史域名数据的域名类别,其中,域名类别包括:DGA域名和非DGA域名。
S402、按照标准格式和最大字符长度,对所述历史域名数据进行预处理。
具体的,获取到历史域名数据后,并对该历史域名数据进行预处理,可以将该历史域名数据中的英文字母全部转换为小写英文字母,并且当其字符长度超过预设的最大字符长度时,从后往前截取最大字符长度,从而得到历史域名数据对应的转换后的域名。
该预处理过程与上述S202的实现过程相似,在此不再赘述。
S403、将预处理后的历史域名数据和历史域名数据的域名类别转换为词向量。
具体的,在对历史域名数据预处理后,得到对应的转换后的域名,可以根据预设的域名编码规则,根据编码好的键值对的词典,对上述转换后的域名进行数值化处理,将该域名中的字符转化为词向量。
该词向量转换过程与上述S203的实现过程相似,在此不再赘述。
需要说明的是,本申请实施例中可以根据域名类别将历史域名数据标记为正样本和负样本。其中,可以将域名类别为非DGA域名的历史域名数据标记作为正样本,将域名类别为DGA域名的历史域名数据标记作为负样本,正样本的域名类别即非DGA域名可以向量化处理为0,负样本的域名类别即DGA域名可以向量化处理为1。
S404、根据词向量对预设的LSTM模型进行训练,得到最优LSTM模型。
具体的,在将预处理后的历史域名数据和历史域名数据类别转换为词向量后,可以将该词向量输入预设的LSTM模型进行训练,通过优化器优化该LSTM模型中的参数,从而获取最优LSTM模型。
可选的,作为S404的另一种实施方式,如图5所示,该方法可以包括:
S501、将词向量随机分为训练集和验证集。
需要说明的是,在对历史域名数据和历史域名数据的域名类别进行预处理之后得到词向量,可以根据特定比例将该词向量分为训练集和验证集,可选的,该特定比例可以是7:3,也可以是8:2;上述训练集用于不断迭代训练LSTM模型,使得模型参数得到优化,得到最优LSTM模型,验证集用于验证LSTM模型效果。
S502、根据训练集,对预设的LSTM模型中的参数进行优化训练。
可选的,在得到训练集后,可以将训练集输入预设的LSTM模型,通过优化器RMSprop对预设的LSTM模型参数进行迭代优化,得到经训练模型。
需要说明的是,预设的LSTM模型包括嵌入层、LSTM层和逻辑回归层,其中,可以将训练集输入嵌入层中,对其处理后再经过LSTM层,通过使用激活函数sigmoid对数据进行非线性计算,再通过逻辑回归层进行数据处理,其中,可以一次在LSTM模型中训练输入128个词向量做迭代优化,在训练模型的过程中,可以通过交叉熵损失函数的值来判定LSTM模型是否在优化中,若交叉熵损失函数的值不断变低,则说明该LSTM模型在不断的优化。
S503、根据验证集,对优化后的参数进行评估,得到最优LSTM模型。
具体的,在对上述LSTM模型训练结束后,得到经训练模型,可以将验证集输入经训练模型中,得到模型的输出结果,并根据模型的输出结果,确定该模型的评价指标,进一步确定最优LSTM模型。其中,表述该模型的评价指标可以包括精确度、召回率、准确率。
其中,在将验证集输入经训练模型后,会得到DGA域名和非DGA域名,并根据历史域名数据的真实结果,将真实结果与模型训练后的结果进行比较,得到模型预测正确的数量和模型总共预测的数量,并将模型预测正确的数量与模型总共预测的数量作商处理,得到准确率,以判断模型的效果,准确率越高,则表示模型的效果更佳。
进一步的,在得到最优LSTM模型后,将服务器流量数据中的域名初始化处理后,得到词向量,将处理后的词向量输入最优LST模型中,经过对数据的检测和处理,会返回相应的标签,例如:DGA域名会返回标签1,非DGA域名会返回标签0。
本实施例提供的基于深度学习的域名检测方法,通过获取预设数量的历史域名数据和历史域名数据的域名类别,并按照标准格式和最大字符长度,对历史域名数据进行预处理,将预处理后的历史域名数据和历史域名数据的域名类别转换为词向量,根据词向量对预设的LSTM模型进行训练,得到最优LSTM模型。本发明技术方案中由于对历史域名数据和历史域名数据的域名类别进行预处理,使得该数据可以作为模型的输入数据,便于对数据进行训练优化,显著提高了模型的训练效果,并通过验证集对模型效果进行验证,通过确定评价指标,将评价指标作为模型好坏的评价标准,很大程度上提高了域名的检测效率,大大减少了人力成本。
图6为本发明实施例提供的对域名进行周期性分析的流程示意图。如图6所示,该方法包括:
S601、当检测出域名为DGA域名时,则从服务器流量数据中过获取各主机与域名之间的通信次数和通信时间。
具体的,服务器流量数据还包括各主机与域名之间的通信时间和通信次数,在通过最优LSTM模型对DGA域名进行检测完成之后,可以从其中获取每个DGA域名与各主机之间的通信时间和通信次数。
S602、并根据各主机与域名的通信次数和通信时间,判断域名是否为非法域名。
可选的,可以对各主机和该域名的通信次数和通信时间进行周期性统计分析,确定各主机与域名在预设的单位时间内的通信次数,当在单位时间内的通信次数大于预设阈值时,则将该域名确定为非法域名;例如:以半个小时为通信时间周期,单位时间为24小时,统计24小时内各主机与该域名之间的通信次数,并对该通信次数进行降序排列,将该通信次数大于预设阈值的域名提交给安全专家进一步分析,也就是说,如果发现该域名为DGA域名,并且与公司的电脑之间的通信频繁,则提交安全专家,来评估这些域名的效果,从而减轻安全专家的工作量,进一步提高了工作效率。
应当注意,尽管在附图中以特定顺序描述了本发明方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。相反,流程图中描绘的步骤可以改变执行顺序。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
图7为本发明实施例提供的基于深度学习的域名检测装置的结构示意图。如图7所示,该装置可以实现图1~图6所示的方法,该装置可以包括:
第一获取模块10,用于获取服务器流量数据;所述服务器流量数据包含域名;
处理模块20,用于对所述服务器流量数据进行初始化处理,确定所述服务器流量数据中的域名对应的词向量;
检测模块30,用于将所述域名对应的词向量输入训练好的最优长短期记忆网络LSTM模型进行域名生成算法DGA域名的检测;其中,所述最优LSTM模型具有域名检测能力。
优选的,上述处理模块20,包括:
提取单元201,用于从所述服务器流量数据中提取所述域名;
转换单元202,用于将所述域名按照预设的标准格式进行转换,得到转换后的域名;
处理单元203,用于将所述转换后的域名向量化,得到所述转换后的域名对应的词向量。
优选的,该处理单元203,具体用于将所述域名中的英文字母转换为小写字母;当所述域名的字符长度超过预设的最大字符长度时,从后往前截取所述最大字符长度,确定为所述转换后的域名。
优选的,所述装置还包括:
第二获取模块40,用于获取预设数量的历史域名数据和所述历史域名数据的域名类别;所述域名类别包括:DGA域名和非DGA域名;
预处理模块50,用于按照标准格式和最大字符长度,对所述历史域名数据进行预处理;
转换模块60,用于将预处理后的历史域名数据和所述历史域名数据的域名类别转换为词向量;
训练模块70,用于根据所述词向量对预设的LSTM模型进行训练,得到所述最优LSTM模型。
优选的,上述训练模块70,具体用于将所述词向量随机分为训练集和验证集;根据所述训练集,对所述预设的LSTM模型中的参数进行优化训练;根据所述验证集,对优化后的参数进行评估,得到所述最优LSTM模型。
优选的,所述装置还包括:
第三获取模块80,用于当检测出所述域名是DGA域名时,从所述服务器流量数据中获取各主机和所述域名的通信次数和通信时间;
判断模块90,用于根据各主机和所述域名的通信次数和通信时间,判断所述域名是否为非法域名。
优选的,上述判断模块90,具体用于对所述各主机和所述域名的通信次数和通信时间进行周期性统计分析,确定各主机与所述域名在预设的单位时间内的通信次数;当在所述单位时间内的通信次数大于预设阈值时,将所述域名确定为非法域名。
本实施例提供的基于深度学习的域名检测装置,可以执行上述方法的实施例,其实现原理和技术效果类似,在此不再赘述。
图8为本发明实施例提供的一种计算机设备的结构示意图。如图8所示,其示出了适于用来实现本申请实施例的终端设备或服务器的计算机系统800的结构示意图。
如图8所示,计算机系统800包括中央处理单元(CPU)801,其可以根据存储在只读存储器(ROM)802中的程序或者从存储部分808加载到随机访问存储器(RAM)803中的程序而执行各种适当的动作和处理。在RAM803中,还存储有系统800操作所需的各种程序和数据。CPU801、ROM802以及RAM603通过总线804彼此相连。输入/输出(I/O)接口806也连接至总线804。
以下部件连接至I/O接口805:包括键盘、鼠标等的输入部分806;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分807;包括硬盘等的存储部分808;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分809。通信部分809经由诸如因特网的网络执行通信处理。驱动器810也根据需要连接至I/O接口806。可拆卸介质811,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器810上,以便于从其上读出的计算机程序根据需要被安装入存储部分808。
特别地,根据本公开的实施例,上文参考图1-6描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括有形地包含在机器可读介质上的计算机程序,所述计算机程序包含用于执行图1-6的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分809从网络上被下载和安装,和/或从可拆卸介质811被安装。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,前述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元或模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元或模块也可以设置在处理器中,例如,可以描述为:一种处理器包括第一获取模块、处理模块以及检测模块。其中,这些单元或模块的名称在某种情况下并不构成对该单元或模块本身的限定,例如,第一获取模块还可以被描述为“获取服务器流量数据;所述服务器流量数据包含域名”。
作为另一方面,本申请还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中前述装置中所包含的计算机可读存储介质;也可以是单独存在,未装配入设备中的计算机可读存储介质。计算机可读存储介质存储有一个或者一个以上程序,前述程序被一个或者一个以上的处理器用来执行描述于本申请的基于深度学习的域名检测方法。
综上所述,本发明实施例提供的基于深度学习的域名检测方法、装置、设备和存储介质,获取服务器流量数据,服务器流量数据包含域名,对服务器流量数据进行初始化处理,确定服务器流量数据中的域名对应的词向量,并将域名对应的词向量输入训练好的LSTM模型进行DGA域名的检测。本技术方案由于在域名检测时,通过使用训练好的最优的LSTM模型对域名进行自动检测,从而检测出DGA域名,提高了域名检测精度,使得域名检测能够自动化处理,很大程度上提高了工作效率,进一步保证了网络信息安全。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离所述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
Claims (10)
1.一种基于深度学习的域名检测方法,其特征在于,包括:
获取服务器流量数据;所述服务器流量数据包含域名;
对所述服务器流量数据进行初始化处理,确定所述服务器流量数据中的域名对应的词向量;
将所述域名对应的词向量输入训练好的最优长短期记忆网络LSTM模型进行域名生成算法DGA域名的检测;其中,所述最优LSTM模型具有域名检测能力。
2.根据权利要求1所述的域名检测方法,其特征在于,对所述服务器流量数据进行初始化处理,确定所述服务器流量数据中的域名对应的词向量,包括:
从所述服务器流量数据中提取所述域名;
将所述域名按照预设的标准格式进行转换,得到转换后的域名;
将所述转换后的域名向量化,得到所述转换后的域名对应的词向量。
3.根据权利要求2所述的域名检测方法,其特征在于,将所述域名按照预设的标准格式进行转换,得到转换后的域名,包括:
将所述域名中的大写英文字母转换为小写英文字母;
当所述域名的字符长度超过预设的最大字符长度时,从后往前截取所述最大字符长度,确定为所述转换后的域名。
4.根据权利要求1所述的域名检测方法,其特征在于,所述方法还包括:
获取预设数量的历史域名数据和所述历史域名数据的域名类别;所述域名类别包括:DGA域名和非DGA域名;
按照标准格式和最大字符长度,对所述历史域名数据进行预处理;
将预处理后的历史域名数据和所述历史域名数据的域名类别转换为词向量;
根据所述词向量对预设的LSTM模型进行训练,得到所述最优LSTM模型。
5.根据权利要求4所述的域名检测方法,其特征在于,根据所述词向量对预设的LSTM模型进行训练,得到所述最优LSTM模型,包括:
将所述词向量随机分为训练集和验证集;
根据所述训练集,对所述预设的LSTM模型中的参数进行优化训练;
根据所述验证集,对优化后的参数进行评估,得到所述最优LSTM模型。
6.根据权利要求1所述的域名检测方法,其特征在于,所述方法还包括:
当检测出所述域名是DGA域名时,从所述服务器流量数据中获取各主机和所述域名的通信次数和通信时间;
根据各主机和所述域名的通信次数和通信时间,判断所述域名是否为非法域名。
7.根据权利要求6所述的域名检测方法,其特征在于,根据各主机和所述域名的通信次数和通信时间,判断所述域名是否为非法域名,包括:
对所述各主机和所述域名的通信次数和通信时间进行周期性统计分析,确定各主机与所述域名在预设的单位时间内的通信次数;
当在所述单位时间内的通信次数大于预设阈值时,将所述域名确定为非法域名。
8.一种基于深度学习的域名检测装置,其特征在于,该装置包括:
第一获取模块,用于获取服务器流量数据;所述服务器流量数据包含域名;
处理模块,用于对所述服务器流量数据进行初始化处理,确定所述服务器流量数据中的域名对应的词向量;
检测模块,用于将所述域名对应的的词向量输入训练好的最优长短期记忆网络LSTM模型进行域名生成算法DGA域名的检测;其中,所述最优LSTM模型具有域名检测能力。
9.一种计算机设备,包括存储器、处理器以及存储再存储器上并可再处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1-7中任一项所述的方法。
10.一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序用于:
所述计算机程序被处理器执行时实现如权利要求1-7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811319504.4A CN109391706A (zh) | 2018-11-07 | 2018-11-07 | 基于深度学习的域名检测方法、装置、设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811319504.4A CN109391706A (zh) | 2018-11-07 | 2018-11-07 | 基于深度学习的域名检测方法、装置、设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109391706A true CN109391706A (zh) | 2019-02-26 |
Family
ID=65428503
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811319504.4A Pending CN109391706A (zh) | 2018-11-07 | 2018-11-07 | 基于深度学习的域名检测方法、装置、设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109391706A (zh) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109977118A (zh) * | 2019-03-21 | 2019-07-05 | 东南大学 | 一种基于词嵌入技术和lstm的异常域名检测方法 |
CN110113327A (zh) * | 2019-04-26 | 2019-08-09 | 北京奇安信科技有限公司 | 一种检测dga域名的方法及装置 |
CN110191103A (zh) * | 2019-05-10 | 2019-08-30 | 长安通信科技有限责任公司 | 一种dga域名检测分类方法 |
CN110321430A (zh) * | 2019-04-16 | 2019-10-11 | 中国银行股份有限公司 | 域名识别和域名识别模型生成方法、装置及存储介质 |
CN110784483A (zh) * | 2019-11-04 | 2020-02-11 | 北京航空航天大学 | 一种基于dga异常域名的事件检测系统及方法 |
CN110807098A (zh) * | 2019-09-24 | 2020-02-18 | 武汉智美互联科技有限公司 | 基于BiRNN深度学习的DGA域名检测方法 |
CN112733057A (zh) * | 2020-11-27 | 2021-04-30 | 杭州安恒信息安全技术有限公司 | 网络内容安全检测方法、电子装置和存储介质 |
CN112929341A (zh) * | 2021-01-22 | 2021-06-08 | 网宿科技股份有限公司 | 一种dga域名的检测方法、系统及装置 |
CN113098896A (zh) * | 2021-04-26 | 2021-07-09 | 中国移动通信集团陕西有限公司 | 域名检测方法、装置、设备及介质 |
CN113347210A (zh) * | 2021-08-03 | 2021-09-03 | 北京观成科技有限公司 | 一种dns隧道检测方法、装置及电子设备 |
CN113381963A (zh) * | 2020-02-25 | 2021-09-10 | 深信服科技股份有限公司 | 一种域名检测方法、装置和存储介质 |
CN116074081A (zh) * | 2023-01-28 | 2023-05-05 | 鹏城实验室 | Dga域名检测方法、装置、设备及存储介质 |
CN116886414A (zh) * | 2023-08-09 | 2023-10-13 | 华能信息技术有限公司 | 一种dga域名检测方法、系统及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170187747A1 (en) * | 2015-12-28 | 2017-06-29 | Arbor Networks, Inc. | Using recurrent neural networks to defeat dns denial of service attacks |
CN107992469A (zh) * | 2017-10-13 | 2018-05-04 | 中国科学院信息工程研究所 | 一种基于词序列的钓鱼url检测方法及系统 |
CN108600200A (zh) * | 2018-04-08 | 2018-09-28 | 腾讯科技(深圳)有限公司 | 域名检测方法、装置、计算机设备及存储介质 |
-
2018
- 2018-11-07 CN CN201811319504.4A patent/CN109391706A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170187747A1 (en) * | 2015-12-28 | 2017-06-29 | Arbor Networks, Inc. | Using recurrent neural networks to defeat dns denial of service attacks |
CN107992469A (zh) * | 2017-10-13 | 2018-05-04 | 中国科学院信息工程研究所 | 一种基于词序列的钓鱼url检测方法及系统 |
CN108600200A (zh) * | 2018-04-08 | 2018-09-28 | 腾讯科技(深圳)有限公司 | 域名检测方法、装置、计算机设备及存储介质 |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109977118A (zh) * | 2019-03-21 | 2019-07-05 | 东南大学 | 一种基于词嵌入技术和lstm的异常域名检测方法 |
CN110321430A (zh) * | 2019-04-16 | 2019-10-11 | 中国银行股份有限公司 | 域名识别和域名识别模型生成方法、装置及存储介质 |
CN110321430B (zh) * | 2019-04-16 | 2021-08-06 | 中国银行股份有限公司 | 域名识别和域名识别模型生成方法、装置及存储介质 |
CN110113327A (zh) * | 2019-04-26 | 2019-08-09 | 北京奇安信科技有限公司 | 一种检测dga域名的方法及装置 |
CN110191103B (zh) * | 2019-05-10 | 2022-07-15 | 长安通信科技有限责任公司 | 一种dga域名检测分类方法 |
CN110191103A (zh) * | 2019-05-10 | 2019-08-30 | 长安通信科技有限责任公司 | 一种dga域名检测分类方法 |
CN110807098A (zh) * | 2019-09-24 | 2020-02-18 | 武汉智美互联科技有限公司 | 基于BiRNN深度学习的DGA域名检测方法 |
CN110784483A (zh) * | 2019-11-04 | 2020-02-11 | 北京航空航天大学 | 一种基于dga异常域名的事件检测系统及方法 |
CN113381963B (zh) * | 2020-02-25 | 2024-01-02 | 深信服科技股份有限公司 | 一种域名检测方法、装置和存储介质 |
CN113381963A (zh) * | 2020-02-25 | 2021-09-10 | 深信服科技股份有限公司 | 一种域名检测方法、装置和存储介质 |
CN112733057A (zh) * | 2020-11-27 | 2021-04-30 | 杭州安恒信息安全技术有限公司 | 网络内容安全检测方法、电子装置和存储介质 |
CN112929341A (zh) * | 2021-01-22 | 2021-06-08 | 网宿科技股份有限公司 | 一种dga域名的检测方法、系统及装置 |
CN113098896A (zh) * | 2021-04-26 | 2021-07-09 | 中国移动通信集团陕西有限公司 | 域名检测方法、装置、设备及介质 |
CN113347210B (zh) * | 2021-08-03 | 2021-10-29 | 北京观成科技有限公司 | 一种dns隧道检测方法、装置及电子设备 |
CN113347210A (zh) * | 2021-08-03 | 2021-09-03 | 北京观成科技有限公司 | 一种dns隧道检测方法、装置及电子设备 |
CN116074081A (zh) * | 2023-01-28 | 2023-05-05 | 鹏城实验室 | Dga域名检测方法、装置、设备及存储介质 |
CN116074081B (zh) * | 2023-01-28 | 2023-06-13 | 鹏城实验室 | Dga域名检测方法、装置、设备及存储介质 |
CN116886414A (zh) * | 2023-08-09 | 2023-10-13 | 华能信息技术有限公司 | 一种dga域名检测方法、系统及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109391706A (zh) | 基于深度学习的域名检测方法、装置、设备和存储介质 | |
Lin et al. | Cross-project transfer representation learning for vulnerable function discovery | |
US10402163B2 (en) | Intelligent data extraction | |
CN111866004B (zh) | 安全评估方法、装置、计算机系统和介质 | |
CN108229170B (zh) | 利用大数据和神经网络的软件分析方法和装置 | |
Bashardoost et al. | Replacement attack: A new zero text watermarking attack | |
CN110705255A (zh) | 检测语句之间的关联关系的方法和装置 | |
Ullah et al. | Programmers' de-anonymization using a hybrid approach of abstract syntax tree and deep learning | |
CN111881398A (zh) | 页面类型确定方法、装置和设备及计算机存储介质 | |
CN106992967A (zh) | 恶意网站识别方法和系统 | |
US11176311B1 (en) | Enhanced section detection using a combination of object detection with heuristics | |
CN113918936A (zh) | Sql注入攻击检测的方法以及装置 | |
CN113971283A (zh) | 一种基于特征的恶意应用程序检测方法及设备 | |
Catania et al. | Deep convolutional neural networks for DGA detection | |
CN112087473A (zh) | 文档下载方法、装置、计算机可读存储介质和计算机设备 | |
CN113836297B (zh) | 文本情感分析模型的训练方法及装置 | |
CN114881012A (zh) | 基于自然语言处理的文章标题及内容的智能改写系统及方法 | |
CN111401067B (zh) | 一种蜜罐仿真数据的生成方法及装置 | |
CN113688346A (zh) | 一种违法网站识别方法、装置、设备及存储介质 | |
Lopardo et al. | Faithful and Robust Local Interpretability for Textual Predictions | |
ALI et al. | A Novel Leader Election Algorithm for Honeycomb Mesh Networks | |
CN117574391B (zh) | 一种基于三地址码和神经网络的代码漏洞检测方法和系统 | |
Luz et al. | Training a Bidirectional LSTM model for fake job detection | |
Othman et al. | VULDAT: Automated Vulnerability Detection from Cyberattack Text | |
Abrol et al. | Phishing Website Detection |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190226 |
|
RJ01 | Rejection of invention patent application after publication |