CN117478438B - 网络微隔离方法、系统及虚拟化云主机 - Google Patents

网络微隔离方法、系统及虚拟化云主机 Download PDF

Info

Publication number
CN117478438B
CN117478438B CN202311825580.3A CN202311825580A CN117478438B CN 117478438 B CN117478438 B CN 117478438B CN 202311825580 A CN202311825580 A CN 202311825580A CN 117478438 B CN117478438 B CN 117478438B
Authority
CN
China
Prior art keywords
network connection
network
cloud host
target
virtualized cloud
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
Application number
CN202311825580.3A
Other languages
English (en)
Other versions
CN117478438A (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.)
Suzhou Metabrain Intelligent Technology Co Ltd
Original Assignee
Suzhou Metabrain Intelligent Technology 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 Suzhou Metabrain Intelligent Technology Co Ltd filed Critical Suzhou Metabrain Intelligent Technology Co Ltd
Priority to CN202311825580.3A priority Critical patent/CN117478438B/zh
Publication of CN117478438A publication Critical patent/CN117478438A/zh
Application granted granted Critical
Publication of CN117478438B publication Critical patent/CN117478438B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/12Discovery or management of network topologies
    • H04L41/122Discovery or management of network topologies of virtualised topologies, e.g. software-defined networks [SDN] or network function virtualisation [NFV]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/12Network monitoring probes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls

Landscapes

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

Abstract

本发明涉及计算机技术领域,尤其涉及一种网络微隔离方法、系统及虚拟化云主机。方法包括:通过kprobe探针或kretprobe探针,在虚拟化云主机的内核函数挂载eBPF程序,在检测到目标事件的情况下,自动触发eBPF程序,以得到虚拟化云主机的网络连接的五元组信息,目标事件指虚拟化云主机创建网络连接或接受网络连接;基于全部五元组信息,得到网络连接拓扑,网络连接拓扑为创建网络防护策略的依据;基于创建的网络防护策略,进行网络访问拦截,以完成网络微隔离。本方法能够在获取虚拟化云主机的网络连接关系,即网络连接拓扑的同时,降低性能消耗,快速理清繁琐复杂的虚拟化云主机的网络连接关系,便于进行网络防护策略创建。

Description

