用于识别网络攻击行为的方法、装置、电子设备及介质制造方法及图纸

技术编号:25958702 阅读:37 留言:0更新日期:2020-10-17 03:51
本公开提供了一种用于识别网络攻击行为的方法、装置、电子设备及介质。所述方法包括:获取第一数据流,所述第一数据流为在预设时长范围内基于网络控制报文协议ICMP传输的数据流;提取所述第一数据流对应的第一特征向量,其中,所述第一特征向量至少包括所述M个数据包中每个数据包的数据字段中的字符的分布特征;将所述第一特征向量输入到分类器以获取所述分类器的输出;以及在所述分类器的输出表征所述第一数据流存在网络攻击行为时,确定所述第一数据流存在网络攻击行为。本公开还提供了一种用于识别网络攻击行为的分类器的训练方法和训练装置。

【技术实现步骤摘要】
用于识别网络攻击行为的方法、装置、电子设备及介质
本公开涉及互联网
,更具体地,涉及一种用于识别网络攻击行为的方法、装置、电子设备、及介质,以及一种用于识别网络攻击行为的分类器的训练方法和训练装置。
技术介绍
随着互联网技术的不断发展,互联网企业增加边界防护部署防火墙、ips(intrusionpreventionsystem,入侵防御系统)、waf(webapplicationfirewall,web应用防护系统)等安全防护工具,防止黑客攻击、拒绝恶意流量,但基于网络控制报文协议ICMP(Internetcontrolmessageprotocol)传输的网络流量为网络中必须启用的协议,多数防火墙等防护设备不会检测和禁用基于ICMP传输的网络流量。因此黑客为达到渗透和远程命令执行的目的,可以通过ICMP协议封装攻击指令来绕过防火墙等防护设备的监控,进行网络攻击。
技术实现思路
有鉴于此,本公开实施例提供了一种用于识别网络攻击行为的方法和装置、一种用于识别网络攻击行为的分类器的训练方法和训练装置、一种电子设备、以及一种计算机可读存储介质。本公开实施例的第一方面,提供了一种用于识别网络攻击行为的方法。所述方法包括:获取第一数据流,所述第一数据流为在预设时长范围内基于网络控制报文协议ICMP传输的数据流,其中,所述第一数据流包括在相同源端和目的端之间传输的M个数据包,其中M为大于等于1的整数;提取所述第一数据流对应的第一特征向量,其中,所述第一特征向量至少包括所述M个数据包中每个数据包的数据字段中的字符的分布特征;将所述第一特征向量输入到分类器以获取所述分类器的输出,所述分类器为用于预测基于ICMP传输的数据流是否存在网络攻击行为的机器学习模型;以及在所述分类器的输出表征所述第一数据流存在网络攻击行为时,确定所述第一数据流存在网络攻击行为。根据本公开的实施例,所述提取所述第一数据流对应的第一特征向量包括:提取所述M个数据包中每个数据包对应的子特征向量,以得到M个第一子特征向量;以及基于所述M个第一子特征向量,得到所述第一特征向量。根据本公开的实施例,所述提取所述M个数据包中每个数据包对应的子特征向量包括以下任意其一或两者的组合:基于对所述数据包的数据字段中的数据以字符为分词的最小单位进行n-gram分词,得到所述数据包的分词特征,其中,至少以所述数据包的分词特征来表征所述数据包的数据字段的字符的分布特征,n为大于等于2的整数;或者提取所述数据包的数据字段中的每个字符的出现比率,得到所述数据包的字符占比,其中,至少以所述数据包的字符占比来表征所述数据包的字符的分布特征。根据本公开的实施例,所述提取所述M个数据包中每个数据包对应的子特征向量还包括以下任意一项或多项的组合:将所述数据包的数据字段中的数据依次与预先构造的词典空间中的词匹配,得到所述数据包的词分布特征,其中,所述词典空间为将基于ICMP传输的不存在网络攻击行为的正常数据包的数据字段中的数据每四个字符划分为一个词构成的数据空间;获取所述数据包的数据字段的数据长度,以得到所述数据包的载荷大小特征;获取所述数据包的类型字段的取值,以得到所述数据包的协议类型特征;或者获取所述第一数据流中的数据包的个数M,以得到请求序列数。根据本公开的实施例,所述方法还包括训练所述分类器。其中训练所述分类器包括:获取至少一个第二数据流,所述第二数据流为在所述预设时长范围内基于ICMP传输的不存在网络攻击行为的正常数据流,其中所述第二数据流包括在相同源端和目的端之间传输的S个数据包,其中S为大于等于1的整数;获取至少一个第三数据流,所述第三数据流为在所述预设时长范围内基于ICMP传输的存在网络攻击行为的异常数据流,其中所述第三数据流包括在相同源端和目的端之间传输的R个数据包,其中R为大于等于1的整数;提取所述至少一个第二数据流中每个所述第二数据流对应的第二特征向量,得到正训练样本数据,其中,所述第二特征向量至少包括所述S个数据包中每个数据包的数据字段中的字符的分布特征;提取所述至少一个第三数据流中每个所述第三数据流对应的第三特征向量,得到负训练样本数据,其中,所述第三特征向量至少包括所述R个数据包中每个数据包的数据字段中的字符的分布特征;以及利用所述正样本训练数据和所述负样本训练数据,训练所述分类器。其中,所述第二特征向量、所述第三特征向量与所述第一特征向量的提取方式一致。本公开实施例的第二方面,提供了一种用于识别网络攻击行为的分类器的训练方法。所述训练方法包括:获取至少一个第二数据流,所述第二数据流为在预设时长范围内基于ICMP传输的不存在网络攻击行为的正常数据流,其中所述第二数据流包括在相同源端和目的端之间传输的S个数据包,其中S为大于等于1的整数;获取至少一个第三数据流,所述第三数据流为在所述预设时长范围内基于ICMP传输的存在网络攻击行为的异常数据流,其中所述第三数据流包括在相同源端和目的端之间传输的R个数据包,其中R为大于等于1的整数;提取所述至少一个第二数据流中每个所述第二数据流对应的第二特征向量,得到正训练样本数据,其中,所述第二特征向量至少包括所述S个数据包中每个数据包的数据字段中的字符的分布特征;提取所述至少一个第三数据流中每个所述第三数据流对应的第三特征向量,得到负训练样本数据,其中,所述第三特征向量至少包括所述R个数据包中每个数据包的数据字段中的字符的分布特征;以及利用所述正样本训练数据和所述负样本训练数据,训练所述分类器。其中,所述第二特征向量和所述第三特征向量的提取方式一致。根据本公开的实施例,所述提取所述至少一个第二数据流中每个所述第二数据流对应的第二特征向量包括:提取所述S个数据包中每个数据包对应的子特征向量,以得到S个第二子特征向量;以及基于所述S个第二子特征向量,得到所述第二特征向量。根据本公开的实施例,所述基于所述S个第二子特征向量,得到所述第二特征向量包括以下任意其一或两者的组合:基于对所述数据包的数据字段中的数据以字符为分词的最小单位进行n-gram分词,得到所述数据包的分词特征,其中,n为大于等于2的整数,其中,至少以所述数据包的分词特征来表征所述数据包的数据字段的字符的分布特征,n为大于等于2的整数;或者提取所述数据包的数据字段中的每个字符的出现比率,得到数据包的字符占比,其中,至少以所述数据包的字符占比来表征所述数据包的字符的分布特征。本公开实施例的第三方面,提供了一种用于识别网络攻击行为的装置。所述装置包括第一获取模块、第一提取模块、预测模块、以及确定模块。所述第一获取模块用于获取第一数据流,所述第一数据流为在预设时长范围内基于网络控制报文协议ICMP传输的数据流,其中,所述第一数据流包括在相同源端和目的端之间传输的M个数据包,其中M为大于等于1的整数。所述第一提取模块用于提取所述第一数据流对应的第一特征向量,其中,所述第一特征向量至少包括所述M个数据包中每个数据包的数据字段中的字符的分布特征。所述预测模块用于将所述第一特征向量输入到分类器以获取所述分类器的输出,所述分类器为用于预测基于本文档来自技高网...

