训练用于分类统一资源定位符的分类器的方法及系统与流程

文档序号:25653244发布日期:2021-06-29 21:12阅读:127来源:国知局
训练用于分类统一资源定位符的分类器的方法及系统与流程

1.本公开涉及统一资源定位符url的分类,并且具体地涉及基于机器学习对统一资源定位符url进行。


背景技术:

2.我们每天都会浏览各种网站来获取信息资源,但潜在的威胁是,我们极有可能受各种挂马网站、色情网站、暴力网站、诈骗网站等的影响。为了应对这种网络安全威胁,检测恶意url非常有必要。


技术实现要素:

3.根据本公开的一个实施例,提供了一种训练用于分类统一资源定位符url的分类器的方法,包括:收集包括恶意url数据和正常url数据的url数据,获取与每个url数据对应的特征向量,使用过采样长短记忆单元对特征向量进行处理,所述过采样长短记忆单元将每个特征向量随机化得到与该特征向量对应的包括多个随机化的特征向量的一组序列,对所述一组序列中的每个随机化的特征向量进行长短记忆处理,将长短记忆处理后的随机化的多个特征向量求平均得到最终特征向量,以及使用最终特征向量训练分类器。
4.提供上述方案概述仅为了提供对本文所描述的主题的各方面的基本理解。因此,上述方案中的技术特征仅是示例并且不应被解释为以任何方式限制本文所描述的主题的范围或精神。本文所描述的主题的其他特征、方面和优点将从以下结合附图描述的具体实施方式而变得明晰。
附图说明
5.当结合附图考虑实施例的以下具体描述时,可以获得对本公开内容更好的理解。在各附图中使用了相同或相似的附图标记来表示相同或相似的部件和操作。其中:
6.图1示出了根据本发明的一个实施例的训练用于分类统一资源定位符url的分类器的流程图。
7.图2示出了根据本发明的一个实施例的使用经训练的分类器分类统一资源定位符url的示意图。
具体实施方式
8.以下描述根据本公开的方法和系统等各方面的具体示例。描述这些例子仅是为了增加上下文并帮助理解所描述的实施例。因此,对本领域技术人员而言明晰的是,以下所描述的实施例可以在没有具体细节当中的一些或全部的情况下被实施。在其他情况下,众所周知的操作没有详细描述,以避免不必要地模糊所描述的实施例。其他应用也是可能的,本公开的方案并不限制于这些具体示例。
9.本公开提出了一种基于机器学习的统一资源定位符url的检测方法和系统。通过
使用机器学习,能够批量进行对统一资源定位符url的检测。使用正常统一资源定位符url和恶意统一资源定位符url对模型进行训练。使用经训练的模型能够判断输入至该模型的统一资源定位符url是否为恶意统一资源定位符url。因此,能够自动地对攻击的url进行判断,检测出恶意的url攻击。本公开所提供的技术方案能够克服传统方法缺乏发现新型恶意url的能力。同时较基于特征工程的方法有更高的准确率。
10.根据本公开的一个实施例,提供了一种训练用于分类统一资源定位符url的分类器的方法,包括:收集包括恶意url数据和正常url数据的url数据,获取与每个url数据对应的特征向量,使用过采样长短记忆单元对特征向量进行处理,所述过采样长短记忆单元将每个特征向量随机化得到与该特征向量对应的包括多个随机化的特征向量的一组序列,对所述一组序列中的每个随机化的特征向量进行长短记忆处理,将长短记忆处理后的随机化的多个特征向量求平均得到最终特征向量,以及使用最终特征向量训练分类器。
11.图1示出了根据本发明的一个实施例的训练用于分类统一资源定位符url的分类器的流程图。
12.在步骤101中,收集包括恶意url数据和正常url数据的url数据。例如,收集大量的恶意url数据作为负样本,同时需要收集大量的正常url作为正样本,这样就得到了用于训练模型的数据样本。
13.根据本公开的一个实施例,收集包括恶意url数据和正常url数据的url数据包括使得所收集的恶意url数据与所收集的正常url数据的量大致相等。
14.在实际过程中,正常url的数量会远大于恶意url的数量,但是在分类任务中,正负样本均衡是很重要的条件,所以这步尽量准备正负样本大致均衡的数据。
15.在步骤102中,获取与每个url数据对应的特征向量。
16.在步骤103中,使用过采样长短记忆单元对特征向量进行处理。其中,所述过采样长短记忆单元将每个特征向量随机化得到与该特征向量对应的包括多个随机化的特征向量的一组序列,对所述一组序列中的每个随机化的特征向量进行长短记忆处理,将长短记忆处理后的随机化的多个特征向量求平均得到最终特征向量。
17.根据本发明的一个实施例,其中根据如下公式对特征向量进行处理:
[0018][0019]
x