网络微隔离方法、系统及虚拟化云主机
技术领域
本发明涉及计算机技术领域,尤其涉及一种网络微隔离方法、系统及虚拟化云主机。
背景技术
随着云计算技术和虚拟化技术的不断发展,虚拟化云主机应运而生。相比于物理主机,虚拟化云主机生命周期更短,IP变更也较为频繁。传统的网络防护策略通常以IP(Internet Protocol,互联网协议)地址作为主机的唯一标识,并围绕IP地址设计相应的网络防护策略。然而,对于虚拟化云主机而言,由于虚拟化云主机的IP地址变更较为频繁,这就导致在虚拟化云主机的IP地址发生变化之后,预先设置的网络防护策略将完全失效,容易对业务造成不必要的影响。
目前,通常通过收集虚拟化云主机的流量数据,得到虚拟化云主机的网络连接关系。然而,在错综复杂的虚拟化环境中,网络关系十分复杂,网络流量巨大,导致在获取虚拟化云主机的网络连接关系时,性能消耗较大,甚至出现卡顿情况。并且,相关技术中借助netfilter(一种用于 Linux (一种自由和开放源代码的操作系统)操作系统的网络数据包过滤框架)框架进行非法访问行为拦截时,需要加载内核模块,导致系统的稳定性较差。
发明内容
本发明提供一种网络微隔离方法、系统及虚拟化云主机,用以解决现有技术中获取虚拟化云主机的网络连接关系时性能消耗较大,并且存在卡顿的问题。
本发明提供一种网络微隔离方法,包括:
通过kprobe探针或kretprobe探针,在虚拟化云主机的内核函数挂载eBPF程序,在检测到目标事件的情况下,自动触发所述eBPF程序,以得到所述虚拟化云主机的网络连接的五元组信息,所述目标事件指所述虚拟化云主机创建网络连接或接受网络连接;
基于全部所述五元组信息,得到网络连接拓扑,所述网络连接拓扑为创建网络防护策略的依据;
基于创建的所述网络防护策略,进行网络访问拦截,以完成网络微隔离。
根据本发明提供的一种网络微隔离方法,所述kprobe探针用于在所述虚拟化云主机的内核函数的入口处挂载eBPF程序;
所述kretprobe探针用于在所述虚拟化云主机的内核函数的出口处挂载eBPF程序。
根据本发明提供的一种网络微隔离方法,通过kprobe探针或kretprobe探针,在虚拟化云主机的内核函数挂载eBPF程序的步骤包括:
通过kretprobe探针,在所述虚拟化云主机的socket系统调用函数的出口处挂载eBPF程序,以得到所述socket系统调用函数的第一返回值;基于所述第一返回值,得到当前网络连接的初始套接字描述符;
通过kprobe探针,在所述虚拟化云主机的bind系统调用函数的入口处挂载eBPF程序,以得到进入所述bind系统调用函数的第一目标参数,所述第一目标参数包括:第一目标套接字描述符、以及所述第一目标套接字描述符绑定的所述虚拟化云主机的IP地址与IP端口号;
通过kprobe探针,在所述虚拟化云主机的connect系统调用函数的入口处挂载eBPF程序,以得到进入所述connect系统调用函数的第二目标参数,所述第二目标参数包括:第二目标套接字描述符、以及与所述第二目标套接字描述符相关联的网络连接目的IP地址与网络连接目的端口号;
通过kprobe探针,在所述虚拟化云主机的accept系统调用函数的入口处挂载eBPF程序,以得到进入所述accept系统调用函数的第三目标参数,所述第三目标参数包括:第三目标套接字描述符、以及与所述第三目标套接字描述符相关联的网络连接源IP地址和网络连接源端口号;
通过kretprobe探针,在所述虚拟化云主机的listen系统调用函数的出口处挂载eBPF程序,以得到listen系统调用函数的返回结果,所述返回结果包括:第四目标套接字描述符、以及与所述第四目标套接字描述符相关联的第二返回值,所述第二返回值用于确定listen系统调用成功或失败。
根据本发明提供的一种网络微隔离方法,得到所述虚拟化云主机的网络连接的五元组信息的步骤包括:
将所述初始套接字描述符分别与所述第一目标套接字描述符、所述第二目标套接字描述符、所述第三目标套接字描述符以及所述第四目标套接字描述符进行匹配,得到与所述初始套接字描述符相同的所述第一目标套接字描述符、所述第二目标套接字描述符、所述第三目标套接字描述符以及所述第四目标套接字描述符;
基于所述初始套接字描述符、与所述初始套接字描述符相同的所述第一目标套接字描述符、所述第二目标套接字描述符、所述第三目标套接字描述符以及所述第四目标套接字描述符,得到所述五元组信息。
根据本发明提供的一种网络微隔离方法,基于全部所述五元组信息,得到网络连接拓扑的步骤包括:
对所述五元组信息增加时间戳与云主机标识信息,得到网络连接数据,所述网络连接数据包括:所述时间戳、所述云主机标识信息、所述网络连接源IP地址、所述网络连接源端口号、所述网络连接目的IP地址、所述网络连接目的端口号、通信协议以及五元组哈希值;
基于全部所述网络连接数据,得到所述网络连接拓扑。
根据本发明提供的一种网络微隔离方法,对所述五元组信息增加时间戳与云主机标识信息,得到网络连接数据的步骤之后,还包括:
基于所述网络连接数据中的云主机标识信息与五元组哈希值,查询目标数据库中是否存储有当前所述网络连接数据;
在确定所述目标数据库中存储有当前所述网络连接数据的情况下,基于当前所述网络连接数据中的时间戳,对所述目标数据库中存储的对应网络连接数据的时间戳进行更新;
在确定所述目标数据库中缺少当前所述网络连接数据的情况下,将当前所述网络连接数据写入所述目标数据库。
根据本发明提供的一种网络微隔离方法,还包括:
基于预设的筛选周期,对所述目标数据库中的所述网络连接数据进行时间戳筛选,以确定过期网络连接数据;
对所述目标数据库中的所述过期网络连接数据进行清除。
根据本发明提供的一种网络微隔离方法,基于预设的筛选周期,对所述目标数据库中的所述网络连接数据进行时间戳筛选,以确定过期网络连接数据的步骤包括:
基于所述筛选周期,定期获取当前时间与所述目标数据库中所述网络连接数据的所述时间戳之间的差值;
在所述差值大于预设的时间间隔阈值的情况下,将当前所述时间戳对应的所述网络连接数据确定为所述过期网络连接数据。
根据本发明提供的一种网络微隔离方法,基于全部所述网络连接数据,得到所述网络连接拓扑的步骤包括:
获取网络连接拓扑获取需求;
基于所述网络连接拓扑获取需求中的所述云主机标识信息,向所述目标数据库查询并获取对应的所述虚拟化云主机的全部所述网络连接数据;
基于所述虚拟化云主机的全部所述网络连接数据,得到所述虚拟化云主机的所述网络连接拓扑。
根据本发明提供的一种网络微隔离方法,基于全部所述网络连接数据,得到所述网络连接拓扑的步骤之后,还包括:
对所述网络连接拓扑进行可视化展示,以完成所述网络防护策略的创建。
根据本发明提供的一种网络微隔离方法,基于创建的所述网络防护策略,进行网络访问拦截,以完成网络微隔离的步骤包括:
接收服务端下发的所述网络防护策略,所述网络防护策略为所述服务端基于eBPFmap下发的,所述eBPF map的键为云主机标识信息,所述eBPF map的值为所述云主机标识信息对应的所述网络防护策略;
基于所述网络防护策略,进行网络访问拦截,以完成所述网络微隔离。
根据本发明提供的一种网络微隔离方法,基于所述网络防护策略,进行网络访问拦截,以完成所述网络微隔离的步骤包括:
利用所述虚拟化云主机的LSM框架的连接发起安全事件节点挂载的eBPF程序,捕获所述虚拟化云主机的连接发起安全事件,所述连接发起安全事件指所述虚拟化云主机预向目标云主机发起连接请求的事件;
在捕获到所述连接发起安全事件的情况下,获取所述连接发起安全事件的网络连接目的IP地址与网络连接目的端口号;
基于所述网络连接目的IP地址、所述网络连接目的端口号以及所述网络防护策略,进行网络访问拦截。
根据本发明提供的一种网络微隔离方法,基于所述网络连接目的IP地址、所述网络连接目的端口号以及所述网络防护策略,进行网络访问拦截的步骤包括:
将所述网络连接目的IP地址和所述网络连接目的端口号分别与所述网络防护策略进行匹配;
在确定所述网络连接目的IP地址与所述网络连接目的端口号对应的网络连接为待拦截连接的情况下,对所述待拦截连接进行拦截,并将本次拦截事件与拦截结果上报至日志。
根据本发明提供的一种网络微隔离方法,基于所述网络防护策略,进行网络访问拦截,以完成所述网络微隔离的步骤包括:
利用所述虚拟化云主机的LSM框架的连接接受安全事件节点挂载的eBPF程序,捕获所述虚拟化云主机的连接接受安全事件,所述连接接受安全事件指所述虚拟化云主机预接受目标云主机的连接请求的事件;
在捕获到所述连接接受安全事件的情况下,获取所述连接接受安全事件的网络连接源IP地址和网络连接源端口号;
基于所述网络连接源IP地址、所述网络连接源端口号以及所述网络防护策略,进行网络访问拦截。
根据本发明提供的一种网络微隔离方法,基于所述网络连接源IP地址、所述网络连接源端口号以及所述网络防护策略,进行网络访问拦截的步骤包括:
将所述网络连接源IP地址和所述网络连接源端口号分别与所述网络防护策略进行匹配;
在确定所述网络连接源IP地址和所述网络连接源端口号对应的网络连接为待拦截连接的情况下,对所述待拦截连接进行拦截,并将本次拦截事件与拦截结果上报至日志。
本发明还提供一种网络微隔离系统,包括:
五元组信息获取模块,用于通过kprobe探针或kretprobe探针,在虚拟化云主机的内核函数挂载eBPF程序,在检测到目标事件的情况下,自动触发所述eBPF程序,以得到所述虚拟化云主机的网络连接的五元组信息,所述目标事件指所述虚拟化云主机创建网络连接或接受网络连接;
网络连接拓扑获取模块,用于基于全部所述五元组信息,得到网络连接拓扑,所述网络连接拓扑为创建网络防护策略的依据;
网络微隔离模块,用于基于创建的所述网络防护策略,进行网络访问拦截,以完成网络微隔离。
本发明还提供一种虚拟化云主机,包括:如上述所述的网络微隔离系统。
本发明还提供一种网络安全防护系统,包括:
目标数据库以及多个如上述所述的虚拟化云主机,所述目标数据库用于存储所述虚拟化云主机的网络连接数据,每个所述虚拟化云主机分别与所述目标数据库连接。
本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述网络微隔离方法。
本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述网络微隔离方法。
本发明的有益效果:本发明提供的网络微隔离方法、系统及虚拟化云主机,通过利用kprobe探针或kretprobe探针,在虚拟化云主机的内核函数挂载eBPF程序,在检测到目标事件的情况下,自动触发eBPF程序,以得到虚拟化云主机的网络连接的五元组信息,目标事件指虚拟化云主机创建网络连接或接受网络连接;基于全部五元组信息,得到网络连接拓扑,网络连接拓扑为创建网络防护策略的依据;基于创建的网络防护策略,进行网络访问拦截,以完成网络微隔离。能够在获取虚拟化云主机的网络连接关系,即网络连接拓扑的同时,降低性能消耗,快速理清繁琐复杂的虚拟化云主机的网络连接关系,便于进行网络防护策略创建。并且,通过基于创建的网络防护策略,进行网络访问拦截,能够较好地保证虚拟化云主机的安全性。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明提供的网络微隔离方法的流程示意图;
图2是本发明提供的网络微隔离方法中进行网络访问拦截的一个具体实施例的流程示意图;
图3是本发明提供的网络微隔离系统的结构示意图;
图4是本发明提供的电子设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了便于理解本发明提供的网络微隔离方法、系统及虚拟化云主机,下面对本发明涉及的部分技术术语进行解释说明。
网络微隔离技术:一种在计算机网络中实现隔离和安全的技术。它通过将网络资源进行细粒度的划分和隔离,使得不同的网络实体(如应用程序、用户或虚拟化云主机)可以在同一网络环境中独立运行,互不干扰。并且,保证每个网络实体的网络连接安全。
虚拟化云主机:云计算环境中提供的一种虚拟化装置,它允许用户在共享的物理硬件上创建和管理多个虚拟机实例。云主机是基于虚拟化技术实现的,可以在云平台上进行弹性扩展、灵活配置和按需使用。通过虚拟化云主机,用户可以在一个物理服务器上同时运行多个虚拟机实例,每个虚拟机实例都具有独立的操作系统、应用程序和资源。这种虚拟化技术使得云主机能够提供隔离性、弹性伸缩和资源利用的优化。
五元组:在计算机网络中,五元组作为一个网络连接的唯一标识,包括五个要素,即源IP地址、源端口号、目的IP地址、目的端口号和传输协议。这些要素共同确定了网络通信(网络连接)的源、目的地以及所使用的传输协议。通过五元组,网络设备可以正确地将数据包路由到目标设备。
eBPF(Extended Berkeley Packet Filter,扩展的伯克利数据包过滤器):一种可编程的内核技术,可以在内核空间中运行小型程序,通过hook(钩子)机制对系统进行监控和控制。eBPF通过BPF(Berkeley Packet Filter,伯克利数据包过滤器)虚拟机在内核中执行自定义程序,可以用于实现网络监控、安全审计、系统性能分析等应用。
eBPF支持多种数据结构,其中最常用的是map。eBPF map是一种键值对映射表,可以在eBPF程序中用于存储和共享数据。eBPF map可以在eBPF程序和用户空间应用程序之间进行数据传递,从而实现数据共享和交互。
LSM(Linux Security Module,Linux安全模块):一个轻量的通用访问控制框架,用于实现和扩展操作系统的安全策略和访问控制机制。LSM允许开发者实现安全模块自定义,并将其加载到Linux内核中。这些安全模块可以拦截系统调用、文件访问、网络连接等操作,并对其进行安全检查和控制。通过LSM,用户可以根据特定的需求和安全政策,定制和增强Linux操作系统的安全性能。另外,它必须满足两方面的要求:对不需要它的人保持透明;让需要它的人从内核代码中解放出来,专注于控制策略和安全模块。
下面以实施例的方式,结合图1-图4描述本发明提供的网络微隔离方法、系统及虚拟化云主机。
请参考图1,本实施例提供的网络微隔离方法,包括:
S110:通过kprobe探针或kretprobe探针,在虚拟化云主机的内核函数挂载eBPF程序,在检测到目标事件的情况下,自动触发所述eBPF程序,以得到所述虚拟化云主机的网络连接的五元组信息,所述目标事件指所述虚拟化云主机创建网络连接或接受网络连接。
需要说明的是,kprobe和kretprobe是Linux内核中的两种动态追踪技术,用于在运行时监测函数调用和函数返回操作,即kprobe用于在运行时检测函数调用操作,kretprobe用于在运行时监测函数返回操作。通过kprobe探针或kretprobe探针,可以在虚拟化云主机的内核函数的特定位置插入eBPF程序,从而实现对内核行为的监控和分析。本实施例通过利用kprobe探针或kretprobe探针,在虚拟化云主机的内核函数挂载eBPF程序,能够较好地实现对虚拟化云主机的网络连接行为的监控与分析,从而得到虚拟化云主机的网络连接的五元组信息。具体地,通过kprobe探针或kretprobe探针,在虚拟化云主机的内核函数创建探测点,进而在探测点挂载eBPF程序,以实现对虚拟化云主机的网络连接行为的监控与分析。
S120:基于全部所述五元组信息,得到网络连接拓扑,所述网络连接拓扑为创建网络防护策略的依据。
需要说明的是,基于虚拟化云主机的全部网络连接的五元组信息,生成网络连接拓扑。在得到所述网络连接拓扑的基础上,用户可以根据实际情况或实际需求,设计相应的网络防护策略,如设定相应的网络连接黑名单或白名单等。
需要提及的是,本实施例通过利用kprobe探针或kretprobe探针,在虚拟化云主机的内核函数挂载eBPF程序,并利用eBPF程序,得到虚拟化云主机的网络连接的五元组信息,进而得到虚拟化云主机的网络连接拓扑,能够在获取虚拟化云主机的网络连接关系的同时,降低性能消耗,快速理清繁琐复杂的虚拟化云主机的网络连接关系,便于进行网络防护策略创建。
S130:基于创建的所述网络防护策略,进行网络访问拦截,以完成网络微隔离。
需要说明的是,通过基于虚拟化云主机对应的网络防护策略,进行网络访问拦截,能够较好地保证虚拟化云主机的网络连接的安全性,实现网络微隔离。
在一些实施例中,所述kprobe探针用于在所述虚拟化云主机的内核函数的入口处挂载eBPF程序。
所述kretprobe探针用于在所述虚拟化云主机的内核函数的出口处挂载eBPF程序。
需要说明的是,通过kprobe探针,在虚拟化云主机的内核函数的入口处挂载eBPF程序。当eBPF程序被触发时,即检测到目标事件时,eBPF程序会自动收集其监测的内核函数的入参,从而有助于实现对虚拟机的网络连接的五元组信息的采集。
还需要说明的是,通过kretprobe探针,在虚拟化云主机的内核函数的出口处挂载eBPF程序。当eBPF程序被触发时,即检测到目标事件时,eBPF程序会自动收集其监测的内核函数的返回操作,从而有助于实现对虚拟机的网络连接的五元组信息的采集。
需要提及的是,内核函数的入口和出口指的是函数执行的起点和终点。在内核中,每个内核函数都有自己的入口和出口。当调用一个内核函数时,程序会跳转到该内核函数的入口,执行函数体内的代码,最终返回到该内核函数的出口处,返回值也通过出口返回给调用者。
在一些实施例中,通过kprobe探针或kretprobe探针,在虚拟化云主机的内核函数挂载eBPF程序的步骤包括:
一、通过kretprobe探针,在所述虚拟化云主机的socket系统调用函数的出口处挂载eBPF程序,以得到所述socket系统调用函数的第一返回值;基于所述第一返回值,得到当前网络连接的初始套接字描述符。
需要说明的是,socket系统调用函数指__x64_sys_socket函数。在Linux操作系统中,系统调用是用户空间程序与内核之间进行交互的接口,而socket系统调用用于创建新的套接字(socket),从而实现网络通信。需要提及的是,关于__x64_sys_socket函数,其函数名以双下划线开头,表示该函数为内部使用的函数。
还需要说明的是,通过利用kretprobe探针,在虚拟化云主机的socket系统调用函数的出口处挂载eBPF程序,能够利用eBPF程序对socket系统调用函数的出口进行监控,从而得到socket系统调用函数的第一返回值。并基于第一返回值,得到当前网络连接的初始套接字描述符。具体地,基于第一返回值,得到当前网络连接的初始套接字描述符的步骤包括:将所述第一返回值确定为当前网络连接的初始套接字描述符,或者,从所述第一返回值中截取预设长度的数值,作为初始套接字描述符。所述初始套接字描述符作为获取网络连接的五元组的基础,在得到初始套接字描述符的基础上,基于初始套接字描述符,寻找或匹配与之相同的其余套接字描述符,如下方所描述的第一目标套接字描述符、第二目标套接字描述符、第三目标套接字描述符以及第四目标套接字描述符,从而得到当前的初始套接字描述符所对应的网络连接的五元组信息。
二、通过kprobe探针,在所述虚拟化云主机的bind系统调用函数的入口处挂载eBPF程序,以得到进入所述bind系统调用函数的第一目标参数,所述第一目标参数包括:第一目标套接字描述符、以及所述第一目标套接字描述符绑定的所述虚拟化云主机的IP地址与IP端口号。
需要说明的是,bind系统调用函数指__x64_sys_bind函数,是Linux内核中用于处理bind(IP绑定)系统调用的函数。在Linux内核中,__x64_sys_bind函数用于将一个套接字(socket)与特定的IP地址和端口号绑定,从而指定该套接字可以接收来自特定地址和端口的数据包。本实施例通过kprobe探针,在虚拟化云主机的bind系统调用函数的入口处挂载eBPF程序,能够在bind系统调用函数被调用时,触发eBPF程序,从而利用该eBPF程序,得到bind系统调用函数的第一目标参数,即bind系统调用函数的入参,包括:第一目标套接字描述符、以及所述第一目标套接字描述符绑定的所述虚拟化云主机的IP地址与IP端口号。需要提及的是,关于__x64_sys_bind函数,其函数名以双下划线开头,表示该函数为内部使用的函数。
三、通过kprobe探针,在所述虚拟化云主机的connect系统调用函数的入口处挂载eBPF程序,以得到进入所述connect系统调用函数的第二目标参数,所述第二目标参数包括:第二目标套接字描述符、以及与所述第二目标套接字描述符相关联的网络连接目的IP地址与网络连接目的端口号。
需要说明的是,connect系统调用函数指__x64_sys_connect函数。__x64_sys_connect函数是Linux内核中用于处理connect(连接)系统调用的函数,用于连接目标云主机。当内核调用connect系统调用时,最终会通过内核中的__x64_sys_connect函数来完成与远程主机的连接工作。本实施例通过kprobe探针,在虚拟化云主机的connect系统调用函数的入口处挂载eBPF程序,当connect系统调用函数被调用时,触发该eBPF程序,从而利用该eBPF程序,对connect系统调用函数的第二目标参数进行采集,得到所述第二目标参数,有助于后续得到虚拟化云主机的五元组信息。需要提及的是,关于__x64_sys_connect函数,其函数名以双下划线开头,表示该函数为内部使用的函数。
四、通过kprobe探针,在所述虚拟化云主机的accept系统调用函数的入口处挂载eBPF程序,以得到进入所述accept系统调用函数的第三目标参数,所述第三目标参数包括:第三目标套接字描述符、以及与所述第三目标套接字描述符相关联的网络连接源IP地址和网络连接源端口号。
需要说明的是,accept系统调用函数指__x64_sys_accept函数。__x64_sys_accept函数用于接受传入的网络连接请求,并创建一个新的套接字来处理该网络连接。本实施例通过kprobe探针,在所述虚拟化云主机的accept系统调用函数的入口处挂载eBPF程序,能够在accept系统调用函数被调用时,触发accept系统调用函数的入口处的eBPF程序,利用该eBPF程序,对accept系统调用函数的第三目标参数进行采集,从而有助于后续得到虚拟化云主机的五元组信息。需要提及的是,关于__x64_sys_accept函数,其函数名以双下划线开头,表示该函数为内部使用的函数。
五、通过kretprobe探针,在所述虚拟化云主机的listen系统调用函数的出口处挂载eBPF程序,以得到listen系统调用函数的返回结果,所述返回结果包括:第四目标套接字描述符、以及与所述第四目标套接字描述符相关联的第二返回值,所述第二返回值用于确定listen系统调用成功或失败。
需要说明的是,listen系统调用函数指__x64_sys_listen函数,其作用为网络监听。当__x64_sys_listen函数被调用时,其出口处挂载的eBPF程序被触发,从而得到__x64_sys_listen函数的返回结果。具体地,通过struct pt_regsctx(一种寄存器,用于在内核函数执行过程中,存放该内核函数运行过程中的所有参数)中返回结果的第一个参数,获取第二目标套接字描述符。还需要说明的是,所述第二返回值为0表示监听成功,所述第二返回值为其他值,则表示监听失败。后续五元组信息的采集过程中,仅采集第二返回值为0的监听数据,即仅采集第二返回值为0对应的网络连接的五元组信息。需要提及的是,关于__x64_sys_listen函数,其函数名以双下划线开头,表示该函数为内部使用的函数。
需要提及的是,上述步骤一至五的执行顺序可以根据实际情况进行调整,本实施例对此不做限定。
在一些实施例中,得到所述虚拟化云主机的网络连接的五元组信息的步骤包括:
首先,将所述初始套接字描述符分别与所述第一目标套接字描述符、所述第二目标套接字描述符、所述第三目标套接字描述符以及所述第四目标套接字描述符进行匹配,得到与所述初始套接字描述符相同的所述第一目标套接字描述符、所述第二目标套接字描述符、所述第三目标套接字描述符以及所述第四目标套接字描述符。
具体地,通过上述步骤一至五,得到大量的初始套接字描述符、所述第一目标套接字描述符、所述第二目标套接字描述符、所述第三目标套接字描述符以及所述第四目标套接字描述符。并且,还得到每个目标套接字描述符绑定或关联的数据,如第一目标套接字描述符绑定的所述虚拟化云主机的IP地址与IP端口号等。各套接字描述符以及其关联的数据分散在各处,为了便于进行数据整合,本实施例中以初始套接字描述符为基础,寻找或匹配与初始套接字描述符相同的所述第一目标套接字描述符、所述第二目标套接字描述符、所述第三目标套接字描述符以及所述第四目标套接字描述符,以实现各网络连接数据的整合。
其次,基于所述初始套接字描述符、与所述初始套接字描述符相同的所述第一目标套接字描述符、所述第二目标套接字描述符、所述第三目标套接字描述符以及所述第四目标套接字描述符,得到所述五元组信息。
具体地,基于所述初始套接字描述符、与所述初始套接字描述符相同的所述第一目标套接字描述符、所述第二目标套接字描述符、所述第三目标套接字描述符以及所述第四目标套接字描述符、所述第一目标套接字描述符绑定的所述虚拟化云主机的IP地址与IP端口号、所述第二目标套接字描述符关联的网络连接目的IP地址与网络连接目的端口号、所述第三目标套接字描述符关联的网络连接源IP地址和网络连接源端口号、以及所述第四目标套接字描述符关联的第二返回值,得到所述五元组信息。
需要说明的是,当所述第二返回值为0时,对应的五元组信息为有效。当所述第二返回值为其他值,即所述第二返回值非0时,其对应的五元组信息无效。在确定第二返回值非0的情况下,则无需采集该五元组信息。
在一些实施例中,基于全部所述五元组信息,得到网络连接拓扑的步骤包括:
一、对所述五元组信息增加时间戳与云主机标识信息,得到网络连接数据,所述网络连接数据包括:所述时间戳、所述云主机标识信息、所述网络连接源IP地址、所述网络连接源端口号、所述网络连接目的IP地址、所述网络连接目的端口号、通信协议以及五元组哈希值。
需要提及的是,所述网络连接数据的数据结构及字段说明可参考下表1。
表1 网络连接数据的数据结构及字段说明表
二、基于全部所述网络连接数据,得到所述网络连接拓扑。
需要说明的是,通过对上述网络连接数据进行整合,能够得到精确度较高的网络连接拓扑,便于用户基于该网络连接拓扑,制定或设计相应的网络防护策略,可实施性较强。
在一些实施例中,对所述五元组信息增加时间戳与云主机标识信息,得到网络连接数据的步骤之后,还包括:
首先,基于所述网络连接数据中的云主机标识信息与五元组哈希值,查询目标数据库中是否存储有当前所述网络连接数据。
其次,在确定所述目标数据库中存储有当前所述网络连接数据的情况下,基于当前所述网络连接数据中的时间戳,对所述目标数据库中存储的对应网络连接数据的时间戳进行更新。
最后,在确定所述目标数据库中缺少当前所述网络连接数据的情况下,将当前所述网络连接数据写入所述目标数据库。
需要说明的是,本实施例通过在得到网络连接数据之后,将网络连接数据保存至目标数据库,能够便于后续对某一个或多个虚拟机的网络连接数据进行针对性地提取,从而生成相应的网络连接拓扑。并且,本实施例中通过在将网络连接数据写入目标数据库之前,查询目标数据库中存储有当前所述网络连接数据,在目标数据库中存储有当前所述网络连接数据的情况下,基于当前所述网络连接数据中的时间戳,对所述目标数据库中存储的对应网络连接数据的时间戳进行更新,能够较好地降低目标数据库的数据写入频率,降低目标数据库的存储负担。
还需要说明的是,本实施例中的目标数据库为非关系性数据库Elasticsearch(一个高速分布式搜索分析引擎),通过利用目标数据库与各eBPF程序相互配合,能够进一步减少获取虚拟化云主机的网络连接关系时的性能消耗,解决获取虚拟化云主机的网络连接关系时的系统卡顿问题。
为了实现对目标数据库的减负,进一步降低目标数据库的存储压力,在一些实施例中,还包括:
一、基于预设的筛选周期,对所述目标数据库中的所述网络连接数据进行时间戳筛选,以确定过期网络连接数据。
二、对所述目标数据库中的所述过期网络连接数据进行清除。需要说明的是,通过定期对过期网络连接数据进行清楚,能够较好地降低目标数据库的存储压力,有助于提升目标数据库的写入速度。
在一些实施例中,基于预设的筛选周期,对所述目标数据库中的所述网络连接数据进行时间戳筛选,以确定过期网络连接数据的步骤包括:
一、基于所述筛选周期,定期获取当前时间与所述目标数据库中所述网络连接数据的所述时间戳之间的差值。
二、在所述差值大于预设的时间间隔阈值的情况下,将当前所述时间戳对应的所述网络连接数据确定为所述过期网络连接数据。
需要说明的是,所述时间间隔阈值可以根据实际情况进行设置,如5分钟等,此处不再赘述。需要提及的是,通过上述确定过期网络连接数据的步骤,能够较好地实现对过期网络连接数据的实时监控与清除。
在一些实施例中,基于全部所述网络连接数据,得到所述网络连接拓扑的步骤包括:
首先、获取网络连接拓扑获取需求。需要说明的是,所述网络连接拓扑获取需求为用户输入或选定的需求,即需要获取某一个或多个的虚拟化云主机的网络连接拓扑的需求。通过获取网络连接拓扑获取需求,便于后续在网络连接拓扑获取需求的基础上,针对性地获取对应虚拟化云主机的网络连接拓扑。
其次,基于所述网络连接拓扑获取需求中的所述云主机标识信息,向所述目标数据库查询并获取对应的所述虚拟化云主机的全部所述网络连接数据。
最后,基于所述虚拟化云主机的全部所述网络连接数据,得到所述虚拟化云主机的所述网络连接拓扑。具体地,基于虚拟化云主机的全部网络连接数据,生成当前所述虚拟化云主机的网络连接拓扑。
在一些实施例中,基于全部所述网络连接数据,得到所述网络连接拓扑的步骤之后,还包括:
对所述网络连接拓扑进行可视化展示,以完成所述网络防护策略的创建。需要提及的是,通过对得到的网络连接拓扑进行可视化展示,便于用户基于展示的网络连接拓扑,制定或涉及当前虚拟化云主机的网络防护策略。
还需要提及的是,用户基于网络连接拓扑,制定对应的网络防护策略,制定的所述网络防护策略以及所述网络防护策略所关联的云主机标识信息,以eBPF map的形式存储于服务端。
以上为虚拟化云主机的网络连接拓扑的获取步骤,下面对进行网络访问拦截的步骤进行解释说明。需要提及的是,相关技术中借助netfilter框架进行非法访问行为拦截时,需要加载内核模块,导致系统的稳定性较差。因此,下方实施例通过在虚拟化云主机的LSM框架的连接发起安全事件节点挂载eBPF程序,以及在虚拟化云主机的LSM框架的连接接受安全事件节点挂载的eBPF程序,保证拦截过程中系统的稳定性。
在一些实施例中,基于创建的所述网络防护策略,进行网络访问拦截,以完成网络微隔离的步骤包括:
一、接收服务端下发的所述网络防护策略,所述网络防护策略为所述服务端基于eBPF map下发的,所述eBPF map的键为云主机标识信息,所述eBPF map的值为所述云主机标识信息对应的所述网络防护策略。
需要说明的是,所述网络防护策略可以为服务端接收到虚拟化云主机的网络防护策略下发请求之后下发的,也可以为服务端主动下发的。
二、基于所述网络防护策略,进行网络访问拦截,以完成所述网络微隔离。
需要说明的是,通过基于服务端下发的网络防护策略,进行网络访问拦截,能够较好地保证虚拟化云主机的网络连接的安全性。
在一些实施例中,基于所述网络防护策略,进行网络访问拦截,以完成所述网络微隔离的步骤包括:
首先,利用所述虚拟化云主机的LSM框架的连接发起安全事件节点挂载的eBPF程序,捕获所述虚拟化云主机的连接发起安全事件,所述连接发起安全事件指所述虚拟化云主机预向目标云主机发起连接请求的事件。
需要说明的是,连接发起安全事件节点指LSM框架的SEC(Security Event Class,一类安全事件)的“lsm/soket_connect”节点,其中,“lsm/soket_connect”表示网络连接预发起,即虚拟化云主机预向目标云主机发起连接请求,或虚拟化云主机准备向目标云主机发起连接请求。本实施例通过在虚拟化云主机的LSM框架的连接发起安全事件节点挂载eBPF程序,当连接发起安全事件节点被触发时,该节点处的eBPF程序能够及时捕获到所述虚拟化云主机的连接发起安全事件,便于后续进行策略比对与访问拦截。
其次,在捕获到所述连接发起安全事件的情况下,获取所述连接发起安全事件的网络连接目的IP地址与网络连接目的端口号。
最后,基于所述网络连接目的IP地址、所述网络连接目的端口号以及所述网络防护策略,进行网络访问拦截。
需要说明的是,通过采用上述步骤进行网络访问拦截,能够较好地保证虚拟化云主机发起网络连接的安全性。
在一些实施例中,基于所述网络连接目的IP地址、所述网络连接目的端口号以及所述网络防护策略,进行网络访问拦截的步骤包括:
一、将所述网络连接目的IP地址和所述网络连接目的端口号分别与所述网络防护策略进行匹配。
二、在确定所述网络连接目的IP地址与所述网络连接目的端口号对应的网络连接为待拦截连接的情况下,对所述待拦截连接进行拦截,并将本次拦截事件与拦截结果上报至日志。
具体地,当确定所述网络连接目的IP地址与所述网络连接目的端口号对应的网络连接为网络防护策略中规定的待拦截连接时,执行拦截操作,并将本次拦截事件与拦截结果上报至日志,从而保证虚拟化云主机的网络连接的安全性,实现网络微隔离。
在一些实施例中,还包括:在确定所述网络连接目的IP地址与所述网络连接目的端口号对应的网络连接为待拦截连接的情况下,向关联的用户终端发送告警信息。
在一些实施例中,基于所述网络防护策略,进行网络访问拦截,以完成所述网络微隔离的步骤包括:
首先,利用所述虚拟化云主机的LSM框架的连接接受安全事件节点挂载的eBPF程序,捕获所述虚拟化云主机的连接接受安全事件,所述连接接受安全事件指所述虚拟化云主机预接受目标云主机的连接请求的事件。
需要说明的是,连接接受安全事件节点指LSM框架的SEC(Security Event Class,一类安全事件)的“lsm/soket_accept”节点,其中,“lsm/soket_accept”节点表示网络连接预接受,即虚拟化云主机预接受目标云主机发起的连接请求,或虚拟化云主机准备接受目标云主机发起的连接请求。本实施例通过在LSM框架的SEC的连接接受安全事件节点挂载eBPF程序,当连接接受安全事件节点被触发时,该节点处的eBPF程序能够及时捕获到所述虚拟化云主机的连接接受安全事件,便于后续进行策略比对与访问拦截。
其次,在捕获到所述连接接受安全事件的情况下,获取所述连接接受安全事件的网络连接源IP地址和网络连接源端口号。
最后,基于所述网络连接源IP地址、所述网络连接源端口号以及所述网络防护策略,进行网络访问拦截。
需要说明的是,通过采用上述步骤进行网络访问拦截,能够较好地保证虚拟化云主机接受网络连接的安全性。
在一些实施例中,基于所述网络连接源IP地址、所述网络连接源端口号以及所述网络防护策略,进行网络访问拦截的步骤包括:
一、将所述网络连接源IP地址和所述网络连接源端口号分别与所述网络防护策略进行匹配。
二、在确定所述网络连接源IP地址和所述网络连接源端口号对应的网络连接为待拦截连接的情况下,对所述待拦截连接进行拦截,并将本次拦截事件与拦截结果上报至日志。
需要说明的是,通过采用上述步骤进行网络访问拦截,能够较好地保证虚拟化云主机的网络连接的安全性,且拦截过程中系统的稳定性较强,无需加载内核模块,可实施性较高。
下面以一具体实施例对上述实施例中进行网络访问拦截的步骤进行进一步地解释说明。
请参考图2,假设当前虚拟化云主机准备向目标云主机发起网络连接,其网络访问拦截的步骤如下:
S210:发起网络连接。具体地,当前虚拟化云主机向目标云主机发起连接请求。
S220:进入网络访问拦截逻辑。具体地,在所述连接请求发出之前,拦截所述连接请求,同时触发LSM框架的连接发起安全事件节点挂载的eBPF程序,进入该eBPF程序的网络访问拦截逻辑。
S230:获取网络访问策略。具体地,获取当前虚拟化云主机的网络访问策略。
S240:判断当前网络连接是否符合网络访问策略的规定。若是,则执行S250,若否,则执行S260。
S250:放行访问。即放行所述连接请求,以建立与目标云主机之间的网络连接。
S260:执行拦截操作,并进行告警。
下面对本发明提供的网络微隔离系统进行描述,下文描述的网络微隔离系统与上文描述的网络微隔离方法可相互对应参照。
请参考图3,本实施例提供的网络微隔离系统,包括:
五元组信息获取模块310,用于通过kprobe探针或kretprobe探针,在虚拟化云主机的内核函数挂载eBPF程序,在检测到目标事件的情况下,自动触发所述eBPF程序,以得到所述虚拟化云主机的网络连接的五元组信息,所述目标事件指所述虚拟化云主机创建网络连接或接受网络连接;
网络连接拓扑获取模块320,用于基于全部所述五元组信息,得到网络连接拓扑,所述网络连接拓扑为创建网络防护策略的依据;
网络微隔离模块330,用于基于创建的所述网络防护策略,进行网络访问拦截,以完成网络微隔离。所述五元组信息获取模块310、网络连接拓扑获取模块320和网络微隔离模块330连接。本实施例中的网络微隔离系统能够在获取虚拟化云主机的网络连接关系,即网络连接拓扑的同时,降低性能消耗,快速理清繁琐复杂的虚拟化云主机的网络连接关系,便于进行网络防护策略创建。并且,通过基于创建的网络防护策略,进行网络访问拦截,能够较好地保证虚拟化云主机的安全性,成本较低,可实施性较强。
在一些实施例中,所述五元组信息获取模块310具体用于通过kretprobe探针,在所述虚拟化云主机的socket系统调用函数的出口处挂载eBPF程序,以得到所述socket系统调用函数的第一返回值;基于所述第一返回值,得到当前网络连接的初始套接字描述符;
通过kprobe探针,在所述虚拟化云主机的bind系统调用函数的入口处挂载eBPF程序,以得到进入所述bind系统调用函数的第一目标参数,所述第一目标参数包括:第一目标套接字描述符、以及所述第一目标套接字描述符绑定的所述虚拟化云主机的IP地址与IP端口号;
通过kprobe探针,在所述虚拟化云主机的connect系统调用函数的入口处挂载eBPF程序,以得到进入所述connect系统调用函数的第二目标参数,所述第二目标参数包括:第二目标套接字描述符、以及与所述第二目标套接字描述符相关联的网络连接目的IP地址与网络连接目的端口号;
通过kprobe探针,在所述虚拟化云主机的accept系统调用函数的入口处挂载eBPF程序,以得到进入所述accept系统调用函数的第三目标参数,所述第三目标参数包括:第三目标套接字描述符、以及与所述第三目标套接字描述符相关联的网络连接源IP地址和网络连接源端口号;
通过kretprobe探针,在所述虚拟化云主机的listen系统调用函数的出口处挂载eBPF程序,以得到listen系统调用函数的返回结果,所述返回结果包括:第四目标套接字描述符、以及与所述第四目标套接字描述符相关联的第二返回值,所述第二返回值用于确定listen系统调用成功或失败。
在一些实施例中,所述五元组信息获取模块310还具体用于将所述初始套接字描述符分别与所述第一目标套接字描述符、所述第二目标套接字描述符、所述第三目标套接字描述符以及所述第四目标套接字描述符进行匹配,得到与所述初始套接字描述符相同的所述第一目标套接字描述符、所述第二目标套接字描述符、所述第三目标套接字描述符以及所述第四目标套接字描述符;
基于所述初始套接字描述符、与所述初始套接字描述符相同的所述第一目标套接字描述符、所述第二目标套接字描述符、所述第三目标套接字描述符以及所述第四目标套接字描述符,得到所述五元组信息。
在一些实施例中,所述网络连接拓扑获取模块320具体用于对所述五元组信息增加时间戳与云主机标识信息,得到网络连接数据,所述网络连接数据包括:所述时间戳、所述云主机标识信息、所述网络连接源IP地址、所述网络连接源端口号、所述网络连接目的IP地址、所述网络连接目的端口号、通信协议以及五元组哈希值;
基于全部所述网络连接数据,得到所述网络连接拓扑。
在一些实施例中,所述网络连接拓扑获取模块320还具体用于基于所述网络连接数据中的云主机标识信息与五元组哈希值,查询目标数据库中是否存储有当前所述网络连接数据;
在确定所述目标数据库中存储有当前所述网络连接数据的情况下,基于当前所述网络连接数据中的时间戳,对所述目标数据库中存储的对应网络连接数据的时间戳进行更新;
在确定所述目标数据库中缺少当前所述网络连接数据的情况下,将当前所述网络连接数据写入所述目标数据库。
在一些实施例中,还包括:过期网络连接数据清除模块,用于基于预设的筛选周期,对所述目标数据库中的所述网络连接数据进行时间戳筛选,以确定过期网络连接数据;
对所述目标数据库中的所述过期网络连接数据进行清除。
在一些实施例中,所述过期网络连接数据清除模块具体用于基于所述筛选周期,定期获取当前时间与所述目标数据库中所述网络连接数据的所述时间戳之间的差值;
在所述差值大于预设的时间间隔阈值的情况下,将当前所述时间戳对应的所述网络连接数据确定为所述过期网络连接数据。
在一些实施例中,所述网络连接拓扑获取模块320还具体用于获取网络连接拓扑获取需求;
基于所述网络连接拓扑获取需求中的所述云主机标识信息,向所述目标数据库查询并获取对应的所述虚拟化云主机的全部所述网络连接数据;
基于所述虚拟化云主机的全部所述网络连接数据,得到所述虚拟化云主机的所述网络连接拓扑。
在一些实施例中,还包括:展示模块,用于对所述网络连接拓扑进行可视化展示,以完成所述网络防护策略的创建。
在一些实施例中,所述网络微隔离模块330具体用于接收服务端下发的所述网络防护策略,所述网络防护策略为所述服务端基于eBPF map下发的,所述eBPF map的键为云主机标识信息,所述eBPF map的值为所述云主机标识信息对应的所述网络防护策略;
基于所述网络防护策略,进行网络访问拦截,以完成所述网络微隔离。
在一些实施例中,所述网络微隔离模块330还具体用于利用所述虚拟化云主机的LSM框架的连接发起安全事件节点挂载的eBPF程序,捕获所述虚拟化云主机的连接发起安全事件,所述连接发起安全事件指所述虚拟化云主机预向目标云主机发起连接请求的事件;
在捕获到所述连接发起安全事件的情况下,获取所述连接发起安全事件的网络连接目的IP地址与网络连接目的端口号;
基于所述网络连接目的IP地址、所述网络连接目的端口号以及所述网络防护策略,进行网络访问拦截。
在一些实施例中,所述网络微隔离模块330还具体用于将所述网络连接目的IP地址和所述网络连接目的端口号分别与所述网络防护策略进行匹配;
在确定所述网络连接目的IP地址与所述网络连接目的端口号对应的网络连接为待拦截连接的情况下,对所述待拦截连接进行拦截,并将本次拦截事件与拦截结果上报至日志。
在一些实施例中,所述网络微隔离模块330还具体用于利用所述虚拟化云主机的LSM框架的连接接受安全事件节点挂载的eBPF程序,捕获所述虚拟化云主机的连接接受安全事件,所述连接接受安全事件指所述虚拟化云主机预接受目标云主机的连接请求的事件;
在捕获到所述连接接受安全事件的情况下,获取所述连接接受安全事件的网络连接源IP地址和网络连接源端口号;
基于所述网络连接源IP地址、所述网络连接源端口号以及所述网络防护策略,进行网络访问拦截。
在一些实施例中,所述网络微隔离模块330还具体用于将所述网络连接源IP地址和所述网络连接源端口号分别与所述网络防护策略进行匹配;
在确定所述网络连接源IP地址和所述网络连接源端口号对应的网络连接为待拦截连接的情况下,对所述待拦截连接进行拦截,并将本次拦截事件与拦截结果上报至日志。
本实施例还提供一种虚拟化云主机,包括:如上述所述的网络微隔离系统。本实施例中的虚拟化云主机,通过利用kprobe探针或kretprobe探针,在虚拟化云主机的内核函数挂载eBPF程序,在检测到目标事件的情况下,自动触发eBPF程序,以得到虚拟化云主机的网络连接的五元组信息,目标事件指虚拟化云主机创建网络连接或接受网络连接;基于全部五元组信息,得到网络连接拓扑,网络连接拓扑为创建网络防护策略的依据;基于创建的网络防护策略,进行网络访问拦截,以完成网络微隔离。能够在获取虚拟化云主机的网络连接关系,即网络连接拓扑的同时,降低性能消耗,快速理清繁琐复杂的虚拟化云主机的网络连接关系,便于进行网络防护策略创建。并且,通过基于创建的网络防护策略,进行网络访问拦截,能够较好地保证虚拟化云主机的安全性。
本实施例还提供一种网络安全防护系统,包括:
目标数据库以及多个如上述所述的虚拟化云主机,所述目标数据库用于存储所述虚拟化云主机的网络连接数据,每个所述虚拟化云主机分别与所述目标数据库连接。本实施例中的网络安全防护系统,能够降低获取网络连接关系时的性能消耗,有效解决获取网络连接关系时的卡顿问题,可实施性较强。
图4示例了一种电子设备的实体结构示意图,如图4所示,该电子设备可以包括:处理器(processor)410、通信接口(Communications Interface)420、存储器(memory)430和通信总线440,其中,处理器410,通信接口420,存储器430通过通信总线440完成相互间的通信。处理器410可以调用存储器430中的逻辑指令,以执行网络微隔离方法,该方法包括:通过kprobe探针或kretprobe探针,在虚拟化云主机的内核函数挂载eBPF程序,在检测到目标事件的情况下,自动触发eBPF程序,以得到虚拟化云主机的网络连接的五元组信息,目标事件指虚拟化云主机创建网络连接或接受网络连接;基于全部五元组信息,得到网络连接拓扑,网络连接拓扑为创建网络防护策略的依据;基于创建的网络防护策略,进行网络访问拦截,以完成网络微隔离。
此外,上述的存储器430中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各方法提供的网络微隔离方法,该方法包括:通过kprobe探针或kretprobe探针,在虚拟化云主机的内核函数挂载eBPF程序,在检测到目标事件的情况下,自动触发eBPF程序,以得到虚拟化云主机的网络连接的五元组信息,目标事件指虚拟化云主机创建网络连接或接受网络连接;基于全部五元组信息,得到网络连接拓扑,网络连接拓扑为创建网络防护策略的依据;基于创建的网络防护策略,进行网络访问拦截,以完成网络微隔离。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (15)