【技术保护点】
1.一种用于识别网络攻击行为的方法,包括:/n获取第一数据流,所述第一数据流为在预设时长范围内基于网络控制报文协议ICMP传输的数据流,其中,所述第一数据流包括在相同源端和目的端之间传输的M个数据包,其中M为大于等于1的整数;/n提取所述第一数据流对应的第一特征向量,其中,所述第一特征向量至少包括所述M个数据包中每个数据包的数据字段中的字符的分布特征;/n将所述第一特征向量输入到分类器以获取所述分类器的输出,所述分类器为用于预测基于ICMP传输的数据流是否存在网络攻击行为的机器学习模型;以及/n在所述分类器的输出表征所述第一数据流存在网络攻击行为时,确定所述第一数据流存在网络攻击行为。/n

【技术特征摘要】
1.一种用于识别网络攻击行为的方法,包括:
获取第一数据流,所述第一数据流为在预设时长范围内基于网络控制报文协议ICMP传输的数据流,其中,所述第一数据流包括在相同源端和目的端之间传输的M个数据包,其中M为大于等于1的整数;
提取所述第一数据流对应的第一特征向量,其中,所述第一特征向量至少包括所述M个数据包中每个数据包的数据字段中的字符的分布特征;
将所述第一特征向量输入到分类器以获取所述分类器的输出,所述分类器为用于预测基于ICMP传输的数据流是否存在网络攻击行为的机器学习模型;以及
在所述分类器的输出表征所述第一数据流存在网络攻击行为时,确定所述第一数据流存在网络攻击行为。


