CN115426135B - 流量检测规则的处理、网络流量的检测方法、装置及设备 - Google Patents
流量检测规则的处理、网络流量的检测方法、装置及设备 Download PDFInfo
- Publication number
- CN115426135B CN115426135B CN202210969009.8A CN202210969009A CN115426135B CN 115426135 B CN115426135 B CN 115426135B CN 202210969009 A CN202210969009 A CN 202210969009A CN 115426135 B CN115426135 B CN 115426135B
- Authority
- CN
- China
- Prior art keywords
- detection rule
- rule
- detected
- flow detection
- traffic
- 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
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 423
- 238000012545 processing Methods 0.000 title claims abstract description 35
- 238000000034 method Methods 0.000 claims abstract description 60
- 238000012163 sequencing technique Methods 0.000 claims abstract description 10
- 230000002159 abnormal effect Effects 0.000 claims description 51
- 230000014509 gene expression Effects 0.000 claims description 28
- 238000003672 processing method Methods 0.000 claims description 23
- 230000000903 blocking effect Effects 0.000 claims description 9
- 238000004364 calculation method Methods 0.000 claims description 7
- 238000004458 analytical method Methods 0.000 claims description 3
- 238000004590 computer program Methods 0.000 claims description 3
- 239000000047 product Substances 0.000 description 18
- 230000008569 process Effects 0.000 description 15
- 238000010586 diagram Methods 0.000 description 11
- 230000003190 augmentative effect Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000011897 real-time detection Methods 0.000 description 3
- 238000012216 screening Methods 0.000 description 3
- 230000006978 adaptation Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 238000003062 neural network model Methods 0.000 description 2
- 239000013307 optical fiber Substances 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000003066 decision tree Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000011895 specific detection Methods 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1416—Event detection, e.g. attack signature detection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1425—Traffic logging, e.g. anomaly detection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本公开是关于一种流量检测规则的处理、网络流量的检测方法、装置及设备,涉及网络安全技术领域,该方法包括:获取核心网络流量检测规则,并对所述核心网络流量检测规则进行解析,得到所述核心网络流量检测规则中包括的规则属性信息;根据所述规则属性信息计算所述核心网络流量检测规则的重要程度值,并根据所述重要程度值对所述核心网络流量检测规则进行排序;从排序后的核心网络流量检测规则中选取目标网络流量检测规则;将所述目标网络流量检测规则以键值对的形式存储至内核空间中的扩展的伯克利数据包过滤器eBPF检测引擎中。本公开在不影响精确度的情况下提高了目标网络流量检测的性能以及能够支持更多的检测规则。
Description
技术领域
本公开实施例涉及网络安全技术领域,具体而言,涉及一种流量检测规则的处理方法、流量检测规则的处理装置、网络流量的检测方法、网络流量的检测装置、计算机可读存储介质以及电子设备。
背景技术
现有的对网络流量的检测方法中,是通过在应用服务器侧设置Web应用防火墙的方式来实现的。但是,在具体的检测过程中,当防护规则加载到一定数量以后,Web服务器无法继续加载其他的防护规则,进而使得网络流量的检测范围收到影响,存在误检测或漏检测的问题。
需要说明的是,在上述背景技术部分发明的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本公开的目的在于提供一种流量检测规则的处理方法、流量检测规则的处理装置、网络流量的检测方法、网络流量的检测装置、计算机可读存储介质以及电子设备,进而至少在一定程度上克服由于相关技术的限制和缺陷而导致的误检测或漏检测的问题。
根据本公开的一个方面,提供一种流量检测规则的处理方法,包括:
获取核心网络流量检测规则,并对所述核心网络流量检测规则进行解析,得到所述核心网络流量检测规则中包括的规则属性信息;
根据所述规则属性信息计算所述核心网络流量检测规则的重要程度值,并根据所述重要程度值对所述核心网络流量检测规则进行排序;
从排序后的核心网络流量检测规则中选取重要程度值大于预设阈值的核心网络流量检测规则作为目标网络流量检测规则;
将所述目标网络流量检测规则以键值对的形式存储至内核空间中的扩展的伯克利数据包过滤器eBPF检测引擎中。
在本公开的一种示例性实施例中,所述规则属性信息包括威胁级别、时效性以及命中频率中的一种或多种;
其中,根据所述规则属性信息计算所述核心网络流量检测规则的重要程度值,包括:
根据所述异常流量的威胁级别和/或时效性和/或命中频率,计算核心网络流量检测规则的重要程度值。
在本公开的一种示例性实施例中,根据所述异常流量的威胁级别和/或时效性和/或命中频率,计算核心网络流量检测规则的重要程度值,包括:
为所述威胁级别、时效性以及命中频率配置第一权重值、第二权重值以及第三权重值;
计算所述威胁级别以及第一权重值之间的第一乘积运算结果,和/或所述时效性与第二权重值之间的第二乘积运算结果,和/或所述命中频率与第三权重值之间的第三乘积运算结果;
根据所述第一乘积运算结果和/或第二乘积运算结果和/或第三乘积运算结果,得到所述核心网络流量检测规则的重要程度值。
在本公开的一种示例性实施例中,将所述目标网络流量检测规则以键值对的形式存储至内核空间中的扩展的伯克利数据包过滤器eBPF检测引擎中,包括:
基于预设的语言编写规则构建基于正则表达式的特征检测算法程序,并基于预设的编译器对基于正则表达式的特征检测算法程序进行编译构建,得到基于扩展的伯克利数据包过滤器eBPF的指令序列;
调用内核空间的扩展的伯克利数据包过滤器eBPF检测引擎中的加载程序,将基于eBPF的指令序列注入eBPF检测引擎中;
将所述目标网络流量检测规则注入所述基于eBPF的指令序列中,并以eBPF键值对的形式进行存储。
根据本公开的一个方面,提供一种网络流量的检测方法,包括:
接收待检测网络流量,并调用配置于内核空间的扩展的伯克利数据包过滤器eBPF检测引擎中的目标网络流量检测规则;其中,所述目标网络流量检测规则是通过上述任意一项所述的流量检测规则的处理方法对核心网络流量检测规则进行处理得到的;
基于所述目标网络流量检测规则对所述待检测网络流量中的待检测报文数据进行实时检测,得到检测结果,并根据所述检测结果判断所述待检测网络流量是否为异常流量;
在确定所述待检测网络流量为异常流量时,对与异常网络流量对应的应用程序访问请求进行阻断,并在确定所述待检测网络流量为正常流量时,对与正常网络流量对应的应用程序访问请求进行转发。
在本公开的一种示例性实施例中,基于所述目标网络流量检测规则对所述待检测网络流量中的待检测报文数据进行实时检测,得到检测结果,包括:
对所述待检测网络流量中的待检测报文数据进行解析,得到所述待检测报文数据中包括的待检测字段,并根据所述待检测字段构建待匹配正则表达式;
在所述目标网络流量检测规则中对所述待匹配正则表达式进行匹配,得到所述检测结果。
在本公开的一种示例性实施例中,所述待检测字段包括流量类别、流标签、有效载荷、源地址以及目的地址中的多种;
所述源地址包括源终端的源互联网协议地址和/或源媒体存取控制位址,所述目的地址包括目的终端的目的互联网协议地址和/或目的媒体存取控制位址。
在本公开的一种示例性实施例中,对所述待检测网络流量中的待检测报文数据进行解析,得到所述待检测报文数据中包括的待检测字段,并根据所述待检测字段构建待匹配正则表达式,包括:
对所述待检测网络流量中的待检测报文数据进行解析,得到所述待检测报文数据中包括的流量类别、流标签、有效载荷、源地址以及目的地址;
对所述有效载荷进行解析,得到所述有效载荷中包括的序列特征,并根据所述流量类别和/或流标签和/或有效载荷和/或源地址和/或目的地址和/或所述序列特征,构建一个或多个正则表达式。
根据本公开的一个方面,提供一种流量检测规则的处理装置,包括:
第一解析模块,用于获取核心网络流量检测规则,并对所述核心网络流量检测规则进行解析,得到所述核心网络流量检测规则中包括的规则属性信息;
重要程度值计算模块,用于根据所述规则属性信息计算所述核心网络流量检测规则的重要程度值,并根据所述重要程度值对所述核心网络流量检测规则进行排序;
流量检测规则选取模块,用于从排序后的核心网络流量检测规则中选取重要程度值大于预设阈值的核心网络流量检测规则作为目标网络流量检测规则;
流量规则存储模块,用于将所述目标网络流量检测规则以键值对的形式存储至内核空间中的扩展的伯克利数据包过滤器eBPF检测引擎中。
根据本公开的一个方面,提供一种网络流量的检测装置,包括:
网络流量接收模块,用于接收待检测网络流量,并调用配置于内核空间的扩展的伯克利数据包过滤器eBPF检测引擎中的目标网络流量检测规则;其中,所述目标网络流量检测规则是通过上述任意一项所述的流量检测规则的处理方法对核心网络流量检测规则进行处理得到的;
网络流量检测模块,用于基于所述目标网络流量检测规则对所述待检测网络流量中的待检测报文数据进行实时检测,得到检测结果,并根据所述检测结果判断所述待检测网络流量是否为异常流量;
访问请求阻断模块,用于在确定所述待检测网络流量为异常流量时,对与异常网络流量对应的应用程序访问请求进行阻断,并在确定所述待检测网络流量为正常流量时,对与正常网络流量对应的应用程序访问请求进行转发。
根据本公开的一个方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意一项所述的流量检测规则的处理方法,以及上述任意一项所述的网络流量的检测方法。
根据本公开的一个方面,提供一种电子设备,包括:
处理器;以及
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行上述任意一项所述的流量检测规则的处理方法,以及上述任意一项所述的网络流量的检测方法。
本公开实施例提供的一种流量检测规则的处理方法,一方面,通过获取核心网络流量检测规则,并对核心网络流量检测规则进行解析,得到核心网络流量检测规则中包括的规则属性信息;然后根据规则属性信息计算核心网络流量检测规则的重要程度值,并根据重要程度值对核心网络流量检测规则进行排序;再从排序后的核心网络流量检测规则中选取重要程度值大于预设阈值的核心网络流量检测规则作为目标网络流量检测规则,最后再将目标网络流量检测规则以键值对的形式存储至内核空间中的扩展的伯克利数据包过滤器eBPF检测引擎中,进而使得eBPF检测引擎在对待检测网络流量进行检测的过程,可以在不影响检测结果的精确度的情况下提高检测性能;另一方面,由于可以将目标网络流量检测规则以键值对的形式存储至内核空间中的扩展的伯克利数据包过滤器eBPF检测引擎中,进而可以在不损失eBPF检测引擎的性能的前提下,扩大所能支持的目标网络流量检测规则的数量,进而可以增强现有技术中由于防护规则加载到一定数量以后,Web服务器无法继续加载其他的防护规则,进而使得网络流量的检测范围收到影响,存在误检测或漏检测的问题。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示意性示出根据本公开示例实施例的一种流量检测规则的处理方法的流程图。
图2示意性示出根据本公开示例实施例的一种Web应用防火墙的架构的示例图。
图3示意性示出根据本公开示例实施例的一种用户终端的结构示例图。
图4示意性示出根据本公开示例实施例的一种应用服务器的结构示例图。
图5示意性示出根据本公开示例实施例的一种根据所述异常流量的威胁级别和/或时效性和/或命中频率,计算核心网络流量检测规则的重要程度值的方法流程图。
图6示意性示出根据本公开示例实施例的一种网络流量的检测方法的流程图。
图7示意性示出根据本公开示例实施例的一种SRv6数据包的包头的示例图。
图8示意性示出根据本公开示例实施例的一种IPv6的数据包的包头的示例图。
图9示意性示出根据本公开示例实施例的一种SR数据包的包头(Segment RoutingHeader,SRH)的示例图。
图10示意性示出根据本公开示例实施例的一种流量检测规则的处理装置的框图。
图11示意性示出根据本公开示例实施例的一种网络流量的检测装置的框图。
图12示意性示出根据本公开示例实施例的一种用于实现上述流量检测规则的处理方法以及网络流量的检测方法的电子设备。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。在下面的描述中,提供许多具体细节从而给出对本公开的实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而省略所述特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知技术方案以避免喧宾夺主而使得本公开的各方面变得模糊。
此外,附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
网络流量是指能够连接网络的设备在网络上所产生的数据流量。其中,能够连接网络的设备可以包括终端、服务器、交换机、路由器、基站等网络设备,终端包括但不限于台式机、笔记本电脑以及智能手机等设备。这些网络设备在运行过程中进行数据交互,从而在网络上产生数据流量。
由于受到外界因素影响,如受到恶意攻击或者网络自身问题,网络中还会产生异常的网络流量。异常的网络流量占用大量网络资源,可以导致正常的网络流量如业务数据流量难以在网络中传输。为了保障网络的稳定性和流畅性,可以进行网络流量检测。所谓网络流量检测是指对网络流量进行实时检测,从而及时发现和排除异常情况。
在现有的网络流量的检测方法中,可以通过在应用服务器中的Web应用防火墙中增加特征检测引擎,并在特征检测引擎中设置对应的匹配规则,当接收到应用程序访问请求以后,在该特征检测引擎中基于设置的匹配规则对应用程序访问请求中包括的报文数据进行匹配,如果匹配到了相应的异常字段,则可以确定该应用程序访问请求为异常网络流量,进而对该应用程序访问请求进行阻断;若没有匹配到相应的字段,则可以确定该应用程序访问请求为正常网络流量,进而对该应用程序访问请求进行正常的转发,实现正常的应用访问。
但是,目前软件实现Web应用防火墙的架构,大部分都采用在高性能Web服务器进行Web应用防火墙模块开发的方式来实现的;例如,Nginx上的ModSecurity,或者是依托openresty基于Lua进行开发;因此,安全防护策略基于正则表达式检测应用程序访问请求/响应内容,通常在加载了百余条防护规则后,Web服务器以及Web应用防火墙的性能会大幅度降低,进而会存在漏检测或误检测的问题,降低了系统的安全性。
基于此,本示例实施方式中首先提供了一种流量检测规则的处理方法,该方法可以运行于终端设备的内核中,该终端设备可以包括手机(Mobile Phone)、平板电脑(Pad)、带无线收发功能的电脑、虚拟现实(Virtual Reality,VR)终端、增强现实(AugmentedReality,AR)终端、工业控制(Industrial Control)中的无线终端、无人驾驶(SelfDriving)中的无线终端、远程医疗(Remote Medical)中的无线终端、智能电网(SmartGrid)中的无线终端、运输安全(Transportation Safety)中的无线终端、智慧城市(SmartCity)中的无线终端、智慧家庭(Smart Home)中的无线终端等;当然,本公开示例实施例所记载的流量监测规则的处理方法,也可以运行于服务器、服务器集群或云服务器等;又或者,本领域技术人员也可以根据需求在其他平台运行本公开的方法,本示例性实施例中对此不做特殊限定。具体的,参考图1所示,该流量检测规则的处理方法可以包括以下步骤:
步骤S110.获取核心网络流量检测规则,并对所述核心网络流量检测规则进行解析,得到所述核心网络流量检测规则中包括的规则属性信息;
步骤S120.根据所述规则属性信息计算所述核心网络流量检测规则的重要程度值,并根据所述重要程度值对所述核心网络流量检测规则进行排序;
步骤S130.从排序后的核心网络流量检测规则中选取重要程度值大于预设阈值的核心网络流量检测规则作为目标网络流量检测规则;
步骤S140.将所述目标网络流量检测规则以键值对的形式存储至内核空间中的扩展的伯克利数据包过滤器eBPF检测引擎中。
上述流量检测规则的处理方法中,一方面,通过获取核心网络流量检测规则,并对核心网络流量检测规则进行解析,得到核心网络流量检测规则中包括的规则属性信息;然后根据规则属性信息计算核心网络流量检测规则的重要程度值,并根据重要程度值对核心网络流量检测规则进行排序;再从排序后的核心网络流量检测规则中选取重要程度值大于预设阈值的核心网络流量检测规则作为目标网络流量检测规则,最后再将目标网络流量检测规则以键值对的形式存储至内核空间中的扩展的伯克利数据包过滤器eBPF检测引擎中,进而使得eBPF检测引擎在对待检测网络流量进行检测的过程,可以在不影响检测结果的精确度的情况下提高检测效率;另一方面,由于可以将目标网络流量检测规则以键值对的形式存储至内核空间中的扩展的伯克利数据包过滤器eBPF检测引擎中,进而可以在不损失eBPF检测引擎的性能的前提下,扩大所能支持的目标网络流量检测规则的数量,进而可以解决现有技术中由于防护规则加载到一定数量以后,Web服务器无法继续加载其他的防护规则,进而使得网络流量的检测范围收到影响,存在误检测或漏检测的问题。
以下,将结合附图对本公开示例实施例流量检测规则的处理方法进行详细的解释以及说明。
首先,对本公开示例实施例的流量检测规则的处理方法的应用场景进行解释以及说明。具体的,Web应用防火墙(Web Application Firewall,WAF)根据一定的安全防护规则,对Web应用的请求和响应进行内容过滤,从而保护Web应用;同时,由于WAF需要实时检测/阻断恶意内容,因此对WAF性能的优化一直持续是学术界/业界热点。在此场景下,本公开示例实施例首先提供了一种流量检测规则的处理方法,该流量检测规则的处理方法对WAF检测引擎计算的动态迁移,基于系统内核eBPF(Extended Berkeley Packet Filter,扩展的伯克利数据包过滤器)模块新的特性,创造性的提出可以将WAF部份核心检测规则保存到系统内核空间,并对报文Web内容直接进行检测;并且,该方法不影响当前针对WAF的优化方案,而且是对其有力的补充,能够进一步提高WAF检测性能。
其次,对本公开示例实施例中所涉及到的Web应用防火墙的架构进行解释以及说明。
具体的,参考图2所示,该Web应用防火墙的架构可以包括用户终端210以及应用服务器端220,用户终端210可以通过有线网络或者无线网络的方式与服务器端网络连接。
进一步的,参考图3所示,该用户终端中包括硬件网卡301、网卡驱动302、内核空间(Kernal)303以及用户空间(User Space)304;其中,硬件网卡301、网卡驱动302、内核空间303以及用户空间304依次通信连接;硬件网卡用于接收应用程序访问请求,网卡驱动用于把与应用程序访问请求对应的待检测网络流量发送给内核空间,内核空间用于对待检测网络流量进行是否存在异常进行检测,并在确定待检测网络流量属于正常网络流量时,将与该正常网络流量对应的应用程序访问请求发送至用户空间,并经由用户空间将应用程序访问请求发送至应用服务器。同时,该内核空间中可以设置有eBPF检测引擎3031,该eBPF检测引擎中设置有以eBPF Map格式的目标网络流量检测规则,在内核空间对待检测网络流量进行检测时,可以调用eBPF检测引擎,并利用目标网络流量检测规则对待检测网络流量进行检测。
更进一步的,参考图4所示,应用服务器中设置有WAF引擎模块401,WAF引擎模块中设置有特征检测引擎402;在具体应用过程中,该应用服务器例如可以是Web服务器(WebServer,该Web Server可以Nginx或者Apache等等,本示例对此不做特殊限制),当WebServer接收到应用程序访问请求以后,可以通过特征检测引擎402中设置的WAF规则配置对该应用程序访问请求进行再次检测,并在检测该应用程序访问请求属于正常网络流量时,允许该应用程序访问请求对与该应用程序对应的源站403进行访问,以发送或者获取相应的数据。
以下,将结合图2以及图4对图1中所示出的流量检测规则的处理方法进行进一步的解释以及说明。具体的:
在步骤S110中,获取核心网络流量检测规则,并对所述核心网络流量检测规则进行解析,得到所述核心网络流量检测规则中包括的规则属性信息。
在本示例实施例中,首先,获取核心网络流量检测规则;其中,此处所记载的核心网络流量检测规则,可以是设置在Web服务器侧的规则配置数据库中的网络流量检测规则,该核心网络流量检测规则可以包括基于历史的异常网络流量生成检测规则,也可以是类似于0Day漏洞所生成的检测规则,本示例对此不做特殊限制;同时,在该核心网络流量检测规则中,可以包括异常地址、异常类别、异常流量类别、异常流标签、有效载荷、异常特征序列等等,本示例对此不做特殊限制。进一步的,当获取到核心网络流量检测规则以后,即可对该核心网络流量检测规则进行解析,得到该核心网络流量检测规则中包括的规则属性信息;其中,规则属性信息可以包括威胁级别、时效性以及命中频率等等,此处所记载的威胁级别可以包括严重、告警、普通以及一般,时效性是根据该异常流量对网络的影响时间和/或该异常流量入侵系统的时间等等,命中频率可以包括该异常流量被命中的次数等等。
在步骤S120中,根据所述规则属性信息计算所述核心网络流量检测规则的重要程度值,并根据所述重要程度值对所述核心网络流量检测规则进行排序。
在本示例实施例中,首先,根据规则属性信息计算核心网络流量检测规则的重要程度值。具体的,可以通过如下方式实现:根据所述异常流量的威胁级别和/或时效性和/或命中频率,计算核心网络流量检测规则的重要程度值。进一步的,参考图5所示,根据所述异常流量的威胁级别和/或时效性和/或命中频率,计算核心网络流量检测规则的重要程度值,可以包括以下步骤:
步骤S510,为所述威胁级别、时效性以及命中频率配置第一权重值、第二权重值以及第三权重值;
步骤S520,计算所述威胁级别以及第一权重值之间的第一乘积运算结果,和/或所述时效性与第二权重值之间的第二乘积运算结果,和/或所述命中频率与第三权重值之间的第三乘积运算结果;
步骤S530,根据所述第一乘积运算结果和/或第二乘积运算结果和/或第三乘积运算结果,得到所述核心网络流量检测规则的重要程度值。
以下,将对步骤S510-步骤S530进行解释以及说明。具体的,本公开示例实施例在计算各核心网络流量检测规则的过程中,可以基于Amdahl'sLaw(阿姆达尔定律)来实现,阿姆达尔定律的普通应用场景为:对计算机系统的某一部分加速的时候,该加速部分对系统整体性能的影响取决于该部分的重要性和加速程度。当阿姆达尔定律用在本公开示例实施例所记载的网络流量规则的处理方法中时,可以通过阿姆达尔定律计算出核心网络流量检测规则中最核心、检出频率最高的目标网络流量检测规则,进而将得到的最核心、检出频率最高的规则动态地迁移到内核层进行检测计算;同时,在具体的应用过程中,由于该部分核心规则可能占用了大部分的检测运行资源,而内核执行的效率和用户程序相比有数量级别的提升,因此该方法能够大幅度提升WAF检测引擎的性能。
进一步的,在具体的对核心网络流量检测规则的重要程度值计算的过程中,可以基于自适应的核心规则动态筛选算法,在一段时间窗口周期内,筛选出核心规则的TOP N的目标网络流量检测规则。具体的,可以基于WAF的运行状态,根据核心网络流量检测规则中包括的异常流量的威胁级别、时效性和命中频率进行动态的自适应的筛选核心规则(也即,目标网络流量检测规则)。其中,具体的计算公式可以如下公式(1)所示:
T=α*威胁级别+β*时效性+γ*命中频率;公式(1)
其中,T为核心网络流量检测规则的重要程度值,α为第一权重值,β为第二权重值,γ为第三权重值,并且有:α+β+γ=1。此处需要补充说明的是,α、β以及γ的具体取值范围,可以根据实际需要进行选取,或者根据威胁级别、时效性以及命中频率的具体重要程度来选取,本示例对此不做特殊限制。
在一些可能的示例实施例中,α、β以及γ的具体取值可以通过网络模型预测得到,该网络模型可以包括卷积神经网络模型、循环神经网络模型、深度神经网络模型以及决策树模型等等,本示例对此不做特殊限制;在另一些可能的示例实施例中,α、β以及γ的具体取值范围,还可以根据历史经验来设置,本示例对此不做特殊限制。
进一步的,当得到核心网络流量检测规则的重要程度值以后,即可根据重要程度值对核心网络流量检测规则进行排序;在排序的过程中,可以根据重要程度值从小到大排序,或者从大到小排序,本示例对此不做特殊限制。
在步骤S130中,从排序后的核心网络流量检测规则中选取重要程度值大于预设阈值的核心网络流量检测规则作为目标网络流量检测规则。
具体的,当得到核心网络流量检测规则的排序结果以后,即可从排序后的核心网络流量检测规则中选取重要程度值大于预设阈值的核心网络流量检测规则作为目标网络流量检测规则;其次,此处所记载的预设阈值,可以根据特征检测引擎中所能支持的目标网络流量检测规则的数量来确定,也即,假设可以支持200条目标网络流量检测规则,则可以从排序后的核心网络流量检测规则中选取排在前200(Top N)位置处的核心网络流量检测规则所具有的重要程度值来确定该预设阈值的大小,或者,也可以根据历史数据来确定,进而选取重要程度值大于该预设阈值的核心网络流量检测规则作为目标网络流量检测规则,本示例对此不做特殊限制。
在步骤S140中,将所述目标网络流量检测规则以键值对的形式存储至内核空间中的扩展的伯克利数据包过滤器eBPF检测引擎中。
具体的,将所述目标网络流量检测规则以键值对的形式存储至内核空间中的扩展的伯克利数据包过滤器eBPF检测引擎中,可以通过如下方式实现:首先,基于预设的语言编写规则构建基于正则表达式的特征检测算法程序,并基于预设的编译器对基于正则表达式的特征检测算法程序进行编译构建,得到基于扩展的伯克利数据包过滤器eBPF的指令序列;其次,调用内核空间的扩展的伯克利数据包过滤器eBPF检测引擎中的加载程序,将基于eBPF的指令序列注入eBPF检测引擎中;最后,将所述目标网络流量检测规则注入所述基于eBPF的指令序列中,并以eBPF键值对的形式进行存储。
在一些示例实施例中,可以基于系统内核(终端设备的内核)中的eBPF,实现检测引擎内核模块,该检测引擎内核模块可以用于WAF检测核心部分的计算迁移;同时,由于WAF检测引擎的核心是基于正则/PCRE(Perl Compatible Regular Expressions,Perl语言兼容正则表达式)的特征检测,因此内核检测模块的核心也是要实现基于正则/PCRE的检测模块。而eBPF实际上可以看作是运行在内核层的虚拟机,有自定义的指令集合。因此实现内核的正则/PCRE检测模块是需要基于eBPF的指令实现正则/PCRE检测程序,主要包括:首先,基于restrict C(也即预设的语言编写规则)实现正则/PCRE(包括字符串匹配等)检测算法程序;然后,使用LLVM(Low Level Virtual Machine,底层虚拟机)编译器(也即,预设的编译器)将程序代码编译为基于eBPF的指令序列;最后,使用系统调用bpf_load_x(也即加载程序)将编译好的指令序列注入系统内核中的eBPF,再将目标网络流量检测规则注入所述基于eBPF的指令序列中,并以eBPF键值对(也即eBPF Map)的形式进行存储。
此处需要补充说明的是,此处之所以以eBPF键值对(也即eBPF Map)的形式对目标网络流量检测规则进行存储,是为了节省特征检测引擎的存储空间,并提高数据检测效率。同时,鉴于eBPF Map的特性,还可以便于特征检测引擎中的目标网络流量检测规则进行实时的更新(例如,删除旧的目标网络流量检测规则,和/或增加新的目标网络流量检测规则等等)。
本公开示例实施例还提供了一种网络流量的检测方法,该方法可以运行于终端设备的内核中,该终端设备可以包括手机(Mobile Phone)、平板电脑(Pad)、带无线收发功能的电脑、虚拟现实(Virtual Reality,VR)终端、增强现实(Augmented Reality,AR)终端、工业控制(Industrial Control)中的无线终端、无人驾驶(Self Driving)中的无线终端、远程医疗(Remote Medical)中的无线终端、智能电网(Smart Grid)中的无线终端、运输安全(Transportation Safety)中的无线终端、智慧城市(Smart City)中的无线终端、智慧家庭(Smart Home)中的无线终端等;当然,本公开示例实施例所记载的流量监测规则的处理方法,也可以运行于服务器、服务器集群或云服务器等;又或者,本领域技术人员也可以根据需求在其他平台运行本公开的方法,本示例性实施例中对此不做特殊限定。具体的,参考图6所示,该网络流量的检测方法可以包括以下步骤:
步骤S610,接收待检测网络流量,并调用配置于内核空间的扩展的伯克利数据包过滤器eBPF检测引擎中的目标网络流量检测规则;其中,所述目标网络流量检测规则是通过上述任意一项所述的流量检测规则的处理方法对核心网络流量检测规则进行处理得到的;
步骤S620,基于所述目标网络流量检测规则对所述待检测网络流量中的待检测报文数据进行实时检测,得到检测结果,并根据所述检测结果判断所述待检测网络流量是否为异常流量;
步骤S630,在确定所述待检测网络流量为异常流量时,对与异常网络流量对应的应用程序访问请求进行阻断,并在确定所述待检测网络流量为正常流量时,对与正常网络流量对应的应用程序访问请求进行转发。
上述网络流量的检测方法中,一方面,由于目标网络流量检测规则通过获取核心网络流量检测规则,并对核心网络流量检测规则进行解析,得到核心网络流量检测规则中包括的规则属性信息;然后根据规则属性信息计算核心网络流量检测规则的重要程度值,并根据重要程度值对核心网络流量检测规则进行排序;再从排序后的核心网络流量检测规则中选取重要程度值大于预设阈值的核心网络流量检测规则作为目标网络流量检测规则,并将目标网络流量检测规则以键值对的形式存储至内核空间中的扩展的伯克利数据包过滤器eBPF检测引擎中的,进而可以确保目标网络流量检测规则的精确度的基础上,提高待检测网络流量的检测结果的精确度;另一方面,由于目标网络流量检测规则是以键值对的形式存储至内核空间中的扩展的伯克利数据包过滤器eBPF检测引擎中的,进而可以在不损失eBPF检测引擎的性能的前提下,扩大所能支持的目标网络流量检测规则的数量,进而可以解决现有技术中由于防护规则加载到一定数量以后,Web服务器无法继续加载其他的防护规则,进而使得网络流量的检测范围收到影响,存在误检测或漏检测的问题;再一方面,由于目标网络流量检测规则是以键值对的形式存储至内核空间中的扩展的伯克利数据包过滤器eBPF检测引擎中的,且由于内核执行的效率和用户程序相比有数量级别的提升,因此可以极大的提升待检测网络流量数据的检测效率,进而提高应用程序访问请求的访问效率,进而提升用户的上网体验。
以下,将对步骤S610-步骤S630进行详细的解释以及说明。具体的:
在步骤S610中,接收待检测网络流量,并调用配置于内核空间的扩展的伯克利数据包过滤器eBPF检测引擎中的目标网络流量检测规则;其中,所述目标网络流量检测规则是通过上述任意一项所述的流量检测规则的处理方法对核心网络流量检测规则进行处理得到的。
具体的,首先,接收待检测网络流量;其中,该待检测网络流量,可以是终端设备在进行应用程序访问是所产生的网络流量;同时,此处所记载的应用程序,可以是终端设备中安装的任一具有客户端的应用程序,例如即使会话应用程序、银行应用程序、购物应用程序以及科普应用程序等等,本示例对此不做特殊限制;进一步的,还需要调用配置于内核空间的扩展的伯克利数据包过滤器eBPF检测引擎中的目标网络流量检测规则;其中,此处所记载的目标网络流量检测规则与前文所述的目标网络流量检测规则是一致的,此处不再进行赘述。
在步骤S620中,基于所述目标网络流量检测规则对所述待检测网络流量中的待检测报文数据进行实时检测,得到检测结果,并根据所述检测结果判断所述待检测网络流量是否为异常流量。
在本示例实施例中,首先,基于目标网络流量检测规则对待检测网络流量中的待检测报文数据进行实时检测,得到检测结果。具体的,可以通过如下方式实现:首先,对所述待检测网络流量中的待检测报文数据进行解析,得到所述待检测报文数据中包括的待检测字段,并根据所述待检测字段构建待匹配正则表达式;其次,在所述目标网络流量检测规则中对所述待匹配正则表达式进行匹配,得到所述检测结果;其中,所述待检测字段包括流量类别、流标签、有效载荷、源地址以及目的地址中的多种;所述源地址包括源终端的源互联网协议地址和/或源媒体存取控制位址,所述目的地址包括目的终端的目的互联网协议地址和/或目的媒体存取控制位址。
在一些示例实施例中,以待检测报文数据为SRv6数据包为例,对具体的解析过程以及待检测字段进行解释以及说明。具体的,该SRv6数据包的包头可以参考图7所示。在图7所示出的示例图中可以得出,SRv6数据包的包头是在原IPv6包头后加了一个SRH(SegmentRouting Header,SR包头)包;也即,该SRv6数据包的包头中包括IPv6包头(IPv6 Header)、SRH(Segment Routing Header,SR包头)以及有效载荷(Pay Load)。其中,参考图8所示,IPv6包头(IPv6 Header)中可以包括版本(Version)、流量类别(Trafic Class)、流标签(Flow Label)、净荷长度(Payload Length)、下一包头(Next Hdr)、跳数限制(Hop Limit)、源IPv6地址(Source Address)以及目的IPv6地址(Destination Address);进一步的,参考图9所示,SRH中可以包括用于指示下一个报文头类型(Next Header)的字段,用于指示SRH头的长度(Hdr Ext Len)的字段,用于指示路由类型(Routing Type)的字段;同时,SRH还包括用于指示报文还应当经过的分段端节点的数量(Segment Left,SL)的字段,该字段还可以称为剩余节点字段。SRH还包括用于指示Segment List中最后一个元素的索引(LastEntry)的字段,用于指示数据包的标识(Flags)的字段,用于指示同组数据包(Tag)的字段。SRH中还包括段列表Segment List,Segment List包括Segment List[0],Segment List[1],……,Segment List[n]。其中Segment List中的每个元素对应一个SID,每个SID可以为一个IPv6地址或一个IPv6地址的一部分,每个SID用于标识一个网络节点或一个链路;并且,SRH中还包括可选TLV(Optional Type Length Value)。
在一些示例实施例中,对所述待检测网络流量中的待检测报文数据进行解析,得到所述待检测报文数据中包括的待检测字段,并根据所述待检测字段构建待匹配正则表达式,具体可以通过如下方式实现:对所述待检测网络流量中的待检测报文数据进行解析,得到所述待检测报文数据中包括的流量类别、流标签、有效载荷、源地址以及目的地址;对所述有效载荷进行解析,得到所述有效载荷中包括的序列特征,并根据所述流量类别和/或流标签和/或有效载荷和/或源地址和/或目的地址和/或所述序列特征,构建一个或多个正则表达式。其中,此处所记载的正则表达式,可以是PCRE,PCRE中可以支持的运算符号包括但不限于如下多个方面:
^,可以用于匹配输入字符串的开始位置。如果设置了RegExp对象的Multiline属性,^也匹配“”或“”之后的位置;
$,可以用于匹配输入字符串的结束位置。如果设置了RegExp对象的Multiline属性,$也匹配“”或“”之前的位置;
*,可以用于匹配前面的子表达式零次或多次。例如,zo*能匹配“z”以及“zoo”,*可以等价于{0,};
+,可以用于匹配前面的子表达式一次或多次。例如,“zo+”能匹配“zo”以及“zoo”,但不能匹配“z”;+等价于{1,};
?,可以用于匹配前面的子表达式零次或一次。例如,“do(es)?”可以匹配“do”或“does”中的“do”;?等价于{0,1};
当然,还可以包括一些其他的常规运算符号,比如与&、或or、非not、异或xor等等,本示例对此不做特殊限制。
在一些示例实施例中,在对所述有效载荷进行解析,得到所述有效载荷中包括的序列特征过程中,可以通过如下方式实现:由于有效载荷中可以包括字符序列,进而可以提取数据包中表征字符序列之间潜在关系的序列特征;同时,通过提取字符序列之间的序列特征,可以发现异常网络流量的序列依赖关系,学习异常网络流量的特征,由此可以提高检出率,降低误报率。其中,有效载荷的序列特征,可以通过双向长短期记忆网络来提取,当然也可以通过其他方式提取,本示例对此不做特殊限制。
在步骤S630中,在确定所述待检测网络流量为异常流量时,对与异常网络流量对应的应用程序访问请求进行阻断,并在确定所述待检测网络流量为正常流量时,对与正常网络流量对应的应用程序访问请求进行转发。
至此,整个网络流量的检测过程已经全部完成。基于前述记载的内容可以得知,本公开示例实施例所记载的网络流量的检测方法,可以将最核心、检出频率最高的规则动态地迁移到内核层进行检测计算;并且,由于该部分核心规则可能占用了大部分的检测运行资源,而内核执行的效率和用户程序相比有数量级别的提升,因此该方法能够大幅度提升WAF检测引擎的性能;在具体的应用过程中,首先,基于自适应的核心规则筛选算法,筛选出核心规则的top N规则,保存到内核eBPF maps模块;其次,基于最新的extended BerkeleyPacket Filter(eBPF)的系统内核模块,实现基于eBPF的内核正则/PCRE检测模块,实现内核基于特征的检测分析能力;最后,对eBPF接收的数据报文,基于该两个模块对待检测网络流量的待检测报文数据进行检测分析,进而可以在提高网络流量的检测效率的基础上,提高检测结果的精确度,进而达到避免误报或者漏报的目的。
本公开示例实施例还提供了一种流量检测规则的处理装置。具体的,参考图10所示,该流量检测规则的处理装置可以包括第一解析模块1010、重要程度值计算模块1020、流量规则选取模块1030以及流量规则存储模块1040。其中:
第一解析模块1010,可以用于获取核心网络流量检测规则,并对所述核心网络流量检测规则进行解析,得到所述核心网络流量检测规则中包括的规则属性信息;
重要程度值计算模块1020,可以用于根据所述规则属性信息计算所述核心网络流量检测规则的重要程度值,并根据所述重要程度值对所述核心网络流量检测规则进行排序;
流量检测规则选取模块1030,可以用于从排序后的核心网络流量检测规则中选取重要程度值大于预设阈值的核心网络流量检测规则作为目标网络流量检测规则;
流量规则存储模块1040,可以用于将所述目标网络流量检测规则以键值对的形式存储至内核空间中的扩展的伯克利数据包过滤器eBPF检测引擎中。
在本公开的一种示例性实施例中,所述规则属性信息包括威胁级别、时效性以及命中频率中的一种或多种;
其中,根据所述规则属性信息计算所述核心网络流量检测规则的重要程度值,包括:
根据所述异常流量的威胁级别和/或时效性和/或命中频率,计算核心网络流量检测规则的重要程度值。
在本公开的一种示例性实施例中,根据所述异常流量的威胁级别和/或时效性和/或命中频率,计算核心网络流量检测规则的重要程度值,包括:
为所述威胁级别、时效性以及命中频率配置第一权重值、第二权重值以及第三权重值;
计算所述威胁级别以及第一权重值之间的第一乘积运算结果,和/或所述时效性与第二权重值之间的第二乘积运算结果,和/或所述命中频率与第三权重值之间的第三乘积运算结果;
根据所述第一乘积运算结果和/或第二乘积运算结果和/或第三乘积运算结果,得到所述核心网络流量检测规则的重要程度值。
在本公开的一种示例性实施例中,将所述目标网络流量检测规则以键值对的形式存储至内核空间中的扩展的伯克利数据包过滤器eBPF检测引擎中,包括:
基于预设的语言编写规则构建基于正则表达式的特征检测算法程序,并基于预设的编译器对基于正则表达式的特征检测算法程序进行编译构建,得到基于扩展的伯克利数据包过滤器eBPF的指令序列;
调用内核空间的扩展的伯克利数据包过滤器eBPF检测引擎中的加载程序,将基于eBPF的指令序列注入eBPF检测引擎中;
将所述目标网络流量检测规则注入所述基于eBPF的指令序列中,并以eBPF键值对的形式进行存储。
本公开示例实施例还提供了一种网络流量的检测装置。具体的,参考图11所示,该网络流量的检测装置可以包括网络流量接收模块1110、网络流量检测模块1120以及访问请求检测模块1130。其中:
网络流量接收模块1110,可以用于接收待检测网络流量,并调用配置于内核空间的扩展的伯克利数据包过滤器eBPF检测引擎中的目标网络流量检测规则;其中,所述目标网络流量检测规则是通过上述任意一项所述的流量检测规则的处理方法对核心网络流量检测规则进行处理得到的;
网络流量检测模块1120,可以用于基于所述目标网络流量检测规则对所述待检测网络流量中的待检测报文数据进行实时检测,得到检测结果,并根据所述检测结果判断所述待检测网络流量是否为异常流量;
访问请求阻断模块1130,可以用于在确定所述待检测网络流量为异常流量时,对与异常网络流量对应的应用程序访问请求进行阻断,并在确定所述待检测网络流量为正常流量时,对与正常网络流量对应的应用程序访问请求进行转发。
在本公开的一种示例性实施例中,基于所述目标网络流量检测规则对所述待检测网络流量中的待检测报文数据进行实时检测,得到检测结果,包括:
对所述待检测网络流量中的待检测报文数据进行解析,得到所述待检测报文数据中包括的待检测字段,并根据所述待检测字段构建待匹配正则表达式;
在所述目标网络流量检测规则中对所述待匹配正则表达式进行匹配,得到所述检测结果。
在本公开的一种示例性实施例中,所述待检测字段包括流量类别、流标签、有效载荷、源地址以及目的地址中的多种;
所述源地址包括源终端的源互联网协议地址和/或源媒体存取控制位址,所述目的地址包括目的终端的目的互联网协议地址和/或目的媒体存取控制位址。
在本公开的一种示例性实施例中,对所述待检测网络流量中的待检测报文数据进行解析,得到所述待检测报文数据中包括的待检测字段,并根据所述待检测字段构建待匹配正则表达式,包括:
对所述待检测网络流量中的待检测报文数据进行解析,得到所述待检测报文数据中包括的流量类别、流标签、有效载荷、源地址以及目的地址;
对所述有效载荷进行解析,得到所述有效载荷中包括的序列特征,并根据所述流量类别和/或流标签和/或有效载荷和/或源地址和/或目的地址和/或所述序列特征,构建一个或多个正则表达式。
上述流量检测规则的处理装置以及网络流量的检测装置中各模块的具体细节已经在对应的流量检测规则的处理方法以及网络流量的检测方法中进行了详细的描述,因此此处不再赘述。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
此外,尽管在附图中以特定顺序描述了本公开中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附加的或备选的,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等。
在本公开的示例性实施例中,还提供了一种能够实现上述方法的电子设备。
所属技术领域的技术人员能够理解,本公开的各个方面可以实现为系统、方法或程序产品。因此,本公开的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
下面参照图12来描述根据本公开的这种实施方式的电子设备1200。图12显示的电子设备1200仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图12所示,电子设备1200以通用计算设备的形式表现。电子设备1200的组件可以包括但不限于:上述至少一个处理单元1210、上述至少一个存储单元1220、连接不同系统组件(包括存储单元1220和处理单元1210)的总线1230以及显示单元1240。
其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元1210执行,使得所述处理单元1210执行本说明书上述“示例性方法”部分中描述的根据本公开各种示例性实施方式的步骤。例如,所述处理单元1210可以执行如图1中所示的步骤S110:获取核心网络流量检测规则,并对所述核心网络流量检测规则进行解析,得到所述核心网络流量检测规则中包括的规则属性信息;步骤S120:根据所述规则属性信息计算所述核心网络流量检测规则的重要程度值,并根据所述重要程度值对所述核心网络流量检测规则进行排序;步骤S130:从排序后的核心网络流量检测规则中选取重要程度值大于预设阈值的核心网络流量检测规则作为目标网络流量检测规则;步骤S140:将所述目标网络流量检测规则以键值对的形式存储至内核空间中的扩展的伯克利数据包过滤器eBPF检测引擎中。
又例如,所述处理单元1210可以执行如图6中所示的步骤S610:接收待检测网络流量,并调用配置于内核空间的扩展的伯克利数据包过滤器eBPF检测引擎中的目标网络流量检测规则;其中,所述目标网络流量检测规则是通过上述任意一项所述的流量检测规则的处理方法对核心网络流量检测规则进行处理得到的;步骤S620:基于所述目标网络流量检测规则对所述待检测网络流量中的待检测报文数据进行实时检测,得到检测结果,并根据所述检测结果判断所述待检测网络流量是否为异常流量;步骤S630:在确定所述待检测网络流量为异常流量时,对与异常网络流量对应的应用程序访问请求进行阻断,并在确定所述待检测网络流量为正常流量时,对与正常网络流量对应的应用程序访问请求进行转发。
存储单元1220可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)12201和/或高速缓存存储单元12202,还可以进一步包括只读存储单元(ROM)12203。
存储单元1220还可以包括具有一组(至少一个)程序模块12205的程序/实用工具12204,这样的程序模块12205包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线1230可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
电子设备1200也可以与一个或多个外部设备1300(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备1200交互的设备通信,和/或与使得该电子设备1200能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口1250进行。并且,电子设备1200还可以通过网络适配器1260与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器1260通过总线1230与电子设备1200的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备1200使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、终端装置、或者网络设备等)执行根据本公开实施方式的方法。
在本公开的示例性实施例中,还提供了一种计算机可读存储介质,其上存储有能够实现本说明书上述方法的程序产品。在一些可能的实施方式中,本公开的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在终端设备上运行时,所述程序代码用于使所述终端设备执行本说明书上述“示例性方法”部分中描述的根据本公开各种示例性实施方式的步骤。
根据本公开的实施方式的用于实现上述方法的程序产品,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本公开的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本公开操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
此外,上述附图仅是根据本公开示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
本领域技术人员在考虑说明书及实践这里发明的发明后,将容易想到本公开的其他实施例。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未发明的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由权利要求指出。
Claims (12)
1.一种流量检测规则的处理方法,其特征在于,包括:
获取核心网络流量检测规则,并对所述核心网络流量检测规则进行解析,得到所述核心网络流量检测规则中包括的规则属性信息;
根据所述规则属性信息计算所述核心网络流量检测规则的重要程度值,并根据所述重要程度值对所述核心网络流量检测规则进行排序;
从排序后的核心网络流量检测规则中选取重要程度值大于预设阈值的核心网络流量检测规则作为目标网络流量检测规则;
将所述目标网络流量检测规则以键值对的形式存储至内核空间中的扩展的伯克利数据包过滤器eBPF检测引擎中。
2.根据权利要求1所述的流量检测规则的处理方法,其特征在于,所述规则属性信息包括威胁级别、时效性以及命中频率中的一种或多种;
其中,根据所述规则属性信息计算所述核心网络流量检测规则的重要程度值,包括:
根据异常流量的威胁级别和/或时效性和/或命中频率,计算核心网络流量检测规则的重要程度值。
3.根据权利要求2所述的流量检测规则的处理方法,其特征在于,根据所述异常流量的威胁级别和/或时效性和/或命中频率,计算核心网络流量检测规则的重要程度值,包括:
为所述威胁级别、时效性以及命中频率配置第一权重值、第二权重值以及第三权重值;
计算所述威胁级别以及第一权重值之间的第一乘积运算结果,和/或所述时效性与第二权重值之间的第二乘积运算结果,和/或所述命中频率与第三权重值之间的第三乘积运算结果;
根据所述第一乘积运算结果和/或第二乘积运算结果和/或第三乘积运算结果,得到所述核心网络流量检测规则的重要程度值。
4.根据权利要求1所述的流量检测规则的处理方法,其特征在于,将所述目标网络流量检测规则以键值对的形式存储至内核空间中的扩展的伯克利数据包过滤器eBPF检测引擎中,包括:
基于预设的语言编写规则构建基于正则表达式的特征检测算法程序,并基于预设的编译器对基于正则表达式的特征检测算法程序进行编译构建,得到基于扩展的伯克利数据包过滤器eBPF的指令序列;
调用内核空间的扩展的伯克利数据包过滤器eBPF检测引擎中的加载程序,将基于eBPF的指令序列注入eBPF检测引擎中;
将所述目标网络流量检测规则注入所述基于eBPF的指令序列中,并以eBPF键值对的形式进行存储。
5.一种网络流量的检测方法,其特征在于,包括:
接收待检测网络流量,并调用配置于内核空间的扩展的伯克利数据包过滤器eBPF检测引擎中的目标网络流量检测规则;其中,所述目标网络流量检测规则是通过权利要求1-4任一项所述的流量检测规则的处理方法对核心网络流量检测规则进行处理得到的;
基于所述目标网络流量检测规则对所述待检测网络流量中的待检测报文数据进行实时检测,得到检测结果,并根据所述检测结果判断所述待检测网络流量是否为异常流量;
在确定所述待检测网络流量为异常流量时,对与异常网络流量对应的应用程序访问请求进行阻断,并在确定所述待检测网络流量为正常流量时,对与正常网络流量对应的应用程序访问请求进行转发。
6.根据权利要求5所述的网络流量的检测方法,其特征在于,基于所述目标网络流量检测规则对所述待检测网络流量中的待检测报文数据进行实时检测,得到检测结果,包括:
对所述待检测网络流量中的待检测报文数据进行解析,得到所述待检测报文数据中包括的待检测字段,并根据所述待检测字段构建待匹配正则表达式;
在所述目标网络流量检测规则中对所述待匹配正则表达式进行匹配,得到所述检测结果。
7.根据权利要求6所述的网络流量的检测方法,其特征在于,所述待检测字段包括流量类别、流标签、有效载荷、源地址以及目的地址中的多种;
所述源地址包括源终端的源互联网协议地址和/或源媒体存取控制位址,所述目的地址包括目的终端的目的互联网协议地址和/或目的媒体存取控制位址。
8.根据权利要求7所述的网络流量的检测方法,其特征在于,对所述待检测网络流量中的待检测报文数据进行解析,得到所述待检测报文数据中包括的待检测字段,并根据所述待检测字段构建待匹配正则表达式,包括:
对所述待检测网络流量中的待检测报文数据进行解析,得到所述待检测报文数据中包括的流量类别、流标签、有效载荷、源地址以及目的地址;
对所述有效载荷进行解析,得到所述有效载荷中包括的序列特征,并根据所述流量类别和/或流标签和/或有效载荷和/或源地址和/或目的地址和/或所述序列特征,构建一个或多个正则表达式。
9.一种流量检测规则的处理装置,其特征在于,包括:
第一解析模块,用于获取核心网络流量检测规则,并对所述核心网络流量检测规则进行解析,得到所述核心网络流量检测规则中包括的规则属性信息;
重要程度值计算模块,用于根据所述规则属性信息计算所述核心网络流量检测规则的重要程度值,并根据所述重要程度值对所述核心网络流量检测规则进行排序;
流量检测规则选取模块,用于从排序后的核心网络流量检测规则中选取重要程度值大于预设阈值的核心网络流量检测规则作为目标网络流量检测规则;
流量规则存储模块,用于将所述目标网络流量检测规则以键值对的形式存储至内核空间中的扩展的伯克利数据包过滤器eBPF检测引擎中。
10.一种网络流量的检测装置,其特征在于,包括:
网络流量接收模块,用于接收待检测网络流量,并调用配置于内核空间的扩展的伯克利数据包过滤器eBPF检测引擎中的目标网络流量检测规则;其中,所述目标网络流量检测规则是通过权利要求1-4任一项所述的流量检测规则的处理方法对核心网络流量检测规则进行处理得到的;
网络流量检测模块,用于基于所述目标网络流量检测规则对所述待检测网络流量中的待检测报文数据进行实时检测,得到检测结果,并根据所述检测结果判断所述待检测网络流量是否为异常流量;
访问请求阻断模块,用于在确定所述待检测网络流量为异常流量时,对与异常网络流量对应的应用程序访问请求进行阻断,并在确定所述待检测网络流量为正常流量时,对与正常网络流量对应的应用程序访问请求进行转发。
11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-4任一项所述的流量检测规则的处理方法,以及权利要求5-8任一项所述的网络流量的检测方法。
12.一种电子设备,其特征在于,包括:
处理器;以及
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行权利要求1-4任一项所述的流量检测规则的处理方法,以及权利要求5-8任一项所述的网络流量的检测方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210969009.8A CN115426135B (zh) | 2022-08-12 | 2022-08-12 | 流量检测规则的处理、网络流量的检测方法、装置及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210969009.8A CN115426135B (zh) | 2022-08-12 | 2022-08-12 | 流量检测规则的处理、网络流量的检测方法、装置及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115426135A CN115426135A (zh) | 2022-12-02 |
CN115426135B true CN115426135B (zh) | 2023-12-12 |
Family
ID=84199086
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210969009.8A Active CN115426135B (zh) | 2022-08-12 | 2022-08-12 | 流量检测规则的处理、网络流量的检测方法、装置及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115426135B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117792804B (zh) * | 2024-02-28 | 2024-06-11 | 成都九洲电子信息系统股份有限公司 | 基于位图和预过滤的网络威胁筛选方法及系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015147793A1 (en) * | 2014-03-25 | 2015-10-01 | Hewlett-Packard Development Company, L.P. | Transmitting network traffic in accordance with network traffic rules |
CN110768865A (zh) * | 2019-10-23 | 2020-02-07 | 新华三信息安全技术有限公司 | 一种深度报文检测引擎激活方法、装置及电子设备 |
CN113328981A (zh) * | 2020-07-09 | 2021-08-31 | 深信服科技股份有限公司 | 一种规则质量检测方法、装置、设备及可读存储介质 |
CN113872918A (zh) * | 2020-06-30 | 2021-12-31 | 苏州三六零智能安全科技有限公司 | 网络流量分类方法、设备、存储介质及装置 |
CN114070655A (zh) * | 2022-01-18 | 2022-02-18 | 北京领御中安科技有限公司 | 网络流量检测规则生成方法及装置、电子设备、存储介质 |
CN114650256A (zh) * | 2020-12-17 | 2022-06-21 | 中兴通讯股份有限公司 | 报文处理方法、节点及计算机可读存储介质 |
-
2022
- 2022-08-12 CN CN202210969009.8A patent/CN115426135B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015147793A1 (en) * | 2014-03-25 | 2015-10-01 | Hewlett-Packard Development Company, L.P. | Transmitting network traffic in accordance with network traffic rules |
CN110768865A (zh) * | 2019-10-23 | 2020-02-07 | 新华三信息安全技术有限公司 | 一种深度报文检测引擎激活方法、装置及电子设备 |
CN113872918A (zh) * | 2020-06-30 | 2021-12-31 | 苏州三六零智能安全科技有限公司 | 网络流量分类方法、设备、存储介质及装置 |
CN113328981A (zh) * | 2020-07-09 | 2021-08-31 | 深信服科技股份有限公司 | 一种规则质量检测方法、装置、设备及可读存储介质 |
CN114650256A (zh) * | 2020-12-17 | 2022-06-21 | 中兴通讯股份有限公司 | 报文处理方法、节点及计算机可读存储介质 |
CN114070655A (zh) * | 2022-01-18 | 2022-02-18 | 北京领御中安科技有限公司 | 网络流量检测规则生成方法及装置、电子设备、存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN115426135A (zh) | 2022-12-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103733590B (zh) | 用于正则表达式的编译器 | |
CN112019575B (zh) | 数据包处理方法、装置、计算机设备以及存储介质 | |
CN109194684B (zh) | 一种模拟拒绝服务攻击的方法、装置及计算设备 | |
CN115426135B (zh) | 流量检测规则的处理、网络流量的检测方法、装置及设备 | |
CN116303290B (zh) | 一种office文档检测方法及装置、设备及介质 | |
CN114726633B (zh) | 流量数据处理方法及装置、存储介质及电子设备 | |
CN111538922A (zh) | 链接跳转方法、应用客户端、设备及存储介质 | |
CN112565229B (zh) | 隐蔽通道检测方法及装置 | |
CN114301659A (zh) | 网络攻击预警方法、系统、设备及存储介质 | |
CN107426211B (zh) | 网络攻击的检测方法及装置、终端设备和计算机存储介质 | |
CN113676938A (zh) | 一种故障检测方法、装置、存储介质及电子设备 | |
CN113271286B (zh) | 一种用于实现bgp异常检测的方法、设备及系统 | |
CN115834229A (zh) | 一种报文安全检测方法、设备及存储介质 | |
CN113672416B (zh) | 硬buffer泄漏的原因定位方法及装置 | |
CN114006868B (zh) | 流量筛选方法及装置 | |
CN115495740A (zh) | 一种病毒检测方法和装置 | |
CN115333848A (zh) | 容器云平台网络安全防护方法、装置及电子设备 | |
CN114238992A (zh) | 基于信息安全大数据的威胁漏洞挖掘方法及信息安全系统 | |
CN113765972A (zh) | 数据请求响应方法、装置、系统、服务器和存储介质 | |
Ethilu et al. | Improving Performance and Efficiency of Software Defined Networking by Identifying Malicious Switches through Deep Learning Model | |
CN114844691B (zh) | 一种数据处理方法、装置、电子设备及存储介质 | |
CN112738808B (zh) | 无线网络中DDoS攻击检测方法、云服务器及移动终端 | |
CN113726872B (zh) | 一种推广信息的过滤方法、装置、设备及介质 | |
CN115460110B (zh) | 基于链路预测的异常as_path检测方法及装置 | |
US20220407871A1 (en) | Massive vulnerable surface protection |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |