CN113992428A - 容器环境下的入侵防御方法及装置、电子设备、存储介质 - Google Patents

容器环境下的入侵防御方法及装置、电子设备、存储介质 Download PDF

Info

Publication number
CN113992428A
CN113992428A CN202111435431.7A CN202111435431A CN113992428A CN 113992428 A CN113992428 A CN 113992428A CN 202111435431 A CN202111435431 A CN 202111435431A CN 113992428 A CN113992428 A CN 113992428A
Authority
CN
China
Prior art keywords
network card
data packet
container
intrusion prevention
fast path
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.)
Granted
Application number
CN202111435431.7A
Other languages
English (en)
Other versions
CN113992428B (zh
Inventor
杨强
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tianrongxin Xiongan Network Security Technology Co ltd
Beijing Topsec Technology Co Ltd
Beijing Topsec Network Security Technology Co Ltd
Beijing Topsec Software Co Ltd
Original Assignee
Beijing Topsec Technology Co Ltd
Beijing Topsec Network Security Technology Co Ltd
Beijing Topsec Software Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Topsec Technology Co Ltd, Beijing Topsec Network Security Technology Co Ltd, Beijing Topsec Software Co Ltd filed Critical Beijing Topsec Technology Co Ltd
Priority to CN202111435431.7A priority Critical patent/CN113992428B/zh
Publication of CN113992428A publication Critical patent/CN113992428A/zh
Application granted granted Critical
Publication of CN113992428B publication Critical patent/CN113992428B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1416Event detection, e.g. attack signature detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45579I/O management, e.g. providing access to device drivers or storage
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45587Isolation or security of virtual machine instances

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请提供一种容器环境下的入侵防御方法及装置、电子设备、计算机可读存储介质,方法包括:指定网卡驱动接收到数据包,其中,指定网卡驱动包括宿主机的容器内虚拟网卡的网卡驱动、以及宿主机的物理网卡的网卡驱动;指定网卡驱动调用XDP网络钩子上的eBPF程序,eBPF程序从的数据包中解析出数据包特征值,通过eBPF程序在快速路径流表中,查找与数据包特征值对应的快速路径流表项;基于查找结果对数据包进行处理。本申请方案,由于指定网卡驱动的XDP网络钩子上绑定了eBPF程序,该eBPF程序可以通过快速路径流表对已经经过检测的连接的数据包进行快速处理,避免了流量全部被Linux网络协议栈处理所占用的巨大开销,提升了系统性能。

Description

容器环境下的入侵防御方法及装置、电子设备、存储介质
技术领域
本申请涉及信息安全技术领域,特别涉及一种容器环境下的入侵防御方法及装置、电子设备、计算机可读存储介质。
背景技术
容器的轻量化特点使容器技术在云计算中广泛应用。容器网络实现了容器之间的应用、容器内的应用与外部之间的通信。但是容器网络不像虚拟机和传统硬件设备一样有类似的网络属性,其网络安全风险相比传统网络更为严峻。以Docker的网络环境为例,它支持Bridge、Overlay等网络,尽管实现方式不同,但有一个共同和普遍的问题:如果容器之间没有进行有效的网络隔离和控制机制,则一旦攻击者控制某台主机或某台容器,便可以以此为跳板,攻击同主机或不同主机上的其他容器,也就实现了“东西向攻击”。
相关技术中,容器安全产品运行之后,使用iptables命令下发连接标记规则及对应的处理动作。在接收到发往容器的流量之后,由netfilter queue将容器流量引流至容器安全产品进行IPS(Intrusion Prevention System,入侵防御系统)检测,经过检测,可以确定流量所属连接是安全或危险。这种情况下,可以通过Netlink通信方式将流量的数据包信息以及标记信息下发给Linux网络协议栈的连接跟踪模块。连接跟踪模块根据数据包信息在连接表中为数据包所属连接添加该标记信息。后续接收到该连接的数据包之后,可以根据为数据包添加该连接对应的标记信息。依据数据包的标记信息,检查是否与连接标记规则匹配。若匹配到任一连接标记规则,依据连接标记规则所指示的处理动作,对数据包进行处理。对于未匹配到连接标记规则的数据包,可由nfqueue(netfilter queue)上送至容器安全产品进行检测。
然而,相关技术中每个连接的数据包先经过连接跟踪模型,后经过iptables连接标记规则处理。处理过程在Linux网络协议栈中进行,需要大量开销,对系统性能的影响较大。
发明内容
本申请实施例的目的在于提供一种容器环境下的入侵防御方法及装置、电子设备、计算机可读存储介质,用于实现IPS快速检测。
一方面,本申请提供了一种容器环境下的入侵防御方法,应用于宿主机,包括:
指定网卡驱动接收到数据包;其中,所述指定网卡驱动包括所述宿主机的容器内虚拟网卡的网卡驱动、以及所述宿主机的物理网卡的网卡驱动;
所述指定网卡驱动调用XDP网络钩子上的eBPF程序,通过所述eBPF程序从所述数据包中提取出数据包特征值,并在快速路径流表中,查找与所述数据包特征值对应的快速路径流表项;
基于查找结果对所述数据包进行处理。
在一实施例中,所述基于查找结果对所述数据包进行处理,包括:
若查找结果为查到对应的快速路径流表项,所述指定网卡驱动依据所述快速路径流表项中的处理动作,对所述数据包进行处理;
若查找结果为未查到对应的快速路径流表项,所述指定网卡驱动将所述数据包交由容器命名空间的nfqueue,使得所述nfqueue依据所述容器命名空间的引流规则、将所述数据包重定向至入侵防御系统。
在一实施例中,所述指定网卡驱动依据所述快速路径流表项中的处理动作,对所述数据包进行处理,包括:
如果处理动作为放行,所述指定网卡驱动发送所述数据包;
如果处理动作为丢弃,所述指定网卡驱动丢弃所述数据包。
在一实施例中,所述指定网卡驱动发送所述数据包,包括:
通过所述eBPF程序以所述数据包的目的MAC,查找转发表;
如果查到对应于所述目的MAC的转发表项,所述指定网卡驱动将数据包发送至所述转发表项指示的网卡;
如果未查到对应于所述目的MAC的转发表项,所述指定网卡驱动广播所述数据包。
在一实施例中,所述方法还包括:
所述入侵防御系统对所述数据包进行检测,获得检测结果;
所述入侵防御系统基于所述检测结果对应的处理动作、所述数据包的数据包特征值构建快速路径流表项,并将所述快速路径流表项写入所述快速路径流表。
在一实施例中,所述方法还包括:
若查找结果为未查到对应的快速路径流表项,所述eBPF程序依据所述指定网卡驱动的类型信息确定所述指定网卡驱动对应于物理网卡时,基于所述数据包的源MAC和所述物理网卡的网卡名称构建转发表项,并写入转发表。
在一实施例中,在所述指定网卡驱动接收到数据包之前,所述方法还包括:
所述宿主机的入侵防御系统获取所述宿主机上已运行的容器信息;
所述入侵防御系统在所述指定网卡驱动的XDP网络钩子上,下发eBPF程序;
所述入侵防御系统基于每一容器的容器信息,构建转发表项,并将所述转发表项写入所述eBPF程序的转发表;
所述入侵防御系统为每一容器的网络命名空间下发nfqueue的引流规则;其中,所述引流规则指示将与容器相关的数据包重定向至所述入侵防御系统。
在一实施例中,所述方法还包括:
若任一容器停止运行,删除停止运行的容器的网络命名空间下的引流规则,并在所述转发表删除停止运行的容器对应的转发表项。
进一步的,本申请还提供了一种电子设备,所述电子设备包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为执行上述容器环境下的入侵防御方法。
另外,本申请还提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序可由处理器执行以完成上述容器环境下的入侵防御方法。
本申请方案,宿主机上指定网卡驱动接收到数据包之后,调用XDP网络钩子上的eBPF程序,通过eBPF程序从所述数据包中提取出数据包特征值,然后在快速路径流表进行查找,并以查找结果对数据包进行处理;
由于指定网卡驱动的XDP网络钩子上绑定了eBPF程序,该eBPF程序可以通过快速路径流表对已经过检测的连接的数据包进行快速处理,避免了流量全部被Linux网络协议栈处理所占用的巨大开销,提升了系统性能。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍。
图1为本申请一实施例提供的容器环境下的入侵防御方法的应用场景示意图;
图2为本申请一实施例提供的电子设备的结构示意图;
图3为本申请一实施例提供的容器环境下的入侵防御方法的流程示意图;
图4为本申请一实施例提供的宿主机的架构示意图;
图5为本申请一实施例提供的宿主机的配置方法的流程示意图;
图6为本申请一实施例提供的网卡的数据包接收路径的架构示意图;
图7为本申请一实施例提供的入侵防御方案的对比示意图;
图8为本申请一实施例提供的容器环境下的入侵防御装置的框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本申请的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
图1为本申请实施例提供的容器环境下的入侵防御方法的应用场景示意图。如图1所示,该应用场景包括宿主机和外部网络;宿主机可以是服务器、服务器集群或云计算中心,宿主机上启动多个容器,并搭载有入侵防御系统,可以通过入侵防御系统和eBPF(Extend Berkeley Packet Filter)程序实现容器环境下的快速IPS检测。
如图2所示,本实施例提供一种电子设备1,包括:至少一个处理器11和存储器12,图2中以一个处理器11为例。处理器11和存储器12通过总线10连接,存储器12存储有可被处理器11执行的指令,指令被处理器11执行,以使电子设备1可执行下述的实施例中方法的全部或部分流程。在一实施例中,电子设备1可以是上述宿主机,用于执行容器环境下的入侵防御方法。
存储器12可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(Static Random Access Memory,简称SRAM),电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,简称EEPROM),可擦除可编程只读存储器(Erasable Programmable Read Only Memory,简称EPROM),可编程只读存储器(Programmable Red-Only Memory,简称PROM),只读存储器(Read-Only Memory,简称ROM),磁存储器,快闪存储器,磁盘或光盘。
本申请还提供了一种计算机可读存储介质,存储介质存储有计算机程序,计算机程序可由处理器11执行以完成本申请提供的容器环境下的入侵防御方法。
参见图3,为本申请一实施例提供的容器环境下的入侵防御方法的流程示意图,如图3所示,该方法可以包括以下步骤310-步骤330。
步骤310:指定网卡驱动接收到数据包;其中,指定网卡驱动包括宿主机的容器内虚拟网卡的网卡驱动、以及宿主机的物理网卡的网卡驱动。
参见图4,为本申请一实施例提供的宿主机的架构示意图,如图4所示,每一虚线框内为一个宿主机,宿主机与外部物理交换机连接;宿主机内包括与物理交换机对接的物理网卡、与物理网卡对接的虚拟交换机、以及多个容器。虚拟交换机和容器内均存在虚拟网卡。本申请方案中,容器内虚拟网卡和宿主机的物理网卡为指定网卡;容器内虚拟网卡的网卡驱动、以及物理网卡的网卡驱动,为指定网卡驱动。以图4为例,每一宿主机的物理网卡的网卡驱动为指定网卡驱动;第一个宿主机上容器A的虚拟网卡vnetA1、容器B的虚拟网卡vnetB1的网卡驱动,以及第二个宿主机上容器C的虚拟网卡vnetC1、容器D的虚拟网卡vnetD1的网卡驱动均为指定网卡驱动。
容器相关的流量可分为容器往外发送的流量,以及外部网络发给容器的流量。对于容器往外发送的流量,容器内虚拟网卡的指定网卡驱动可以在接收数据包后,执行步骤320;对于外部网络发给容器的流量,宿主机物理网卡的指定网卡驱动可以在接收数据包后,执行步骤320。
步骤320:指定网卡驱动调用XDP网络钩子上的eBPF程序,通过eBPF程序从数据包中提取出数据包特征值,并在快速路径流表中,查找与数据包特征值对应的快速路径流表项。
步骤330:基于查找结果对数据包进行处理。
其中,快速路径流表可以包括多个快速路径流表项;每一快速路径流表项对应于一个连接,包含数据包特征值与处理动作的映射关系。数据包特征值可以包括数据包的五元组等信息。
指定网卡驱动的XDP(eXpress Data Path)网络钩子均被绑定eBPF程序。在接收到数据包之后,指定网卡驱动调用eBPF程序处理该数据包。此时,eBPF程序从数据包中解析出数据包特征值,并在快速路径流表中进行查找,获得查找结果。这里,查找结果可以包括查到与数据包特征值对应的快速路径流表项和未查到快速路径流表项。
在获得查找结果之后,可以依据查找结果对数据包直接进行处理。
通过上述措施,在指定网卡驱动的XDP网络钩子下发XDP类型的eBPF程序,可以通过eBPF程序对容器相关的流量进行快速处理,从而避免了流量全部被Linux网络协议栈处理所占用的巨大开销,提升了系统性能。
在一实施例中,在依据查找结果处理数据包时,一方面,若查找结果为查到对应的快速路径流表项,eBPF程序可以依据快速路径流表项中的处理动作,对数据包进行处理。这种情况下,快速路径流表项已经指示数据包所属连接安全或存在攻击行为,无需再对数据包进行额外的IPS检测,从而节省了大量开销。
另一方面,若查找结果为未查到对应的快速路径流表项,说明数据包所属连接尚未经过IPS检测或者还没有检测出结果。eBPF程序可以向指定网卡驱动返回处理结果“Pass”。此时,指定网卡驱动可以将数据包交由容器命名空间的nfqueue,使得nfqueue依据容器命名空间的引流规则,将数据包重定向至宿主机的入侵防御系统。这里,引流规则指示将与容器相关的数据包重定向至入侵防御系统。
在一实施例中,在依据查到的快速路径流表项中的处理动作,处理数据包时,一方面,如果处理动作是放行,eBPF程序可以向指定网卡驱动返回处理结果“Redirect”,表示可以发送数据包。指定网卡驱动可以对数据包进行发送处理。
另一方面,如果处理动作是丢弃,eBPF程序可以向指定网卡驱动返回处理结果“Drop”,表示需要丢弃数据包。指定网卡驱动接收到处理结果之后,可以丢弃数据包。
在一实施例中,指定网卡驱动在发送数据包之前,可以通过eBPF程序以数据包的目的MAC,查找转发表。其中,转发表包括多条转发表项,每一转发表项包括MAC地址、网卡名称之间的映射关系。这里,一种情况下,如果转发表项对应于容器,转发表项中的MAC地址为容器内网卡的MAC地址、网卡名称为容器内网卡对应的虚拟交换机上网卡的名称。以图4为例,容器A对应的转发表项,记录容器内网卡vnetA1的MAC地址与虚拟交换机上网卡vnetA2的名称之间的映射关系。另一种情况下,如果转发表项对应于宿主机外部设备,转发表项中的MAC地址为外部设备的MAC地址、网卡名称为宿主机上物理网卡的名称。
一种情况下,如果查到对应于目的MAC的转发表项,eBPF程序可以将转发表项中网卡名称指示的目标网卡返回给指定网卡驱动。指定网卡驱动可以将数据包发送至转发表项指示的目标网卡。示例性的,在图4场景中,目标网卡为vnetB2,指定网卡驱动将数据包发送至vnetB2之后,数据包会被发送至容器B。
另一种情况下,如果未查到对应于目的MAC的转发表项,eBPF程序可以向指定网卡驱动返回查找结果为空。这种情况下,指定网卡驱动可以对数据包进行广播。示例性的,数据包发往容器,指定网卡驱动可以向指定网卡对应的虚拟交换机上多个网卡进行广播,使得数据包被发送至宿主机内多个容器。
在一实施例中,nfqueue依据引流规则将数据包重定向至入侵防御系统之后,入侵防御系统可以对数据包进行检测,从而获得检测结果。其中,检测结果可以指示数据包所属连接为安全或存在攻击行为。
如果检测结果指示连接为安全,该连接下数据包的处理动作可以为放行;如果检测结果指示连接存在攻击行为,该连接下的数据包的处理动作可以为丢弃。
入侵防御系统可以基于检测结果对应的处理动作、数据包的数据包特征值构建该连接对应的快速路径流表项,并将快速路径流表项写入快速路径流表。
这种情况下,后续接收到已经过检测的连接的数据包时,可以通过eBPF程序依据快速路径流表项直接进行处理,无需占用Linux网络协议栈,节省了系统开销。
在一实施例中,在通过eBPF程序查找快速路径流表之后,若查找结果为查到对应的快速路径流表项,eBPF程序可以检查作为调用方的指定网卡驱动的类型信息。这里,类型信息可以指示指定网卡驱动所驱动的网卡是物理网卡或虚拟网卡。
一方面,如果该类型信息指示指定网卡驱动所驱动的网卡为虚拟网卡,可以不作处理。另一方面,如果该类型信息指示指定网卡驱动所驱动的网卡为物理网卡,说明数据包来自宿主机的外部网络,这种情况下转发表缺乏数据包发送者对应的转发表项。此时,eBPF程序可以基于数据包的源MAC和物理网卡的网卡名称,构建转发表项,并写入转发表。
通过该措施,可以对转发表进行更新,以便于后续依据转发表实现数据包的精确转发。
在一实施例中,在指定网卡驱动接收到数据包之前,需对宿主机进行配置。参见图5,为本申请一实施例提供的宿主机的配置方法的流程示意图,如图5所示,该方法可以包括如下步骤510-步骤540。
步骤510:宿主机的入侵防御系统获取宿主机上已运行的容器信息。
宿主机的入侵防御系统启动之后,可以扫描宿主机上所有已运行的容器的容器信息。这里,容器信息可以包括容器内虚拟网卡的MAC地址、容器的网络命名空间、容器内虚拟网卡对接的虚拟交换机的交换机名称、虚拟交换机上与容器内虚拟网卡对接的虚拟网卡的名称等。
另一种情况下,入侵防御系统可以启动容器事件监控线程,该线程负责监控容器启动、停止等事件。当容器事件监控线程监控到容器启动事件时,确定有新的容器开始运行,这种情况下,入侵防御系统可以获取该容器的容器信息。
步骤520:入侵防御系统在指定网卡驱动的XDP网络钩子上,下发eBPF程序。
入侵防御系统可以在宿主机物理网卡的网卡驱动的XDP网络钩子上,以及,在各容器的容器内虚拟网卡的网卡驱动的XDP网络钩子上,下发eBPF程序。
另一种情况下,在入侵防御系统运行过程中,如果通过容器事件监控线程监控到新的容器开始运行,入侵防御系统可以在该容器内的虚拟网卡的网卡驱动的XDP网络钩子上,下发eBPF程序。
步骤530:入侵防御系统基于每一容器的容器信息,构建转发表项,并将转发表项写入eBPF程序的转发表。
针对每一容器,入侵防御系统可以基于该容器的容器信息,构建该容器对应的转发表项,该转发表项可以包括容器内虚拟网卡的MAC地址、虚拟交换机上与容器内虚拟网卡对接的虚拟网卡的名称之间的映射关系。入侵防御系统可以将每一容器对应的转发表项,写入eBPF程序的转发表。
步骤540:入侵防御系统为每一容器的网络命名空间下发nfqueue的引流规则;其中,引流规则指示将与容器相关的数据包重定向至入侵防御系统。
针对每一容器,入侵防御系统可以为每一容器的网络命名空间,下发nfqueue的引流规则。这种情况下,后续容器发出的数据包,或者,发往容器的数据包,会首先被发送至入侵防御系统进行IPS检测。
在一实施例中,入侵防御系统所启动的容器事件监控线程,在监控到任一容器的容器停止事件时,可以确定该容器停止运行。在任一容器停止运行的情况下,入侵防御系统可以删除停止运行的容器的网络命名空间下的引流规则,并在转发表删除停止运行的容器对应的转发表项。
这种情况下,任一容器停止运行时,可以删除该容器的相关配置,从而避免无效的配置信息对系统运行带来的干扰。
参见图6,为本申请一实施例提供的网卡的数据包接收路径的架构示意图,如图6所示,网卡驱动从网卡接收到数据包之后,首先可以在数据包接收路径的XDP网络钩子上进行处理。由于XDP网络钩子上已绑定eBPF程序,因此,可以对与快速路径流表项匹配的数据包进行快速转发,从而实现了网络性能优化。
参见图7,为本申请一实施例提供的入侵防御方案的对比示意图,如图7a所示,为相关技术的入侵防御方案,在该方案中,网卡接收到数据包之后,直接交由Linux网络协议栈,由Linux网络协议栈处理之后再发送给入侵防御系统进行检测。如果检测出来存在攻击行为,由入侵防御系统丢弃数据包,否则,入侵防御系统将数据包返回Linux网络协议栈,Linux网络协议栈再将数据包发送给容器。
如图7b所示,为本申请的入侵防御方案,在该方案中,网卡接收到数据包之后,首先由eBPF程序进行处理。从而可以在指定网卡驱动的位置将已确定不存在攻击行为的数据包的快速转发,以及对已确定存在攻击行为的数据包的快速丢弃,避免了此类数据包被Linux网络协议栈和入侵防御系统处理而带来的额外开销,提高系统性能。
图8是本发明一实施例的一种容器环境下的入侵防御装置的框图,如图8所示,该装置可以包括:
接收模块810,用于接收到数据包;其中,指定网卡驱动包括宿主机的容器内虚拟网卡的网卡驱动、以及所述宿主机的物理网卡的网卡驱动;
调用模块820,用于调用XDP网络钩子上的eBPF程序,通过所述eBPF程序从所述数据包中提取出数据包特征值,并在快速路径流表中,查找与所述数据包特征值对应的快速路径流表项;
处理模块830,用于基于查找结果对所述数据包进行处理。
上述装置中各个模块的功能和作用的实现过程具体详见上述容器环境下的入侵防御方法中对应步骤的实现过程,在此不再赘述。
在本申请所提供的几个实施例中,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