是最终特征向量,x
k
是第k个随机化特征向量,n为对每个特征向量随机化得到的随机化向量的个数,lstm为长短期记忆处理。
[0020]
本领域的技术人员将理解,长短期记忆处理是一种时间循环神经网络,适合于处理和预测时间序列中间隔和延迟非常长的重要事件。
[0021]
在检测恶意url的任务中,需要使用能够分类正常url和恶意url的分类器。为了训练该分类器,本申请采用了o-lstm(过采样长短记忆单元,oversampling-lstm)模型。该模型基于url的文本内容较少的特点,通过对特征序列进行随机打乱得到一组序列,然后对一组序列中的每个特征向量分别通过lstm得到挖掘后的特征,把通过lstm得到的特征向量求平均得到最终特征向量。
[0022]
如公式1所示,x
k
是第k种打乱的序列,总共得到n个值,取平均值得到最终特征向量。
[0023]
在步骤104中,使用最终特征向量训练分类器。
[0024]
本公开的技术方案利用深度学习方法提供了恶意url检测任务的端到端解决方案,在数据量充足的情况下极大地提高了检测准确度。
[0025]
本公开的技术方案设计了o-lstm模型,该模型对于短文本的特征挖掘进行了加强,提高了检测准确率,对相似任务的解决提供了很好的借鉴。
[0026]
根据本发明的一个实施例,训练用于分类统一资源定位符url的分类器的方法还包括对所收集的url数据进行预处理。
[0027]
如图1所示,在步骤105中示出了对所收集的url数据进行预处理。
[0028]
在根据本发明的一个实施例中,对所收集的url数据进行预处理包括对数据进行降噪处理。在根据本发明的一个实施例中,对所收集的url数据进行预处理包括去除url数据中的协议头。例如,url中的协议头部分是不包含恶意特征信息的,但是协议头部分在url文本中也占一定比例,对整个url进行语义挖掘时,协议头会引入一些噪声细信息,所以在预处理步骤中对协议头进行去除以对数据进行降噪。
[0029]
在根据本发明的一个实施例中,对所收集的url数据进行预处理包括使得所收集的url数据对齐。例如,所收集的url数据的长度通常并不一致,为了更好地处理数据及挖掘特征,通常使用相同的长度使url数据对齐。例如,对齐长度通常为512。本领域的技术人员可以理解,可以选用任何合适的对齐长度。
[0030]
在根据本发明的一个实施例中,训练用于分类统一资源定位符url的分类器的方法还包括在使用过采样长短记忆单元对特征向量进行处理之前对特征向量进行掩模处理,所述掩模处理加强url数据中的特殊字符对特征向量的贡献。
[0031]
如图1所示,在步骤102-1中示出了对特征向量进行掩模处理。
[0032]
本公开提出了在检测恶意url的任务中存在的url数据是半结构化数据的特点,并且在url数据中存在具有特殊含义而需要区别对待的字符。例如,根据本发明的一个实施例,特殊字符包括“/”,“&”,“?”以及“.”中的一个或多个。本领域的技术人员将理解,可以根据收集的数据而选用其他类型的特殊字符。
[0033]
根据本发明的一个实施例,其中对特征向量进行掩模处理基于如下公式:
[0034]
x=x
e
m,
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
公式2
[0035]
其中x
e
是所获取的预处理后的url数据的特征向量,m是表示特殊字符对特征向量的贡献的向量,x是处理后得到的向量。
[0036]
在根据本发明的一个实施例中,训练用于分类统一资源定位符url的分类器的方法还包括在使用过采样长短记忆单元对特征向量进行处理之前对特征向量进行尺度变换处理,所述尺度变换处理调整url数据中的字符对特征向量的贡献。
[0037]
如图1所示,在步骤102-2中示出了对特征向量进行尺度变换处理。
[0038]
本公开提出了在检测恶意url的任务中存在的url的篇幅较小且一些不常见的字符特征值会很小的特点。针对该特点,本公开的一个实施例提出了通过尺度变换参数来调整特征值数值大小对结果的影响的技术方案。
[0039]
根据本发明的一个实施例,其中根据如下公式对特征向量进行处理:
[0040]
[0041][0042]
其中x
e
是所获取的预处理后的url数据的特征向量,m是表示特殊字符对特征向量的贡献的向量,s是尺度变换参数,n表示包含特定字符的样本的个数,σ是调节参数,x是处理后得到的向量。
[0043]
在根据本公开的实施例中,通过对url的特征向量进行掩模处理和尺度变换处理,使得对url特征的提取非常有效。如上所述,掩模处理和尺度变换处理符合url数据物理意义的解释,例如利用了url数据呈现结构化、具有特殊字符、长度较短及包含特征值很小的字符的特点。
[0044]
例如,可以根据本发明的技术方案如下设计具体的神经网络。选用128维的embedding层获取特征向量,在预处理url数据时选用512的对齐长度,对特征向量进行掩模处理时使用“/”、“&”、“?”、“.”四种特殊字符,得到一个512*256的mask层。两部分相乘得到128*256维度的输出特征向量。然后选用合适的尺度因子进行缩放。
[0045]
对处理后的特征向量进行16种随机打乱得到128*256*16的向量,选用隐层维度256的lstm模块进行并行训练的到128*256*16的向量,在第三个维度上进行平均,得到128*256的最终特征向量。可以使用该最终特征向量训练分类器,以得到能够检测恶意url数据的分类器。
[0046]
根据本发明的一个实施例,提供了一种检测统一资源定位符url的方法,包括:将需要检测的url输入根据前述训练的分类器,以及从所述分类器得到该url是否为恶意的结果。
[0047]
图2示出了根据本发明的一个实施例的使用经训练的分类器分类统一资源定位符url的示意图。如上所述,使用所收集、预处理、处理之后的url数据训练了分类器之后,可以使用该经训练的分类器自动检测任意url数据是否为恶意。如图2所示,在分类器的输入端输入待检测的url,就会在分类器的输出端得到该url是否恶意的结果。
[0048]
根据本发明的一个实施例,提供了一种用于检测统一资源定位符url的系统,包括处理器及存储器,所述存储器具有程序指令存储其上,当由处理器执行所述程序指令时执行如上所述的方法。
[0049]
在一些实施例中,存储器可以包括安装介质(例如cd-rom、软盘或磁带设备)、随机存取存储器(诸如dram、ddr ram、sram、edo ram、rambus ram等)、非易失性存储器(诸如闪存、磁介质或光学存储装置)、寄存器或其他类似类型的存储器元件等。存储器1102还可以包括其他类型的存储器或其组合。
[0050]
处理器可以是可用于处理信息的任何处理器,诸如微处理器、数字信号处理器、微控制器、多核处理器、专用处理器、用于网络通信的接口等等。处理器可以运行存储设备中所存储的各种软件部件(如根据本公开实施例的可能的软件部件),以执行系统的各种功能。
[0051]
本公开的各方面可以呈现完全硬件实施例、完全软件实施例(包括固件、常驻软件、微代码等)或组合软件和硬件方面的实施例的形式,所有前述的各项在本文中都可以一般性地称为“电路”、“模块”或“系统”。可以使用一个或多个计算机可读存储介质的任何组合。计算机可读存储介质可以是计算机可读信号介质或计算机可读存储介质。
[0052]
计算机可读存储介质可以是例如但不限于电子的、磁性的、光学的、电磁的、红外的或半导体系统、装置或设备,或前述的各项的任何适当的组合。计算机可读存储介质的更具体的实例(非穷举列表)将包括以下内容:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或闪存)、光纤、便携式光盘只读存储器(cd-rom)、光存储设备、磁存储设备或前述的各项的任何适当组合。在本文档的上下文中,计算机可读存储介质可以是任何包含或存储由指令执行系统、装置或设备使用或与其结合使用的程序的有形介质。
[0053]
本公开在各种实施例、配置和方面中包括基本上如本文描绘和描述的组件、方法、过程、系统和/或装置,包括各种实施例,子组合和其子集。本领域技术人员将理解在理解本公开之后如何制造和使用本文公开的系统和方法。在各种实施例、配置和方面中,本公开包括提供不存在本文未描绘和/或描述的项目的装置和过程,或在本文的各种实施例、配置或方面中,包括不存在可能已经在以前的装置或过程中使用的项目,例如用于提高性能、实现简易性和/或降低实现成本。
[0054]
另外,本公开的实施方式还可以包括以下示例:
[0055]
项目1.一种训练用于分类统一资源定位符url的分类器的方法,包括:收集包括恶意url数据和正常url数据的url数据,获取与每个url数据对应的特征向量,使用过采样长短记忆单元对特征向量进行处理,所述过采样长短记忆单元将每个特征向量随机化得到与该特征向量对应的包括多个随机化的特征向量的一组序列,对所述一组序列中的每个随机化的特征向量进行长短记忆处理,将长短记忆处理后的随机化的多个特征向量求平均得到最终特征向量,以及使用最终特征向量训练分类器。
[0056]
项目2.如项目1所述的方法,还包括对所收集的url数据进行预处理。
[0057]
项目3.如项目1所述的方法,还包括在使用过采样长短记忆单元对特征向量进行处理之前对特征向量进行掩模处理,所述掩模处理加强url数据中的特殊字符对特征向量的贡献。
[0058]
项目4.如项目1所述的方法,还包括在使用过采样长短记忆单元对特征向量进行处理之前对特征向量进行尺度变换处理,所述尺度变换处理调整url数据中的字符对特征向量的贡献。
[0059]
项目5.如项目1所述的方法,其中收集包括恶意url数据和正常url数据的url数据包括使得所收集的恶意url数据与所收集的正常url数据的量大致相等。
[0060]
项目6.如项目2所述的方法,其中对所收集的url数据进行预处理包括对数据进行降噪处理。
[0061]
项目7.如项目2所述的方法,其中对所收集的url数据进行预处理包括去除url数据中的协议头。
[0062]
项目8.如项目2所述的方法,其中对所收集的url数据进行预处理包括使得所收集的url数据对齐。
[0063]
项目9.如项目3所述的方法,其中对特征向量进行掩模处理基于如下公式:x=x
e
m,其中x
e
是所获取的预处理后的url数据的特征向量,m是表示特殊字符对特征向量的贡献的向量,x是处理后得到的向量。
[0064]
项目10.如项目4所述的方法,其中根据如下公式对特征向量进行处理:
其中x
e
是所获取的预处理后的url数据的特征向量,m是表示特殊字符对特征向量的贡献的向量,s是尺度变换参数,n表示包含特定字符的样本的个数,σ是调节参数,x是处理后得到的向量。
[0065]
项目11.如项目9或10所述的方法,其中所述特殊字符包括“/”,“&”,“?”以及“.”中的一个或多个。
[0066]
项目12.如项目1所述的方法,其中根据如下公式对特征向量进行处理:
[0067]
是最终特征向量,x
k
是随机化特征向量,n为对每个特征向量随机化得到的随机化向量的个数。
[0068]
项目13.一种检测统一资源定位符url的方法,包括:将需要检测的url输入根据前述任一项目训练的分类器,以及从所述分类器得到该url是否为恶意的结果。
[0069]
项目14.一种用于检测统一资源定位符url的系统,包括处理器及存储器,所述存储器具有程序指令存储其上,当由处理器执行所述程序指令时执行如项目1-13中任一项所述的方法。
[0070]
此外,虽然对本公开的描述已经包括了对一个或多个实施例、配置或方面的描述,但是某些变型和修改、其他变型、组合和修改也在本公开的范围内,例如,在本领域技术人员理解了本公开之后,这可能在他们的技术和知识范围内。本公开旨在获得权利,该权利应当包括在允许范围内的替代实施例、配置或方面,包括与所要求保护的那些结构、功能、范围或步骤的替代的、可互换的和/或等效的结构、功能、范围或步骤,无论这些替代的、可互换的和/或等效的结构、功能、范围或步骤是否在本文中具体说明。本文不旨在公开地贡献任何可取得专利的技术方案。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1