一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

容器云平台网络安全防护方法、装置及电子设备与流程

2022-11-14 03:18:11 来源:中国专利 TAG:


1.本技术涉及软件技术领域,尤其是涉及一种容器云平台网络安全防护方法、装置及电子设备。


背景技术:

2.随着容器云技术的快速发展,容器云安全越来约被重视,其中应用服务基于七层的waf(web application firewal,网站应用级入侵防御系统)网络安全防护也成为防护的重点。
3.目前大多waf的安全防护主要是在网络报文数据包通过协议栈进入用户态进行处理,当waf服务发现网络报文数据包存在威胁并对数据包进行丢弃等处理时,网络报文数据包已经在网络协议栈中进行了数据链路层的mac头的处理、网络层ip头的处理和传输层网络包的解析等一系列操作,占用cpu的处理时间,影响计算机的性能。


技术实现要素:

4.本技术的目的在于提供一种容器云平台网络安全防护方法、装置及电子设备,通过xdp(express data path,数据包处理器)程序和规则匹配引擎可以将进入网卡的网络报文数据拦截在用户态进行分析处理,在确定无网络完全风险时再发送至网络协议栈,减少占用cpu的处理时间,提高计算机的性能。
5.第一方面,本技术实施例提供一种容器云平台网络安全防护方法,方法应用于容器云平台;容器云平台中加载有xdp程序、安装有规则匹配引擎;方法包括:在检测到进入与容器云平台连接的网卡的网络报文数据包时,通过xdp程序拦截网卡中的所有网络报文数据包,并对每个网络报文数据包进行解析,得到每个网络报文数据包对应的应用数据;通过规则匹配引擎,对每个网络报文数据包对应的应用数据进行正则表达式匹配,确定每个网络报文数据包是否存在网络安全风险;针对存在网络安全风险的第一网络报文数据包进行丢包操作并记录;将不存在网络安全风险的第二网络报文数据包发送至网络协议栈以进行后续操作。
6.在本技术较佳的实施方式中,上述通过xdp程序拦截网卡中的所有网络报文数据包的步骤,包括:以libbpf为基础库,参考指定头文件中定义的格式,拦截并获取网卡中的所有网络报文数据包。
7.在本技术较佳的实施方式中,上述指定头文件中定义的格式为:依次排列的mac头、ip头、tcp头和应用数据。
8.在本技术较佳的实施方式中,上述容器云平台中预存有规则数据库;规则数据库中预存有waf防护的正则表达式;通过规则匹配引擎,对每个网络报文数据包对应的应用数据进行正则表达式匹配的步骤,包括:通过规则匹配引擎,加载规则数据库中的waf防护的正则表达式,根据加载的waf防护的正则表达式对每个网络报文数据包对应的应用数据进行正则表达式匹配。
9.在本技术较佳的实施方式中,上述根据加载的waf防护的正则表达式对每个网络报文数据包对应的应用数据进行正则表达式匹配的步骤,包括:根据加载的waf防护的正则表达式,以块模式方式,对多个网络报文数据包分别对应的应用数据进行正则表达式匹配。
10.在本技术较佳的实施方式中,上述规则数据库是通过优化硬件流程对多个waf防护的正则表达式进行转换而生成的。
11.在本技术较佳的实施方式中,上述针对存在网络安全风险的第一网络报文数据包进行丢包操作并记录的同时,还包括:针对第一网络报文数据包进行报警处理。
12.在本技术较佳的实施方式中,上述规则匹配引擎为hyperscan正则匹配引擎。
13.第二方面,本技术实施例还提供一种容器云平台网络安全防护装置,装置应用于容器云平台;容器云平台中加载有xdp程序,安装有规则匹配引擎;装置包括:数据拦截解析模块,用于在检测到进入与容器云平台连接的网卡的网络报文数据包时,通过xdp程序拦截网卡中的所有网络报文数据包,并对每个网络报文数据包进行解析,得到每个网络报文数据包对应的应用数据;风险判断模块,用于通过规则匹配引擎,对每个网络报文数据包对应的应用数据进行正则表达式匹配,确定每个网络报文数据包是否存在网络安全风险;数据包处理模块,用于针对存在网络安全风险的第一网络报文数据包进行丢包操作并记录;将不存在网络安全风险的第二网络报文数据包发送至网络协议栈以进行后续操作。
14.第三方面,本技术实施例还提供一种容器云平台网络安全防护系统,系统包括:容器云平台和与容器云平台连接的网关;容器云平台中加载有xdp程序,安装有规则匹配引擎;容器云平台用于通过xdp程序、规则匹配引擎执行如第一方面所述的方法。
15.本技术实施例提供的一种容器云平台网络安全防护方法、装置及电子设备中,方法应用于容器云平台;容器云平台中加载有xdp程序、安装有规则匹配引擎;在检测到进入与容器云平台连接的网卡的网络报文数据包时,通过xdp程序拦截网卡中的所有网络报文数据包,并对每个网络报文数据包进行解析,得到每个网络报文数据包对应的应用数据;通过规则匹配引擎,对每个网络报文数据包对应的应用数据进行正则表达式匹配,确定每个网络报文数据包是否存在网络安全风险;针对存在网络安全风险的第一网络报文数据包进行丢包操作并记录;将不存在网络安全风险的第二网络报文数据包发送至网络协议栈以进行后续操作。本技术实施例通过xdp程序和规则匹配引擎可以将进入网卡的网络报文数据拦截在用户态进行分析处理,在确定无网络完全风险时再发送至网络协议栈,减少占用cpu的处理时间,提高计算机的性能。
附图说明
16.为了更清楚地说明本技术具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本技术的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
17.图1为本技术实施例提供的一种现有技术中数据包处理路径与本技术实施例数据包处理路径的对比示意图;
18.图2为本技术实施例提供的一种容器云平台网络安全防护方法的流程图;
19.图3为本技术实施例提供的一种格式定义示意图;
20.图4为本技术实施例提供的一种容器云平台网络安全防护装置的结构框图;
21.图5为本技术实施例提供的一种容器云平台网络安全防护系统的结构示意图。
具体实施方式
22.下面将结合实施例对本技术的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范。
23.目前大多waf的安全防护主要是在网络报文数据包通过协议栈进入用户态进行处理,如图1所示的原始网络包路径,网卡接收到网络报文数据后会直接发送至协议栈,然后在协议栈内进行网络报文数据包的分析,如数据链路层的mac头的处理、网络层ip头的处理和传输层网络包的解析等一系列操作,这样会占用cpu的大量处理时间,影响计算机的性能。
24.基于此,本技术实施例提供一种容器云平台网络安全防护方法、装置及电子设备,通过xdp程序和规则匹配引擎可以将进入网卡的网络报文数据拦截在用户态进行分析处理,在确定无网络完全风险时再发送至网络协议栈,减少占用cpu的处理时间,提高计算机的性能。
25.为便于对本实施例进行理解,首先对本技术实施例所公开的一种容器云平台网络安全防护方法进行详细介绍。
26.图2为本技术实施例提供的一种容器云平台网络安全防护方法的流程图,该方法应用于容器云平台;容器云平台中加载有xdp程序、安装有规则匹配引擎;该方法具体包括以下步骤:
27.步骤s202,在检测到进入与容器云平台连接的网卡的网络报文数据包时,通过xdp程序拦截网卡中的所有网络报文数据包,并对每个网络报文数据包进行解析,得到每个网络报文数据包对应的应用数据。
28.具体实施时,可以以libbpf为基础库,参考指定头文件中定义的格式,拦截并获取网卡中的所有网络报文数据包。上述指定头文件可以为:linux/bpf.h头文件,linux/bpf.h头文件中定义的格式为:依次排列的mac头、ip头、tcp头和应用数据,如图3所示,data指针指向报文的头部,data_end指向报文的尾部,通过程序实现对报文的解析获取应用数据。
29.步骤s204,通过规则匹配引擎,对每个网络报文数据包对应的应用数据进行正则表达式匹配,确定每个网络报文数据包是否存在网络安全风险。
30.上述规则匹配引擎可以为hyperscan正则匹配引擎。上述规则匹配引擎对应有规则数据库,规则数据库中预存有waf防护的正则表达式;具体实施时,通过规则匹配引擎,加载规则数据库中的waf防护的正则表达式,根据加载的waf防护的正则表达式对每个网络报文数据包对应的应用数据进行正则表达式匹配,确定每个网络报文数据包是否存在网络安全风险。
31.步骤s206,针对存在网络安全风险的第一网络报文数据包进行丢包操作并记录;将不存在网络安全风险的第二网络报文数据包发送至网络协议栈以进行后续操作。另外,还可以针对第一网络报文数据包进行报警处理。
32.本技术实施例提供的容器云平台网络安全防护方法中,xdp程序在网络报文数据
包进入linux内核协议栈之前就可以处理网络报文数据包,并且为了提高对网络报文数据包的处理,引入了高性能的正则表达式库,更缩短了处理时间,让有威胁的网络报文数据包在进入协议栈之前就被发现,减少网络报文数据包后续处理,极大的提高waf防护的性能和网络吞吐量。并且该waf防护是对容器云平台七层网络安全防护的补充,并且对应用无侵入及对应用开发人员透明,极大方便了使用者在容器云平台对waf防护的集成。
33.本技术实施例还提供另一种容器云平台网络安全防护方法,该方法在上述实施例的基础上实现;本实施例重点描述风险判断过程。
34.参见图1所示,容器云平台网络安全防护方法具体包括以下步骤:
35.步骤1、当请求的网络报文数据包到达网卡。
36.步骤2、xdp程序拦截网卡中的所有网络报文数据包到用户态。
37.步骤3、由于xdp无法像在sockops等程序直接获取套接字的详细信息,需要进行对网络报文数据包进行解析,获取http数据包的应用数据。
38.步骤4、hyperscan服务已经把提前设置好的waf防护的正则表达式进行编译到内存中,此时对http数据包的应用数据进行匹配。
39.步骤5、通过hyperscan判断网络报文数据包是否存在网络安全风险。
40.步骤6、如果报文数据包不存在网络安全风险,则把报文数据包继续发送到网络协议栈中进行后续处理。
41.步骤7、如果报文数据包中存在网络安全风险,根据之前制定的规则,进行丢弃或者进行报警通知等。
42.上述步骤4中风险判断的详细过程如下:
43.上述容器云平台中预存有规则数据库;规则数据库中预存有waf防护的正则表达式;上述规则数据库是通过优化硬件流程对多个waf防护的正则表达式进行转换而生成的。
44.该规则数据库是以waf防护的正则表达式作为输入,hyperscan编辑器借助硬件优化可以把单个或多个正则表达式转换成模式数据库,所谓硬件优化主要利用现在处理器的部分特性提高性能(如intel advanced vector extensions 2(intel avx2)和intel bit manipulation instructions 2(intel bmi2)等)。
45.上述通过规则匹配引擎,对每个网络报文数据包对应的应用数据进行正则表达式匹配的步骤,包括:
46.通过规则匹配引擎,加载规则数据库中的waf防护的正则表达式,根据加载的waf防护的正则表达式对每个网络报文数据包对应的应用数据进行正则表达式匹配。
47.为了提高匹配效率,本实施例中还可以根据加载的waf防护的正则表达式,以块模式方式,对多个网络报文数据包分别对应的应用数据进行正则表达式匹配。
48.块模式(block mode),是hyperscan中基础的模式,调用函数为hs_scan()。每次调用时,将对一段完整的数据块进行匹配。匹配只限于该数据块内,而与上一次的hs_scan()调用无关。在通常情况下块模式是所有模式中最高效的。
49.本技术实施例提供的容器云平台网络安全防护方法中,在网络报文数据包进入linux内核协议栈之前就可以通过xdp程序把网络报文数据包拦截到用户态,并且使用一款来自于intel的高性能的正则表达式匹配库hyperscan把waf防护的正则表达式进行存储,通过在用户态进行对网络包进行正则表达式匹配,把存在网络安全风险的网络报文数据包
进行丢包操作并记录,再把不存在网络安全风险的网络报文数据包转发到网络协议栈进行后续操作。
50.另外,在容器云平台中,可以把关于waf相关的正则表达式下发到每一个容器节点的正则表达式存储的数据库中,每个容器节点通过xdp拦截数据包,在用户态解析网络包,对http文本进行正则匹配。发现网络是否存在网络包是否存在威胁,并进行后续处理,在容器云内部主要都是基于4层的网络监测,该方案可以弥补容器云平台关于七层网络安全的不足,也提高了部署在容器云平台应用数据访问的安全性。
51.基于上述方法实施例,本技术实施例还提供一种容器云平台网络安全防护装置,装置应用于容器云平台;容器云平台中加载有xdp程序,安装有规则匹配引擎;参见图4所示,该装置包括:
52.数据拦截解析模块42,用于在检测到进入与容器云平台连接的网卡的网络报文数据包时,通过xdp程序拦截网卡中的所有网络报文数据包,并对每个网络报文数据包进行解析,得到每个网络报文数据包对应的应用数据;风险判断模块44,用于通过规则匹配引擎,对每个网络报文数据包对应的应用数据进行正则表达式匹配,确定每个网络报文数据包是否存在网络安全风险;数据包处理模块46,用于针对存在网络安全风险的第一网络报文数据包进行丢包操作并记录;将不存在网络安全风险的第二网络报文数据包发送至网络协议栈以进行后续操作。
53.在本技术较佳的实施方式中,上述数据拦截解析模块42,用于以libbpf为基础库,参考指定头文件中定义的格式,拦截并获取网卡中的所有网络报文数据包。
54.在本技术较佳的实施方式中,上述指定头文件中定义的格式为:依次排列的mac头、ip头、tcp头和应用数据。
55.在本技术较佳的实施方式中,上述容器云平台中预存有规则数据库;规则数据库中预存有waf防护的正则表达式;上述风险判断模块44,用于通过规则匹配引擎,加载规则数据库中的waf防护的正则表达式,根据加载的waf防护的正则表达式对每个网络报文数据包对应的应用数据进行正则表达式匹配。
56.在本技术较佳的实施方式中,上述风险判断模块44,用于根据加载的waf防护的正则表达式,以块模式方式,对多个网络报文数据包分别对应的应用数据进行正则表达式匹配。
57.在本技术较佳的实施方式中,上述规则数据库是通过优化硬件流程对多个waf防护的正则表达式进行转换而生成的。
58.在本技术较佳的实施方式中,上述数据包处理模块46,还用于针对第一网络报文数据包进行报警处理。
59.在本技术较佳的实施方式中,上述规则匹配引擎为hyperscan正则匹配引擎。
60.本技术实施例提供的装置,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置的实施例部分未提及之处,可参考前述方法实施例中相应内容。
61.基于上述方法实施例,本技术实施例还提供一种容器云平台网络安全防护系统,参见图5所示,该系统包括:容器云平台52和与容器云平台52连接的网关54;容器云平台52中加载有xdp程序521,安装有规则匹配引擎522;容器云平台52用于通过xdp程序521、规则匹配引擎522执行如上述实施例所述的方法。
62.本技术实施例提供的系统,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,系统的实施例部分未提及之处,可参考前述方法实施例中相应内容。
63.本技术实施例还提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令在被处理器调用和执行时,该计算机可执行指令促使处理器实现上述方法,具体实现可参见前述方法实施例,在此不再赘述。
64.本技术实施例所提供的方法、装置和电子设备的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。
65.除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对步骤、数字表达式和数值并不限制本技术的范围。
66.所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
67.在本技术的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本技术和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本技术的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
68.最后应说明的是:以上所述实施例,仅为本技术的具体实施方式,用以说明本技术的技术方案,而非对其限制,本技术的保护范围并不局限于此,尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本技术实施例技术方案的精神和范围,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应所述以权利要求的保护范围为准。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献