Claims (10)

1.一种容器环境下的入侵防御方法,应用于宿主机,其特征在于,包括:
指定网卡驱动接收到数据包;其中,所述指定网卡驱动包括所述宿主机的容器内虚拟网卡的网卡驱动、以及所述宿主机的物理网卡的网卡驱动;
所述指定网卡驱动调用XDP网络钩子上的eBPF程序,通过所述eBPF程序从所述数据包中提取出数据包特征值,并在快速路径流表中,查找与所述数据包特征值对应的快速路径流表项;
基于查找结果对所述数据包进行处理。
2.根据权利要求1所述的方法,其特征在于,所述基于查找结果对所述数据包进行处理,包括:
若查找结果为查到对应的快速路径流表项,所述指定网卡驱动依据所述快速路径流表项中的处理动作,对所述数据包进行处理;
若查找结果为未查到对应的快速路径流表项,所述指定网卡驱动将所述数据包交由容器命名空间的nfqueue,使得所述nfqueue依据所述容器命名空间的引流规则、将所述数据包重定向至入侵防御系统。
3.根据权利要求2所述的方法,其特征在于,所述指定网卡驱动依据所述快速路径流表项中的处理动作,对所述数据包进行处理,包括:
如果处理动作为放行,所述指定网卡驱动发送所述数据包;
如果处理动作为丢弃,所述指定网卡驱动丢弃所述数据包。
4.根据权利要求3所述的方法,其特征在于,所述指定网卡驱动发送所述数据包,包括:
通过所述eBPF程序以所述数据包的目的MAC,查找转发表;
如果查到对应于所述目的MAC的转发表项,所述指定网卡驱动将数据包发送至所述转发表项指示的网卡;
如果未查到对应于所述目的MAC的转发表项,所述指定网卡驱动广播所述数据包。
5.根据权利要求2所述的方法,其特征在于,所述方法还包括:
所述入侵防御系统对所述数据包进行检测,获得检测结果;
所述入侵防御系统基于所述检测结果对应的处理动作、所述数据包的数据包特征值构建快速路径流表项,并将所述快速路径流表项写入所述快速路径流表。
6.根据权利要求2所述的方法,其特征在于,所述方法还包括:
若查找结果为未查到对应的快速路径流表项,所述eBPF程序依据所述指定网卡驱动的类型信息确定所述指定网卡驱动对应于物理网卡时,基于所述数据包的源MAC和所述物理网卡的网卡名称构建转发表项,并写入转发表。
7.根据权利要求1所述的方法,其特征在于,在所述指定网卡驱动接收到数据包之前,所述方法还包括:
所述宿主机的入侵防御系统获取所述宿主机上已运行的容器信息;
所述入侵防御系统在所述指定网卡驱动的XDP网络钩子上,下发eBPF程序;
所述入侵防御系统基于每一容器的容器信息,构建转发表项,并将所述转发表项写入所述eBPF程序的转发表;
所述入侵防御系统为每一容器的网络命名空间下发nfqueue的引流规则;其中,所述引流规则指示将与容器相关的数据包重定向至所述入侵防御系统。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
若任一容器停止运行,删除停止运行的容器的网络命名空间下的引流规则,并在所述转发表删除停止运行的容器对应的转发表项。
9.一种电子设备,其特征在于,所述电子设备包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为执行权利要求1-8任意一项所述的容器环境下的入侵防御方法。
10.一种计算机可读存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序可由处理器执行以完成权利要求1-8任意一项所述的容器环境下的入侵防御方法。
CN202111435431.7A 2021-11-29 2021-11-29 容器环境下的入侵防御方法及装置、电子设备、存储介质 Active CN113992428B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111435431.7A CN113992428B (zh) 2021-11-29 2021-11-29 容器环境下的入侵防御方法及装置、电子设备、存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111435431.7A CN113992428B (zh) 2021-11-29 2021-11-29 容器环境下的入侵防御方法及装置、电子设备、存储介质

