文摘
随着互联网技术的发展,网络安全受到各种威胁。特别是,攻击者可以传播恶意统一资源定位器(URL)进行攻击,如钓鱼和垃圾邮件。研究恶意URL为防御这些攻击检测具有重要意义。然而,在当前的研究中仍存在一些问题。例如,恶意功能不能有效地提取。一些现有的检测方法很容易被攻击者逃避。我们设计一个恶意URL基于动态卷积神经网络检测模型(DCNN)来解决这些问题。一个新的折叠层添加到原来的多层卷积网络。它取代了池层与k-max-pooling层。在动态卷积算法,中间特性映射层的宽度取决于输入维向量。 Moreover, the pooling layer parameters are dynamically adjusted according to the length of the URL input and the depth of the current convolution layer, which is beneficial to extracting more in-depth features in a wider range. In this paper, we propose a new embedding method in which word embedding based on character embedding is leveraged to learn the vector representation of a URL. Meanwhile, we conduct two groups of comparative experiments. First, we conduct three contrast experiments, which adopt the same network structure and different embedding methods. The results prove that word embedding based on character embedding can achieve higher accuracy. We then conduct the other three experiences, which use the same embedding method proposed in this paper and use different network structures to determine which network is most suitable for our model. We verify that the model designed in this paper has the highest accuracy (98%) in detecting malicious URL through these experiences.
1。介绍
黑客经常使用垃圾邮件和网络钓鱼(1,2)欺骗用户点击恶意URL,将木马植入受害者的电脑,或受害者的敏感信息泄露。恶意网址检测的技术可以帮助用户识别恶意URL和防止用户受到恶意URL。传统上,研究恶意URL检测采用基于黑名单的方法来检测恶意URL。这种方法有一些独特的优势。高速,假阳性率较低,易于实现。然而,如今,域生成算法(DGA)可以产生成千上万的每天不同的恶意域名,不能检测到由传统的基于黑名单方法有效。
研究人员一直在使用机器学习技术来识别恶意URL。然而,这些方法通常需要手动提取的特性,这些特性和攻击者可以设计,以免被发现。面对当今复杂的网络环境,设计一个更有效的检测恶意URL模式成为研究的焦点。
本文提出一种基于DCNN恶意URL检测模型。采用字嵌入基于字符嵌入方法自动提取特征和学习URL的表达式。与此同时,我们验证了该模型的有效性通过一系列的对比实验。
在这项研究中,我们的创新和贡献如下:(1)本文提出一种基于DCNN恶意URL检测模型。动态卷积算法添加一个新的折叠层原始卷积多层结构。它取代了池层与k-max-pooling层。在动态卷积算法,中间特性映射层的宽度取决于输入维向量。此外,池层参数动态调整的长度根据URL输入和当前卷积层的深度,这有助于提取更广泛更深入的特性。(2)在特征提取阶段和代表性,特性从URL中提取序列。提取的功能集成到一个向量,向量处理直接由卷积神经网络学习的分类模型。这种方法不仅简化了特征提取的过程,它不依赖于手动提取特征,还结合了字符嵌入和单词嵌入的优点。嵌入可以获得词序列信息,无法获得的字符嵌入。字符嵌入可以处理特殊字符和不熟悉的单词的URL。字典和向量维度也不是太大。结合可以更有效地节省内存空间和表达的URL,这将有助于从URL中提取信息。(3)证明本文提出的模型的可行性,我们做了很多的比较实验。至于嵌入方法,我们进行三个对比实验来验证这个词嵌入基于字符嵌入达到精度高于单词嵌入和字符嵌入。我们还执行三个对比实验,证明利用DCNN组成的网络结构和不同的领域从URL中提取可以达到更好的效果。
本文的其余部分组织如下。节2,我们引入恶意URL检测方法的研究现状。节3,我们提出恶意URL检测模型及其主要模块。节4,我们恶意URL进行实验检测模型和测试的嵌入方法。最后,我们提供了一个简短的讨论部分5。
1.1。相关工作
目前,该方法(3- - - - - -5)检测恶意URL大致可以分为基于黑名单的传统检测方法和基于机器学习的检测方法。文献[6,7]介绍了检测方法基于一个黑名单。尽管该方法简单、高效,它不能检测到新生成的恶意网址,有严重的局限性。文献[8)指出,攻击者可以通过随机生成各种恶意域名种子有效规避传统检测方法基于一个黑名单。
在文献[9- - - - - -11),研究人员应用机器学习技术来检测恶意URL。基于统计机器学习学习预测模型属性和分类一个URL作为恶意URL或良性的URL。这种方法尝试分析URL和他们相关的网站或网页信息提取功能。用这种方法提取的特征通常分为两种类型,静态特性和动态特性。文献[12在URL字符串)获得词汇信息,主机的信息,有时HTML和JavaScript的内容。文献[13]从URL,提取一系列网络与交通有关的特征,采用支持向量机(SVM)的检测。文献[14)提出了三种方法的特征处理优化分类的效果。虽然上面的方法表现出良好的性能,仍有一些局限性。基于机器学习的传统检测方法往往需要手动提取特征(15,16]。攻击者可以避免被检测到这些检测方法通过设计这些特性,使它很难保持检测系统基于传统机器学习。此外,在大规模恶意URL检测,一个训练有素的模型从URL可能会失去一些有用的信息。
指的是文本分类的想法(17,18),许多研究者提出了基于深度学习的各种方法(19)模型来检测恶意URL和判断一个URL是否恶意只根据URL中包含的字符串。这些方法可以自动提取有效信息的URL。例如,文献[20.)使用循环神经网络模型在人物等级分类DGA生成的URL。文献[21)提出了极端的机器学习的方法来检测恶意URL。结合语法模型与深度学习、文献[22]的优点需要字符级语义特征来检测是否DGA生成的URL。各种深度学习架构为恶意URL检测中列出文献[23),包括单层结构的长期短期记忆(LSTM) [24),结构的双向LSTM [25),CNN和LSTM[的组合结构26,27],和深卷积结构[28]。在此基础上,文献[29日)设计的关键字恶意URL检测模型,结合词嵌入和格勒乌模型。文献[30.)分析不同的URL的结构和特性,提取更多的特性,提出了一种为URL的multiclassification semisupervised训练模型。文献[31日)提取网址域名重定向攻击的特性和瞬时特征和优化神经网络结构来提高检测精度。近年来,它已成为一个新的研究方向直接检测恶意URL。文献[32]以恶意的原始URL作为输入URL检测系统,将URL转换成特征向量通过字符嵌入技术,然后使用卷积神经网络训练,大大降低数据的维数和计算。此外,它可以帮助达到良好的分类效果。在文献[30.),字嵌入用于URL在每个消息转换成向量矩阵,然后输入到卷积神经网络进行分析。文献[33提高检测算法和添加一个卷积分支CNN结构深入提取字符级特性。这种方法的缺点是,它采用字符嵌入或字嵌入,并很难提取特征字符和短语。文献[34,35)采用并行卷积神经网络检测恶意URL。他们把字符嵌入和单词嵌入,提高词向量中的嵌入方法嵌入阶段,并提取URL的性格和短语功能,提高检测效果。然而,他们的一个缺点是,固定CNN结构是用来检测URL。不能调整模型参数根据输入向量的维度,因此很难提取在广泛深入的特性。
基于DCNN,本文设计一种恶意URL检测模型来解决上述问题。在接下来的章节我们将细节。材料与方法部分应该包含足够的细节,使所有程序可以重复。它可以分成部分如果几个方法。
2。恶意网址检测模型
我们提出了一个恶意URL基于卷积神经网络检测模型。的建设模型如图1。模型主要包括三个模块:向量嵌入模块,动态卷积模块和块提取模块。在接下来,我们将详细介绍每个模块和检测过程。
3所示。向量嵌入模块
在我们的模型中,一个URL输入到嵌入层,我们使用字嵌入基于字符嵌入到URL转换成一个向量表达式。此外,将输入的URL DCNN特征提取。
向量嵌入模块将输入URL序列表示为一个合适的向量来促进随后的过程。一开始,URL初始化随机向量表示。然后输入到嵌入层用于后续培训和最合适的URL向量表达式是在训练过程中获得的。这个模块使用一种先进的基于字符嵌入的嵌入方法。模块提取相位信息的URL和字符级信息的词。提取的信息将用于后续培训,获得最合适的URL的矢量表达式,然后输入向量表达式到随后的卷积层。
一个词的例子基于字符嵌入方法嵌入图所示2,在那里代表人物和文字的嵌入维数,代表单词URL字符串中包含的数量,和代表中包含的字符数的URL字符串中的每个单词。在这个例子中,我们将每个URL转换成一个id的单词和字符序列,分别。然后,嵌入层获得词嵌入矩阵和字符嵌入矩阵在随后的培训。这个词ID序列使用嵌入矩阵获取矩阵表达式在这个词的水平。ID序列使用字符嵌入矩阵获得基于字符嵌入多个词矩阵表达式。多个词矩阵将被合并和压缩成一个矩阵表示在单词层面的URL。矩阵表示和矩阵表示是补充道。我们将URL的最后表示。
3.1。动态卷积模块
动态卷积模块自动从输入数据中提取特性。数据的加工过程包括一维卷积、折叠和动态池。DCNN可以调整参数和提取特征在更广泛的基础上输入长度和当前卷积层。
当DCNN培训、网络的上层的输出输入到网络的下一层。URL输入到输入层,并转换为一个合适的嵌入层中的向量表达式。然后,卷积第一层开始提取特征。数据从卷积的输出层后,张量的维度被压缩的数据折叠层,然后输入到池层动态池。convolution-folding-pooling几轮后,最终的数据输入到完全连接层的训练,最后结果是输出层的输出。
3.2。块提取模块
块提取模块提取不同领域如域名、域名,域名后缀从URL并将它们作为第二编码数据的检测模型。在嵌入层,URL转换为一个适当的向量。通过嵌入层,第二个数据分支是与第一个数据合并,合并后的结果是完全连接输入层进行训练。当块提取模块提取不同的领域,它可以单独的顶级域名或国家域名从URL字符串。
块提取模块可以区分通用顶级域名和国家顶级域名。因此,该模型可以充分利用的基本信息。需要在URL中不同领域不同的特性,丰富了完全连接层的输入。
3.3。检测过程
检测过程如下。首先,域名,子域名,域名后缀按顺序从URL。在第一个分支的检测模型,我们垫固定长度的每个URL,其中每一个字与一个特定的数字标记。整个URL被表示为一个数字序列。然后,嵌入的序列是输入层和与其他层一起训练。这些序列将学习培训过程中适当的矢量表达式。随后从嵌入层数据流输出是输入DCNN。输出经过卷积层,折叠层和池层在连续两轮。在平层,数据流被夷为平地。然后等待连接的数据从其他分支,域名,子域名,域名后缀标记。 The different main domain name, subdomain name, or domain name suffix in each field are encoded as an independent expression. Then, the marked data are inputted into the three newly added embedding layers and obtain the appropriate vector expression. After that, the information is transformed into a suitable shape in the reshape layer and merged with the first branch’s data. The two branches’ outputs are combined and jointly inputted to the fully connected layer for training. We use the DCNN to extract features automatically and use different fields in URL as different features to detect malicious URL jointly. After the dropout layer, the result is outputted into the output layer.
这个模型可以充分获得信息由不同的URL字符串中的字段和丰富完全连接的输入层,使检测效果。
总之,处理数据添加的分支扩大检测模型的输入。当培训完全连接层,由卷积神经网络特征自动提取,提取人工从URL字段中。检测模型可以有效地利用URL中的关键信息,如顶级域名和国家域名,达到更高的精度和召回。准确性是至关重要的,特别是对于检测模型,因为如果精度低,正常的网页可能列为恶意网站和将被阻塞。
4所示。实验和评价
4.1。实验环境
实验环境是基于Windows操作系统。处理器是i5 - 7500, 8 GB的内存,编程语言是Python 3.6, TensorFlow深度学习框架。
4.2。比较实验之间不同的嵌入方法
我们的论文采用基于字符嵌入,嵌入方法这个词被认为是优点和缺点的字嵌入和字符嵌入。字嵌入基于字符嵌入的优点如下:(1)该方法可以有效地表达罕见的词。它充分利用字符级和句信息。因此,该方法可以准确地代表稀有词URL。(2)这种方法可以减少嵌入式矩阵的规模,减少内存空间。与此同时,它可以帮助一个URL转换为一个更准确的表达。(3)这种方法可以把新单词不存在在训练集更准确的向量,从而提取字符信息。
基于不同的嵌入方法,我们进行了三个比较实验。实验1采用字符嵌入。实验2使用字嵌入作为嵌入方法。实验3字嵌入基于字符嵌入用作一个嵌入方法。这些实验使用恶意DGA URL作为训练集,和网络结构堆叠CNN。我们测量的准确性,F1-score、精度和召回率来评估结果。
攻击者可以通过恶意与控制中心通信DGA域名。恶意DGA域名可以被视为一个字符串在检测。然而,与真正的恶意URL相比,恶意DGA域名包含更少的字符。
实验结果如表所示1。我们发现字嵌入基于字符嵌入实现上述两种嵌入方法中精度最高通过这些实验。词的准确性基于字符嵌入嵌入0.958;字符嵌入和单词的准确性嵌入只有0.923和0.954,分别。的回忆文字嵌入基于字符嵌入达到0.976,高于字符嵌入和单词嵌入。我们还绘制ROC曲线和AUC曲线三个实验。这是显示在图3。
4.2.1。准备网络结构的实验
(我)实验数据集。我们收集了大量的数据从URLgithub.com,uci.edu,kaggle.com为了验证模型的有效性和可行性。此外,我们选择前100万个域名,Alexa的网站上发表了一篇5月17日,2019年,作为标准URL。Alexa排名URL的网站流量,包括网站的顶级域和子域。数据集划分如表所示2;数据集的分布数据所示4- - - - - -6。
(2)实验设置。我们设计了三个比较实验。我们试着使用不同的网络结构来确定我们的模型的最佳解决方案。实验1利用堆叠CNN。实验2只利用DCNN。实验3采用DCNN,提取不同领域从URL参加培训。我们为这三个实验设置相同的实验参数。除此之外,每个URL的长度设置为200字,和向量嵌入维数为32。DCNN包括两个卷积层。卷积核的数量被设置为128。 The DCNN was finally trained by one fully connected layer, and it adopted the Adam optimization algorithm. The learning rate was 0.001, and the drop rate of the dropout layer was 0.5. In the process of the experiment, we adopted batch training, and each batch contains 100 URL.
(3)实验结果和分析。我们测量的准确性,F1-score、精度和召回率来评估结果。本文检测模型的最终结果如表所示3。精度达到0.987,精度达到0.993,F1-score达到0.987,召回率是0.981。的准确性和损失数据所示7和8。随着迭代次数的增加,训练精度不断提高,和模型的拟合程度是理想的。同时,失去继续减少。
我们还列出其他比较实验的实验结果,如表所示4;网络结构DCNN +提取领域获得更好的效果比其他两种网络结构。精度达到0.987,精度为0.993。ROC曲线绘制,AUC值是为了便于比较和分析计算。他们在图所示9。我们可以看到的TPR DCNN +提取是第一个达到0.9993。
从结果可以看出,实验3中获得最佳检测效果。高精度表明良性样品不太可能被误判为恶意样本。实验表明,该URL可以充分表达,关键特性可以获得更好的检测结果中提取使用DCNN和嵌入基于字符嵌入这个词。从URL中提取不同领域的关键词可以充分利用URL来提高检测准确度和精密度。上述实验验证的有效性检测模型。
5。结论
本文旨在设计一个新的恶意URL基于深度学习检测模型。我们设计了一个基于字符嵌入的嵌入方法,和一个URL的矢量表达式是由字符嵌入结合词自动嵌入。恶意URL的DCNN检测设计。根据输入向量的长度和深度的卷积层、汇聚层参数动态调整提取功能更广泛。我们协调不同的模块和调整网络参数之间的关系。除此之外,真正的URL和恶意DGA URL在现实网络收集,和一系列的实验的设计和实施。结果和各种指标进行比较和分析证明的有效性检测模型。
检测模型在实验达到预期效果。然而,考虑到网络流量测试环境和真实网络是不同的,随着互联网的发展,类型的恶意URL更加多样化。需要及时更新模型在实际的场景中。因此,为了更好地适应各种复杂的应用场景的需求,我们计划研究如何简化检测模型的体系结构和缩短训练时间,同时保持在未来检测性能不变。
数据可用性
URL数据用于支持这项研究的结果已经存入恶意和良性的URL数据集:https://gitee.com/blackwall/UrlDetect/blob/master/urldetect/%E5%AE%9E%E9%AA%8C%E4%BB%A3%E7%A0%81.zip。
的利益冲突
作者宣称没有利益冲突有关的出版。
确认
作者欣然承认网络评估的重点实验室技术研究所的信息工程。本研究重点实验室支持的财务信息网络安全、公安部(C19614),中国博士后科学基金会(2019 m650606),和一流的学科建设项目的北京电子科技学院(3201012)。