2.根据权利要求1所述的方法,其中,所述提取所述第一数据流对应的第一特征向量包括:
提取所述M个数据包中每个数据包对应的子特征向量,以得到M个第一子特征向量;以及
基于所述M个第一子特征向量,得到所述第一特征向量。


3.根据权利要求2所述的方法,其中,所述提取所述M个数据包中每个数据包对应的子特征向量包括以下任意其一或两者的组合:
基于对所述数据包的数据字段中的数据以字符为分词的最小单位进行n-gram分词,得到所述数据包的分词特征,其中,至少以所述数据包的分词特征来表征所述数据包的数据字段的字符的分布特征,n为大于等于2的整数;或者
提取所述数据包的数据字段中的每个字符的出现比率,得到所述数据包的字符占比,其中,至少以所述数据包的字符占比来表征所述数据包的字符的分布特征。


4.根据权利要求3所述的方法,其中,所述提取所述M个数据包中每个数据包对应的子特征向量还包括以下任意一项或多项的组合:
将所述数据包的数据字段中的数据依次与预先构造的词典空间中的词匹配,得到所述数据包的词分布特征,其中,所述词典空间为将基于ICMP传输的不存在网络攻击行为的正常数据包的数据字段中的数据每四个字符划分为一个词构成的数据空间;
获取所述数据包的数据字段的数据长度,以得到所述数据包的载荷大小特征;
获取所述数据包的类型字段的取值,以得到所述数据包的协议类型特征;或者
获取所述第一数据流中的数据包的个数M,以得到请求序列数。


5.根据权利要求1~4任意一项所述的方法,其中,还包括训练所述分类器,包括:
获取至少一个第二数据流,所述第二数据流为在所述预设时长范围内基于ICMP传输的不存在网络攻击行为的正常数据流,其中所述第二数据流包括在相同源端和目的端之间传输的S个数据包,其中S为大于等于1的整数;
获取至少一个第三数据流,所述第三数据流为在所述预设时长范围内基于ICMP传输的存在网络攻击行为的异常数据流,其中所述第三数据流包括在相同源端和目的端之间传输的R个数据包,其中R为大于等于1的整数;
提取所述至少一个第二数据流中每个所述第二数据流对应的第二特征向量,得到正训练样本数据,其中,所述第二特征向量至少包括所述S个数据包中每个数据包的数据字段中的字符的分布特征;
提取所述至少一个第三数据流中每个所述第三数据流对应的第三特征向量,得到负训练样本数据,其中,所述第三特征向量至少包括所述R个数据包中每个数据包的数据字段中的字符的分布特征;以及
利用所述正样本训练数据和所述负样本训练数据,训练所述分类器;
其中,
所述第二特征向量、所述第三特征向量与所述第一特征向量的提取方式一致。


6.一种用于识别网络攻击行为的分类器的训练方法,包括:
获取至少一个第二数据流,所述第二数据流为在预设时长范围内基于网络控制报文协议ICMP传输的不存在网络攻击行为的正常数据流,其中所述第二数据流包括在相同源端和目的端之间传输的S个数据包,其中S为大于等于1的整数;
获取至少一个第三数据流,所述第三数据流为在所述预设时长范围内基于ICMP传输的存在网络攻击行为的异常数据流,其中所述第三数据流包括在相同源端和目的端之间传输的R个数据包,其中R为大于等于1的整数;
提取所述至少一个第二数据流中每个所述第二数...

【专利技术属性】
技术研发人员:吕博良叶红姜城
申请(专利权)人:中国工商银行股份有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1