Publications (2)

Publication Number Publication Date
CN113992428A true CN113992428A (zh) 2022-01-28
CN113992428B CN113992428B (zh) 2024-02-09

Family

ID=79732562

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111435431.7A Active CN113992428B (zh) 2021-11-29 2021-11-29 容器环境下的入侵防御方法及装置、电子设备、存储介质

Country Status (1)

Country Link
CN (1) CN113992428B (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114745307A (zh) * 2022-02-25 2022-07-12 网宿科技股份有限公司 一种容器流量的监控方法及bpf控制器
CN114826906A (zh) * 2022-04-13 2022-07-29 北京奇艺世纪科技有限公司 流量控制方法、装置、电子设备及存储介质
CN114928490A (zh) * 2022-05-20 2022-08-19 国网江苏省电力有限公司 容器场景下的多端网络管控方法、装置、存储介质和电子设备
CN114978897A (zh) * 2022-05-17 2022-08-30 阿里巴巴(中国)有限公司 基于eBPF和应用识别技术的网络控制方法和系统
CN115277042A (zh) * 2022-05-11 2022-11-01 北京中安星云软件技术有限公司 一种基于xdp技术的数据库防火墙实现方法及系统
CN115580485A (zh) * 2022-11-18 2023-01-06 网络通信与安全紫金山实验室 数据流量处理方法、装置、光网络设备及存储介质
CN115801482A (zh) * 2023-02-08 2023-03-14 银河麒麟软件(长沙)有限公司 云原生环境下基于eBPF的组播实现方法、系统及介质

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104023034A (zh) * 2014-06-25 2014-09-03 武汉大学 一种基于软件定义网络的安全防御系统及防御方法
CN108540387A (zh) * 2018-06-06 2018-09-14 新华三云计算技术有限公司 网络访问控制方法和装置
CN110149231A (zh) * 2019-05-21 2019-08-20 优刻得科技股份有限公司 更新虚拟交换机的方法、装置、存储介质和设备
CN110704155A (zh) * 2018-07-09 2020-01-17 阿里巴巴集团控股有限公司 容器网络构建方法及装置、物理主机、数据传输方法
CN110865867A (zh) * 2015-12-21 2020-03-06 华为技术有限公司 应用拓扑关系发现的方法、装置和系统
CN111262784A (zh) * 2020-01-13 2020-06-09 杭州朗和科技有限公司 报文转发方法、报文转发装置、存储介质及电子设备
CN111556136A (zh) * 2020-04-26 2020-08-18 全球能源互联网研究院有限公司 一种电力边缘物联代理内部容器间的数据交互方法
US20200274952A1 (en) * 2017-11-06 2020-08-27 Intel Corporation Technologies for programming flexible accelerated network pipeline using ebpf
CN111800401A (zh) * 2020-06-28 2020-10-20 腾讯科技(深圳)有限公司 业务报文的防护方法、装置、系统和计算机设备
CN112532538A (zh) * 2020-11-23 2021-03-19 中信银行股份有限公司 流量的控制方法、装置、电子设备及计算机可读存储介质
CN112565113A (zh) * 2020-12-23 2021-03-26 科东(广州)软件科技有限公司 多虚拟机间的网卡共享系统、方法、装置、设备及介质
CN113132349A (zh) * 2021-03-12 2021-07-16 中国科学院信息工程研究所 一种免代理云平台虚拟流量入侵检测方法及装置
US20210352044A1 (en) * 2020-05-08 2021-11-11 Ribbon Communications Operating Company, Inc. Networking as a Service

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104023034A (zh) * 2014-06-25 2014-09-03 武汉大学 一种基于软件定义网络的安全防御系统及防御方法
CN110865867A (zh) * 2015-12-21 2020-03-06 华为技术有限公司 应用拓扑关系发现的方法、装置和系统
US20200274952A1 (en) * 2017-11-06 2020-08-27 Intel Corporation Technologies for programming flexible accelerated network pipeline using ebpf
CN108540387A (zh) * 2018-06-06 2018-09-14 新华三云计算技术有限公司 网络访问控制方法和装置
CN110704155A (zh) * 2018-07-09 2020-01-17 阿里巴巴集团控股有限公司 容器网络构建方法及装置、物理主机、数据传输方法
CN110149231A (zh) * 2019-05-21 2019-08-20 优刻得科技股份有限公司 更新虚拟交换机的方法、装置、存储介质和设备
CN111262784A (zh) * 2020-01-13 2020-06-09 杭州朗和科技有限公司 报文转发方法、报文转发装置、存储介质及电子设备
CN111556136A (zh) * 2020-04-26 2020-08-18 全球能源互联网研究院有限公司 一种电力边缘物联代理内部容器间的数据交互方法
US20210352044A1 (en) * 2020-05-08 2021-11-11 Ribbon Communications Operating Company, Inc. Networking as a Service
CN111800401A (zh) * 2020-06-28 2020-10-20 腾讯科技(深圳)有限公司 业务报文的防护方法、装置、系统和计算机设备
CN112532538A (zh) * 2020-11-23 2021-03-19 中信银行股份有限公司 流量的控制方法、装置、电子设备及计算机可读存储介质
CN112565113A (zh) * 2020-12-23 2021-03-26 科东(广州)软件科技有限公司 多虚拟机间的网卡共享系统、方法、装置、设备及介质
CN113132349A (zh) * 2021-03-12 2021-07-16 中国科学院信息工程研究所 一种免代理云平台虚拟流量入侵检测方法及装置

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114745307A (zh) * 2022-02-25 2022-07-12 网宿科技股份有限公司 一种容器流量的监控方法及bpf控制器
CN114745307B (zh) * 2022-02-25 2023-09-22 网宿科技股份有限公司 一种容器流量的监控方法及bpf控制器
CN114826906A (zh) * 2022-04-13 2022-07-29 北京奇艺世纪科技有限公司 流量控制方法、装置、电子设备及存储介质
CN114826906B (zh) * 2022-04-13 2023-09-22 北京奇艺世纪科技有限公司 流量控制方法、装置、电子设备及存储介质
CN115277042A (zh) * 2022-05-11 2022-11-01 北京中安星云软件技术有限公司 一种基于xdp技术的数据库防火墙实现方法及系统
CN114978897A (zh) * 2022-05-17 2022-08-30 阿里巴巴(中国)有限公司 基于eBPF和应用识别技术的网络控制方法和系统
CN114978897B (zh) * 2022-05-17 2023-09-05 阿里巴巴(中国)有限公司 基于eBPF和应用识别技术的网络控制方法和系统
CN114928490A (zh) * 2022-05-20 2022-08-19 国网江苏省电力有限公司 容器场景下的多端网络管控方法、装置、存储介质和电子设备
CN114928490B (zh) * 2022-05-20 2023-08-15 国网江苏省电力有限公司 容器场景下的多端网络管控方法、装置、存储介质和电子设备
CN115580485A (zh) * 2022-11-18 2023-01-06 网络通信与安全紫金山实验室 数据流量处理方法、装置、光网络设备及存储介质
CN115801482A (zh) * 2023-02-08 2023-03-14 银河麒麟软件(长沙)有限公司 云原生环境下基于eBPF的组播实现方法、系统及介质

Also Published As

Publication number Publication date
CN113992428B (zh) 2024-02-09

Similar Documents

Publication Publication Date Title
CN113992428B (zh) 容器环境下的入侵防御方法及装置、电子设备、存储介质
US11057404B2 (en) Method and apparatus for defending against DNS attack, and storage medium
EP3275151B1 (en) Collecting domain name system traffic
EP1741265B1 (en) Source/destination operating system type-based ids virtualization
US8542684B2 (en) ARP packet processing method, communication system and device
US9110703B2 (en) Virtual machine packet processing
CN108667853B (zh) 恶意攻击的检测方法和装置
US8112804B2 (en) Malignant BOT confrontation method and its system
EP3076612B1 (en) Packet processing methods and nodes
CN109922072B (zh) 一种分布式拒绝服务攻击检测方法及装置
EP3509001B1 (en) Method and apparatus for detecting zombie feature
KR20080037909A (ko) 취약점 분석 및 공격방식 모델링을 이용한 네트워크기반의인터넷 웜 탐지 장치 및 그 방법
CN103201982A (zh) 利用安全端口组来管理mac移动
CN105915516B (zh) 基于安全检测的数据流获取方法及装置
JP6256773B2 (ja) セキュリティシステム
US10158705B2 (en) Migration of hosts
US10411981B2 (en) Method and system for detecting client causing network problem using client route control system
CN110224969A (zh) 数据的处理方法及装置
CN113132349A (zh) 一种免代理云平台虚拟流量入侵检测方法及装置
CN115834091A (zh) 网络流量控制方法以及相关系统
CN114205150B (zh) 容器环境的入侵防御方法及装置、电子设备、存储介质
CN114244610B (zh) 一种文件传输方法、装置,网络安全设备及存储介质
US11520884B2 (en) Dummy information insertion device, dummy information insertion method, and storage medium
CN112637083A (zh) 丢包处理方法、装置、设备及计算机可读存储介质
CN111353018A (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
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20231222

Address after: 071000 Conference Center 1-184, South Section of Baojin Expressway, Xiong'an Area, Xiong'an New District, Baoding City, Hebei Province

Applicant after: Tianrongxin Xiongan Network Security Technology Co.,Ltd.

Applicant after: Beijing Topsec Network Security Technology Co.,Ltd.

Applicant after: Topsec Technologies Inc.

Applicant after: BEIJING TOPSEC SOFTWARE Co.,Ltd.

Address before: 100000 4th floor, building 3, yard 1, Shangdi East Road, Haidian District, Beijing

Applicant before: Beijing Topsec Network Security Technology Co.,Ltd.

Applicant before: Topsec Technologies Inc.

Applicant before: BEIJING TOPSEC SOFTWARE Co.,Ltd.

GR01 Patent grant
GR01 Patent grant