1.一种网络微隔离方法,其特征在于,包括:
通过kprobe探针或kretprobe探针,在虚拟化云主机的内核函数挂载eBPF程序,在检测到目标事件的情况下,自动触发所述eBPF程序,以得到所述虚拟化云主机的网络连接的五元组信息,所述目标事件指所述虚拟化云主机创建网络连接或接受网络连接;
基于全部所述五元组信息,得到网络连接拓扑,所述网络连接拓扑为创建网络防护策略的依据;
基于创建的所述网络防护策略,进行网络访问拦截,以完成网络微隔离;
通过kprobe探针或kretprobe探针,在虚拟化云主机的内核函数挂载eBPF程序的步骤包括:
通过kretprobe探针,在所述虚拟化云主机的socket系统调用函数的出口处挂载eBPF程序,以得到所述socket系统调用函数的第一返回值;基于所述第一返回值,得到当前网络连接的初始套接字描述符;
通过kprobe探针,在所述虚拟化云主机的bind系统调用函数的入口处挂载eBPF程序,以得到进入所述bind系统调用函数的第一目标参数,所述第一目标参数包括:第一目标套接字描述符、以及所述第一目标套接字描述符绑定的所述虚拟化云主机的IP地址与IP端口号;
通过kprobe探针,在所述虚拟化云主机的connect系统调用函数的入口处挂载eBPF程序,以得到进入所述connect系统调用函数的第二目标参数,所述第二目标参数包括:第二目标套接字描述符、以及与所述第二目标套接字描述符相关联的网络连接目的IP地址与网络连接目的端口号;
通过kprobe探针,在所述虚拟化云主机的accept系统调用函数的入口处挂载eBPF程序,以得到进入所述accept系统调用函数的第三目标参数,所述第三目标参数包括:第三目标套接字描述符、以及与所述第三目标套接字描述符相关联的网络连接源IP地址和网络连接源端口号;
通过kretprobe探针,在所述虚拟化云主机的listen系统调用函数的出口处挂载eBPF程序,以得到listen系统调用函数的返回结果,所述返回结果包括:第四目标套接字描述符、以及与所述第四目标套接字描述符相关联的第二返回值,所述第二返回值用于确定listen系统调用成功或失败;
基于全部所述五元组信息,得到网络连接拓扑的步骤包括:
对所述五元组信息增加时间戳与云主机标识信息,得到网络连接数据,所述网络连接数据包括:所述时间戳、所述云主机标识信息、所述网络连接源IP地址、所述网络连接源端口号、所述网络连接目的IP地址、所述网络连接目的端口号、通信协议以及五元组哈希值;
基于全部所述网络连接数据,得到所述网络连接拓扑;
对所述五元组信息增加时间戳与云主机标识信息,得到网络连接数据的步骤之后,还包括:
基于所述网络连接数据中的云主机标识信息与五元组哈希值,查询目标数据库中是否存储有当前所述网络连接数据;
在确定所述目标数据库中存储有当前所述网络连接数据的情况下,基于当前所述网络连接数据中的时间戳,对所述目标数据库中存储的对应网络连接数据的时间戳进行更新;
在确定所述目标数据库中缺少当前所述网络连接数据的情况下,将当前所述网络连接数据写入所述目标数据库;
基于全部所述网络连接数据,得到所述网络连接拓扑的步骤包括:
获取网络连接拓扑获取需求;
基于所述网络连接拓扑获取需求中的所述云主机标识信息,向所述目标数据库查询并获取对应的所述虚拟化云主机的全部所述网络连接数据;
基于所述虚拟化云主机的全部所述网络连接数据,得到所述虚拟化云主机的所述网络连接拓扑;
基于创建的所述网络防护策略,进行网络访问拦截,以完成网络微隔离的步骤包括:
接收服务端下发的所述网络防护策略,所述网络防护策略为所述服务端基于eBPF map下发的,所述eBPF map的键为云主机标识信息,所述eBPF map的值为所述云主机标识信息对应的所述网络防护策略;
基于所述网络防护策略,进行网络访问拦截,以完成所述网络微隔离。
2.根据权利要求1所述的网络微隔离方法,其特征在于,
所述kprobe探针用于在所述虚拟化云主机的内核函数的入口处挂载eBPF程序;
所述kretprobe探针用于在所述虚拟化云主机的内核函数的出口处挂载eBPF程序。
3.根据权利要求1所述的网络微隔离方法,其特征在于,得到所述虚拟化云主机的网络连接的五元组信息的步骤包括:
将所述初始套接字描述符分别与所述第一目标套接字描述符、所述第二目标套接字描述符、所述第三目标套接字描述符以及所述第四目标套接字描述符进行匹配,得到与所述初始套接字描述符相同的所述第一目标套接字描述符、所述第二目标套接字描述符、所述第三目标套接字描述符以及所述第四目标套接字描述符;
基于所述初始套接字描述符、与所述初始套接字描述符相同的所述第一目标套接字描述符、所述第二目标套接字描述符、所述第三目标套接字描述符以及所述第四目标套接字描述符,得到所述五元组信息。
4.根据权利要求1所述的网络微隔离方法,其特征在于,还包括:
基于预设的筛选周期,对所述目标数据库中的所述网络连接数据进行时间戳筛选,以确定过期网络连接数据;
对所述目标数据库中的所述过期网络连接数据进行清除。
5.根据权利要求4所述的网络微隔离方法,其特征在于,基于预设的筛选周期,对所述目标数据库中的所述网络连接数据进行时间戳筛选,以确定过期网络连接数据的步骤包括:
基于所述筛选周期,定期获取当前时间与所述目标数据库中所述网络连接数据的所述时间戳之间的差值;
在所述差值大于预设的时间间隔阈值的情况下,将当前所述时间戳对应的所述网络连接数据确定为所述过期网络连接数据。
6.根据权利要求1所述的网络微隔离方法,其特征在于,基于全部所述网络连接数据,得到所述网络连接拓扑的步骤之后,还包括:
对所述网络连接拓扑进行可视化展示,以完成所述网络防护策略的创建。
7.根据权利要求1所述的网络微隔离方法,其特征在于,基于所述网络防护策略,进行网络访问拦截,以完成所述网络微隔离的步骤包括:
利用所述虚拟化云主机的LSM框架的连接发起安全事件节点挂载的eBPF程序,捕获所述虚拟化云主机的连接发起安全事件,所述连接发起安全事件指所述虚拟化云主机预向目标云主机发起连接请求的事件;
在捕获到所述连接发起安全事件的情况下,获取所述连接发起安全事件的网络连接目的IP地址与网络连接目的端口号;
基于所述网络连接目的IP地址、所述网络连接目的端口号以及所述网络防护策略,进行网络访问拦截。
8.根据权利要求7所述的网络微隔离方法,其特征在于,基于所述网络连接目的IP地址、所述网络连接目的端口号以及所述网络防护策略,进行网络访问拦截的步骤包括:
将所述网络连接目的IP地址和所述网络连接目的端口号分别与所述网络防护策略进行匹配;
在确定所述网络连接目的IP地址与所述网络连接目的端口号对应的网络连接为待拦截连接的情况下,对所述待拦截连接进行拦截,并将本次拦截事件与拦截结果上报至日志。
9.根据权利要求1所述的网络微隔离方法,其特征在于,基于所述网络防护策略,进行网络访问拦截,以完成所述网络微隔离的步骤包括:
利用所述虚拟化云主机的LSM框架的连接接受安全事件节点挂载的eBPF程序,捕获所述虚拟化云主机的连接接受安全事件,所述连接接受安全事件指所述虚拟化云主机预接受目标云主机的连接请求的事件;
在捕获到所述连接接受安全事件的情况下,获取所述连接接受安全事件的网络连接源IP地址和网络连接源端口号;
基于所述网络连接源IP地址、所述网络连接源端口号以及所述网络防护策略,进行网络访问拦截。
10.根据权利要求9所述的网络微隔离方法,其特征在于,基于所述网络连接源IP地址、所述网络连接源端口号以及所述网络防护策略,进行网络访问拦截的步骤包括:
将所述网络连接源IP地址和所述网络连接源端口号分别与所述网络防护策略进行匹配;
在确定所述网络连接源IP地址和所述网络连接源端口号对应的网络连接为待拦截连接的情况下,对所述待拦截连接进行拦截,并将本次拦截事件与拦截结果上报至日志。
11.一种网络微隔离系统,其特征在于,包括:
五元组信息获取模块,用于通过kprobe探针或kretprobe探针,在虚拟化云主机的内核函数挂载eBPF程序,在检测到目标事件的情况下,自动触发所述eBPF程序,以得到所述虚拟化云主机的网络连接的五元组信息,所述目标事件指所述虚拟化云主机创建网络连接或接受网络连接;
网络连接拓扑获取模块,用于基于全部所述五元组信息,得到网络连接拓扑,所述网络连接拓扑为创建网络防护策略的依据;
网络微隔离模块,用于基于创建的所述网络防护策略,进行网络访问拦截,以完成网络微隔离;
所述五元组信息获取模块具体用于通过kretprobe探针,在所述虚拟化云主机的socket系统调用函数的出口处挂载eBPF程序,以得到所述socket系统调用函数的第一返回值;基于所述第一返回值,得到当前网络连接的初始套接字描述符;
通过kprobe探针,在所述虚拟化云主机的bind系统调用函数的入口处挂载eBPF程序,以得到进入所述bind系统调用函数的第一目标参数,所述第一目标参数包括:第一目标套接字描述符、以及所述第一目标套接字描述符绑定的所述虚拟化云主机的IP地址与IP端口号;
通过kprobe探针,在所述虚拟化云主机的connect系统调用函数的入口处挂载eBPF程序,以得到进入所述connect系统调用函数的第二目标参数,所述第二目标参数包括:第二目标套接字描述符、以及与所述第二目标套接字描述符相关联的网络连接目的IP地址与网络连接目的端口号;
通过kprobe探针,在所述虚拟化云主机的accept系统调用函数的入口处挂载eBPF程序,以得到进入所述accept系统调用函数的第三目标参数,所述第三目标参数包括:第三目标套接字描述符、以及与所述第三目标套接字描述符相关联的网络连接源IP地址和网络连接源端口号;
通过kretprobe探针,在所述虚拟化云主机的listen系统调用函数的出口处挂载eBPF程序,以得到listen系统调用函数的返回结果,所述返回结果包括:第四目标套接字描述符、以及与所述第四目标套接字描述符相关联的第二返回值,所述第二返回值用于确定listen系统调用成功或失败;
所述网络连接拓扑获取模块具体用于对所述五元组信息增加时间戳与云主机标识信息,得到网络连接数据,所述网络连接数据包括:所述时间戳、所述云主机标识信息、所述网络连接源IP地址、所述网络连接源端口号、所述网络连接目的IP地址、所述网络连接目的端口号、通信协议以及五元组哈希值;
基于全部所述网络连接数据,得到所述网络连接拓扑;
所述网络连接拓扑获取模块还具体用于基于所述网络连接数据中的云主机标识信息与五元组哈希值,查询目标数据库中是否存储有当前所述网络连接数据;
在确定所述目标数据库中存储有当前所述网络连接数据的情况下,基于当前所述网络连接数据中的时间戳,对所述目标数据库中存储的对应网络连接数据的时间戳进行更新;
在确定所述目标数据库中缺少当前所述网络连接数据的情况下,将当前所述网络连接数据写入所述目标数据库;
所述网络连接拓扑获取模块还具体用于获取网络连接拓扑获取需求;
基于所述网络连接拓扑获取需求中的所述云主机标识信息,向所述目标数据库查询并获取对应的所述虚拟化云主机的全部所述网络连接数据;
基于所述虚拟化云主机的全部所述网络连接数据,得到所述虚拟化云主机的所述网络连接拓扑;
所述网络微隔离模块具体用于接收服务端下发的所述网络防护策略,所述网络防护策略为所述服务端基于eBPF map下发的,所述eBPF map的键为云主机标识信息,所述eBPFmap的值为所述云主机标识信息对应的所述网络防护策略;
基于所述网络防护策略,进行网络访问拦截,以完成所述网络微隔离。
12.一种虚拟化云主机,其特征在于,包括:如权利要求11所述的网络微隔离系统。
13.一种网络安全防护系统,其特征在于,包括:
目标数据库以及多个如权利要求12所述的虚拟化云主机,所述目标数据库用于存储所述虚拟化云主机的网络连接数据,每个所述虚拟化云主机分别与所述目标数据库连接。
14.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至10任一项所述网络微隔离方法。
15.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至10任一项所述网络微隔离方法。
CN202311825580.3A 2023-12-28 2023-12-28 网络微隔离方法、系统及虚拟化云主机 Active CN117478438B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311825580.3A CN117478438B (zh) 2023-12-28 2023-12-28 网络微隔离方法、系统及虚拟化云主机

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311825580.3A CN117478438B (zh) 2023-12-28 2023-12-28 网络微隔离方法、系统及虚拟化云主机

