System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及信息,尤其涉及一种安全防护方法、装置、设备及介质。
技术介绍
1、随着越来越多应用的云原生化,云原生场景下的安全问题层出不穷,近些年来,安全团队发现一款借助容器进行传播的新型蠕虫病毒。由此可见,虽然云原生化的相关技术带来了技术和产业革新,但云原生场景中同样充满安全风险。云原生场景中的安全问题亟待得到充分的重视和保障。其中,安全问题主要包括应用程序接口(applicationprogramming interface,api)滥用、webshell连接上传、数据库语言(structured querylanguage,sql)注入、访问控制列表(acl)等。为了准确有效地在云原生场景下实现安全防护,相关技术中提出了劫持云原生场景下的数据,并转发至安全引擎,由安全引擎判断接收到的数据是否为恶意数据,从而实现对恶意数据的防护。相关的数据劫持技术通常采用iptables对微服务的pod的进出口数据进行劫持,在云原生场景下,典型的方法为:服务网格(istio)通过在微服务的pod的init容器中内置预先定义的iptables规则,实现对微服务的pod进出口数据的劫持,进而完成数据透明并引流至sidecar容器即安全引擎中。
2、图1为相关技术中进行数据劫持并转发至安全引擎的过程示意图。其中,pod a与pod b位于云原生场景下kubernetes集群的同一个设备中,其中该设备还可以被称为节点,pod a的业务容器将数据发送pod b的业务容器时,首先poda所在的设备的套接口(socket)拦截数据,并将数据发送至
技术实现思路
1、本申请实施例提供了一种安全防护方法、装置、设备及介质,用以解决相关技术中在进行数据劫持时,数据传输的通路较长,导致设备的吞吐量较低的问题。
2、第一方面,本申请实施例提供了一种安全防护方法,应用于设备的socket的hook点,所述方法包括:
3、若检测到数据传输请求,则获取所述数据传输请求中携带的待处理数据;
4、通过挂载的伯克利包过滤器(extended berkeley packet filter,ebpf)程序将所述待处理数据发送至所述安全引擎,其中,所述安全引擎被设置在所述设备中。
5、进一步地,若所述hook点为xdp hook点,所述获取所述数据传输请求中携带的待处理数据包括:
6、获取所述数据传输请求中携带的待处理数据及目的端口;
7、所述通过挂载的ebpf程序将所述待处理数据发送至所述安全引擎包括:
8、通过挂载的ebpf程序将所述目的端口调整为预先保存的安全引擎的端口,将调整端口后的待处理数据发送至所述安全引擎。
9、进一步地,若所述hook点为xdp hook点,所述获取所述数据传输请求中携带的待处理数据及目的端口之后,所述通过挂载的ebpf程序将所述目的端口调整为预先保存的安全引擎的端口,将调整端口后的待处理数据发送至所述安全引擎之前,所述方法还包括:
10、判断所述目的端口,是否为任一预先保存的待防护的pod的端口,若是,则执行后续,通过挂载的ebpf程序将所述目的端口调整为预先保存的安全引擎的端口,将调整端口后的待处理数据发送至所述安全引擎的步骤。
11、进一步地,若所述hook点为tcp hook点,所述获取所述数据传输请求中携带的待处理数据包括:
12、获取所述数据传输请求中携带的待处理数据、目的ip地址及目的端口;
13、所述通过挂载的ebpf程序将所述待处理数据发送至所述安全引擎包括:
14、通过挂载的ebpf程序将所述目的ip地址及所述目的端口调整为安全引擎对应的ip地址及端口,将调整端口及ip地址后的待处理数据发送至所述安全引擎。
15、进一步地,若所述hook点为tcp hook点,所述获取所述数据传输请求中携带的待处理数据、目的ip地址及目的端口之后,所述通过挂载的ebpf程序将所述目的ip地址及所述目的端口调整为安全引擎对应的ip地址及端口,将调整端口及ip地址后的待处理数据发送至所述安全引擎之前,所述方法还包括:
16、判断所述目的ip地址及目的端口,是否为任一预先保存的待防护的pod的ip地址及端口,若是,则执行后续,通过挂载的ebpf程序将所述目的ip地址及所述目的端口调整为安全引擎对应的ip地址及端口,将调整端口及ip地址后的待处理数据发送至所述安全引擎的步骤。
17、进一步地,所述方法还包括:
18、若接收到所述安全引擎返回的处理完成指令,则获取所述设备中源被访问pod的标识及所述待处理数据;
19、通过bpf_msg_redirect_hash对所述待处理数据进行转发,将所述待处理数据绕过底层协议栈并返回至所述标识对应的所述源被访问pod。
20、进一步地,所述获取所述设备中源被访问pod的标识包括:
21、若所述hook点为xdp hook点,获取所述处理完成指令中携带的所述设备中源被访问pod的目的端口;
22、若所述hook点为tcp hook点,获取所述处理完成指令中携带的所述设备中源被访问pod的目的端口及目的ip地址。
23、进一步地,获取未调整端口时的所述待处理数据包括:
24、若所述hook点为xdp hook点,根据预先保存的端口和调整前的四元组信息的映射信息,获取所述目的端口对应的第一目标四元组信息;并根据预先保存的调整前的四元组信息和调整前的数据的映射信息,获取所述第一目标四元组信息对应的所述待处理数据;
25、若所述hook点为tcp hook点,根据预先保存的端口及ip地址和调整前的四元组信息的映射信息,获取所述目的端口及所述目的ip地址对应的第二目标四元组信息;并根据预先保存的调整前的四元组信本文档来自技高网...
【技术保护点】
1.一种安全防护方法,其特征在于,应用于设备的套接口Socket的hook点,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,若所述hook点为XDP hook点,所述获取所述数据传输请求中携带的待处理数据包括:
3.根据权利要求2所述的方法,其特征在于,若所述hook点为XDP hook点,所述获取所述数据传输请求中携带的待处理数据及目的端口之后,所述通过挂载的eBPF程序将所述目的端口调整为预先保存的安全引擎的端口,将调整端口后的待处理数据发送至所述安全引擎之前,所述方法还包括:
4.根据权利要求1所述的方法,其特征在于,若所述hook点为TCP hook点,所述获取所述数据传输请求中携带的待处理数据包括:
5.根据权利要求4所述的方法,其特征在于,若所述hook点为TCP hook点,所述获取所述数据传输请求中携带的待处理数据、目的IP地址及目的端口之后,所述通过挂载的eBPF程序将所述目的IP地址及所述目的端口调整为安全引擎对应的IP地址及端口,将调整端口及IP地址后的待处理数据发送至所述安全引擎之前,所述方法还包
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
7.根据权利要求6所述的方法,其特征在于,所述获取所述设备中源被访问Pod的标识包括:
8.根据权利要求6所述的方法,其特征在于,获取未调整端口时的所述待处理数据包括:
9.一种安全防护装置,其特征在于,所述装置包括:
10.一种电子设备,其特征在于,所述电子设备至少包括处理器和存储器,所述处理器用于执行存储器中存储的计算机程序时执行权利要求1-8中任一所述安全防护方法的步骤。
11.一种计算机可读存储介质,其特征在于,其存储有计算机程序,所述计算机程序被处理器执行时执行权利要求1-8中任一所述安全防护方法的步骤。
...【技术特征摘要】
1.一种安全防护方法,其特征在于,应用于设备的套接口socket的hook点,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,若所述hook点为xdp hook点,所述获取所述数据传输请求中携带的待处理数据包括:
3.根据权利要求2所述的方法,其特征在于,若所述hook点为xdp hook点,所述获取所述数据传输请求中携带的待处理数据及目的端口之后,所述通过挂载的ebpf程序将所述目的端口调整为预先保存的安全引擎的端口,将调整端口后的待处理数据发送至所述安全引擎之前,所述方法还包括:
4.根据权利要求1所述的方法,其特征在于,若所述hook点为tcp hook点,所述获取所述数据传输请求中携带的待处理数据包括:
5.根据权利要求4所述的方法,其特征在于,若所述hook点为tcp hook点,所述获取所述数据传输请求中携带的待处理数据、目的ip地址及目的端口之...
【专利技术属性】
技术研发人员:浦明,陈建军,尤扬,刘文懋,
申请(专利权)人:绿盟科技集团股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。