CN114726633B - 流量数据处理方法及装置、存储介质及电子设备 - Google Patents
流量数据处理方法及装置、存储介质及电子设备 Download PDFInfo
- Publication number
- CN114726633B CN114726633B CN202210392713.1A CN202210392713A CN114726633B CN 114726633 B CN114726633 B CN 114726633B CN 202210392713 A CN202210392713 A CN 202210392713A CN 114726633 B CN114726633 B CN 114726633B
- Authority
- CN
- China
- Prior art keywords
- data
- abnormal
- rule configuration
- configuration data
- detected
- 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
- 238000003672 processing method Methods 0.000 title claims abstract description 42
- 230000002159 abnormal effect Effects 0.000 claims abstract description 219
- 238000001514 detection method Methods 0.000 claims abstract description 215
- 238000012545 processing Methods 0.000 claims abstract description 82
- 238000000034 method Methods 0.000 claims abstract description 63
- 238000012216 screening Methods 0.000 claims abstract description 46
- 230000008569 process Effects 0.000 claims description 25
- 230000007123 defense Effects 0.000 claims description 16
- 238000013507 mapping Methods 0.000 claims description 7
- 238000004364 calculation method Methods 0.000 claims description 3
- 238000004590 computer program Methods 0.000 claims description 2
- 239000010410 layer Substances 0.000 description 85
- 238000010586 diagram Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 10
- 230000006854 communication Effects 0.000 description 7
- 238000004891 communication Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 5
- 238000001914 filtration Methods 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000002265 prevention Effects 0.000 description 3
- 230000001960 triggered effect Effects 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 2
- 239000013307 optical fiber Substances 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 239000012792 core layer Substances 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000005111 flow chemistry technique Methods 0.000 description 1
- 238000002347 injection Methods 0.000 description 1
- 239000007924 injection Substances 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
- 239000000243 solution 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/1425—Traffic logging, e.g. anomaly 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/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/1441—Countermeasures against malicious traffic
-
- 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/16—Implementing security features at a particular protocol layer
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
本公开提供了一种流量数据处理方法、装置、电子设备及存储介质。该方法包括:通过网卡驱动接收待检测流量数据;调用配置于内核空间的内核层检测引擎,以基于内核层检测引擎中的第一规则配置数据对待检测流量数据进行识别,获得识别结果;其中,内核层检测引擎是基于扩展伯克利包过滤器eBPF实现的,第一规则配置数据是从预设的检测规则配置数据中筛选获得的;在识别结果指示待检测流量数据为异常流量数据的情况下,确定异常流量数据对应的异常处理方式,进而根据异常处理方式对待检测流量数据进行处理。该方法可以先通过内核层检测引擎基于筛选出的第一规则配置数据实现对待检测流量数据的快速检测,提高流量检测效率,提升流量检测性能。
Description
技术领域
本公开涉及计算机技术领域,尤其涉及一种流量数据处理方法及装置、存储介质及电子设备。
背景技术
随着计算机技术和互联网技术的发展,使用网络进行数据传输已成为用户常用的一种通信方式;为保障通信安全,对网络流量数据进行安全管控已成为通信过程中的重要一环。
相关技术中,通常是通过以用户进程方式运行的IDS(Intrusion DetectionSystem,入侵检测系统)类或IPS(Intrusion Prevention System,入侵防御系统)类安全产品工具对网络流量数据进行分析和安全管控,不仅对流量数据的检测效率较低,也为用户空间带来巨大的性能开销。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本公开的目的在于提供一种流量数据处理方法、装置、电子设备及存储介质,以解决相关技术中的对流量数据的检测效率较低、为用户空间带来巨大的性能开销的问题。
本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。
根据本公开的一个方面,提供一种流量数据处理方法,包括:通过网卡驱动接收待检测流量数据;调用配置于内核空间的内核层检测引擎,以基于内核层检测引擎中的第一规则配置数据对待检测流量数据进行识别,获得识别结果;其中,内核层检测引擎是基于扩展伯克利包过滤器eBPF实现的,第一规则配置数据是从预设的检测规则配置数据中筛选获得的;在识别结果指示待检测流量数据为异常流量数据的情况下,确定异常流量数据对应的异常处理方式,进而根据异常处理方式对待检测流量数据进行处理。
在本公开一个实施例中,检测规则配置数据包括多个异常事件的特征检测规则数据;以及,本公开提供的流量数据处理方法还包括按照如下方法从检测规则配置数据中筛选获得第一规则配置数据:获取筛选条件;其中,筛选条件包括异常事件在一个或多个统计指标下的统计数据、各统计指标对应的权重,以及筛选阈值;统计指标包括威胁程度、创建时长和发生频次中的至少一个;根据各统计指标的统计数据对异常事件进行排序,确定异常事件在各统计指标下的指标值;根据各统计指标下的指标值和统计指标对应的权重,确定异常事件的目标指标值;根据筛选阈值和异常事件的目标指标值,从异常事件中选出目标异常事件;将目标异常事件的特征检测规则数据确定为第一规则配置数据。
在本公开一个实施例中,本公开提供的流量数据处理方法还包括:获取检测需求和调整频率;基于调整频率,根据检测需求对筛选条件进行调整。
在本公开一个实施例中,在确定第一规则配置数据后,本公开提供的流量数据处理方法还包括:将第一规则配置数据存储于eBPF的eBPF映射中。
在本公开一个实施例中,本公开提供的流量数据处理方法还包括按照如下方法生成内核层检测引擎:基于eBPF映射中的第一规则配置数据,调用eBPF的指令集构建内核检测程序;编译内核检测程序,生成eBPF字节码;将eBPF字节码注入内核空间,获得内核层检测引擎。
在本公开一个实施例中,异常事件的特征检测规则数据包括:协议特征、流量源特征、流量目的特征,和事件特征;基于内核层检测引擎中的第一规则配置数据对待检测流量数据进行识别,获得识别结果,包括:确定待检测流量数据中的报文数据;基于目标异常事件的协议特征、流量源特征和流量目的特征对报文数据中的报文头数据进行识别,获得报文头识别结果;以及,基于目标异常事件的事件特征对报文数据中的报文载荷数据进行识别,获得报文载荷识别结果;根据报文头识别结果和报文载荷识别结果确定识别结果。
在本公开一个实施例中,异常事件的特征检测规则数据中还包括:异常事件的处理方式;处理方式包括告警、拦截和丢弃中的至少一种;确定异常流量数据对应的异常处理方式,包括:根据报文头识别结果和报文载荷识别结果确定异常流量数据所匹配的结果异常事件,结果异常事件为目标异常事件中的一个;以结果异常事件的处理方式作为异常流量数据对应的异常处理方式。
在本公开一个实施例中,本公开提供的流量数据处理方法还包括:在识别结果指示待检测流量数据不为异常流量数据的情况下,调用配置于用户空间的应用层检测引擎,以基于应用层检测引擎中的第二规则配置数据对待检测流量数据进行二次识别,获得二次识别结果;其中,第二规则配置数据是检测规则配置数据中除第一规则配置数据以外的检测规则配置数据。
在本公开一个实施例中,根据异常处理方式对待检测流量数据进行处理,包括:调用配置于内核空间的内核层防御引擎对待检测流量数据进行处理,其中,内核层防御引擎是基于扩展伯克利包过滤器eBPF实现的;或者,调用配置于用户空间的应用层防御引擎对待检测流量数据进行处理。
根据本公开的另一个方面,提供流量数据处理装置,包括:接收模块,用于通过网卡驱动接收待检测流量数据;识别模块,用于调用配置于内核空间的内核层检测引擎,以基于内核层检测引擎中的第一规则配置数据对待检测流量数据进行识别,获得识别结果;其中,内核层检测引擎是基于扩展伯克利包过滤器eBPF实现的,第一规则配置数据是从预设的检测规则配置数据中筛选获得的;处理模块,用于在识别结果指示待检测流量数据为异常流量数据的情况下,确定异常流量数据对应的异常处理方式,进而根据异常处理方式对待检测流量数据进行处理。
根据本公开的又一个方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述的流量数据处理方法。
根据本公开的再一个方面,提供一种电子设备,包括:处理器;以及存储器,用于存储所述处理器的可执行指令;其中,所述处理器配置为经由执行所述可执行指令来执行上述的流量数据处理方法。
本公开的实施例所提供的流量数据处理方法,可以利用eBPF自身所提供的扩展指令集获得基于第一规则配置数据的内核层检测引擎,实现在内核空间对流量数据的检测,由于在内核空间的数据处理效率高于用户空间的数据处理效率,因此相较于相关技术,本实施例中的方式可以提高流量检测效率,提升流量检测性能。
进一步,本公开实施例提供的流量数据处理方法还可以对用于生成内核层检测引擎的第一规则配置数据进行筛选调整,可以达到自适应筛选规则从而自适应更新内核层检测引擎的效果,使得本公开提供的流量数据处理方法更加自动化。
进一步,本公开实施例提供的流量数据处理方法还可以在内核空间实现对报文数据中报文头和载荷数据的完全检测,达到更完善的防护效果。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了可以应用本公开实施例的流量数据处理方法的示例性系统架构的示意图;
图2示出了本公开一个实施例的流量数据处理方法的流程图;
图3示出了本公开一个实施例的流量数据处理方法中从检测规则配置数据中筛选获得第一规则配置数据的流程图;
图4示出了本公开一个实施例的流量数据处理方法中生成内核层检测引擎的流程图;
图5示出了本公开一个实施例的流量数据处理方法中对待检测流量数据进行识别的流程图;
图6示出了本公开一个实施例的流量数据处理的过程示意图;
图7示出了本公开一个实施例的流量数据处理装置的框图;和
图8示出了本公开实施例中一种流量数据处理计算机设备的结构框图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。
此外,附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本公开的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
针对上述相关技术中存在的技术问题,本公开实施例提供了一种流量数据处理方法,以用于至少解决上述技术问题中的一个或者全部。
图1示出了可以应用本公开实施例的流量数据处理方法的示例性系统架构的示意图。
如图1所示,该系统架构可以包括服务器101、网络102和客户端103。网络102用以在客户端103和服务器101之间提供通信链路的介质。网络102可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
在示例性实施例中,与服务器101进行数据传输的客户端103可以包括但不限于智能手机、台式计算机、平板电脑、笔记本电脑、智能音箱、数字助理、AR(Augmented Reality,增强现实)设备、VR(Virtual Reality,虚拟现实)设备、智能可穿戴设备等类型的电子设备,或者,客户端103也可以是个人计算机,比如膝上型便携计算机和台式计算机等等。可选的,电子设备上运行的操作系统可以包括但不限于安卓系统、IOS系统、linux、windows等。
服务器101可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content Delivery Network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器。在一些实际应用中,服务器101也可以是网络平台的服务器,网络平台例如可以是交易平台、直播平台、社交平台或者音乐平台等,本公开实施例对此不作限定。其中,服务器可以是一台服务器,也可以是多台服务器形成的集群,本公开对于服务器的具体架构不做限定。
在示例性实施例中,服务器101用于实现流量数据处理方法的过程可以是:服务器101通过网卡驱动接收待检测流量数据;服务器101调用配置于内核空间的内核层检测引擎,以基于内核层检测引擎中的第一规则配置数据对待检测流量数据进行识别,获得识别结果;服务器101在识别结果指示待检测流量数据为异常流量数据的情况下,确定异常流量数据对应的异常处理方式,进而根据异常处理方式对待检测流量数据进行处理;其中,内核层检测引擎是基于扩展伯克利包过滤器eBPF实现的,第一规则配置数据是从预设的检测规则配置数据中筛选获得的。
此外,需要说明的是,图1所示的仅仅是本公开提供的流量数据处理方法的一种应用环境。图1中的客户端、网络和服务器的数目仅仅是示意性的,根据实际需要,可以具有任意数目的客户端、网络和服务器。
下面,将结合附图及实施例对本公开示例实施例中的流量数据处理方法的各个步骤进行更详细的说明。
图2示出了本公开一个实施例的流量数据处理方法的流程图。本公开实施例提供的方法可以由如图1所示的服务器或客户端中执行,但本公开并不限定于此。
在下面的举例说明中,以服务器101为执行主体进行示例说明。
如图2所示,本公开实施例提供的流量数据处理方法可以包括以下步骤:
根据本公开的一个方面,提供一种流量数据处理方法,包括:
步骤S201,通过网卡驱动接收待检测流量数据。
本实施例中,待检测流量数据可以是计算机设备连接网络后,通过网卡驱动接收到的实时网络流量数据,例如可以是从客户端传来的流量数据,可以包括目标源地址、目标目的地址、源端口号、目的端口号、时间戳、协议、连接状态等;待检测流量数据可以包括基于各种协议的数据包,例如基于TCP协议的数据包、基于UDP协议的数据包等。
步骤S203,调用配置于内核空间的内核层检测引擎,以基于内核层检测引擎中的第一规则配置数据对待检测流量数据进行识别,获得识别结果;其中,内核层检测引擎是基于扩展伯克利包过滤器eBPF实现的,第一规则配置数据是从预设的检测规则配置数据中筛选获得的。
本实施例中,eBPF(extended Berkeley Packet Filter,扩展伯克利包过滤器)是用于Linux的通用执行引擎,eBPF可以提供扩展指令集,以用于实现对流量数据的检测分析能力;例如,可以调用eBPF所提供的扩展指令集编写能够对数据包中的报头和报体载荷数据分别进行检测的功能代码,然后通过相应的编译器(如LLVM)将功能代码编译为eBPF字符串,再将具有流量检测功能的eBPF字符串注入到内核中,生成上述可以在内核空间中运行的内核层检测引擎。第一规则配置数据可以是基于一定的方法条件从预设的检测规则配置数据中筛选获得的,进而可以基于第一规则配置数据在内核空间构建内核层检测引擎,以在内核空间实现基于第一规则配置数据的检测能力。
此外,在一些实施例中,还可以配置多个内核层检测引擎;例如,可以配置对应于不同协议类型的内核层检测引擎,在网卡驱动接收到流量数据后,可以由eBPF中的流量接收接口基于待检测流量数据的协议类型将待检测流量数据分发至各内核层检测引擎进行检测。
可见,通过本实施例中的方式,可以利用eBPF自身所提供的扩展指令集获得基于第一规则配置数据的内核层检测引擎,实现了在内核空间对流量数据的检测,由于在内核空间的数据处理效率高于用户空间的数据处理效率,因此相较于相关技术,本实施例中的方式可以提高流量检测效率,提升流量检测性能,同时也缓解了用户空间的流量数据的检测压力。
步骤S205,在识别结果指示待检测流量数据为异常流量数据的情况下,确定异常流量数据对应的异常处理方式,进而根据异常处理方式对待检测流量数据进行处理。
在一些实际应用中,可以预设置异常处理方式,当确定待检测流量数据为异常流量数据后,则可以使用预设置的异常处理方式对待检测流量数据进行处理。在又一些实际应用中,识别结果中还可以包括待检测流量数据对应于异常流量数据的具体信息,例如识别结果中可以包括待检测流量数据对应的结果异常事件,则可以将该结果异常事件作为上述具体信息,进一步地,可以为不同的异常事件设置不同的处理方式,则可以将该结果异常事件对应的处理方式作为步骤S205中的异常处理方式,以对待检测流量数据进行处理。
在本公开实施例中,可以在网卡驱动接收到待检测流量后,调用配置于内核空间的内核层检测引擎,基于内核层检测引擎中的第一规则配置数据对待检测流量数据进行识别,在获得待检测流量数据为异常流量数据的识别结果后,获取对应的异常处理方式对待检测流量数据进行处理。可见,通过本公开实施例,可以利用eBPF自身所提供的扩展指令集获得基于第一规则配置数据的内核层检测引擎,实现在内核空间对流量数据的检测,由于在内核空间的数据处理效率高于用户空间的数据处理效率,因此相较于相关技术,本实施例中的方式可以提高流量检测效率,提升流量检测性能。
在一些实施例中,检测规则配置数据包括多个异常事件的特征检测规则数据。
本实施例中,异常事件可以是想要检测出的事件,例如可以是系统漏洞触发的安全事件、恶意攻击、从指定端口流出数据等等;检测规则配置数据可以是任意格式的用于描述检测规则的数据,例如可以包括异常事件的类型、异常事件的名称、异常事件的特征检测规则等信息。检测规则配置数据可以存储于用户空间中,例如可以存储于用户空间的内存数据库中,在一些实际应用中,可以使用key-value的存储结构来存储检测规则配置数据。
进一步地,在一些实施例中,本公开提供的流量数据处理方法还包括从检测规则配置数据中筛选获得第一规则配置数据。
图3示出了本公开一个实施例的流量数据处理方法中从检测规则配置数据中筛选获得第一规则配置数据的流程图,如图3所示,从检测规则配置数据中筛选获得第一规则配置数据的步骤,可以包括:
步骤S301,获取筛选条件;其中,筛选条件包括异常事件在一个或多个统计指标下的统计数据、各统计指标对应的权重,以及筛选阈值;统计指标包括威胁程度、创建时长和发生频次中的至少一个。
本实施例中,筛选条件可以是根据实际情况(如计算机设备的硬件配备、网络传输环境等)配置的,可以利用筛选条件通过后续步骤从检测规则配置数据中选出第一配置数据。
在一些实际应用中,异常事件在一个或多个统计指标下的统计数据可以是通过其他记录数据中获取到的;具体而言,异常事件在威胁程度下的统计数据可以是基于历史日志中异常事件所造成的损害而确定的,威胁程度例如可以是0~9这10个等级,数字越大意味着异常事件的威胁性确高;异常事件在创建时长下的统计数据可以是异常事件从创建时刻至当前时刻的时间段,以异常事件为系统漏洞触发的安全事件为例进行说明,在其被创建后的一段时间内通常会有相应的补丁程序被开发出来,从而失去威胁性,因此异常事件的创建时长越短可以认为该异常事件的威胁性确高;异常事件在发生频次下的统计数据可以基于历史日志统计获得,发生频次可以是异常事件在一个时间窗口中的发生次数,发生频次越高可以认为该异常事件越常见、威胁性越高。
步骤S303,根据各统计指标的统计数据对异常事件进行排序,确定异常事件在各统计指标下的指标值。
本实施例中,可以对异常事件在各统计指标下基于预设顺序进行排序,例如在威胁程度这一统计指标下,可以以威胁程度由高到低的顺序得到第一排序,再基于第一排序中异常事件的顺序得到各异常事件的第一指标值,该指标值越小,可以意味着该异常事件威胁性越高;又例如在创建时长这一统计指标下,可以以创建时长由短到长的顺序得到第二排序,再基于第二排序中异常事件的顺序得到各异常事件的第二指标值,该指标值越小,可以意味着该异常事件威胁性越高;再例如在发生频次这一统计指标下,可以以发生频次由高到低的顺序得到第三排序,再基于第三排序中异常事件的顺序得到各异常事件的第三指标值,该指标值越小,可以意味着该异常事件威胁性越高或者出现次数越高。
步骤S305,根据各统计指标下的指标值和统计指标对应的权重,确定异常事件的目标指标值。
接着步骤S303中的实施例进行说明,本实施例中,可以根据统计指标对应的权重,结合第一指标值、第二指标值和第三指标值进行加权计算,得到目标指标值,计算出的目标指标值越小,可以意味着该异常事件威胁性越高或者出现次数越高。
步骤S307,根据筛选阈值和异常事件的目标指标值,从异常事件中选出目标异常事件。
步骤S309,将目标异常事件的特征检测规则数据确定为第一规则配置数据。
筛选阈值可以是个数阈值,例如可以是500、1000或2000等数值,也可以是20%或30%等数值。举例说明:得到目标指标值后,可以再根据各异常事件的目标指标值进行由小到大的目标排序,由于该目标指标值越小可以意味着相应异常事件威胁性越高,因此可以取目标排序中的前个数阈值对应的异常事件(例如前100个异常事件,或者排序前20%的异常事件)作为目标异常事件,从而将目标异常事件的特征检测规则数据确定为第一规则配置数据。
在一些实际应用中,也可以以单一维度的统计指标设置筛选条件,从而选出目标异常事件,如:
若统计指标为异常事件的威胁程度,则筛选条件可以是选出威胁程度大于程度阈值的异常事件作为目标异常事件;
若统计指标为异常事件的创建时间,则筛选条件可以是选出从创建时刻至当前时刻的时间段小于时间段阈值的异常事件作为目标异常事件;
若统计指标为异常事件的发生频次,则筛选条件可以是选出发生频次高于频次阈值的异常事件作为目标异常事件。
在本实施例中,可以在内核空间中实现对威胁性更高或者出现次数越高的异常事件的检测,也即可以使得当流量数据中存在威胁性更高或者出现次数越高的异常事件时,更早地被检测出来,从而达到提高流量检测效率、提升流量检测性能的效果。
在一些实施例中,本公开提供的流量数据处理方法还包括:获取检测需求和调整频率;基于调整频率,根据检测需求对筛选条件进行调整。
本实施例中,检测需求和调整频率可以是根据实际情况进行设置的了,调整频率例如可以是每一周、每一个月、每90天等,检测需求例如可以是对某种指定异常事件的检测等。
例如,对于硬件配备满足一定条件的计算机设备,可以将上述筛选条件中的筛选阈值设置地较大,以在内核空间中实现对更多种异常事件的检测,从而使得需要复制到用户空间进行检测的数据量更小,更加缓解用户空间的压力。
并且,由于可以根据实际情况设置检测需求和调整频率,因此可以达到自适应筛选规则从而自适应更新内核层检测引擎的效果,使得本公开提供的流量数据处理方法更加自动化。
在一些实施例中,在确定第一规则配置数据后,本公开提供的流量数据处理方法还包括:将第一规则配置数据存储于eBPF的eBPF映射中。
其中,eBPF的eBPF映射可以看作是内核空间的一种内存,eBPF映射是一种共享数据的双向结构,可以实现内核空间中的内存与用户空间中的内存之间的数据互通,且当使用key-value的存储结构来存储检测规则配置数据时,eBPF映射中的key-value数据结构对于存储第一规则配置数据(即目标异常事件的特征检测规则数据)是非常方便的。
进一步地,在一些实施例中,本公开提供的流量数据处理方法还包括生成内核层检测引擎。
图4示出了本公开一个实施例的流量数据处理方法中生成内核层检测引擎的流程图,如图4所示,生成内核层检测引擎的步骤,可以包括:
步骤S401,基于eBPF映射中的第一规则配置数据,调用eBPF的指令集构建内核检测程序。其中,可以使用C语言进行功能编写,也可以基于eBPF更新的扩展版本使用其他语言进行功能编写。
本实施例中,由于eBPF中配备了可调用的指令集,因此可以实现eBPF程序的编写,进而才可以实现为内核增加功能模块、在内核中实现对流量数据的检测。
步骤S403,编译内核检测程序,生成eBPF字节码。其中,可以通过LLVM Clang编译器将C语言编写的eBPF后端编译为字节码。
步骤S405,将eBPF字节码注入内核空间,获得内核层检测引擎。其中,可以通过bpf()系统调用和BPF_PROG_LOAD命令将包含这些eBPF字节码的对象文件进行加载,从而实现内核注入。
在一些实施例中,异常事件的特征检测规则数据可以包括:协议特征、流量源特征、流量目的特征,和事件特征。
其中,协议特征可以指示协议类型,协议类型例如可以是tcp 、udp、icmp和ip等;流量源特征可以用于指示流量流向的源信息,如源ip地址;流量目的特征可以用于指示流量流向的目的信息,如目的ip地址;事件特征可以用于指示异常事件所对应的报文载荷数据的特征,例如可以是触发异常事件的报文载荷数据中必不可少的一段字符串。
进一步地,图5示出了本公开一个实施例的流量数据处理方法中对待检测流量数据进行识别的流程图,如图5所示,步骤S203中基于内核层检测引擎中的第一规则配置数据对待检测流量数据进行识别,获得识别结果,可以进一步包括:
步骤S501,确定待检测流量数据中的报文数据。本实施例中,待检测流量数据中可以包括基于各种协议的数据包,例如基于TCP协议的数据包、基于UDP协议的数据包等,可以先从中确定出需要进行检测的报文数据,再通过后续步骤进行检测。
步骤S503,基于目标异常事件的协议特征、流量源特征和流量目的特征对报文数据中的报文头数据进行识别,获得报文头识别结果。
步骤S505,基于目标异常事件的事件特征对报文数据中的报文载荷数据进行识别,获得报文载荷识别结果。
其中,协议特征、流量源特征、流量目的特征和事件特征可以包含正则规则,进而可以利用协议特征、流量源特征和流量目的特征,与报文头数据中的相应内容进行正则匹配以获得报文头识别结果,以及利用事件特征与报文载荷数据中的相应内容进行匹配以获得报文载荷识别结果。
需要注意的是,本公开实施例中对上述步骤S503与步骤S505的执行顺序并不限定,步骤S503与步骤S505只需在的步骤S507之前执行即可。
步骤S507,根据报文头识别结果和报文载荷识别结果确定识别结果。
在使用各目标异常事件的特征检测规则数据对报文数据识别出报文头识别结果和报文载荷识别结果之后,可以进一步确定报文数据与各目标异常事件的匹配结果,进而确定出识别结果。在一些实际应用中,可以根据报文头识别结果和报文载荷识别结果确定异常流量数据所匹配的结果异常事件,其中结果异常事件即为目标异常事件中的一个,进而可以将结果异常事件作为识别结果的一部分。
可见,通过本实施例中的方法,可以在内核空间实现对报文数据中报文头和载荷数据的完全检测,达到更完善的防护效果。
进一步地,在一些实施例中,异常事件的特征检测规则数据中还可以包括异常事件的处理方式;处理方式包括告警、拦截和丢弃中的至少一种;确定异常流量数据对应的异常处理方式,包括:根据报文头识别结果和报文载荷识别结果确定异常流量数据所匹配的结果异常事件,结果异常事件为目标异常事件中的一个;以结果异常事件的处理方式作为异常流量数据对应的异常处理方式。
以下以一具体异常事件的特征检测规则数据为例进行说明,假设一个异常事件的特征检测规则数据为:alert tcp !192.168.0.1/24 any ->any 21 (content:"USER";msg: "FTP Login";)。其中,alert可以表示规则动作为报警,即当流量数据与该特征检测规则数据匹配成功后,所触发的处理方式可以是报警。tcp可以表示协议类型为TCP协议。!192.168.0.1/24可以表示流量数据的源IP地址不是192.168.0.1/24。->可以表示发送方向操作符;->之前的any(即第一个any)可以表示流量数据的源端口为任意端口;->之后的any(即第二个any)可以表示流量数据的目的IP地址为任意IP地址;21可以表示目的端口为21。content:"USER"可以表示匹配的字符串为“USER”。msg:"FTPLogin"表示报警信息为“FTPLogin”,该报警信息可以认为是相应异常事件的名称。
那么若通过该异常事件的特征检测规则数据对一报文数据进行检测,确定该异常事件为该报文数据的结果异常事件后,可以确定该报文数据为异常流量数据,并使用该异常事件的特征检测规则数据中的处理方式(即“报警”)作为该报文数据的异常处理方式。
在一些实施例中,本公开提供的流量数据处理方法还包括:在识别结果指示待检测流量数据不为异常流量数据的情况下,调用配置于用户空间的应用层检测引擎,以基于应用层检测引擎中的第二规则配置数据对待检测流量数据进行二次识别,获得二次识别结果;其中,第二规则配置数据是检测规则配置数据中除第一规则配置数据以外的检测规则配置数据。
通过前述实施例中的方法,在从检测规则配置数据中筛选获得第一规则配置数据后,可以将除第一规则配置数据以外的检测规则配置数据确定为第二规则配置数据,并基于第二规则配置数据在用户空间构建应用层检测引擎。那么在本实施例中,当通过内核层检测引擎检测出待检测流量数据不为异常流量数据的情况下,可以再通过配置于用户空间的应用层检测引擎对待检测流量数据进行二次识别。也即,可以首先利用筛选条件将存储于用户空间的检测规则配置数据分为第一规则配置数据和第二规则配置数据,再将第一规则配置数据发送并存储于内核空间的eBPF映射中,进而在内核空间基于第一规则配置数据构建内核层检测引擎,并可以同时在用户空间基于第二规则配置数据构建应用层检测引擎,使得设备可以同时具有内核空间的检测能力以及用户空间的检测能力。
可见,通过本实施例中的方法,可以首先通过内核层检测引擎基于筛选出的第一规则配置数据实现对待检测流量数据的快速检测,得到对待检测流量数据的识别结果,并当识别结果指示待检测流量数据不为异常流量数据时,再通过应用层检测引擎基于剩下的第二规则配置数据对待检测流量数据进行检测,实现对待检测流量数据的完整检测。
此外,在一些实际应用中,应用层检测引擎也可以配置多个,以对不同类型的流量数据进行检测。
在一些实际应用中,应用层检测引擎可以包含于入侵检测系统(intrusiondetection system,简称“IDS”)中,对于其中一些使用旁路检测方式实现的IDS,通常是将流量数据复制到用户空间进行检测,在该情况下,本实施例中的方法可以使得总体而言需要复制到用户空间进行检测的数据量更小,因此相较于相关技术,本实施例中的方式可以缓解用户空间的压力,进一步提高流量检测效率,提升流量检测性能。
在一些实施例中,根据异常处理方式对待检测流量数据进行处理,包括:调用配置于内核空间的内核层防御引擎对待检测流量数据进行处理,其中,内核层防御引擎是基于扩展伯克利包过滤器eBPF实现的;或者,调用配置于用户空间的应用层防御引擎对待检测流量数据进行处理。
本实施例中,配置于内核空间的内核层防御引擎可以是基于扩展伯克利包过滤器eBPF实现的,具体而言,可以是基于eBPF的指令集实现相应的流量处理功能,进而构建出内核层防御引擎。当通过内核层检测引擎识别出待检测流量数据为异常流量数据后,可以直接调用内核层防御引擎对待检测流量数据进行处理,实现对异常流量的快速处理。
配置于用户空间的应用层防御引擎可以是入侵防御系统(Intrusion PreventionSystem,简称“IPS”),能够及时的中断、调整或隔离一些不正常或是具有伤害性的网络资料传输行为,当通过内核层检测引擎识别出待检测流量数据为异常流量数据后,也可以调用功能全面的应用层防御引擎对待检测流量数据进行处理,实现全面防护。
此外,当通过应用层检测引擎识别出待检测流量数据为异常流量数据后,也可以调用应用层防御引擎对待检测流量数据进行相应的处理。
图6示出了本公开一个实施例的流量数据处理的过程示意图,如图6所示,包括:硬件601、内核空间602、用户空间603、网卡驱动604、接收接口605、内核层检测引擎606、eBPF映射607、用户空间内存609,以及IPS 613。其中,可以在位于用户空间603的用户空间内存609中存储完整的检测规则配置数据,并且可以根据筛选条件从检测规则配置数据中确定出第一配置数据610,然后将第一配置数据610从用户空间内存609发送至位于内核空间602的eBPF映射607中,进而可以在内核空间602中基于第一配置数据610生成内核层检测引擎606,以及可以在用户空间603中基于检测规则配置数据中除第一配置数据610以外的数据生成应用层检测引擎608。
在流量数据处理过程中,如图6所示,待检测流量数据611到达硬件601后,可以由网卡驱动604接收待检测流量数据611,再经由内核空间602中的接收接口605将待检测流量数据611转发至相应的内核层检测引擎606。可以通过内核层检测引擎606检测待检测流量数据611,以在内核空间602识别待检测流量数据611是否为异常流量数据;具体而言,可以基于第一配置数据610中目标异常事件的特征检测规则数据对待检测流量数据611中报文数据的报文头数据和报文载荷数据都进行检测,进而识别出待检测流量数据611是否为异常流量数据,得到识别结果612;由此,完成在内核空间602中的流量数据处理。
继续参考图6,若通过内核层检测引擎606得到的识别结果612指示待检测流量数据611不为异常流量数据,则可以再调用位于用户空间603的应用层检测引擎608,进而通过应用层检测引擎608对待检测流量数据611进行二次识别,以在用户空间603识别待检测流量数据611是否为异常流量数据,得到识别结果612;由此,完成在用户空间603中的流量数据处理。
此外,若通过内核层检测引擎606或者通过应用层检测引擎608得到的识别结果612指示待检测流量数据611为异常流量数据,还可以调用位于用户空间603的IPS 613对待检测流量数据611进行处理。
通过如图6所示的流量数据处理过程,可以利用筛选条件将存储于用户空间的检测规则配置数据分为第一规则配置数据和第二规则配置数据,再将第一规则配置数据发送并存储于内核空间的eBPF映射中,进而在内核空间基于第一规则配置数据构建内核层检测引擎,并可以同时在用户空间基于第二规则配置数据构建应用层检测引擎,使得设备可以同时具有内核空间的检测能力以及用户空间的检测能力。并且,可以先通过内核层检测引擎基于筛选出的第一规则配置数据实现对待检测流量数据的快速检测,得到对待检测流量数据的识别结果,并当识别结果指示待检测流量数据不为异常流量数据时,再通过应用层检测引擎基于剩下的规则配置数据对待检测流量数据进行检测,实现对待检测流量数据的完整检测。由于在内核空间的数据处理效率高于用户空间的数据处理效率,因此相较于相关技术,本实施例中的方式可以提高流量检测效率,提升流量检测性能。
需要注意的是,上述附图仅是根据本发明示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
图7示出本公开第五实施例中一种流量数据处理装置700的框图;如图7所示,包括:
接收模块701,用于通过网卡驱动接收待检测流量数据;识别模块702,用于调用配置于内核空间的内核层检测引擎,以基于内核层检测引擎中的第一规则配置数据对待检测流量数据进行识别,获得识别结果;其中,内核层检测引擎是基于扩展伯克利包过滤器eBPF实现的,第一规则配置数据是从预设的检测规则配置数据中筛选获得的;处理模块703,用于在识别结果指示待检测流量数据为异常流量数据的情况下,确定异常流量数据对应的异常处理方式,进而根据异常处理方式对待检测流量数据进行处理。
在本公开实施例中,可以在网卡驱动接收到待检测流量后,调用配置于内核空间的内核层检测引擎,基于内核层检测引擎中的第一规则配置数据对待检测流量数据进行识别,在获得待检测流量数据为异常流量数据的识别结果后,获取对应的异常处理方式对待检测流量数据进行处理。可见,通过本公开实施例,可以利用eBPF自身所提供的扩展指令集获得基于第一规则配置数据的内核层检测引擎,实现在内核空间对流量数据的检测,由于在内核空间的数据处理效率高于用户空间的数据处理效率,因此相较于相关技术,本实施例中的方式可以提高流量检测效率,提升流量检测性能。
图7实施例的其它内容可以参照上述其它实施例。
所属技术领域的技术人员能够理解,本发明的各个方面可以实现为系统、方法或程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
图8示出本公开实施例中一种流量数据处理计算机设备的结构框图。需要说明的是,图示出的电子设备仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
下面参照图8来描述根据本发明的这种实施方式的电子设备800。图8显示的电子设备800仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图8所示,电子设备800以通用计算设备的形式表现。电子设备800的组件可以包括但不限于:上述至少一个处理单元810、上述至少一个存储单元820、连接不同系统组件(包括存储单元820和处理单元810)的总线830。
其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元810执行,使得所述处理单元810执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的步骤。例如,所述处理单元810可以执行如图2中所示的步骤S201,通过网卡驱动接收待检测流量数据;步骤S203,调用配置于内核空间的内核层检测引擎,以基于内核层检测引擎中的第一规则配置数据对待检测流量数据进行识别,获得识别结果;其中,内核层检测引擎是基于扩展伯克利包过滤器eBPF实现的,第一规则配置数据是从预设的检测规则配置数据中筛选获得的;步骤S205,在识别结果指示待检测流量数据为异常流量数据的情况下,确定异常流量数据对应的异常处理方式,进而根据异常处理方式对待检测流量数据进行处理。
存储单元820可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)8201和/或高速缓存存储单元8202,还可以进一步包括只读存储单元(ROM)8203。
存储单元820还可以包括具有一组(至少一个)程序模块8205的程序/实用工具8204,这样的程序模块8205包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线830可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
电子设备800也可以与一个或多个外部设备900(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备800交互的设备通信,和/或与使得该电子设备800能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口850进行。并且,电子设备800还可以通过网络适配器860与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器860通过总线830与电子设备800的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备800使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
在本公开的示例性实施例中,还提供了一种计算机可读存储介质,其上存储有能够实现本说明书上述方法的程序产品。在一些可能的实施方式中,本发明的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在终端设备上运行时,所述程序代码用于使所述终端设备执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的步骤。
根据本发明实施方式的用于实现上述方法的程序产品,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本发明的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
此外,尽管在附图中以特定顺序描述了本公开中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附加的或备选的,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、移动终端、或者网络设备等)执行根据本公开实施方式的方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由所附的权利要求指出。
Claims (10)
1.一种流量数据处理方法,其特征在于,包括:
通过网卡驱动接收待检测流量数据;
调用配置于内核空间的内核层检测引擎,以基于所述内核层检测引擎中的第一规则配置数据对所述待检测流量数据进行识别,获得识别结果;其中,所述内核层检测引擎是基于扩展伯克利包过滤器eBPF实现的,所述第一规则配置数据是从预设的检测规则配置数据中筛选获得的;
在所述识别结果指示所述待检测流量数据为异常流量数据的情况下,确定所述异常流量数据对应的异常处理方式,进而根据所述异常处理方式对所述待检测流量数据进行处理;
在所述识别结果指示所述待检测流量数据不为异常流量数据的情况下,调用配置于用户空间的应用层检测引擎,以基于所述应用层检测引擎中的第二规则配置数据对所述待检测流量数据进行二次识别,获得二次识别结果;其中,所述第二规则配置数据是所述检测规则配置数据中除所述第一规则配置数据以外的检测规则配置数据;
其中,所述检测规则配置数据包括多个异常事件的特征检测规则数据;所述流量数据处理方法还包括按照如下方法从所述检测规则配置数据中筛选获得所述第一规则配置数据:
获取筛选条件;其中,所述筛选条件包括所述异常事件在统计指标下的统计数据、各统计指标对应的权重,以及筛选阈值;所述统计指标包括威胁程度、创建时长和发生频次;根据各统计指标的统计数据对所述异常事件进行排序,确定所述异常事件在各统计指标下的指标值;根据所述各统计指标下的指标值和所述统计指标对应的权重,确定所述异常事件的目标指标值;根据所述筛选阈值和所述异常事件的目标指标值,从所述异常事件中选出目标异常事件;将所述目标异常事件的特征检测规则数据确定为所述第一规则配置数据;
其中,根据各统计指标的统计数据对所述异常事件进行排序,确定所述异常事件在各统计指标下的指标值,包括:以威胁程度由高到低的顺序得到第一排序,基于所述第一排序中异常事件的顺序得到各异常事件的第一指标值;以创建时长由短到长的顺序得到第二排序,基于所述第二排序中异常事件的顺序得到各异常事件的第二指标值;以发生频次由高到低的顺序得到第三排序,基于所述第三排序中异常事件的顺序得到各异常事件的第三指标值;
其中,根据所述各统计指标下的指标值和所述统计指标对应的权重,确定所述异常事件的目标指标值,包括:根据所述统计指标对应的权重,结合第一指标值、第二指标值和第三指标值进行加权计算,得到目标指标值;目标指标值越小的异常事件,其威胁性越高或者出现次数越高。
2.根据权利要求1所述的方法,其特征在于,还包括:
获取检测需求和调整频率;
基于所述调整频率,根据所述检测需求对所述筛选条件进行调整。
3.根据权利要求1所述的方法,其特征在于,在确定所述第一规则配置数据后,还包括:
将所述第一规则配置数据存储于所述eBPF的eBPF映射中。
4.根据权利要求3所述的方法,其特征在于,所述流量数据处理方法还包括按照如下方法生成所述内核层检测引擎:
基于所述eBPF映射中的第一规则配置数据,调用所述eBPF的指令集构建内核检测程序;
编译所述内核检测程序,生成eBPF字节码;
将所述eBPF字节码注入所述内核空间,获得所述内核层检测引擎。
5.根据权利要求1所述的方法,其特征在于,所述异常事件的特征检测规则数据包括:协议特征、流量源特征、流量目的特征,和事件特征;
基于所述内核层检测引擎中的第一规则配置数据对所述待检测流量数据进行识别,获得识别结果,包括:
确定所述待检测流量数据中的报文数据;
基于所述目标异常事件的协议特征、流量源特征和流量目的特征对所述报文数据中的报文头数据进行识别,获得报文头识别结果;以及,基于所述目标异常事件的事件特征对所述报文数据中的报文载荷数据进行识别,获得报文载荷识别结果;
根据所述报文头识别结果和所述报文载荷识别结果确定所述识别结果。
6.根据权利要求5所述的方法,其特征在于,所述异常事件的特征检测规则数据中还包括:异常事件的处理方式;所述处理方式包括告警、拦截和丢弃中的至少一种;
确定所述异常流量数据对应的异常处理方式,包括:
根据所述报文头识别结果和所述报文载荷识别结果确定所述异常流量数据所匹配的结果异常事件,所述结果异常事件为所述目标异常事件中的一个;
以所述结果异常事件的处理方式作为所述异常流量数据对应的异常处理方式。
7.根据权利要求1所述的方法,其特征在于,根据所述异常处理方式对所述待检测流量数据进行处理,包括:
调用配置于所述内核空间的内核层防御引擎对所述待检测流量数据进行处理,其中,所述内核层防御引擎是基于扩展伯克利包过滤器eBPF实现的;或者,
调用配置于用户空间的应用层防御引擎对所述待检测流量数据进行处理。
8.一种流量数据处理装置,其特征在于,包括:
接收模块,用于通过网卡驱动接收待检测流量数据;
识别模块,用于调用配置于内核空间的内核层检测引擎,以基于所述内核层检测引擎中的第一规则配置数据对所述待检测流量数据进行识别,获得识别结果;其中,所述内核层检测引擎是基于扩展伯克利包过滤器eBPF实现的,所述第一规则配置数据是从预设的检测规则配置数据中筛选获得的;
处理模块,用于在所述识别结果指示所述待检测流量数据为异常流量数据的情况下,确定所述异常流量数据对应的异常处理方式,进而根据所述异常处理方式对所述待检测流量数据进行处理;在所述识别结果指示所述待检测流量数据不为异常流量数据的情况下,调用配置于用户空间的应用层检测引擎,以基于所述应用层检测引擎中的第二规则配置数据对所述待检测流量数据进行二次识别,获得二次识别结果;其中,所述第二规则配置数据是所述检测规则配置数据中除所述第一规则配置数据以外的检测规则配置数据;
其中,所述检测规则配置数据包括多个异常事件的特征检测规则数据;所述流量数据处理装置还用于按照如下方法从所述检测规则配置数据中筛选获得所述第一规则配置数据:
获取筛选条件;其中,所述筛选条件包括所述异常事件在统计指标下的统计数据、各统计指标对应的权重,以及筛选阈值;所述统计指标包括威胁程度、创建时长和发生频次;根据各统计指标的统计数据对所述异常事件进行排序,确定所述异常事件在各统计指标下的指标值;根据所述各统计指标下的指标值和所述统计指标对应的权重,确定所述异常事件的目标指标值;根据所述筛选阈值和所述异常事件的目标指标值,从所述异常事件中选出目标异常事件;将所述目标异常事件的特征检测规则数据确定为所述第一规则配置数据;
其中,根据各统计指标的统计数据对所述异常事件进行排序,确定所述异常事件在各统计指标下的指标值,包括:以威胁程度由高到低的顺序得到第一排序,基于所述第一排序中异常事件的顺序得到各异常事件的第一指标值;以创建时长由短到长的顺序得到第二排序,基于所述第二排序中异常事件的顺序得到各异常事件的第二指标值;以发生频次由高到低的顺序得到第三排序,基于所述第三排序中异常事件的顺序得到各异常事件的第三指标值;
其中,根据所述各统计指标下的指标值和所述统计指标对应的权重,确定所述异常事件的目标指标值,包括:根据所述统计指标对应的权重,结合第一指标值、第二指标值和第三指标值进行加权计算,得到目标指标值;目标指标值越小的异常事件,其威胁性越高或者出现次数越高。
9.一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如权利要求1至7任一项所述的流量数据处理方法。
10.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如权利要求1至7任一项所述的流量数据处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210392713.1A CN114726633B (zh) | 2022-04-14 | 2022-04-14 | 流量数据处理方法及装置、存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210392713.1A CN114726633B (zh) | 2022-04-14 | 2022-04-14 | 流量数据处理方法及装置、存储介质及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114726633A CN114726633A (zh) | 2022-07-08 |
CN114726633B true CN114726633B (zh) | 2023-10-03 |
Family
ID=82244720
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210392713.1A Active CN114726633B (zh) | 2022-04-14 | 2022-04-14 | 流量数据处理方法及装置、存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114726633B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115208682B (zh) * | 2022-07-26 | 2023-12-12 | 上海欣诺通信技术股份有限公司 | 一种基于snort的高性能网络攻击特征检测方法及装置 |
CN115146262B (zh) * | 2022-09-01 | 2023-03-28 | 杭州美创科技股份有限公司 | 基于eBPF技术的Linux系统内核漏洞补丁缓解方法及其系统 |
Citations (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1633110A (zh) * | 2005-01-14 | 2005-06-29 | 中国科学院计算技术研究所 | 基于Linux内核的流量分析方法 |
CN1968180A (zh) * | 2005-11-16 | 2007-05-23 | 中兴通讯股份有限公司 | 一种基于多级聚集的异常流量控制方法与系统 |
KR20110049282A (ko) * | 2009-11-04 | 2011-05-12 | 주식회사 컴트루테크놀로지 | 디도스 공격에 대한 디도스 탐지/차단 시스템 및 그 방법 |
CN102184360A (zh) * | 2011-05-13 | 2011-09-14 | 华中科技大学 | 一种适用于嵌入式处理器的信息流安全监控方法 |
KR101240311B1 (ko) * | 2012-01-09 | 2013-03-06 | 주식회사 잉카인터넷 | 리눅스 기반 네트워크 패킷 침입 탐지 시스템 및 방법 |
US9912681B1 (en) * | 2015-03-31 | 2018-03-06 | Fireeye, Inc. | Injection of content processing delay in an endpoint |
CN108494761A (zh) * | 2018-03-15 | 2018-09-04 | 四川斐讯信息技术有限公司 | 一种路由器网址过滤方法和过滤系统 |
KR20190007697A (ko) * | 2017-07-13 | 2019-01-23 | 주식회사 린아레나 | 네트워크 대역폭을 기반으로 한 시계열 이상행위 탐지 시스템 |
US10505899B1 (en) * | 2017-08-14 | 2019-12-10 | Juniper Networks, Inc | Apparatus, system, and method for applying firewall rules on packets in kernel space on network devices |
CN110768865A (zh) * | 2019-10-23 | 2020-02-07 | 新华三信息安全技术有限公司 | 一种深度报文检测引擎激活方法、装置及电子设备 |
CN112256542A (zh) * | 2020-10-19 | 2021-01-22 | 中山大学 | 基于eBPF的微服务系统性能检测方法、装置和系统 |
CN112445691A (zh) * | 2020-12-02 | 2021-03-05 | 中国建设银行股份有限公司 | 非侵入式智能合约性能检测方法和装置 |
CN113328981A (zh) * | 2020-07-09 | 2021-08-31 | 深信服科技股份有限公司 | 一种规则质量检测方法、装置、设备及可读存储介质 |
CN113849859A (zh) * | 2020-06-28 | 2021-12-28 | 中兴通讯股份有限公司 | Linux内核的修改方法、终端设备和存储介质 |
CN113872918A (zh) * | 2020-06-30 | 2021-12-31 | 苏州三六零智能安全科技有限公司 | 网络流量分类方法、设备、存储介质及装置 |
CN114244560A (zh) * | 2021-11-10 | 2022-03-25 | 奇安信科技集团股份有限公司 | 流量处理方法及装置 |
CN114301644A (zh) * | 2021-12-17 | 2022-04-08 | 中国科学院深圳先进技术研究院 | 网络异常检测系统及方法 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040205419A1 (en) * | 2003-04-10 | 2004-10-14 | Trend Micro Incorporated | Multilevel virus outbreak alert based on collaborative behavior |
US20080016339A1 (en) * | 2006-06-29 | 2008-01-17 | Jayant Shukla | Application Sandbox to Detect, Remove, and Prevent Malware |
US20110010209A1 (en) * | 2009-07-09 | 2011-01-13 | International Business Machines Corporation | Statistical condition detection and resolution management |
US9106692B2 (en) * | 2013-01-31 | 2015-08-11 | Northrop Grumman Systems Corporation | System and method for advanced malware analysis |
US10367785B2 (en) * | 2013-10-01 | 2019-07-30 | Perfecta Federal Llc | Software defined traffic modification system |
AU2015235840A1 (en) * | 2014-03-27 | 2016-08-18 | Alert Logic, Inc. | Malicious software identification integrating behavioral analytics and hardware events |
US10885212B2 (en) * | 2017-09-12 | 2021-01-05 | Sophos Limited | Secure management of process properties |
US11811801B2 (en) * | 2019-08-21 | 2023-11-07 | Nokia Solutions And Networks Oy | Anomaly detection for microservices |
-
2022
- 2022-04-14 CN CN202210392713.1A patent/CN114726633B/zh active Active
Patent Citations (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1633110A (zh) * | 2005-01-14 | 2005-06-29 | 中国科学院计算技术研究所 | 基于Linux内核的流量分析方法 |
CN1968180A (zh) * | 2005-11-16 | 2007-05-23 | 中兴通讯股份有限公司 | 一种基于多级聚集的异常流量控制方法与系统 |
KR20110049282A (ko) * | 2009-11-04 | 2011-05-12 | 주식회사 컴트루테크놀로지 | 디도스 공격에 대한 디도스 탐지/차단 시스템 및 그 방법 |
CN102184360A (zh) * | 2011-05-13 | 2011-09-14 | 华中科技大学 | 一种适用于嵌入式处理器的信息流安全监控方法 |
KR101240311B1 (ko) * | 2012-01-09 | 2013-03-06 | 주식회사 잉카인터넷 | 리눅스 기반 네트워크 패킷 침입 탐지 시스템 및 방법 |
US9912681B1 (en) * | 2015-03-31 | 2018-03-06 | Fireeye, Inc. | Injection of content processing delay in an endpoint |
KR20190007697A (ko) * | 2017-07-13 | 2019-01-23 | 주식회사 린아레나 | 네트워크 대역폭을 기반으로 한 시계열 이상행위 탐지 시스템 |
US10505899B1 (en) * | 2017-08-14 | 2019-12-10 | Juniper Networks, Inc | Apparatus, system, and method for applying firewall rules on packets in kernel space on network devices |
CN108494761A (zh) * | 2018-03-15 | 2018-09-04 | 四川斐讯信息技术有限公司 | 一种路由器网址过滤方法和过滤系统 |
CN110768865A (zh) * | 2019-10-23 | 2020-02-07 | 新华三信息安全技术有限公司 | 一种深度报文检测引擎激活方法、装置及电子设备 |
CN113849859A (zh) * | 2020-06-28 | 2021-12-28 | 中兴通讯股份有限公司 | Linux内核的修改方法、终端设备和存储介质 |
CN113872918A (zh) * | 2020-06-30 | 2021-12-31 | 苏州三六零智能安全科技有限公司 | 网络流量分类方法、设备、存储介质及装置 |
CN113328981A (zh) * | 2020-07-09 | 2021-08-31 | 深信服科技股份有限公司 | 一种规则质量检测方法、装置、设备及可读存储介质 |
CN112256542A (zh) * | 2020-10-19 | 2021-01-22 | 中山大学 | 基于eBPF的微服务系统性能检测方法、装置和系统 |
CN112445691A (zh) * | 2020-12-02 | 2021-03-05 | 中国建设银行股份有限公司 | 非侵入式智能合约性能检测方法和装置 |
CN114244560A (zh) * | 2021-11-10 | 2022-03-25 | 奇安信科技集团股份有限公司 | 流量处理方法及装置 |
CN114301644A (zh) * | 2021-12-17 | 2022-04-08 | 中国科学院深圳先进技术研究院 | 网络异常检测系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN114726633A (zh) | 2022-07-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10673884B2 (en) | Apparatus method and medium for tracing the origin of network transmissions using n-gram distribution of data | |
CN114726633B (zh) | 流量数据处理方法及装置、存储介质及电子设备 | |
CN110311925B (zh) | DDoS反射型攻击的检测方法及装置、计算机设备与可读介质 | |
US11824878B2 (en) | Malware detection at endpoint devices | |
CN113014571B (zh) | 一种访问请求处理的方法、装置及存储介质 | |
US10986112B2 (en) | Method for collecting cyber threat intelligence data and system thereof | |
CN111464513A (zh) | 数据检测方法、装置、服务器及存储介质 | |
CN115023699A (zh) | 恶意进程的检测方法、装置、电子设备及存储介质 | |
CN111800490A (zh) | 获取网络行为数据的方法、装置及终端设备 | |
EP3462699A1 (en) | System and method of identifying a malicious intermediate language file | |
CN117032894A (zh) | 容器安全状态检测方法、装置、电子设备及存储介质 | |
US10893090B2 (en) | Monitoring a process on an IoT device | |
CN116028917A (zh) | 权限检测方法及装置、存储介质及电子设备 | |
CN114553551B (zh) | 对入侵防御系统进行测试的方法及装置 | |
CN110650126A (zh) | 一种防网站流量攻击方法、装置以及智能终端、存储介质 | |
CN114679295B (zh) | 防火墙安全配置方法及装置 | |
US11662927B2 (en) | Redirecting access requests between access engines of respective disk management devices | |
CN115174192A (zh) | 应用安全防护方法及装置、电子设备和存储介质 | |
CN114462030A (zh) | 隐私政策的处理、取证方法、装置、设备及存储介质 | |
CN110909349A (zh) | docker容器内反弹shell的检测方法和系统 | |
CN115412359B (zh) | Web应用安全防护方法和装置、电子设备、存储介质 | |
KR20200005137A (ko) | 보안 이벤트를 처리하기 위한 위협 티켓 발행 방법 및 장치 | |
CN115102748B (zh) | 漏洞检测方法及装置、存储介质及电子设备 | |
CN116881079A (zh) | 数据处理方法、装置、电子设备及存储介质 | |
CN115038089B (zh) | 一种基于信息抽取的多端数据监听采集方法 |
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 | ||
EE01 | Entry into force of recordation of patent licensing contract | ||
EE01 | Entry into force of recordation of patent licensing contract |
Application publication date: 20220708 Assignee: Tianyiyun Technology Co.,Ltd. Assignor: CHINA TELECOM Corp.,Ltd. Contract record no.: X2024110000020 Denomination of invention: Flow data processing methods and devices, storage media, and electronic devices Granted publication date: 20231003 License type: Common License Record date: 20240315 |