Publications (2)

Publication Number Publication Date
CN117478438A CN117478438A (zh) 2024-01-30
CN117478438B true CN117478438B (zh) 2024-03-22

Family

ID=89640110

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311825580.3A Active CN117478438B (zh) 2023-12-28 2023-12-28 网络微隔离方法、系统及虚拟化云主机

Country Status (1)

Country Link
CN (1) CN117478438B (zh)

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103685250A (zh) * 2013-12-04 2014-03-26 蓝盾信息安全技术股份有限公司 一种基于sdn的虚拟机安全策略迁移的系统及方法
CN104378387A (zh) * 2014-12-09 2015-02-25 浪潮电子信息产业股份有限公司 一种虚拟化平台下保护信息安全的方法
CN112564967A (zh) * 2020-12-02 2021-03-26 杭州谐云科技有限公司 基于eBPF的云服务拓扑自发现方法及系统、电子设备、存储介质
CN113794605A (zh) * 2021-09-10 2021-12-14 杭州谐云科技有限公司 一种基于eBPF的内核丢包检测方法、系统和装置
CN114172718A (zh) * 2021-12-03 2022-03-11 北京天融信网络安全技术有限公司 安全策略配置方法、装置、电子设备及存储介质
CN115174269A (zh) * 2022-09-05 2022-10-11 中国人民解放军国防科技大学 Linux主机网络通信安全防护方法和装置
CN116074130A (zh) * 2023-04-07 2023-05-05 中国工商银行股份有限公司 系统防护方法、装置、设备和介质
CN116938590A (zh) * 2023-08-28 2023-10-24 广东中山网传媒信息科技有限公司 一种基于虚拟化技术的云安全管理方法与系统
CN117157963A (zh) * 2021-02-03 2023-12-01 英特尔公司 卸载到网络设备的可靠传输

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103685250A (zh) * 2013-12-04 2014-03-26 蓝盾信息安全技术股份有限公司 一种基于sdn的虚拟机安全策略迁移的系统及方法
CN104378387A (zh) * 2014-12-09 2015-02-25 浪潮电子信息产业股份有限公司 一种虚拟化平台下保护信息安全的方法
CN112564967A (zh) * 2020-12-02 2021-03-26 杭州谐云科技有限公司 基于eBPF的云服务拓扑自发现方法及系统、电子设备、存储介质
CN117157963A (zh) * 2021-02-03 2023-12-01 英特尔公司 卸载到网络设备的可靠传输
CN113794605A (zh) * 2021-09-10 2021-12-14 杭州谐云科技有限公司 一种基于eBPF的内核丢包检测方法、系统和装置
CN114172718A (zh) * 2021-12-03 2022-03-11 北京天融信网络安全技术有限公司 安全策略配置方法、装置、电子设备及存储介质
CN115174269A (zh) * 2022-09-05 2022-10-11 中国人民解放军国防科技大学 Linux主机网络通信安全防护方法和装置
CN116074130A (zh) * 2023-04-07 2023-05-05 中国工商银行股份有限公司 系统防护方法、装置、设备和介质
CN116938590A (zh) * 2023-08-28 2023-10-24 广东中山网传媒信息科技有限公司 一种基于虚拟化技术的云安全管理方法与系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
基于eBPF技术构建一种应用层网络管控解决方案;统信UOS;《https://blog.51cto.com/u_14142479/7089617》;20230815;全文 *
擎创技术流 | 可观测系列(2):如何使用eBPF绘制网络拓扑图;手机狂魔小小爱;《https://www.sohu.com/a/726284851_121124374》;20231007;全文 *

