CN106534135B - 一种流量检测规则的生成方法及装置 - Google Patents

一种流量检测规则的生成方法及装置 Download PDF

Info

Publication number
CN106534135B
CN106534135B CN201611033194.0A CN201611033194A CN106534135B CN 106534135 B CN106534135 B CN 106534135B CN 201611033194 A CN201611033194 A CN 201611033194A CN 106534135 B CN106534135 B CN 106534135B
Authority
CN
China
Prior art keywords
longest common
load data
common subsequence
flow
attack
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.)
Active
Application number
CN201611033194.0A
Other languages
English (en)
Other versions
CN106534135A (zh
Inventor
任方英
张惊申
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou H3C Technologies Co Ltd
Original Assignee
Hangzhou H3C Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hangzhou H3C Technologies Co Ltd filed Critical Hangzhou H3C Technologies Co Ltd
Priority to CN201611033194.0A priority Critical patent/CN106534135B/zh
Publication of CN106534135A publication Critical patent/CN106534135A/zh
Application granted granted Critical
Publication of CN106534135B publication Critical patent/CN106534135B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general
    • H04L63/205Network architectures or network communication protocols for network security for managing network security; network security policies in general involving negotiation or determination of the one or more network security mechanisms to be used, e.g. by negotiation between the client and the server or between peers or by selection according to the capabilities of the entities involved

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明实施例提供了一种流量检测规则的生成方法及装置,应用于电子设备,该方法包括:获取针对预设漏洞的至少两条攻击流量的流量文件,该流量文件包括攻击流量中的负载数据;确定每一攻击流量的请求方和应答方;从所有流量文件中提取所有请求方的第一负载数据;将所有第一负载数据作为第一输入源,计算得到所有第一负载数据的第一最长公共子序列;将第一最长公共子序列合并为第一字节串;将第一字节串分别与各个第一负载数据作为第二输入源,计算得到所有第一负载数据的第一最长公共子序列集合;将第一最长公共子序列集合确定为第一特征;根据第一特征,生成第一流量检测规则。应用本发明实施例,减少了流量检测规则生成耗费的时间。

Description

一种流量检测规则的生成方法及装置
技术领域
本发明涉及互联网技术领域,特别是涉及一种流量检测规则的生成方法及装置。
背景技术
随着互联网技术的普及,各种网络应用层出不穷,安全威胁和网络滥用也随之与日俱增,这对快速、可靠地识别出各种流量提出了要求。
目前,一般采用DPI(Deep Packet Inspection,深层数据包检测技术)对流量进行检测,深层数据包检测技术检测流量的规则由以下方式生成:人工对攻击流量的负载进行特征提取,将提取到的特征输入检测引擎中,检测引擎依据自身规则语法,由提取的特征生成流量检测规则。
根据上述方法生成流量检测规则时,提取到的特征越多,流量检测结果越准确,为了提高检测结果的准确度,需要人工提取大量的特征,这使得流量检测规则的生成耗费大量的时间。
发明内容
本发明实施例的目的在于提供一种流量检测规则的生成方法及装置,以减少流量检测规则生成耗费的时间。具体技术方案如下:
一方面,本发明实施例公开了一种流量检测规则的生成方法,应用于电子设备,所述方法包括:
获取针对预设漏洞的至少两条攻击流量的流量文件;所述流量文件至少包括攻击流量中的负载数据;
根据所述攻击流量的协议类型,确定每一攻击流量的请求方和应答方;
从所有所述流量文件中提取所有请求方的第一负载数据;
将所有所述第一负载数据作为第一输入源,计算得到所有所述第一负载数据的第一最长公共子序列;
将所述第一最长公共子序列合并为第一字节串;
将所述第一字节串分别与各个所述第一负载数据作为第二输入源,计算得到所有所述第一负载数据的第一最长公共子序列集合;
将所述第一最长公共子序列集合确定为第一特征;
根据所述第一特征,生成第一流量检测规则。
另一方面,本发明实施例还公开了一种流量检测规则的生成装置,应用于电子设备,所述装置包括:
获取单元,用于获取针对预设漏洞的至少两条攻击流量的流量文件;所述流量文件至少包括攻击流量中的负载数据;
第一确定单元,用于根据所述攻击流量的协议类型,确定每一攻击流量的请求方和应答方;
提取单元,用于从所有所述流量文件中提取所有请求方的第一负载数据;
第一计算单元,用于将所有所述第一负载数据作为第一输入源,计算得到所有所述第一负载数据的第一最长公共子序列;
合并单元,用于将所述第一最长公共子序列合并为第一字节串;
第二计算单元,用于将所述第一字节串分别与各个所述第一负载数据作为第二输入源,计算得到所有所述第一负载数据的第一最长公共子序列集合;
第二确定单元,用于将所述第一最长公共子序列集合确定为第一特征;
第一生成单元,用于根据所述第一特征,生成第一流量检测规则。
本发明实施例提供了一种流量检测规则的生成方法及装置,电子设备获取针对预设漏洞的至少两条攻击流量的流量文件,该流量文件包括攻击流量中的负载数据,根据攻击流量的协议类型,确定每一攻击流量的请求方和应答方,从所有流量文件中提取所有请求方的第一负载数据;将所有第一负载数据作为第一输入源,计算得到第一负载数据的第一最长公共子序列;将第一最长公共子序列合并为第一字节串,将第一字节串分别与各个第一负载数据作为第二输入源,计算得到第一负载数据的第一最长公共子序列集合;将第一最长公共子序列集合确定为第一特征;根据第一特征,生成第一流量检测规则。可见,本发明实施例中,生成流量检测规则时,特征的提取无需人工参与,而是由电子设备提取特征,减少了流量检测规则生成耗费的时间。当然,实施本发明的任一产品或方法必不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种流量检测规则的生成方法的一种流程示意图;
图2为本发明实施例提供的一种流量检测规则的生成方法的另一种流程示意图;
图3为基于图2所示实施例的一种流量检测规则的生成方法的部分流程示意图;
图4为本发明实施例提供的一种流量检测规则的生成装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
下面通过具体实施例,对本发明进行详细说明。
参考图1,图1本发明实施例提供的一种流量检测规则的生成方法的一种流程示意图,应用于电子设备,该方法包括:
S101:获取针对预设漏洞的至少两条攻击流量的流量文件;所述流量文件至少包括攻击流量中的负载数据;
上述预设漏洞为已知漏洞,流量文件可以为pcap文件。当需要生成针对某一已知漏洞的攻击流量的流量检测规则时,可以将该已知漏洞确定为预设漏洞,多次运行该预设漏洞的利用程序,获得至少两条攻击流量,进而生成pcap文件。现有技术中,在获取到攻击流量后,可以默认的生成pcap文件,此处不再赘述。
当然,针对预设漏洞的攻击流量可能已经事先获得了,也就是,已经事先生成了针对预设漏洞的至少两条攻击流量的pcap文件,此时,用户可以直接对已获得的攻击流量的pcap文件进行分类,获得至少两条攻击流量的pcap文件就可以了。
另外,为了保证生成的流量检测规则合理可靠,获得的至少两条攻击流量的流量文件可以为不同时间的攻击流量的流量文件。
S102:根据所述攻击流量的协议类型,确定每一攻击流量的请求方和应答方;
为了便于分析攻击流量中的负载数据,需要确定每一攻击流量的请求方和应答方。
一般的,对于每一攻击流量,当该攻击流量对应的协议为TCP(TransmissionControl Protocol,传输控制协议)时,可以确定该攻击流量中发送第一个握手报文的一方为请求方,另一方为应答方;当该攻击流量对应的协议为UDP(User Datagram Protocol,用户数据报协议)时,确定该攻击流量中发送第一个报文的一方为请求方,另一方为应答方。
S103:从所有所述流量文件中提取所有请求方的第一负载数据;
S104:将所有所述第一负载数据作为第一输入源,计算得到所有所述第一负载数据的第一最长公共子序列;
S105:将所述第一最长公共子序列合并为第一字节串;
这里,字节串为连续的字节,最长公共子序列为:一个数列,如果字节串分别是两个或多个已知序列的连续子字节串,所有子字节串组成一个数列,且所有符合此条件的数列中最长的,称为已知序列的最长公共子串。例如,当前有3个已知序列,分别为:ABCED、ABFCDH、ABGCFD;其中,这3个已知序列的连续子字节串有:AB、C、D,这些连续子字节串组成一个数列AB、C、D,可以确定这3个已知序列的最长公共子序列为[AB,C,D],合并最长公共子序列,得到字节串为ABCD。
需要说明的是,最长公共子序列的求解过程与现有技术相同,此处不再赘述。另外,第一最长公共子序列为请求方的负载数据的共同特征。
例如,当前有3个流量文件,分别为1.pcap、2.pcap和3.pcap,从这3个流量文件提取出请求方的第一负载数据有:req_data.1、req_data.2和req_data.3,将req_data.1、req_data.2和req_data.3合成为一个集合,例如req_set={req_data.1,req_data.2,req_data.3},将req_set作为第一输入源,计算得到第一负载数据的第一最长公共子序列,合并第一最长公共子序列得到第一字节串LCS1。
S106:将所述第一字节串分别与各个所述第一负载数据作为第二输入源,计算得到所有所述第一负载数据的第一最长公共子序列集合;
仍以S105中的例子进行说明,第一字节串为LCS1,则可以以[LCS1,req_data.1]、[LCS1,req_data.2]和[LCS1,req_data.3]作为第二输入源,计算得到所有第一负载数据的最长公共子序列,此时不对得到的最长公共子序列进行合并,可以理解为得到的是第一最长公共子序列集合。
S107:将所述第一最长公共子序列集合确定为第一特征;
在本发明的一个实施例中,为了提高流量检查规则生成的速度,提高根据流量检测规则检测流量的准确性,可以去除第一最长公共子序列集合中不能在所有第一负载数据中查找到的元素。例如,第一最长公共子序列集合中包括:{AB,C,DEF,GH,IK},第一负载数据有:{ABDEFGCHIK,ABCDEFIKGH},此时,第一最长公共子序列集合中的元素GH在第一负载数据ABDEFGCH无法获得,因此将元素GH从第一最长公共子序列集合中去除,获得第一最长公共子序列集合为:{AB,C,DEF,IK}。
另外,为了提高流量检查规则生成的速度,提高根据流量检测规则检测流量的准确性,考虑到长度过长的元素可能为无效的元素,长度过短的元素对最终的结果影响较小,可以预先设置一个针对元素长度的范围,去除第一最长公共子序列集合中长度不在预设范围内的元素。仍以上面的例子进行说明,将元素GH从第一最长公共子序列集合中去除后,获得第一最长公共子序列集合为:{AB,C,DEF,IK},若预设范围为:元素长度大于1且元素长度小于3,则可以去除第一最长公共子序列集合中的为元素C和元素DEF,获得第一最长公共子序列集合为:{AB,IK}。
在去除了最长公共子序列集合中不能在所有负载数据中查找到的元素和最长公共子序列集合中长度不在预设范围内的元素后,可以确定最终第一最长公共子序列,进而将最终第一最长公共子序列集合确定为第一特征。如上面举例,可以将第一最长公共子序列集合{AB,IK}确定为最终第一最长公共子序列集合,进而将{AB,IK}确定为第一特征。
S108:根据所述第一特征,生成第一流量检测规则。
在确定了第一特征后,可以将第一特征输入到检测引擎中,检测引擎依据自身的规则语法,由第一特征生成针对预设漏洞的第一流量检测规则。该第一流量检测规则为针对请求方的负载数据的流量检测规则,可以对一条流量中的负载数据进行检测,以确定该流量是否为攻击流量。
为了准确的检测流量是否为攻击流量,还可以生成针对应答方的负载数据的流量检测规则。在本发明的其他实施例中还提供了针对应答方的负载数据的流量检测规则的生成方法,可参考图2,在图1的基础上,确定每一攻击流量的请求方和应答方之后,上述流量检测规则的生成方法还可以包括:
S201:从所有所述流量文件中提取所有应答方的第二负载数据;
S202:将所有所述第二负载数据作为第三输入源,计算得到所有所述第二负载数据的第二最长公共子序列;
这里,第二最长公共子序列为应答方的负载数据的共同特征。
S203:将所述第二最长公共子序列合并为第二字节串;
仍以S105中的例子进行说明,从3个流量文件提取出应答方的第二负载数据有:res_data.1、res_data.2和res_data.3,将res_data.1、res_data.2和res_data.3合成为一个集合,例如res_set={res_data.1,res_data.2,res_data.3},将res_set作为第三输入源,计算得到第二负载数据的第二最长公共子序列,合并第二最长公共子序列得到第二字节串LSC2。
S204:将所述第二字节串分别与各个所述第二负载数据作为第四输入源,计算得到所有所述第二负载数据的第二最长公共子序列集合;
以S203中的例子进行说明,第二字节串为LCS2,分别以[LCS2,res_data.1]、[LCS2,res_data.2]和[LCS2,res_data.3]作为第四输入源,计算得到所有第二负载数据的最长公共子序列,此时不对得到的最长公共子序列进行合并,可以理解为得到的是第二最长公共子序列集合。
S205:将所述第二最长公共子序列集合确定为第二特征;
在本发明的一个实施例中,为了提高流量检查规则生成的速度,提高根据流量检测规则检测流量的准确性,可以去除第二最长公共子序列集合中不能在所有第二负载数据中查找到的元素。另外,考虑到长度过长的元素可能为无效的元素,长度过短的元素对最终的结果影响较小,还可以预先设置一个针对元素长度的范围,去除第二最长公共子序列集合中长度不在预设范围内的元素。
在去除了最长公共子序列集合中不能在所有负载数据中查找到的元素和最长公共子序列集合中长度不在预设范围内的元素后,可以确定最终第二最长公共子序列,进而将最终第二最长公共子序列集合确定为第二特征。
这种情况下,S108可以为:根据所述第一特征生成第一流量检测规则,并根据所述第二特征生成二流量检测规则。
一般的,分别将第一特征和第二特征输入到检测引擎中,检测引擎依据自身的规则语法,由第一特征生成针对预设漏洞的第一流量检测规则,由第二特征生成针对预设漏洞的第二流量检测规则。
需要说明的是,在生成第一流量检测规则和第二流量检测规则后,可以同时采用这两个流量检测规则对流量进行检测,以保证准确地检测出攻击流量;另外,也可以从这两个流量检测规则选择一个较为准确的流量检测规则,对流量进行检测,以提高检测的速度。这里,可以根据生成流量检测规则的特征,确定出较为准确地流量检测规则,例如:第一流量检测规则根据3个特征生成,第二流量检测规则根据2个特征生成,3>2,则可以确定第一流量检测规则较为准确;再如,生成第一流量检测规则的第一特征长度为10,生成第二流量检测规则的第二特征长度为8,10>8,则可以确定第一流量检测规则较为准确。当然,也可以采用其他方式确定较为准确地流量检测规则,本发明实施例对此不进行限定。
为了提高根据流量检测规则检测流量的准确性,可以提取更多的特征,在本发明的其他实施例中,参考图3,在图2的基础上,确定每一攻击流量的请求方和应答方之后,上述流量检测规则的生成方法还可以包括:
S301:从所有所述流量文件中提取请求方和应答方发送的报文的源端口、目的端口和应用层协议,分别生成请求方和应答方的源端口集合、目的端口集合和应用层协议集合;
一般的,可以从所有流量文件中提取请求方发送的报文的源端口、目的端口和应用层协议,确定请求方的源端口集合、目的端口集合和应用层协议集合;从所有流量文件中提取应答方发送的报文的源端口、目的端口和应用层协议,确定应答方的源端口集合、目的端口集合和应用层协议集合。
仍以S105中的例子进行说明,从3个流量文件中提取请求方发送的报文的源端口:req_src_port1、req_src_port2、req_src_port3;从3个流量文件中提取请求方发送的报文的目的端口:req_dst_port1、req_dst_port2、req_dst_port3;从3个流量文件中提取请求方发送的报文的应用层协议:req_proto1、req_proto2、req_proto3;此时可以确定请求方的源端口集合为req_src_port_set={req_src_port1,req_src_port2,req_src_port3},请求方的目的端口集合为req_dst_port_set={req_dst_port1,req_dst_port2,req_dst_port3},请求方的应用层协议集合为req_proto_set={req_proto1,req_proto2,req_proto3};
从3个流量文件中提取应答方发送的报文的源端口:res_src_port1、res_src_port2、res_src_port3;从3个流量文件中提取应答方发送的报文的目的端口:res_dst_port1、res_dst_port2、res_dst_port3;从3个流量文件中提取应答方发送的报文的应用层协议:res_proto1、res_proto2、res_proto3;此时可以确定应答方的源端口集合为res_src_port_set={res_src_port1,res_src_port2,res_src_port3},应答方的目的端口集合为res_dst_port_set={res_dst_port1,res_dst_port2,res_dst_port3},应答方的应用层协议集合为res_proto_set={res_proto1,res_proto2,res_proto3}。
S302:分别判断请求方的源端口集合中所有的源端口、目的端口集合中所有的目的端口和应用层协议集合中所有的应用层协议是否相同;如果有集合中的所有信息都相同的,将所有信息都相同的集合中的信息添加至请求方的报文信息中;如果有集合中的所有信息不都相同的,将所有信息不都相同的集合删除;
若一个集合中所有的信息都相同,则可以确定该集合中的信息可以作为生成流量检测规则的一个特征。
以S301中的例子进行说明,若req_src_port_set={req_src_port1,req_src_port2,req_src_port3}中req_src_port1、req_src_port2、req_src_port3都相同,则可以将req_src_port1、req_src_port2、req_src_port3中任一值添加至请求方的报文信息中;若req_src_port1、req_src_port2、req_src_port3不都相同,可以删除req_src_port_set;
若req_dst_port_set={req_dst_port1,req_dst_port2,req_dst_port3}中req_dst_port1、req_dst_port2、req_dst_port3都相同,则可以将req_dst_port1、req_dst_port2、req_dst_port3中任一值添加至请求方的报文信息中;若req_dst_port1、req_dst_port2、req_dst_port3不都相同,可以删除req_dst_port_set;
若req_proto_set={req_proto1,req_proto2,req_proto3}中req_proto1、req_proto2、req_proto3都相同,则可以将req_proto1、req_proto2、req_proto3中任一值添加至请求方的报文信息中;若req_proto1,req_proto2,req_proto3不都相同,可以删除req_proto_set。
S303:分别判断应答方的源端口集合中所有的源端口、目的端口集合中所有的目的端口和应用层协议集合中所有的应用层协议是否相同;如果有集合中的所有信息都相同的,将所有信息都相同的集合中的信息添加至应答方的报文信息中;如果有集合中的所有信息不都相同的,将所有信息不都相同的集合删除;
以S301中的例子进行说明,若res_src_port_set={res_src_port1,res_src_port2,res_src_port3}中res_src_port1、res_src_port2、res_src_port3都相同,则可以将res_src_port1、res_src_port2、res_src_port3中任一值添加至应答方的报文信息中;若res_src_port1、res_src_port2、res_src_port3不都相同,可以删除res_src_port_set;
若res_dst_port_set={res_dst_port1,res_dst_port2,res_dst_port3}中res_dst_port1、res_dst_port2、res_dst_port3都相同,则可以将res_dst_port1、res_dst_port2、res_dst_port3中任一值添加至应答方的报文信息中;若res_dst_port1、res_dst_port2、res_dst_port3不都相同,可以删除res_dst_port_set;
若res_proto_set={res_proto1,res_proto2,res_proto3}中res_proto1、res_proto2、res_proto3都相同,则可以将res_proto1、res_proto2、res_proto3中任一值添加至应答方的报文信息中;若res_proto1,res_proto2,res_proto3不都相同,可以删除res_proto_set。
需要说明的是,S304可以在S303之前的执行,也可以在S303之后执行,也可以与S303同时执行,本发明实施例对此不进行限定。
S304:将请求方的报文信息确定为第三特征,将应答方的报文信息确定为第四特征;
例如,应答方的报文信息中包括:res_src_port1、res_dst_port1、res_proto1,则将res_src_port1、res_dst_port1、res_proto1确定为第四特征。
这种情况下,S108可以为:
根据所述第一特征和所述第三特征生成第一流量检测规则,并根据所述第二特征和所述第四特征生成第二流量检测规则。
一般的,将第一特征和第三特征输入到检测引擎中,检测引擎依据自身的规则语法,由第一特征和第三特征生成针对预设漏洞的第一流量检测规则;将第二特征和第四特征输入到检测引擎中,检测引擎依据自身的规则语法,由第二特征和第四特征生成针对预设漏洞的第二流量检测规则。
应用上述实施例,电子设备获取针对预设漏洞的至少两条攻击流量的流量文件,该流量文件包括攻击流量中的负载数据,根据攻击流量的协议类型,确定每一攻击流量的请求方和应答方,从所有流量文件中提取所有请求方的第一负载数据;将所有第一负载数据作为第一输入源,计算得到第一负载数据的第一最长公共子序列;将第一最长公共子序列合并为第一字节串,将第一字节串分别与各个第一负载数据作为第二输入源,计算得到第一负载数据的第一最长公共子序列集合;将第一最长公共子序列集合确定为第一特征;根据第一特征,生成第一流量检测规则。可见,本发明实施例中,生成流量检测规则时,特征的提取无需人工参与,而是由电子设备提取特征,减少了流量检测规则生成耗费的时间。
参考图4,图4为本发明实施例提供的一种流量检测规则的生成装置的结构示意图,应用于电子设备,该装置包括:
获取单元401,用于获取针对预设漏洞的至少两条攻击流量的流量文件;所述流量文件至少包括攻击流量中的负载数据;
第一确定单元402,用于根据所述攻击流量的协议类型,确定每一攻击流量的请求方和应答方;
提取单元403,用于从所有所述流量文件中提取所有请求方的第一负载数据;
第一计算单元404,用于将所有所述第一负载数据作为第一输入源,计算得到所有所述第一负载数据的第一最长公共子序列;
合并单元405,用于将所述第一最长公共子序列合并为第一字节串;
第二计算单元406,用于将所述第一字节串分别与各个所述第一负载数据作为第二输入源,计算得到所有所述第一负载数据的第一最长公共子序列集合;
第二确定单元407,用于将所述第一最长公共子序列集合确定为第一特征;
第一生成单元408,用于根据所述第一特征,生成第一流量检测规则。
在本发明的其他实施例中,所述获取单元401,具体可以用于:
运行预设漏洞的利用程序,获取至少两条攻击流量;生成针对每一攻击流量的流量文件。
在本发明的其他实施例中,所述第一确定单402元,具体可以用于:
对于每一攻击流量,当该攻击流量对应的协议为传输控制协议TCP时,确定发送第一个握手报文的一方为请求方,另一方为应答方;当该攻击流量对应的协议为用户数据报协议UDP时,确定发送第一个报文的一方为请求方,另一方为应答方。
在本发明的其他实施例中,所述提取单元403,还可以用于从所有所述流量文件中提取所有应答方的第二负载数据;
所述第一计算单元404,还可以用于将所有所述第二负载数据作为第三输入源,计算得到所有所述第二负载数据的第二最长公共子序列;
所述合并单元405,还可以用于将所述第二最长公共子序列合并为第二字节串;
所述第二计算单元406,还可以用于将所述第二字节串分别与各个所述第二负载数据作为第四输入源,计算得到所有所述第二负载数据的第二最长公共子序列集合;
所述第二确定单元407,还可以用于将所述第二最长公共子序列集合确定为第二特征;
所述第一生成单元408,具体可以用于:
根据所述第一特征生成第一流量检测规则,并根据所述第二特征生成二流量检测规则。
在本发明的其他实施例中,所述第二确定单元407,具体可以用于:
去除所述第一最长公共子序列集合中不能在所有所述第一负载数据中查找到的元素,以及所述第一最长公共子序列集合中长度不在预设范围内的元素,确定最终第一最长公共子序列集合,将所述最终第一最长公共子序列集合确定为第一特征;
去除所述第二最长公共子序列集合中不能在所有所述第二负载数据中查找到的元素,以及所述第二最长公共子序列集合中长度不在预设范围内的元素,确定最终第二最长公共子序列集合,将所述最终第二最长公共子序列集合确定为第二特征。
在本发明的其他实施例中,所述流量文件中还可以包括:攻击流量中的请求方和应答方发送的报文的源端口、目的端口、应用层协议;
这种情况下,所述装置还可以包括:
第二生成单元(图4中未示出),用于在根据所述攻击流量的协议类型,确定每一攻击流量的请求方和应答方之后,从所有所述流量文件中提取请求方和应答方发送的报文的源端口、目的端口和应用层协议,分别生成请求方和应答方的源端口集合、目的端口集合和应用层协议集合;
第三确定单元(图4中未示出),用于分别判断请求方的源端口集合中所有的源端口、目的端口集合中所有的目的端口和应用层协议集合中所有的应用层协议是否相同;如果有集合中的所有信息都相同的,将所有信息都相同的集合中的信息添加至请求方的报文信息中;如果有集合中的所有信息不都相同的,将所有信息不都相同的集合删除;
第四确定单元(图4中未示出),用于分别判断应答方的源端口集合中所有的源端口、目的端口集合中所有的目的端口和应用层协议集合中所有的应用层协议是否相同;如果有集合中的所有信息都相同的,将所有信息都相同的集合中的信息添加至应答方的报文信息中;如果有集合中的所有信息不都相同的,将所有信息不都相同的集合删除;
所述第二确定单元407,还可以用于将请求方的报文信息确定为第三特征,将应答方的报文信息确定为第四特征;
所述第一生成单元408,具体可以用于:
根据所述第一特征和所述第三特征生成第一流量检测规则,并根据所述第二特征和所述第四特征生成第二流量检测规则。
应用上述实施例,电子设备获取针对预设漏洞的至少两条攻击流量的流量文件,该流量文件包括攻击流量中的负载数据,根据攻击流量的协议类型,确定每一攻击流量的请求方和应答方,从所有流量文件中提取所有请求方的第一负载数据;将所有第一负载数据作为第一输入源,计算得到第一负载数据的第一最长公共子序列;将第一最长公共子序列合并为第一字节串,将第一字节串分别与各个第一负载数据作为第二输入源,计算得到第一负载数据的第一最长公共子序列集合;将第一最长公共子序列集合确定为第一特征;根据第一特征,生成第一流量检测规则。可见,本发明实施例中,生成流量检测规则时,特征的提取无需人工参与,而是由电子设备提取特征,减少了流量检测规则生成耗费的时间。
对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

Claims (12)

1.一种流量检测规则的生成方法,其特征在于,应用于电子设备,所述方法包括:
获取针对预设漏洞的至少两条攻击流量的流量文件;所述流量文件至少包括攻击流量中的负载数据;
根据所述攻击流量的协议类型,确定每一攻击流量的请求方和应答方;
从所有所述流量文件中提取所有请求方的第一负载数据;
将所有所述第一负载数据作为第一输入源,计算得到所有所述第一负载数据的第一最长公共子序列;
将所述第一最长公共子序列合并为第一字节串;
将所述第一字节串分别与各个所述第一负载数据作为第二输入源,计算得到所有所述第一负载数据的第一最长公共子序列集合;
将所述第一最长公共子序列集合确定为第一特征;
根据所述第一特征,生成第一流量检测规则。
2.根据权利要求1所述的方法,其特征在于,所述获取针对预设漏洞的至少两条攻击流量的流量文件,包括:
运行预设漏洞的利用程序,获取至少两条攻击流量;
生成针对每一攻击流量的流量文件。
3.根据权利要求1或2所述的方法,其特征在于,所述根据所述攻击流量的协议类型,确定每一攻击流量的请求方和应答方,包括:
对于每一攻击流量,当该攻击流量对应的协议为传输控制协议TCP时,确定发送第一个握手报文的一方为请求方,另一方为应答方;当该攻击流量对应的协议为用户数据报协议UDP时,确定发送第一个报文的一方为请求方,另一方为应答方。
4.根据权利要求1所述的方法,其特征在于,在根据所述攻击流量的协议类型,确定每一攻击流量的请求方和应答方之后,所述方法还包括:
从所有所述流量文件中提取所有应答方的第二负载数据;
将所有所述第二负载数据作为第三输入源,计算得到所有所述第二负载数据的第二最长公共子序列;
将所述第二最长公共子序列合并为第二字节串;
将所述第二字节串分别与各个所述第二负载数据作为第四输入源,计算得到所有所述第二负载数据的第二最长公共子序列集合;
将所述第二最长公共子序列集合确定为第二特征;
所述根据所述第一特征,生成第一流量检测规则,包括:
根据所述第一特征生成第一流量检测规则,并根据所述第二特征生成二流量检测规则。
5.根据权利要求4所述的方法,其特征在于,所述将所述第一最长公共子序列集合确定为第一特征,包括:
去除所述第一最长公共子序列集合中不能在所有所述第一负载数据中查找到的元素,以及所述第一最长公共子序列集合中长度不在预设范围内的元素,确定最终第一最长公共子序列集合,将所述最终第一最长公共子序列集合确定为第一特征;
所述将所述第二最长公共子序列集合确定为第二特征,包括:
去除所述第二最长公共子序列集合中不能在所有所述第二负载数据中查找到的元素,以及所述第二最长公共子序列集合中长度不在预设范围内的元素,确定最终第二最长公共子序列集合,将所述最终第二最长公共子序列集合确定为第二特征。
6.根据权利要求4所述的方法,其特征在于,所述流量文件中还包括:攻击流量中的请求方和应答方发送的报文的源端口、目的端口、应用层协议;
在根据所述攻击流量的协议类型,确定每一攻击流量的请求方和应答方之后,所述方法还包括:
从所有所述流量文件中提取请求方和应答方发送的报文的源端口、目的端口和应用层协议,分别生成请求方和应答方的源端口集合、目的端口集合和应用层协议集合;
分别判断请求方的源端口集合中所有的源端口、目的端口集合中所有的目的端口和应用层协议集合中所有的应用层协议是否相同;如果有集合中的所有信息都相同的,将所有信息都相同的集合中的信息添加至请求方的报文信息中;如果有集合中的所有信息不都相同的,将所有信息不都相同的集合删除;
分别判断应答方的源端口集合中所有的源端口、目的端口集合中所有的目的端口和应用层协议集合中所有的应用层协议是否相同;如果有集合中的所有信息都相同的,将所有信息都相同的集合中的信息添加至应答方的报文信息中;如果有集合中的所有信息不都相同的,将所有信息不都相同的集合删除;
将请求方的报文信息确定为第三特征,将应答方的报文信息确定为第四特征;
所述根据所述第一特征生成第一流量检测规则,并根据所述第二特征生成第二流量检测规则,包括:
根据所述第一特征和所述第三特征生成第一流量检测规则,并根据所述第二特征和所述第四特征生成第二流量检测规则。
7.一种流量检测规则的生成装置,其特征在于,应用于电子设备,所述装置包括:
获取单元,用于获取针对预设漏洞的至少两条攻击流量的流量文件;所述流量文件至少包括攻击流量中的负载数据;
第一确定单元,用于根据所述攻击流量的协议类型,确定每一攻击流量的请求方和应答方;
提取单元,用于从所有所述流量文件中提取所有请求方的第一负载数据;
第一计算单元,用于将所有所述第一负载数据作为第一输入源,计算得到所有所述第一负载数据的第一最长公共子序列;
合并单元,用于将所述第一最长公共子序列合并为第一字节串;
第二计算单元,用于将所述第一字节串分别与各个所述第一负载数据作为第二输入源,计算得到所有所述第一负载数据的第一最长公共子序列集合;
第二确定单元,用于将所述第一最长公共子序列集合确定为第一特征;
第一生成单元,用于根据所述第一特征,生成第一流量检测规则。
8.根据权利要求7所述的装置,其特征在于,所述获取单元,具体用于:
运行预设漏洞的利用程序,获取至少两条攻击流量;生成针对每一攻击流量的流量文件。
9.根据权利要求7或8所述的装置,其特征在于,所述第一确定单元,具体用于:
对于每一攻击流量,当该攻击流量对应的协议为传输控制协议TCP时,确定发送第一个握手报文的一方为请求方,另一方为应答方;当该攻击流量对应的协议为用户数据报协议UDP时,确定发送第一个报文的一方为请求方,另一方为应答方。
10.根据权利要求7所述的装置,其特征在于,所述提取单元,还用于从所有所述流量文件中提取所有应答方的第二负载数据;
所述第一计算单元,还用于将所有所述第二负载数据作为第三输入源,计算得到所有所述第二负载数据的第二最长公共子序列;
所述合并单元,还用于将所述第二最长公共子序列合并为第二字节串;
所述第二计算单元,还用于将所述第二字节串分别与各个所述第二负载数据作为第四输入源,计算得到所有所述第二负载数据的第二最长公共子序列集合;
所述第二确定单元,还用于将所述第二最长公共子序列集合确定为第二特征;
所述第一生成单元,具体用于:
根据所述第一特征生成第一流量检测规则,并根据所述第二特征生成二流量检测规则。
11.根据权利要求10所述的装置,其特征在于,所述第二确定单元,具体用于:
去除所述第一最长公共子序列集合中不能在所有所述第一负载数据中查找到的元素,以及所述第一最长公共子序列集合中长度不在预设范围内的元素,确定最终第一最长公共子序列集合,将所述最终第一最长公共子序列集合确定为第一特征;
去除所述第二最长公共子序列集合中不能在所有所述第二负载数据中查找到的元素,以及所述第二最长公共子序列集合中长度不在预设范围内的元素,确定最终第二最长公共子序列集合,将所述最终第二最长公共子序列集合确定为第二特征。
12.根据权利要求10所述的装置,其特征在于,所述流量文件中还包括:攻击流量中的请求方和应答方发送的报文的源端口、目的端口、应用层协议;
所述装置还包括:
第二生成单元,用于在根据所述攻击流量的协议类型,确定每一攻击流量的请求方和应答方之后,从所有所述流量文件中提取请求方和应答方发送的报文的源端口、目的端口和应用层协议,分别生成请求方和应答方的源端口集合、目的端口集合和应用层协议集合;
第三确定单元,用于分别判断请求方的源端口集合中所有的源端口、目的端口集合中所有的目的端口和应用层协议集合中所有的应用层协议是否相同;如果有集合中的所有信息都相同的,将所有信息都相同的集合中的信息添加至请求方的报文信息中;如果有集合中的所有信息不都相同的,将所有信息不都相同的集合删除;
第四确定单元,用于分别判断应答方的源端口集合中所有的源端口、目的端口集合中所有的目的端口和应用层协议集合中所有的应用层协议是否相同;如果有集合中的所有信息都相同的,将所有信息都相同的集合中的信息添加至应答方的报文信息中;如果有集合中的所有信息不都相同的,将所有信息不都相同的集合删除;
所述第二确定单元,还用于将请求方的报文信息确定为第三特征,将应答方的报文信息确定为第四特征;
所述第一生成单元,具体用于:
根据所述第一特征和所述第三特征生成第一流量检测规则,并根据所述第二特征和所述第四特征生成第二流量检测规则。
CN201611033194.0A 2016-11-16 2016-11-16 一种流量检测规则的生成方法及装置 Active CN106534135B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611033194.0A CN106534135B (zh) 2016-11-16 2016-11-16 一种流量检测规则的生成方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611033194.0A CN106534135B (zh) 2016-11-16 2016-11-16 一种流量检测规则的生成方法及装置

Publications (2)

Publication Number Publication Date
CN106534135A CN106534135A (zh) 2017-03-22
CN106534135B true CN106534135B (zh) 2020-07-17

Family

ID=58356246

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611033194.0A Active CN106534135B (zh) 2016-11-16 2016-11-16 一种流量检测规则的生成方法及装置

Country Status (1)

Country Link
CN (1) CN106534135B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110401634A (zh) * 2019-06-24 2019-11-01 北京墨云科技有限公司 一种Web应用漏洞检测规则引擎实现方法及终端
CN113239037A (zh) * 2021-05-06 2021-08-10 西安电子科技大学 一种基于分支定界的大规模最长公共子序列问题求解方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101527685A (zh) * 2009-04-17 2009-09-09 华为技术有限公司 一种报文传输链路的分配方法和装置
CN103491069A (zh) * 2013-09-05 2014-01-01 北京科能腾达信息技术股份有限公司 网络数据包的过滤方法
CN103873320A (zh) * 2013-12-27 2014-06-18 北京天融信科技有限公司 加密流量识别方法及装置
EP2747366A1 (en) * 2012-12-24 2014-06-25 British Telecommunications public limited company Client/server access authentication
CN104852909A (zh) * 2015-04-24 2015-08-19 杭州华三通信技术有限公司 一种攻击检测规则的开启方法和设备

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101527685A (zh) * 2009-04-17 2009-09-09 华为技术有限公司 一种报文传输链路的分配方法和装置
EP2747366A1 (en) * 2012-12-24 2014-06-25 British Telecommunications public limited company Client/server access authentication
CN103491069A (zh) * 2013-09-05 2014-01-01 北京科能腾达信息技术股份有限公司 网络数据包的过滤方法
CN103873320A (zh) * 2013-12-27 2014-06-18 北京天融信科技有限公司 加密流量识别方法及装置
CN104852909A (zh) * 2015-04-24 2015-08-19 杭州华三通信技术有限公司 一种攻击检测规则的开启方法和设备

Also Published As

Publication number Publication date
CN106534135A (zh) 2017-03-22

Similar Documents

Publication Publication Date Title
Dou et al. A confidence-based filtering method for DDoS attack defense in cloud environment
CN109889547B (zh) 一种异常网络设备的检测方法及装置
CN106878262B (zh) 报文检测方法及装置、建立本地威胁情报库的方法及装置
US10645105B2 (en) Network attack detection method and device
IL256893B (en) File capture using client-server delta encoding
CN112989348B (zh) 攻击检测方法、模型训练方法、装置、服务器及存储介质
CN109413016B (zh) 一种基于规则的报文检测方法和装置
EP3242240B1 (en) Malicious communication pattern extraction device, malicious communication pattern extraction system, malicious communication pattern extraction method and malicious communication pattern extraction program
CN106534135B (zh) 一种流量检测规则的生成方法及装置
CN104333483A (zh) 互联网应用流量识别方法、系统及识别装置
CN111371776A (zh) Http请求数据的异常检测方法、装置、服务器及存储介质
CN111865996A (zh) 数据检测方法、装置和电子设备
CN104333461A (zh) 互联网应用流量识别方法、系统及识别装置
CN106506507B (zh) 一种流量检测规则的生成方法及装置
CN113518080B (zh) 一种tls加密流量检测方法、装置和电子设备
WO2016201876A1 (zh) 一种加密流量的业务识别方法、装置和计算机存储介质
CN105634863B (zh) 一种应用协议检测的方法及设备
CN110913396A (zh) 虚假流量识别方法、装置、服务器及可读存储介质
Jain et al. Towards mining latent client identifiers from network traffic
CN105100246A (zh) 一种基于下载资源名称的网络流量管控方法
CN108965386B (zh) 一种共享接入终端的识别方法及装置
CN114268559B (zh) 基于tf-idf算法的定向网络检测方法、装置、设备及介质
CN107094147A (zh) 一种大规模流量中基于cookieID的NAT识别方法
CN104079493A (zh) 基于下载资源名的流量识别方法和设备、管控方法和设备
CN103716199B (zh) 一种跨协议的p2p安全内容监管方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
CB02 Change of applicant information
CB02 Change of applicant information

Address after: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No.

Applicant after: Xinhua three Technology Co., Ltd.

Address before: 310053 Hangzhou science and Technology Industrial Park, high tech Industrial Development Zone, Zhejiang Province, No. six and road, No. 310

Applicant before: Huasan Communication Technology Co., Ltd.

SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant