CN115811433A - 一种提升Flow攻击检测准确性和性能方法及装置 - Google Patents
一种提升Flow攻击检测准确性和性能方法及装置 Download PDFInfo
- Publication number
- CN115811433A CN115811433A CN202211562304.8A CN202211562304A CN115811433A CN 115811433 A CN115811433 A CN 115811433A CN 202211562304 A CN202211562304 A CN 202211562304A CN 115811433 A CN115811433 A CN 115811433A
- Authority
- CN
- China
- Prior art keywords
- flow
- attack detection
- metadata
- data
- performance
- 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
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开一种提升Flow攻击检测准确性和性能方法及装置,方法包括:数据网络的路由器将流量的NetFlow发送给Flow解析导出集群;同时开启Flow元数据负载均衡到不同消息队列分区的路由能力;Flow解析导出集群解析出各类Flow协议中的相关字段,并将数据转换为Flow元数据;Flow解析导出集群根据元数据中的键值进行哈希,并在消息中间件中建立键值到分区的映射关系,将Flow元数据发送到消息中间件的不同分区;对于同一个汇总维度的Flow流量数据在1个计算单元中根据一段时间的Flow信息求和计算出来;不同汇总维度的攻击检测数据在不同的计算单元下计算出来,并统一上报给控制器进行展示。本发明在大规模Flow下的情况下,可以实现快速和准确地计算出所需要的检测数据。
Description
技术领域
本发明涉及互联网安全领域,尤其是一种提升Flow攻击检测准确性和性能方法及装置。
背景技术
不少传统的Flow计算方法只能会在本检测机周期性将Flow信息在本机汇总成非实时的文件统计信息,造成统计不同检测机的整体数据时难以实现高实时性和大容量性能的要求;
如图1所示,传统检测方案下,Flow解析和攻击检测计算往往部署在1台设备,并通过Flow负载均衡器将来自于路由器的Flow分发到不同的检测机上,这样由于单台设备处理压力过大会降低单台检测机的处理性能;通过将检测机拆分为Flow解析和导出单元、计算单元,可以提升整体检测系统的吞吐量并降低系统之间的耦合性;
在规模集群部署的情况下,为了降低大规模检测机上报数据给控制器的压力,传统检测方案往往会在每台检测机上设置1个检测汇总数据上报门限。只有当检测机单机的汇总统计数据超出该门限时,才会统一向控制器上报该统计数据。这样往往就会造成Flow的单台的汇总数据没有超出该门限但多台检测机总和汇总数据超出攻击阈值的情况下,而无法上报攻击检测结果(如告警等)。
FlowLoadBalance:流负载均衡
传统攻击检测方案下,由于集群模式下不同检测机分开上报数据给控制器进行集中汇总,由于不同检测机上报的频度无法做到完全同步,也可能会造成最终汇总计算时的结果不准确。
发明内容
为解决现有技术存在的问题,本发明提供一种提升Flow攻击检测准确性和性能方法及装置,尤其是在大规模Flow下的情况下,通过检测机集群将指定特征,如目的IP、源IP、目的端口、源端口、协议号等业务的Flow数据路由到大规模、实时消息中间件集群中,然后检测机的计算单元根据消息中间件中的Flow消息进行汇总分析,从而快速和准确地计算出所需要的检测数据。
为实现上述目的,本发明采用下述技术方案:
在本发明一实施例中,提出了一种提升Flow攻击检测准确性和性能方法,该方法包括:
S01、数据网络中的路由器上开启NetFlow导出功能,数据网络的路由器将流量的NetFlow发送给Flow解析导出集群;
S02、Flow解析导出集群开启Flow解析和导出元数据的能力,同时开启Flow元数据负载均衡到不同消息队列(MQ)分区的路由能力;
S03、Flow解析导出集群解析出各类Flow协议中的相关字段,并将数据转换为Flow元数据;
Flow协议因为不同厂商、不同版本等协议格式有所不同,Flow元数据,即与Flow厂商、协议版本等无关的通用Flow字段信息。
S04、Flow解析导出集群根据元数据中的键值进行哈希,并在消息中间件中建立键值到分区的映射关系,以便将Flow元数据发送到消息中间件的不同分区;
S05、对于同一个汇总维度的Flow流量数据在1个计算单元中就可以根据一段时间的Flow信息求和计算出来;
S06、计算单元开启在不同的消息队列分区上计算攻击检测数据并将计算结果上报给控制器的能力,不同汇总维度的攻击检测数据可以在不同的计算单元下计算出来,并统一上报给控制器进行展示。
进一步地,所述S02中的字段包括:字节数、包数、目的IP、源IP、源端口、目的端口、协议号。
进一步地,所述S03中的键值包括:目的IP、源IP、源端口、目的端口、协议号;
进一步地,所述S05中同一个汇总维度的Flow流量数据:用于攻击检测的阈值比对取值。
在本发明一实施例中,还提出了一种提升Flow攻击检测准确性和性能装置,该装置包括:
路由器、Flow解析导出集群、消息中间件、计算单元与控制器,依次顺序连接。
进一步地,所述路由器为具有开启NetFlow导出功能的路由器。
进一步地,所述Flow解析导出集群具有Flow解析能力、导出元数据的能力与Flow元数据负载均衡到不同消息队列分区的路由能力。
进一步地,所述计算单元具有在不同的消息队列分区上计算攻击检测数据并将计算结果上报给控制器的能力。
在本发明一实施例中,还提出了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现前述提升Flow攻击检测准确性和性能方法。
在本发明一实施例中,还提出了一种计算机可读存储介质,计算机可读存储介质存储有执行提升Flow攻击检测准确性和性能方法的计算机程序。
有益效果:
本发明将攻击检测拆分为Flow解析导出和计算单元,可以更好地提升性能,减少部署部件见的耦合;本发明通过实时性、可扩容和高容量的消息队列来进行Flow的处理,可以提升基于Flow进行攻击检测的实时性能和处理容量;本发明采用同一攻击检测维度负载到同一计算单元后就不再需要为原单台检测机设置上报门限,避免了不同检测机上报频度的不一致造成的数据汇总不同步所造成的攻击检测的不准确;也避免了当单台Flow数据低于设置门限所造成的数据无法上报到控制器,可能造成多台检测机汇总数据总和超出攻击阈值而无法上报的误差。
附图说明
图1是现有技术攻击检测方案示意图;
图2是本发明提升Flow攻击检测准确性和性能方法流程示意图;
图3是本发明实施例的逻辑框图;
图4是本发明提升Flow攻击检测准确性和性能装置结构示意图;
图5是本发明一实施例的计算机设备结构示意图。
具体实施方式
下面将参考若干示例性实施方式来描述本发明的原理和精神,应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本发明,而并非以任何方式限制本发明的范围。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
本领域技术人员知道,本发明的实施方式可以实现为一种系统、装置、设备、方法或计算机程序产品。因此,本公开可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式。
根据本发明的实施方式,提出了一种提升Flow攻击检测准确性和性能方法及装置,尤其是在大规模Flow下的情况下,通过检测机集群将指定特征,如目的IP、源IP、目的端口、源端口、协议号等业务的Flow数据路由到大规模、实时消息中间件集群中,然后检测机的计算单元根据消息中间件中的Flow消息进行汇总分析,从而快速和准确地计算出所需要的检测数据。
下面参考本发明的若干代表性实施方式,详细阐释本发明的原理和精神。
如图2所示,该方法包括:
S01、数据网络中的路由器上开启NetFlow导出功能,数据网络的路由器将流量的NetFlow发送给Flow解析导出集群;
S02、Flow解析导出集群开启Flow解析和导出元数据的能力,同时开启Flow元数据负载均衡到不同消息队列(MQ)分区的路由能力;
S03、Flow解析导出集群解析出各类Flow协议中的相关字段,并将数据转换为Flow元数据;
Flow协议因为不同厂商、不同版本等协议格式有所不同,Flow元数据,即与Flow厂商、协议版本等无关的通用Flow字段信息。
S04、Flow解析导出集群根据元数据中的键值进行哈希,并在消息中间件中建立键值到分区的映射关系,以便将Flow元数据发送到消息中间件的不同分区;
S05、对于同一个汇总维度的Flow流量数据在1个计算单元中就可以根据一段时间的Flow信息求和计算出来;
S06、计算单元开启在不同的消息队列分区上计算攻击检测数据并将计算结果上报给控制器的能力,不同汇总维度的攻击检测数据可以在不同的计算单元下计算出来,并统一上报给控制器进行展示。
所述S02中的字段包括:字节数、包数、目的IP、源IP、源端口、目的端口、协议号。
所述S03中的键值包括:目的IP、源IP、源端口、目的端口、所述S05中同一个汇总维度的Flow流量数据:用于攻击检测的阈值比对取值。
需要说明的是,尽管在上述实施例及附图中以特定顺序描述了本发明方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
为了对上述提升Flow攻击检测准确性和性能方法进行更为清楚的解释,下面结合一个具体的实施例来进行说明,然而值得注意的是该实施例仅是为了更好地说明本发明,并不构成对本发明不当的限定。
如图3所示,通过路由器将所需xFlow报文导出到报文解析单元;
根据业务所需要检测的业务范围和数据范围,将相应路由器导出的xFlow报文导入到报文解析单元。
报文解析单元(隶属检测机)对xFlow对象进行解析等处理;
报文解析单元收到来自路由器xFlow报文后,通过FLB将xFlow负载分担到不同的检测机上。各检测机收到xFlow报文后,解析相关xFlow报文字段,在缓存中产生和保存相应的流会话(源/目的IP、源/目的端口、协议等)和流量信息(字节数、包数等),生成相应的xFlow对象描述信息。
报文解析单元对xFlow对象的缓存与路由;
报文解析单元在生成xFlow对象描述后,不直接计算生成的这些xFlow对象。而是按照xFlow中的目的IP地址进行哈希,将具有同一哈希值的xFlow对象发送到消息中间件的同一个分区当中。
数据计算单元计算流量信息和检测释放超出攻击阈值;
每个数据计算单元节点周期性地仅从消息件中的1个分区中消费xFlow对象。由于xFlow对象在报文解析单元上已经按照目的IP地址进行了哈希,因此对于每个计算单元来说可以获取到所有针对该目的IP的流量信息。计算单元根据xFlow对象中的字节数和包数以及其自身的计算周期,可以计算出该周期内的流量速率信息。计算单元将该速率信息与控制器下发的阈值信息进行比对,如果发现流量超出阈值则上报攻击告警的结果给控制器,否则舍弃该周期内的统计结果。该攻击阈值的批注和计算的速率信息可以基于每种攻击类型或所有攻击类型的总和进行配置和计算。
基于同一发明构思,本发明还提出一种提升Flow攻击检测准确性和性能装置。该装置的实施可以参见上述方法的实施,重复之处不再赘述。以下所使用的术语“模块”,可以是实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图4是本发明提升Flow攻击检测准确性和性能装置结构示意图。如图4所示,该装置包括:
路由器110、Flow解析导出集群120、消息中间件130、计算单元140与控制器150,依次顺序连接。
所述路由器110为具有开启NetFlow导出功能的路由器。
所述Flow解析导出集群120具有Flow解析能力、导出元数据的能力与Flow元数据负载均衡到不同消息队列分区的路由能力。
所述计算单元140具有在不同的消息队列分区上计算攻击检测数据并将计算结果上报给控制器的能力。
应当注意,尽管在上文详细描述中提及了提升Flow攻击检测准确性和性能装置的若干模块,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多模块的特征和功能可以在一个模块中具体化。反之,上文描述的一个模块的特征和功能可以进一步划分为由多个模块来具体化。
基于前述发明构思,如图5所示,本发明还提出一种计算机设备200,包括存储器210、处理器220及存储在存储器210上并可在处理器220上运行的计算机程序230,处理器220执行计算机程序230时实现前述提升Flow攻击检测准确性和性能方法。
基于前述发明构思,本发明还提出一种计算机可读存储介质,计算机可读存储介质存储有执行前述提升Flow攻击检测准确性和性能方法的计算机程序。
将攻击检测拆分为Flow解析导出和计算单元,可以更好地提升性能,减少部署部件见的耦合;本发明通过实时性、可扩容和高容量的消息队列来进行Flow的处理,可以提升基于Flow进行攻击检测的实时性能和处理容量;本发明采用同一攻击检测维度负载到同一计算单元后就不再需要为原单台检测机设置上报门限,避免了不同检测机上报频度的不一致造成的数据汇总不同步所造成的攻击检测的不准确;也避免了当单台Flow数据低于设置门限所造成的数据无法上报到控制器,可能造成多台检测机汇总数据总和超出攻击阈值而无法上报的误差。
虽然已经参考若干具体实施方式描述了本发明的精神和原理,但是应该理解,本发明并不限于所公开的具体实施方式,对各方面的划分也不意味着这些方面中的特征不能组合以进行受益,这种划分仅是为了表述的方便。本发明旨在涵盖所附权利要求的精神和范围内所包含的各种修改和等同布置。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、复杂可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,也可以为分布式系统的服务器,或者是结合了区块链的服务器。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
对本发明保护范围的限制,所属领域技术人员应该明白,在本发明的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本发明的保护范围以内。
Claims (11)
1.一种提升Flow攻击检测准确性和性能方法,其特征在于,该方法包括:
S01、数据网络中的路由器上开启NetFlow导出功能,数据网络的路由器将流量的NetFlow发送给Flow解析导出集群;
S02、Flow解析导出集群开启Flow解析和导出元数据的能力,同时开启Flow元数据负载均衡到不同消息队列分区的路由能力;
S03、Flow解析导出集群解析出各类Flow协议中的相关字段,并将数据转换为Flow元数据;
S04、Flow解析导出集群根据元数据中的键值进行哈希,并在消息中间件中建立键值到分区的映射关系,将Flow元数据发送到消息中间件的不同分区;
S05、对于同一个汇总维度的Flow流量数据在1个计算单元中根据一段时间的Flow信息求和计算出来;
S06、计算单元开启在不同的消息队列分区上计算攻击检测数据并将计算结果上报给控制器的能力,不同汇总维度的攻击检测数据在不同的计算单元下计算出来,并统一上报给控制器进行展示。
2.根据权利要求1所述的提升Flow攻击检测准确性和性能方法,其特征在于,所述S02中的字段包括:字节数、包数、目的IP、源IP、源端口、目的端口、协议号。
3.根据权利要求1所述的提升Flow攻击检测准确性和性能方法,其特征在于,所述S03中的键值包括:目的IP、源IP、源端口、目的端口、协议号。
4.根据权利要求1所述的提升Flow攻击检测准确性和性能方法,其特征在于,所述S04中的Flow元数据:与Flow厂商、协议版本等无关的通用Flow字段信息。
5.根据权利要求1所述的提升Flow攻击检测准确性和性能方法,其特征在于,所述S05中同一个汇总维度的Flow流量数据:用于攻击检测的阈值比对取值。
6.一种提升Flow攻击检测准确性和性能装置,其特征在于,该装置包括:路由器、Flow解析导出集群、消息中间件、计算单元140与控制器,依次顺序连接。
7.根据权利要求6所述的提升Flow攻击检测准确性和性能装置,其特征在于,所述路由器为具有开启NetFlow导出功能的路由器。
8.根据权利要求6所述的提升Flow攻击检测准确性和性能装置,其特征在于,所述Flow解析导出集群具有Flow解析能力、导出元数据的能力与Flow元数据负载均衡到不同消息队列分区的路由能力。
9.根据权利要求6所述的提升Flow攻击检测准确性和性能装置,其特征在于,所述计算单元具有在不同的消息队列分区上计算攻击检测数据并将计算结果上报给控制器的能力。
10.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1-5任一项所述方法。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有执行权利要求1-5任一项所述方法的计算机程序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211562304.8A CN115811433A (zh) | 2022-12-07 | 2022-12-07 | 一种提升Flow攻击检测准确性和性能方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211562304.8A CN115811433A (zh) | 2022-12-07 | 2022-12-07 | 一种提升Flow攻击检测准确性和性能方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115811433A true CN115811433A (zh) | 2023-03-17 |
Family
ID=85485197
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211562304.8A Pending CN115811433A (zh) | 2022-12-07 | 2022-12-07 | 一种提升Flow攻击检测准确性和性能方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115811433A (zh) |
-
2022
- 2022-12-07 CN CN202211562304.8A patent/CN115811433A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10554526B2 (en) | Feature vector based anomaly detection in an information technology environment | |
US10673721B2 (en) | Anomaly detection apparatus, anomaly detection system, and anomaly detection method using correlation coefficients | |
WO2019133763A1 (en) | System and method of application discovery | |
CN113342564B (zh) | 日志审计方法、装置、电子设备和介质 | |
CN113454600A (zh) | 使用跟踪数据在分布式系统中进行自动根因分析 | |
US20170295068A1 (en) | Logical network topology analyzer | |
US10999168B1 (en) | User defined custom metrics | |
US20220286373A1 (en) | Scalable real time metrics management | |
CN111193633B (zh) | 异常网络连接的检测方法及装置 | |
CN112583797B (zh) | 多协议数据处理方法、装置、设备及计算机可读存储介质 | |
CN113626198B (zh) | 一种数据库流量负载均衡系统及方法 | |
JP5963974B2 (ja) | 情報処理装置及び情報処理方法及びプログラム | |
US10069797B2 (en) | 10Gbps line rate stream to disk with fast retrieval (metadata) and network statistics | |
KR20200034022A (ko) | 클라우드 환경 모니터링 시스템 및 방법 | |
US11003513B2 (en) | Adaptive event aggregation | |
CN115811433A (zh) | 一种提升Flow攻击检测准确性和性能方法及装置 | |
EP3799638A1 (en) | Optimizing large scale data analysis | |
US10020990B2 (en) | Network stability reconnaisance tool | |
Elsen et al. | goProbe: a scalable distributed network monitoring solution | |
Falk et al. | VSOC-a virtual security operating center | |
CN113472567B (zh) | 一种网络sla的计算方法及装置 | |
CN114422324B (zh) | 一种告警信息的处理方法、装置、电子设备及存储介质 | |
CN116009491A (zh) | 一种分布式网络优化异常检测告警上报的方法及装置 | |
WO2023084599A1 (ja) | トラフィック監視装置およびトラフィック監視プログラム | |
US11991063B2 (en) | Anomaly detection device, anomaly detection method, and program |
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 |