Also Published As

Publication number Publication date
CN117478438A (zh) 2024-01-30

Similar Documents

Publication Publication Date Title
US20220405279A1 (en) Query engine for remote endpoint information retrieval
CN106778260B (zh) 攻击检测方法和装置
US20160006766A1 (en) Method and apparatus for providing analysis service based on behavior in mobile network environment
CN106941493B (zh) 一种网络安全态势感知结果输出方法及装置
KR102134547B1 (ko) 리스크 식별 방법, 리스크 식별 장치, 및 클라우드 리스크 식별 장치와 시스템
EP2567316A2 (en) System and method for determining application dependency paths in a data center
CN108989151B (zh) 用于网络或应用性能管理的流量采集方法
US20170288979A1 (en) Blue print graphs for fusing of heterogeneous alerts
CN111565203B (zh) 业务请求的防护方法、装置、系统和计算机设备
CN112350854B (zh) 一种流量故障定位方法、装置、设备及存储介质
US20160269428A1 (en) Data processing
CN113067810B (zh) 网络抓包方法、装置、设备和介质
TWI731821B (zh) 建立應用程式白名單之方法與系統
CN111475705A (zh) 基于sql查询的网络业务监控方法、装置、设备及存储介质
CN112241439A (zh) 一种攻击组织发现方法、装置、介质和设备
CN112929376A (zh) 一种流量数据的处理方法、装置、计算机设备和存储介质
Hajamydeen et al. A detailed description on unsupervised heterogeneous anomaly based intrusion detection framework
KR102040371B1 (ko) 네트워크 공격 패턴 분석 및 방법
CN117478438B (zh) 网络微隔离方法、系统及虚拟化云主机
Zali et al. Real-time intrusion detection alert correlation and attack scenario extraction based on the prerequisite-consequence approach
US20230229717A1 (en) Optimized real-time streaming graph queries in a distributed digital security system
CN114969450A (zh) 一种用户行为分析方法、装置、设备及存储介质
CN112822075A (zh) 一种业务链路追踪方法及相关装置
CN114969744A (zh) 进程拦截方法及系统、电子设备、存储介质
CN113259386A (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