CN103891206B - 网络数据流检测状态的同步方法和设备 - Google Patents
网络数据流检测状态的同步方法和设备 Download PDFInfo
- Publication number
- CN103891206B CN103891206B CN201280021599.6A CN201280021599A CN103891206B CN 103891206 B CN103891206 B CN 103891206B CN 201280021599 A CN201280021599 A CN 201280021599A CN 103891206 B CN103891206 B CN 103891206B
- Authority
- CN
- China
- Prior art keywords
- state
- table item
- safety means
- flow table
- flow
- 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
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/1416—Event detection, e.g. attack signature detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/02—Capturing of monitoring data
- H04L43/026—Capturing of monitoring data using flow identification
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/04—Processing captured monitoring data, e.g. for logfile generation
-
- 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/20—Network architectures or network communication protocols for network security for managing network security; network security policies in general
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45595—Network integration; Enabling network access in virtual machine instances
-
- 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/08—Network architectures or network communication protocols for network security for authentication of entities
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明实施例提供一种网络数据流检测状态的同步方法和设备。该方法包括:接收第一安全设备节点发送的第一请求,第一请求携带第一安全设备节点当前检测的第一数据流的第一流表项,流表项用于唯一地标识数据流;确定对应于第一流表项的第一网络数据流检测状态;向第一安全设备节点发送第一响应,第一响应携带第一网络数据流检测状态,以便第一安全设备节点根据第一响应维护第一安全设备节点上存储的对应于第一流表项的第二网络数据流检测状态。本发明实施例中,安全设备节点向状态同步服务器请求数据流先前的网络数据流检测状态,实现网络数据流检测状态的同步,从而使得安全设备节点能够更准确地检测网络攻击,提高网络系统的安全性。
Description
技术领域
本发明实施例涉及网络技术领域,并且更具体地,涉及网络数据流检测状态的同步方法和设备。
背景技术
当前的安全检测系统,如防火墙、入侵检测系统(IDS,Intrusion Detectionsystem)等,都是通过对网络数据的检测来判断网络流量是否符合安全策略的要求。防火墙、IDS对流量检测的方法分为两种。一种称为“状态无关的检测方法”,这种方法只检测单个数据报文(Packet)的网络特征,通过数据报文中的网络属性(例如五元组信息)或者深度包检测(DPI,Deep Packet Inspection)得到的特征(例如数据报文应用层负载中的内容关键字)来判断网络流量是否合法。这种方法只需要检测单个数据报文,检测方法与网络流量的状态或者网络流量的上下文无关。
“状态无关的检测方法”最典型的应用是访问控制列表(ACL,Access ControlList)防火墙。这种防火墙只根据单独的一个数据报文中具有的“五元组”等信息来可判断流量是否合法。
另一种方法需要安全检测系统对多个数据报文进行检测,并且根据数据报文序列(上下文)中所包含的信息来判断网络流量是否符合安全策略的要求,称为“有状态的网络流量检测方法”。这种方法需要安全设备节点识别由多个数据报文所组成的一个序列当中所包含的信息,例如异常的传输控制协议(TCP,Transmission Control Protocol)连接状态、故意分散到多个数据报文中的攻击特征内容关键字、以特定顺序到达的多个特定数据报文等,从而判断一条通信数据流是否合法。在“有状态的网络流量检测方法”中需要对多个数据报文进行有状态的检测,检测结果与网络通信的上下文有关。
“有状态的网络流量检测方法”的具体安全应用包括“状态检测防火墙”以及绝大多数具有碎片重组、会话重组功能的“网络入侵检测”系统,它们的共同特点是:对于非法流量的识别,无法通过检测单一数据报文实现,必须检测多个数据报文,并且通过识别由多个数据报文所组成的一个序列中所包含的特征来判断通信活动是否合法。
“有状态的网络流量检测方法”的典型应用是状态检测防火墙(SIF,Statefulinspection Firewall)或IDS。
由于“状态无关的检测方法”能够实现的安全功能过于简单,有状态的网络流量检测方法是网络安全中最广泛使用的方法。
“有状态的网络流量检测方法”的检测原理如下:
一个攻击的检测规则Rule1可以用一组网络检测事件“A,B,C,D”的序列来表示,如:当安全设备节点SIF/IDS从数据报文序列中识别出顺序出现事件“A,B,C,D”时,即可判断发生了满足攻击特征Rule1的攻击事件Attack1。
当使用虚拟机(VM,Virtual Machine)作为通信实体时,安全设备节点SIF/IDS通常与虚拟机位于同一主机(Host)上,以检测该虚拟机的数据流。在此情况下,如果发生虚拟机迁移过程,则在迁移前负责检测该虚拟机流量的相应的安全设备节点SIF/IDS将无法检测到该虚拟机的后继网络流量,而迁移后能够检测到该虚拟机流量的相应的安全设备节点SIF/IDS又无法知道该虚拟机迁移前已经发生的网络检测事件,因此迁移前后的两个不同的安全设备节点SIF/IDS都无法发现针对此虚拟机发生的网络攻击,降低了网络系统的安全性。
发明内容
本发明实施例提供一种网络数据流检测状态的同步方法和设备,能够提高网络系统的安全性。
第一方面,提供了一种网络数据流检测状态的同步方法,包括:接收第一安全设备节点发送的第一请求,所述第一请求携带所述第一安全设备节点当前检测的第一数据流的第一流表项,所述流表项用于唯一地标识数据流;确定对应于所述第一流表项的第一网络数据流检测状态;向所述第一安全设备节点发送第一响应,所述第一响应携带所述第一网络数据流检测状态,以便所述第一安全设备节点根据所述第一响应维护所述第一安全设备节点上存储的对应于所述第一流表项的第二网络数据流检测状态。
结合第一方面,在一种实现方式中,所述确定对应于所述第一流表项的第一网络数据流检测状态,包括:查询本地存储的所述第一流表项的注册记录;根据查询结果,确定对应于所述第一流表项的第一网络数据流检测状态,其中流表项的注册记录包括所述流表项、以及所述流表项对应的安全设备节点和网络数据流检测状态。
结合第一方面及上述实现方式,在另一实现方式中,所述根据查询结果,确定对应于所述第一流表项的第一网络数据流检测状态,包括:若未查询到所述第一流表项的注册记录,在本地新增所述第一流表项的注册记录,在注册记录中将所述第一流表项对应的网络数据流检测状态设置为空,并确定所述第一网络数据流检测状态为空。
结合第一方面及上述实现方式,在另一实现方式中,所述根据查询结果,确定对应于所述第一流表项的第一网络数据流检测状态,包括:若查询到所述第一流表项的注册记录,根据注册记录中所述第一流表项对应的安全设备节点的信息,确定对应于所述第一流表项的第一网络数据流检测状态。
结合第一方面及上述实现方式,在另一实现方式中,所述根据注册记录中所述第一流表项对应的安全设备节点的信息,确定对应于所述第一流表项的第一网络数据流检测状态,包括:在注册记录中所述第一流表项对应的安全设备节点为空时,将注册记录中所述第一流表项对应的网络数据流检测状态确定为所述第一网络数据流检测状态。
结合第一方面及上述实现方式,在另一实现方式中,所述根据对应于所述第一流表项的安全设备节点的信息,确定对应于所述第一流表项的第一网络数据流检测状态,包括:在注册记录中所述第一流表项对应的安全设备节点为第二安全设备节点时,向所述第二安全设备节点发送第二请求,所述第二请求携带所述第一流表项,以请求所述第二安全设备节点发送所述第二安全设备节点上记录的对应于所述第一流表项的第三网络数据流检测状态;在未接收到所述第二安全设备节点对所述第二请求的响应时,将注册记录中所述第一流表项对应的网络数据流检测状态确定为所述第一网络数据流检测状态;在接收到所述第二安全设备节点发送的所述第三网络数据流检测状态时,将本地所述第一流表项的注册记录中第一流表项对应的网络数据流检测状态更新为所述第三网络数据流检测状态,并将所述第三网络数据流检测状态确定为所述第一网络数据流检测状态。
结合第一方面及上述实现方式,在另一实现方式中,所述方法还包括:记录所述第一流表项和所述第一安全设备节点的对应关系。
结合第一方面及上述实现方式,在另一实现方式中,在所述接收第一安全设备节点发送的第一请求之前,所述方法还包括:接收所述第一安全设备节点发送的连接请求;根据所述连接请求对所述第一安全设备节点进行身份认证,以配置所述第一安全设备节点的请求权限。
结合第一方面及上述实现方式,在另一实现方式中,所述方法还包括:接收第三安全设备节点根据预定触发事件或周期性地发送的状态更新请求,所述状态更新请求携带所述第三安全设备节点当前检测的第二数据流的第二流表项和对应的网络数据流检测状态;根据所述状态更新请求,维护本地存储的流表项的注册记录。
结合第一方面及上述实现方式,在另一实现方式中,所述根据所述状态更新请求,维护本地存储的流表项的注册记录,包括:在本地未存储所述第二流表项的注册记录时,新增所述第二流表项的注册记录;在本地存储了所述第二流表项的注册记录且注册记录中所述第二流表项对应的安全设备节点是所述第三安全设备节点时,利用所述状态更新请求中携带的所述第二流表项对应的网络数据流检测状态,更新本地记录的所述第二流表项对应的网络数据流检测状态;在本地存储了所述第二流表项的注册记录且注册记录中所述第二流表项对应的安全设备节点不是所述第三安全设备节点时,忽略所述状态更新请求。
结合第一方面及上述实现方式,在另一实现方式中,所述状态更新请求还携带事件类型,所述事件类型用于指示所述状态更新请求是根据预定触发事件发送的或周期性地发送的,
所述根据所述状态更新请求,维护本地注册的流表项,还包括:如果所述事件类型指示所述状态更新请求是根据预定触发事件发送的,则将所述第二流表项的注册记录中所述第二流表项对应的安全设备节点设置为空;如果所述事件类型指示所述状态更新请求是周期性地发送的,则将所述第二流表项的注册记录中所述第二流表项对应的安全设备节点设置为所述第三安全设备节点。
结合第一方面及上述实现方式,在另一实现方式中,所述第一流表项包括产生所述第一数据流的虚拟机的标识符以及所述第一数据流的多元组。
第二方面,提供了一种网络数据流检测状态的同步方法,包括:向状态同步服务器发送第一请求,所述第一请求携带第一安全设备节点当前检测的第一数据流的第一流表项,所述流表项用于唯一地标识数据流;接收所述状态同步服务器根据所述第一请求发送的第一响应,所述第一响应携带对应于所述第一流表项的第一网络数据流检测状态;根据所述第一响应维护所述第一安全设备节点上存储的对应于所述第一流表项的第二网络数据流检测状态。
结合第二方面,在一种实现方式中,所述方法还包括:接收所述状态同步服务器发送的第二请求,所述第二请求携带第四安全设备节点当前检测的第三数据流的第三流表项;获取所述第一安全设备节点上记录的对应于所述第三流表项的第三网络数据流检测状态;向所述状态同步服务器发送第二响应,所述第二响应携带所述第三网络数据流检测状态。
结合第二方面及上述实现方式,在另一实现方式中,在向状态同步服务器发送第一请求之前,所述方法还包括:向所述状态同步服务器发送连接请求,以便所述状态同步服务器根据所述连接请求对所述第一安全设备节点进行身份认证;接收所述状态同步服务器在所述身份认证成功后配置的所述第一安全设备节点的请求权限的信息。
结合第二方面及上述实现方式,在另一实现方式中,所述方法还包括:根据预定触发事件或周期性地向所述状态同步服务器发送状态更新请求,所述状态更新请求携带所述第一安全设备节点当前检测的第二数据流的第二流表项和对应的网络数据流检测状态,以便所述状态同步服务器根据所述状态更新请求,维护所述状态同步服务器上存储的流表项的注册记录。
结合第二方面及上述实现方式,在另一实现方式中,所述状态更新请求还携带事件类型,所述事件类型用于指示所述状态更新请求是根据预定触发事件发送的或周期性地发送的。
结合第二方面及上述实现方式,在另一实现方式中,所述第一流表项包括产生所述第一数据流的虚拟机的标识符以及所述第一数据流的多元组。
第三方面,提供了一种状态同步服务器,包括:接收单元,用于接收第一安全设备节点发送的第一请求,所述第一请求携带所述第一安全设备节点当前检测的第一数据流的第一流表项,所述流表项用于唯一地标识数据流;确定单元,用于提取所述接收单元接收的所述第一请求中的第一流表项,并确定对应于所述第一流表项的第一网络数据流检测状态;发送单元,用于向所述第一安全设备节点发送第一响应,所述第一响应携带所述确定单元确定的所述第一网络数据流检测状态,以便所述第一安全设备节点根据所述第一响应维护所述第一安全设备节点上存储的对应于所述第一流表项的第二网络数据流检测状态。
结合第三方面,在一种实现方式中,所述确定单元具体用于查询本地存储的所述第一流表项的注册记录;根据查询结果,确定对应于所述第一流表项的第一网络数据流检测状态,其中流表项的注册记录包括所述流表项、以及所述流表项对应的安全设备节点和网络数据流检测状态。
结合第三方面及上述实现方式,在另一实现方式中,所述确定单元具体用于若未查询到所述第一流表项的注册记录,在本地新增所述第一流表项的注册记录,在注册记录中将所述第一流表项对应的网络数据流检测状态设置为空,并确定所述第一网络数据流检测状态为空;或者,
所述确定单元具体用于若查询到所述第一流表项的注册记录,根据注册记录中所述第一流表项对应的安全设备节点的信息,确定对应于所述第一流表项的第一网络数据流检测状态。
结合第三方面及上述实现方式,在另一实现方式中,所述确定单元具体用于在注册记录中所述第一流表项对应的安全设备节点为空时,将注册记录中所述第一流表项对应的网络数据流检测状态确定为所述第一网络数据流检测状态;或者,
在注册记录中所述第一流表项对应的安全设备节点为第二安全设备节点时,向所述第二安全设备节点发送第二请求,所述第二请求携带所述第一流表项,以请求所述第二安全设备节点发送所述第二安全设备节点上记录的对应于所述第一流表项的第三网络数据流检测状态;在未接收到所述第二安全设备节点对所述第二请求的响应时,将将注册记录中所述第一流表项对应的网络数据流检测状态确定为所述第一网络数据流检测状态;在接收到所述第二安全设备节点发送的所述第三网络数据流检测状态时,将本地所述第一流表项的注册记录中第一流表项对应的网络数据流检测状态更新为所述第三网络数据流检测状态,并将所述第三网络数据流检测状态确定为所述第一网络数据流检测状态。
结合第三方面及上述实现方式,在另一实现方式中,所述接收单元还用于接收所述第一安全设备节点发送的连接请求;
所述状态同步服务器还包括认证单元,用于根据所述连接请求对所述第一安全设备节点进行身份认证,以配置所述第一安全设备节点的请求权限。
结合第三方面及上述实现方式,在另一实现方式中,所述接收单元还用于接收第三安全设备节点根据预定触发事件或周期性地发送的状态更新请求,所述状态更新请求携带所述第三安全设备节点当前检测的第二数据流的第二流表项和对应的网络数据流检测状态;
所述状态同步服务器还包括维护单元,用于根据所述状态更新请求,维护存储的流表项的注册记录。
结合第三方面及上述实现方式,在另一实现方式中,所述维护单元具体用于在本地未存储所述第二流表项的注册记录时,新增所述第二流表项的注册记录;在本地存储了所述第二流表项的注册记录且注册记录中所述第二流表项对应的安全设备节点是所述第三安全设备节点时,利用所述状态更新请求中携带的所述第二流表项对应的网络数据流检测状态,更新本地记录的所述第二流表项对应的网络数据流检测状态;在本地存储了所述第二流表项的注册记录且注册记录中所述第二流表项对应的安全设备节点不是所述第三安全设备节点时,忽略所述状态更新请求。
结合第三方面及上述实现方式,在另一实现方式中,所述接收单元接收的状态更新请求还携带事件类型,所述事件类型用于指示所述状态更新请求是根据预定触发事件发送的或周期性地发送的,
所述维护单元还用于在所述事件类型指示所述状态更新请求是根据预定触发事件发送的情况下,将所述第二流表项的注册记录中所述第二流表项对应的安全设备节点设置为空;在所述事件类型指示所述状态更新请求是周期性地发送的情况下,将所述第二流表项的注册记录中所述第二流表项对应的安全设备节点设置为所述第三安全设备节点。
结合第三方面及上述实现方式,在另一实现方式中,所述接收单元接收的第一请求所携带的第一流表项包括产生所述第一数据流的虚拟机的标识符以及所述第一数据流的多元组。
第四方面,提供了一种状态同步服务器,包括接收电路、发送电路、处理器和存储器,所述接收电路,用于接收第一安全设备节点发送的第一请求,所述第一请求携带所述第一安全设备节点当前检测的第一数据流的第一流表项,所述流表项用于唯一地标识数据流;所述存储器,存储使得所述处理器确定对应于所述第一流表项的第一网络数据流检测状态的指令;所述发送电路,用于向所述第一安全设备节点发送第一响应,所述第一响应携带所述处理器确定的第一网络数据流检测状态,以便所述第一安全设备节点根据所述第一响应维护所述第一安全设备节点上存储的对应于所述第一流表项的第二网络数据流检测状态。
第五方面,提供了一种安全设备节点,包括:发送单元,用于向状态同步服务器发送第一请求,所述第一请求携带所述安全设备节点当前检测的第一数据流的第一流表项,所述流表项用于唯一地标识数据流;接收单元,用于接收所述状态同步服务器根据所述第一请求发送的第一响应,所述第一响应携带对应于所述第一流表项的第一网络数据流检测状态;维护单元,用于根据所述第一响应维护所述安全设备节点上存储的对应于所述第一流表项的第二网络数据流检测状态。
结合第五方面,在一种实现方式中,所述安全设备节点还包括获取单元,
所述接收单元,还用于接收所述状态同步服务器发送的第二请求,所述第二请求携带另一安全设备节点当前检测的第三数据流的第三流表项;所述获取单元,用于获取所述安全设备节点上记录的对应于所述第三流表项的第三网络数据流检测状态;所述发送单元,还用于向所述状态同步服务器发送第二响应,所述第二响应携带所述第三网络数据流检测状态。
结合第五方面及上述实现方式,在另一实现方式中,所述发送单元,还用于向所述状态同步服务器发送连接请求,以便所述状态同步服务器根据所述连接请求对所述安全设备节点进行身份认证;所述接收单元,还用于接收所述状态同步服务器在所述身份认证成功后配置的所述安全设备节点的请求权限的信息。
结合第五方面及上述实现方式,在另一实现方式中,所述发送单元,还用于根据预定触发事件或周期性地向所述状态同步服务器发送状态更新请求,所述状态更新请求携带所述安全设备节点当前检测的第二数据流的第二流表项和对应的网络数据流检测状态,以便所述状态同步服务器根据所述状态更新请求,维护所述状态同步服务器上存储的流表项的注册记录。
结合第五方面及上述实现方式,在另一实现方式中,所述发送单元发送的所述状态更新请求还携带事件类型,所述事件类型用于指示所述状态更新请求是根据预定触发事件发送的或周期性地发送的。
结合第五方面及上述实现方式,在另一实现方式中,所述发送单元发送的第一请求所携带的第一流表项包括产生所述第一数据流的虚拟机的标识符以及所述第一数据流的多元组。
第六方面,提供了一种安全设备节点,包括接收电路、发送电路、处理器和存储器,所述发送电路,用于向状态同步服务器发送第一请求,所述第一请求携带所述安全设备节点当前检测的第一数据流的第一流表项,所述流表项用于唯一地标识数据流;所述接收电路,用于接收所述状态同步服务器根据所述第一请求发送的第一响应,所述第一响应携带对应于所述第一流表项的第一网络数据流检测状态;所述存储器,用于存储使得所述处理器根据所述第一响应维护所述安全设备节点上存储的对应于所述第一流表项的第二网络数据流检测状态的指令。
第七方面,提供了一种主机设备,包括:一个或多个虚拟机;上述安全设备节点,用于对所述一个或多个虚拟机产生的数据流进行安全检测。
第八方面,提供了一种网络系统,包括:上述状态同步服务器;至少一个上述主机设备,其中所述主机设备中的安全设备节点与所述状态同步服务器之间建立数据连接,以交互所述安全设备节点检测的数据流对应的网络数据流检测状态。
结合第八方面,在一种实现方式中,所述至少一个主机设备包括第一主机设备和第二主机设备,其中第一主机设备上的第一虚拟机迁移到所述第二主机设备上,所述第二主机设备上的安全设备节点从所述状态同步服务器获取所述第一虚拟机迁移前的网络数据流检测状态。
本发明实施例中,安全设备节点向状态同步服务器请求数据流先前的网络数据流检测状态,实现网络数据流检测状态的同步,从而使得安全设备节点能够更准确地检测网络攻击,提高网络系统的安全性。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是可应用本发明实施例的场景的例子的示意图;
图2是可应用本发明实施例的网络系统的示意架构图;
图3是本发明一个实施例的网络数据流检测状态的同步方法的流程图;
图4是本发明另一实施例的网络数据流检测状态的同步方法的流程图;
图5是本发明实施例中虚拟机迁移前的网络场景示意图;
图6是图5的场景下状态同步过程的示意图;
图7是本发明实施例中虚拟机迁移后的网络场景示意图;
图8是图7的场景下状态同步过程的示意图;
图9是本发明一个实施例的连接和上传状态信息的过程的示意流程图;
图10是本发明一个实施例的状态同步服务器的框图;
图11是本发明另一实施例的状态同步服务器的框图;
图12是本发明另一实施例的状态同步服务器的框图;
图13是本发明一个实施例的安全设备节点的框图;
图14是本发明另一实施例的安全设备节点的框图;
图15是本发明另一实施例的安全设备节点的框图;
图16是本发明一个实施例的主机设备的框图;
图17是本发明一个实施例的网络系统的框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1是可应用本发明实施例的场景的例子的示意图。应注意,图1的场景例子只是为了帮助本领域技术人员理解本发明实施例,而非将本发明实施例限于这样的应用场景。
另外应注意,在本发明实施例中,以实现SIF或IDS的节点作为安全设备节点的例子,但是本发明实施例对安全设备节点的应用类型不作限制,也可以采用其他类型的有状态的网络流量检测方法。这些应用均落入本发明实施例的范围内。
图1中,通信实体E1或者E2是虚拟机,并且虚拟机会发生迁移。虚拟机迁移是指原本基于一个物理主机的硬件资源和处理资源实现的虚拟机,转而由另一个物理主机的硬件资源和处理资源来实现。将E1和E2之间可能存在一条或多条数据流(flow)。在虚拟机迁移前后会有两个以上的安全设备节点参与到“有状态的网络流量检测”过程中,例如图1所示的主机HOST1上的SIF/IDS1和主机HOST2上的SIF/IDS2。具体地,SIF/IDS1与SIF/IDS2分别是运行在主机HOST1与HOST2上的安全设备节点,承担对各自所在主机上所有虚拟机的流量进行检测的功能。当E1在HOST1上时,E1的流量会经过SIF/IDS1,由SIF/IDS1对E1的流量进行检测;当E1在HOST2上时,会由SIF/IDS2对E1的流量进行检测。
如果安全设备节点SIF/IDS1和SIF/IDS2之间不能保持对当前E1和E2之间“网络流量检测状态”信息的同步,则无法正常实现与网络状态有关的攻击检测功能,降低了网络系统的安全性。
网络数据流检测状态(Status),是指安全设备节点检测到的、网络数据流中已经发生的网络事件序列的状态。例如,已经发生了网络事件A,则网络数据流检测状态(Status)为A,如果已经连续发生了网络事件A,B,则当前网络数据流检测状态(Status)为A,B。一旦网络数据流检测状态(Status)与检测规则(Rule)相匹配,则可认为发生了符合Rule所描述的攻击事件。
假设SIF/IDS1和SIF/IDS2上设置了相同的攻击检测规则Rule1。用一组网络检测事件“A,B,C,D”的序列来表示Rule1,即,当安全设备节点识别出顺序出现事件“A,B,C,D”时,即可判断发生了满足攻击特征Rule1的攻击事件Attack1。
具体地,如图1所示,假设E1在与E2通信的过程中,发送了网络事件A,B之后从主机HOST1迁移到主机HOST2上继续发送网络事件C,D。此时E1和E2之间的通信过程不会中断,E2上会收到完整的A,B,C,D网络事件攻击序列,网络攻击会发生。
但是在此期间,E1迁移前的SIF/IDS1检测到了网络事件A,B的发生,但是由于没法检测到后继的网络事件,因此无法检测到事件C,D的发生。E1迁移后的SIF/IDS2虽然能够检测到网络事件C,D的发生,但是因为无法获得先前网络事件A,B已经发生的检测状态,因此也无法获得完整的A,B,C,D事件序列,也无法发现攻击的发生。可见,在虚拟机迁移条件下,虽然SIF/IDS1与SIF/IDS2上都有相同的攻击检测策略Rule1,但是SIF/IDS1和SIF/IDS2都无法检测到E1和E2间发生的攻击。
图2是可应用本发明实施例的网络系统的示意架构图。图2中,与图1相同的部分使用相同的附图标记,并适当省略重复的描述。
图2的实施例中,虚拟化的状态防火墙或入侵检测系统在虚拟化环境中使用,但本发明实施例不限于此。例如,本发明实施例也可以类似地应用在软件定义网络(SDN,Software Defined Network)系统中。这样的应用也落入本发明实施例的范围内。
在图2中,E1、E2是网络通信发生的实体,其中E1是虚拟机。E1当前运行在主机HOST1之上,将要迁移到主机HOST2上。
SIF/IDS1与SIF/IDS2分别是运行在主机HOST1与HOST2上的安全设备节点,承担对各自主机上的所有虚拟机的流量检测功能。当E1在HOST1上时,E1的流量会经过SIF/IDS1,由SIF/IDS1对E1的流量进行检测;当E1在HOST2上时,会由SIF/IDS2对E1的流量进行检测。
本发明实施例的网络系统包括状态同步服务器200。本发明实施例对状态同步服务器200的具体实现形式不作限制,例如可以是单独设置的服务器,可以位于通用服务器或其他网络设备上,例如可以位于某一主机上。另外,图2中为了简洁,仅仅描绘了一个状态同步服务器200,但本发明实施例对状态同步服务器200的数目不作限制,例如可以由多个状态同步服务器200为安全设备节点协作或独立地提供状态同步功能。这些实施方式均落入本发明实施例的范围内。
SIF/IDS1和SIF/IDS2都与状态同步服务器200有数据连接。具体地,SIF/IDS1和SIF/IDS2可以与状态同步服务器200交换有关E1的网络数据流检测状态信息。
SIF/IDS1和SIF/IDS2可以通过各自与状态同步服务器200之间的连接,通过由状态同步服务器200的中转方式同步有关E1的网络数据流检测状态信息;同样,SIF/IDS1和SIF/IDS2设备之间也可以建立直接的连接,从而不经过状态同步服务器200的中转来交换有关E1的网络数据流检测状态信息。这些实施方式均落入本发明实施例的范围内。
SIF/IDS1和SIF/IDS2上都可获得攻击的检测规则Rule1。Rule1由网络事件A,B,C,D所描述,只要发生了网络事件A,B,C,D的序列,就说明发生了符合Rule1所描述的攻击事件。
应注意,在图1和图2中,仅仅描绘了E1迁移一次的场景,但是本发明实施例不限于此,同样可以类似地应用于E1多次迁移的场景。这样的应用也落入本发明实施例的范围内。
图3是本发明一个实施例的网络数据流检测状态的同步方法的流程图。图3的方法由状态同步服务器(例如图2所示的状态同步服务器200)执行。
301,接收第一安全设备节点(例如图1和图2所示的SIF/IDS1或SIF/IDS2)发送的第一请求。第一请求携带第一安全设备节点当前检测的第一数据流的第一流表项。
安全设备节点对检测到每一条数据流,会使用一个流表项来进行标识。流表项可以是一种数据结构,用于唯一地标识数据流。例如,如图1和图2的例子所示,虚拟机E1和E2之间的一条数据流可以使用流表项E1-E2-FLOW1表示。但是,本发明实施例对流表项的具体名称不作限制,例如,当虚拟机E1和E2之间仅仅存在一条数据流时,可将该数据流的流表项称为E1-E2。或者,可以使用其他形式区分E1和E2之间的多条数据流。在此情况下,第一请求携带的第一流表项的数据结构可以如表1所示。
表1第一请求携带的第一流表项的数据结构的例子。
流表项 |
E1-E2-FLOW1 |
可选地,作为一个实施例,步骤301中接收的第一请求所携带的第一流表项可以包括产生第一数据流的虚拟机的标识符以及第一数据流的多元组。具体地,以图1和图2的场景为例,流表项E1-E2-FLOW1可包括虚拟机E1、E2的唯一标识符,例如可以是E1、E2的媒体接入控制(MAC,Media Access Control)地址,或者E1、E2的虚拟机标识(VM_ID)等信息,以便于安全设备节点根据虚拟机的标识符,结合包括虚拟机标识符的控制策略,对某些选定的虚拟机的流量进行控制;流表项还可以包括数据流本身的多元组信息,例如源MAC地址或目的MAC地址、源IP地址或目的IP地址、源端口或目的端口、协议类型等。
表2是本发明实施例可采用的流表项的数据结构的一个例子。但是本发明实施例对流表项携带的具体信息不作限制,只要该流表项能唯一地标识数据流即可。
表2流表项的结构示例
302,确定对应于第一流表项的第一网络数据流检测状态。
本发明实施例对状态同步服务器确定第一网络数据流检测状态的具体方式不作限制。例如,状态同步服务器可读取本地缓存的第一网络数据流检测状态,或者可以从其他设备(如另一安全设备节点)获取第一网络数据流检测状态。
可选地,作为一个实施例,状态同步服务器可首先查询本地存储的第一流表项的注册记录,即查询本地是否已经存储了该第一流表项的注册记录。然后,状态同步服务器可根据查询结果,确定对应于第一流表项的第一网络数据流检测状态。流表项的注册记录包括流表项、以及流表项对应的安全设备节点和网络数据流检测状态。
表3是状态同步服务器上流表项的注册记录的一个例子。表3的例子中,流表项E1-E2-FLOW1对应的安全设备节点是SIF/IDS1。流表项E1-E2-FLOW1对应的网络数据流检测状态记录在“状态缓存”字段中。在表2的例子中,流表项E1-E2-FLOW1对应的网络数据流检测状态为空(NULL)。在本发明实施例中,可使用特定值表示字段为空(NULL)。
表3状态同步服务器内保存的流表项的注册记录的例子
流表项 | 安全设备节点 | 状态缓存 |
E1-E2-FLOW1 | SIF/IDS1 | NULL |
另外,安全设备节点字段也可以为空(NULL),例如用来表示相应的安全设备节点当前不可访问或不存在,或表示相应的安全设备节点的信息已丢失等。
状态同步服务器上可存储多个如表3所示的注册记录,以存储不同流表项对应的安全设备节点和网络数据流检测状态。
可选地,作为一个实施例,在根据查询结果,确定对应于第一流表项的第一网络数据流检测状态时,若未查询到第一流表项的注册记录,则可在本地新增第一流表项的注册记录,在注册记录中将第一流表项对应的网络数据流检测状态设置为空,并确定第一网络数据流检测状态为空。可选地,此时可以记录第一流表项和第一安全设备节点的对应关系,即将新增的注册记录中第一流表项对应的安全设备节点设置为第一安全设备节点。
可选地,作为另一实施例,在根据查询结果,确定对应于第一流表项的第一网络数据流检测状态时,若查询到所述第一流表项的注册记录,根据注册记录中所述第一流表项对应的安全设备节点的信息,确定对应于所述第一流表项的第一网络数据流检测状态。
如果状态同步服务器上存储了第一流表项的注册记录,则可以按照表3例示的注册记录,获取到与该第一流表项对应的安全设备节点和网络数据流检测状态。但此时的网络数据流检测状态不一定是最新的,有可能是其他安全设备节点在一段时间前上传的,或者有可能是状态同步服务器在一段时间前设置的。
可选地,在注册记录中第一流表项对应的安全设备节点为空时,直接将注册记录中第一流表项对应的网络数据流检测状态确定为第一网络数据流检测状态。安全设备节点为空,说明目前不能从其他安全设备节点得到新的网络数据流检测状态。
可选地,作为另一实施例,在注册记录中第一流表项对应的安全设备节点为第二安全设备节点时,向第二安全设备节点发送第二请求。第二请求携带第一流表项,以请求第二安全设备节点发送第二安全设备节点上记录的对应于第一流表项的第三网络数据流检测状态。例如,按照表3,可查找到流表项E1-E2-FLOW1对应的安全设备节点是SIF/IDS1。此时可尝试从SIF/IDS1请求第一网络数据流检测状态。表4是第二请求携带的第一流表项的数据结构的一个例子。
表4第二请求携带的第一流表项的数据结构的例子。
流表项 |
E1-E2-FLOW1 |
在未接收到第二安全设备节点对第二请求的响应时,将注册记录中第一流表项对应的网络数据流检测状态确定为第一网络数据流检测状态。例如,由于第二安全设备节点不能访问,则状态同步服务器可将本地缓存的第一流表项对应的网络数据流检测状态作为上述第一网络数据流检测状态。
在接收到第二安全设备节点发送的第三网络数据流检测状态时,将本地第一流表项的注册记录中第一流表项对应的网络数据流检测状态更新为第三网络数据流检测状态,并将第三网络数据流检测状态确定为第一网络数据流检测状态。应注意,第三网络数据流检测状态有可能为空或者为具体值。这样,该第一网络数据流检测状态为该第一数据流最新的网络数据流检测状态。
可选地,此时可记录第一流表项和第一安全设备节点的对应关系,即将注册记录中第一流表项对应的安全设备节点更新为第一安全设备节点。
303,向第一安全设备节点发送第一响应,第一响应携带第一网络数据流检测状态,以便第一安全设备节点根据第一响应维护第一安全设备节点上存储的对应于第一流表项的第二网络数据流检测状态。
可选地,第一响应携带的数据结构的一个例子可以如表5所示。
表5第一响应携带的数据结构的一个例子
本发明实施例中,安全设备节点向状态同步服务器请求数据流先前的网络数据流检测状态,实现网络数据流检测状态的同步,从而使得安全设备节点能够更准确地检测网络攻击,提高网络系统的安全性。
下文中还将结合具体例子更加详细地描述状态同步服务器实现网络数据流检测状态同步的过程。
可选地,作为一个实施例,在步骤301之前,状态同步服务器还可以接收第一安全设备节点发送的连接请求,并根据连接请求对所述第一安全设备节点进行身份认证,以配置第一安全设备节点的请求权限。例如,安全设备节点可以在启动之后请求连接到状态同步服务器,状态同步服务器为该安全设备节点配置查询、上传信息的权限。该权限可以包括是否允许安全设备节点进行查询或上传的指示;可选地,还可以包括安全设备节点进行查询或上传的相应参数,例如上传的周期等。本发明实施例对上述连接请求过程的执行时机不作限制,可以在安全设备节点初始启动时执行,或者在安全设备节点需要查询或上传信息时执行,这些变化均落入本发明实施例的范围内。
可选地,作为另一实施例,状态同步服务器还可以接收第三安全设备节点根据预定触发事件或周期性地发送的状态更新请求。状态更新请求可携带第三安全设备节点当前检测的第二数据流的第二流表项和对应的网络数据流检测状态。然后状态同步服务器可根据状态更新请求,维护本地存储的流表项的注册记录。例如,第三安全设备节点可主动将当前检测的全部或部分数据流的流表项和对应的网络数据流检测状态发送给状态同步服务器。
例如,状态同步服务器可在本地未存储第二流表项的注册记录时,新增第二流表项的注册记录。或者,状态同步服务器可在本地存储了第二流表项的注册记录且该注册记录中第二流表项对应的安全设备节点是第三安全设备节点时,利用状态更新请求中携带的第二流表项对应的网络数据流检测状态,更新本地记录的所述第二流表项对应的网络数据流检测状态。或者,状态同步服务器可在本地存储了第二流表项的注册记录且该注册记录中第二流表项对应的安全设备节点不是第三安全设备节点时,忽略状态更新请求。
可选地,作为另一实施例,状态更新请求还可以携带事件类型。事件类型用于指示状态更新请求是根据预定触发事件发送的或周期性地发送的。此时,在根据状态更新请求,维护本地存储的流表项的注册记录时,状态同步服务器可在事件类型指示状态更新请求是根据预定触发事件发送的情况下,将第二流表项对应的安全设备节点设置为空,在事件类型指示状态更新请求是周期性地发送的情况下,将第二流表项对应的安全设备节点设置为第三安全设备节点。
图4是本发明另一实施例的网络数据流检测状态的同步方法的流程图。图4的方法由第一安全设备节点执行(例如图1和图2所示的SIF/IDS1或SIF/IDS2)。
401,向状态同步服务器(例如图2所示的状态同步服务器200)发送第一请求。第一请求携带第一安全设备节点当前检测的第一数据流的第一流表项。流表项用于唯一地标识数据流。
安全设备节点对检测到每一条数据流,会使用一个流表项来进行标识。流表项可以是一种数据结构,用于唯一地标识数据流。例如,如图1和图2的例子所示,虚拟机E1和E2之间的一条数据流可以使用流表项E1-E2-FLOW1表示。在此情况下,第一请求携带的第一流表项的数据结构可以如上表1所示。
可选地,作为一个实施例,步骤401中发送的第一请求所携带的第一流表项可以包括产生第一数据流的虚拟机的标识符以及第一数据流的多元组。具体地,以图1和图2的场景为例,流表项E1-E2-FLOW1可包括虚拟机E1、E2的唯一标识符,例如可以是E1、E2的MAC地址,或者E1、E2的VM_ID等信息,流表项还可以包括数据流本身的多元组信息,例如源MAC地址或目的MAC地址、源IP地址或目的IP地址、源端口或目的端口、协议类型等。
上表2是本发明实施例可采用的流表项的数据结构的一个例子。但是本发明实施例对流表项携带的具体信息不作限制,只要该流表项能唯一地标识数据流即可。
402,接收状态同步服务器根据第一请求发送的第一响应。第一响应携带对应于第一流表项的第一网络数据流检测状态。
可选地,第一响应携带的数据结构的一个例子可以如上表5所示。
403,根据第一响应维护第一安全设备节点上存储的对应于第一流表项的第二网络数据流检测状态。
第一安全设备节点上维护的流表项和对应网络数据流检测状态的数据结构的一个例子可以如表6所示。
表6安全设备节点内保存的数据结构的一个例子
表6的例子中,StatusA,B表示流表项E1-E2-FLOW1对应的数据流已经检测到网络事件A,B。
本发明实施例中,安全设备节点向状态同步服务器请求数据流先前的网络数据流检测状态,实现网络数据流检测状态的同步,从而使得安全设备节点能够更准确地检测网络攻击,提高网络系统的安全性。
可选地,作为一个实施例,上述第一安全节点设备还可以接收状态同步服务器发送的第二请求,第二请求携带第四安全设备节点当前检测的第三数据流的第三流表项;获取第一安全设备节点上记录的对应于第三流表项的第三网络数据流检测状态;向状态同步服务器发送第二响应,第二响应携带第三网络数据流检测状态。这样,安全设备节点能够根据状态同步服务器的请求向状态同步服务器发送自己保存的网络数据流检测状态,以实现同步服务器或其他安全设备节点上相应网络数据流检测状态的更新。
可选地,作为另一实施例,在步骤401之前,第一安全设备节点还可以向状态同步服务器发送连接请求,以便状态同步服务器根据连接请求对第一安全设备节点进行身份认证。第一安全设备节点可接收状态同步服务器在身份认证成功后配置的第一安全设备节点的请求权限的信息。例如,安全设备节点可以在启动之后请求连接到状态同步服务器,状态同步服务器为该安全设备节点配置查询、上传信息的权限。该权限可以包括是否允许安全设备节点进行查询或上传的指示;可选地,还可以包括安全设备节点进行查询或上传的相应参数,例如上传的周期等。本发明实施例对上述连接请求过程的执行时机不作限制,可以在安全设备节点初始启动时执行,或者在安全设备节点需要查询或上传信息时执行,这些变化均落入本发明实施例的范围内。
可选地,作为另一实施例,第一安全设备节点可根据预定触发事件或周期性地向状态同步服务器发送状态更新请求。状态更新请求携带第一安全设备节点当前检测的第二数据流的第二流表项和对应的网络数据流检测状态,以便状态同步服务器根据状态更新请求,维护状态同步服务器上记录的流表项的注册记录。例如,第一安全设备节点可主动将当前检测的全部或部分数据流的流表项和对应的网络数据流检测状态发送给状态同步服务器。
可选地,作为另一实施例,状态更新请求还可以携带事件类型。事件类型用于指示状态更新请求是根据预定触发事件发送的或周期性地发送的。这样,状态同步服务器可根据事件类型进行相应的处理。例如,状态同步服务器可在事件类型指示状态更新请求是根据预定触发事件发送的情况下,将第二流表项对应的安全设备节点设置为空,在事件类型指示状态更新请求是周期性地发送的情况下,将第二流表项对应的安全设备节点设置为第三安全设备节点。
下面结合具体例子,更加详细地描述本发明实施例的网络数据流检测状态的更新过程的实施例。应注意,下面给出的例子仅仅是为了帮助本领域技术人员更好地理解本发明实施例,而非限制本发明实施例的范围。
图5是虚拟机迁移前的网络场景示意图。图6是图5的场景下状态同步过程的示意图。在图5中,与图1和图2相同的部分使用相同的附图标记,因此适当省略重复的描述。
如图5所示,虚拟机E1位于主机HOST1上。E1与E2之间的一条数据流使用流表项E1-E2-FLOW1表示。主机HOST1上的安全设备节点SIF/IDS1检测虚拟机E1的所有数据流,包括E1-E2-FLOW1。另外,主机HOST2上具有安全设备节点SIF/IDS2。在下文中,如果无需区分两个安全设备节点SIF/IDS1和SIF/IDS2,则可将它们统称为安全设备节点SIF/IDS。
下面结合图5描述图6的状态同步过程。
601,SIF/IDS1检测到新数据流。
具体地,当SIF/IDS1接收到E1与E2之间进行通信的一个数据报文之后,会首先判断在SIF/IDS1当前维护的所有流表项中是否已经有此数据报文所属的数据流的流表项,如果有,SIF/IDS1会根据当前维护的此条数据流的流表项及其对应的检测规则来对此数据流进行检测,并且根据发现的网络事件来更新对应此流表项的网络数据流检测状态(Status);如果所接收到的数据报文不属于任何SIF/IDS1当前维护的已有流表项,说明此数据流对于SIF/IDS1来说是一条新网络数据流,则SIF/IDS1会为此条数据流建立对应的流表项数据结构。流表项的数据结构可以如上表2所示。
图6的实施例中,假设流表项E1-E2-FLOW1的数据流是第一次被SIF/IDS1检测到的新数据流。
602,SIF/IDS1向状态同步服务器200提交对应流表项E1-E2-FLOW1的注册/查询请求,即携带上述表1所示的流表项E1-E2-FLOW1的第一请求。
603,状态同步服务器200确定与流表项E1-E2-FLOW1对应的网络数据流检测状态。
由于流表项E1-E2-FLOW1的数据流为新数据流,所以状态同步服务器200上没有对应的网络数据流检测状态。因此状态同步服务器200在步骤603中确定与流表项E1-E2-FLOW1对应的网络数据流检测状态为空(NULL)。
具体地,当状态同步服务器200获得了SIF/IDS1所提交的流表项E1-E2-FLOW1对应的网络数据流检测状态(Status)的注册/查询申请之后,会在其系统中查询是否存在此流表项E1-E2-FLOW1的注册记录。状态同步服务器200上保存的流表项注册记录的数据结构的例子可以如上表3所示。
如果不存在流表项E1-E2-FLOW1的注册记录,说明这条数据流对于状态同步服务器200来说也是一条新出现的数据流,则状态同步服务器200执行流表项注册操作,记录此流表项E1-E2-FLOW1及对应的安全设备节点(SIF/IDS1)。如果已存在此流表项E1-E2-FLOW1注册记录,则向E1-E2-FLOW1的注册记录中流表项E1-E2-FLOW1对应的安全设备节点发送查询请求,从对应的安全设备节点获得流表项E1-E2-FLOW1对应的现有网络数据流检测状态,并返回给提交注册申请的安全设备节点(SIF/IDS1),同时将此流表项E1-E2-FLOW1对应的安全设备节点改为提交注册申请的节点(即为SIF/IDS1)。
在图6的实施例中,状态同步服务器200会新增对SIF/IDS1所提交的流表项E1-E2-FLOW1的注册记录,记录此流表项E1-E2-FLOW1对应的“安全设备节点”为SIF/IDS1。
604,状态同步服务器200向SIF/IDS1返回第一响应。
第一响应携带的数据结构的例子可以如上表5所示。在图6的实施例中,流表项E1-E2-FLOW1对应的网络数据流检测状态为空。
605,SIF/IDS1根据第一响应维护SIF/IDS1上记录的网络数据流检测状态。
在图6的实施例中,SIF/IDS1确定状态同步服务器200返回的网络数据流检测状态为空。因此,SIF/IDS1将本地记录的流表项E1-E2-FLOW1对应的网络数据流检测状态也设置为空,如下表7所示。
表7安全设备节点内保存的数据结构的另一例子
606,当SIF/IDS1对E1-E2-FLOW1的流量进行检测,发现Rule1中描述的网络事件之后,会修改流表项E1-E2-FLOW1对应的网络数据流检测状态(Status)。如:当发生网络事件A、B之后,SIF/IDS1将流表项E1-E2-FLOW1对应的网络数据流检测状态(Status)更新为“StatusA,B”,如上表6的例子所示。
本发明实施例中,安全设备节点向状态同步服务器请求数据流先前的网络数据流检测状态,实现网络数据流检测状态的同步,从而使得安全设备节点能够更准确地检测网络攻击,提高网络系统的安全性。
图7是虚拟机迁移后的网络场景示意图。图8是图7的场景下状态同步过程的示意图。在图7中,与图5相同的部分使用相同的附图标记,因此适当省略重复的描述。
如图7所示,虚拟机E1从主机HOST1迁移到主机HOST2上。在迁移过程中,E1与E2之间的数据流保持不断,因此使用相同的流表项E1-E2-FLOW1表示。虚拟机E1迁移后,应由主机HOST2上的安全设备节点SIF/IDS2检测虚拟机E1的所有数据流,包括E1-E2-FLOW1。
下面结合图7描述图8的状态同步过程。假设图8的过程在图6的过程601-606之后执行,即SIF/IDS1已经检测到流表项E1-E2-FLOW1的数据流上的网络事件A,B。在此情况下,如果SIF/IDS2不能同步该网络事件A,B,即使SIF/IDS2能够检测到流表项E1-E2-FLOW1的数据流上的新的网络事件C,D,也会导致SIF/IDS1和SIF/IDS2均无法检测到E1-E2-FLOW1间发生的攻击,降低网络的安全性。
801,SIF/IDS2检测到新数据流。
具体地,当SIF/IDS2接收到E1与E2之间进行通信的一个数据报文之后,会首先判断在SIF/IDS2当前维护的所有流表项中是否已经有此数据报文所属的数据流的流表项,如果有,SIF/IDS2会根据当前维护的此条数据流的流表项及其对应的检测规则来对此数据流进行检测,并且根据发现的网络事件来更新对应此流表项的网络数据流检测状态(Status);如果所接收到的数据报文不属于任何SIF/IDS2当前维护的已有流表项,说明此数据流对于SIF/IDS2来说是一条新网络数据流,则SIF/IDS2会为此条数据流建立对应的流表项数据结构。流表项的数据结构可以如上表2所示。
图8的实施例中,流表项E1-E2-FLOW1的数据流是第一次被SIF/IDS2检测到的新数据流。
802,SIF/IDS2向状态同步服务器200提交对应流表项E1-E2-FLOW1的注册/查询请求,即携带上述表1所示的流表项E1-E2-FLOW1的第一请求。
803,状态同步服务器200确定与流表项E1-E2-FLOW1对应的网络数据流检测状态。
具体地,当状态同步服务器200获得了SIF/IDS2所提交的流表项E1-E2-FLOW1对应的网络数据流检测状态(Status)的注册/查询申请之后,会在其系统中查询是否存在此流表项E1-E2-FLOW1的注册记录。状态同步服务器200上保存的流表项注册记录的数据结构的例子可以如上表3所示。
如果不存在流表项E1-E2-FLOW1的注册记录,说明这条数据流对于状态同步服务器200来说也是一条新出现的数据流,则状态同步服务器200执行流表项注册操作,记录此流表项E1-E2-FLOW1及对应的安全设备节点(SIF/IDS2)。
但是,在图8的实施例中,状态同步服务器200已经存储了此流表项E1-E2-FLOW1的注册记录。因此,上述步骤803包括:
803a,状态同步服务器200查询并确定流表项E1-E2-FLOW1对应的安全设备节点为SIF/IDS1(参见图6的步骤603的设置操作)。
803b,状态同步服务器200向SIF/IDS1发送查询请求,即上述表4所示的第二请求,携带流表项E1-E2-FLOW1。这样,SIF/IDS1能够确定本地记录的流表项E1-E2-FLOW1所对应的网络数据流检测状态为“StatusA,B”(参见图6的步骤606的设置操作)。
803c,状态同步服务器200从SIF/IDS1接收第二响应,该第二响应中携带的网络数据流检测状态为“StatusA,B”。
第二响应携带的数据结构的例子可以如表8所示。
表8第二响应携带的数据结构的一个例子
这样,状态同步服务器200确定与流表项E1-E2-FLOW1对应的网络数据流检测状态为“StatusA,B”。可选地,状态同步服务器200可更新本地E1-E2-FLOW1的注册记录中流表项E1-E2-FLOW1对应的网络数据流检测状态为“StatusA,B”。
804,状态同步服务器200向SIF/IDS2返回第一响应。
第一响应携带的数据结构的例子可以如表9所示。在图8的实施例中,流表项E1-E2-FLOW1对应的网络数据流检测状态为“StatusA,B”。
表9第一响应携带的数据结构的另一例子
可选地,状态同步服务器200可将注册记录中流表项E1-E2-FLOW1对应的安全设备节点改为提交注册申请的节点(即为SIF/IDS2)。
805,SIF/IDS2根据第一响应维护SIF/IDS2上记录的网络数据流检测状态。
在图8的实施例中,SIF/IDS2确定状态同步服务器200返回的网络数据流检测状态为非空值,则说明此数据流已经有其他安全设备的检测状态,需要SIF/IDS2把状态同步服务器200返回的网络数据流检测状态的值记录进SIF/IDS2本地流表项E1-E2-FLOW1对应的网络数据流检测状态(Status)参数中,更新结果如上表6所示。
806,SIF/IDS2在步骤805中维护的网络数据检测状态的基础上继续进行流量检测。
具体地,当SIF/IDS2对E1-E2-FLOW1的流量进行检测,发现Rule1中描述的网络事件之后,会修改流表项E1-E2-FLOW1对应的网络数据流检测状态(Status)。例如,当检测到网络事件C、D之后,SIF/IDS2上流表项E1-E2-FLOW1对应的“网络数据流检测状态”(Status)的状态为“StatusA,B,C,D”,与Rule1匹配,因此SIF/IDS2就可检测到相应网络攻击事件的发生。
本发明实施例中,安全设备节点向状态同步服务器请求数据流先前的网络数据流检测状态,实现网络数据流检测状态的同步,从而使得安全设备节点能够更准确地检测网络攻击,提高网络系统的安全性。
另外,在图5-图8的实施例中,提供了在虚拟机迁移前后,检测该虚拟机网络流量的多个安全设备节点之间,对该虚拟机网络流量的已有安全检测状态信息进行同步的机制。这样,即使在虚拟机迁移的条件下,安全设备节点依然可以正常完成对虚拟机网络流量的“有状态”的网络流量检测功能。
参照表2的流表项结构,本发明实施例对网络数据流的“流表项”描述中加入了与虚拟机自身属性相关的描述(“VM属性”字段)。这样,可以实现网络流表与虚拟机属性的对应。流表项中VM属性值可以为空。在VM属性值为空的情况下,本发明实施例的流程可以与虚拟机管理平台无关。当VM属性值不为空的情况下,本发明实施例的流程可以与虚拟机管理平台的工作流程密切结合,以实现更灵活的功能和用户体验。
进一步地,在图8的实施例中,如果由于各种原因,例如SIF/IDS1关机、或者SIF/IDS1内部故障、或者SIF/IDS1和状态同步服务器200之间的通信发生故障等,在步骤803c中未能从SIF/IDS1获取到第二响应,状态同步服务器200可以将本地缓存的注册记录中流表项E1-E2-FLOW1对应的网络数据流检测状态携带在第一响应中返回给SIF/IDS2。
图9是本发明一个实施例的连接和上传状态信息的过程的示意流程图。图9中安全设备节点SIF/IDS可以是图5-图8所示的安全设备节点SIF/IDS1或SIF/IDS2。
901,安全设备节点SIF/IDS向状态同步服务器200发送连接请求。
例如,安全设备节点SIF/IDS可以在启动之后执行步骤901,请求在状态同步服务器上进行注册。
902,状态同步服务器根据连接请求对安全设备节点SIF/IDS进行身份认证。在认证成功之后,为安全设备节点SIF/IDS配置相应的请求权限,例如查询或上传相关信息的权限。
本发明实施例对状态同步服务器的身份认证的方式不作限制,例如可以根据用户名/口令进行认证,或按照特定加密算法进行认证,或按照证书进行认证,或借助于第三方设备进行身份认证等。
903,安全设备节点SIF/IDS从状态同步服务器200接收请求权限的信息。
例如,状态同步服务器200可以通知安全设备节点SIF/IDS是否能够查询或上传网络数据流检测状态。另外,如果状态同步服务器200允许安全设备节点SIF/IDS查询或上传网络数据流检测状态,状态同步服务器200还可以向安全设备节点SIF/IDS通知查询或上报的具体方式。
例如,如果安全设备节点SIF/IDS周期性上传网络数据流检测状态,则状态同步服务器200还可以在步骤903中向安全设备节点SIF/IDS通知上报的周期值,例如每隔10分钟、每个30分钟、每隔1小时上报一次等。本发明实施例对上报周期的具体值不作限制。
另外,该周期值可以预先设置在安全设备节点SIF/IDS上,在此情况下,无需状态同步服务器200通知该周期值。
904,安全设备节点SIF/IDS向状态同步服务器200发送状态更新请求。状态更新请求用于上传当前检测的全部或部分数据流的流表项和对应的网络数据流检测状态。
状态更新请求的数据结构可以如表10所示。
表10状态更新请求的一个例子
流表项 | 网络数据流检测 |
状态 | |
E1-E2-FLOW1 | StatusA,B |
可选地,作为一个实施例,安全设备节点SIF/IDS可根据预定触发事件执行步骤904。本发明实施例对预定触发事件的具体类型不作限制。
例如,安全设备节点SIF/IDS可在虚拟机迁移时执行步骤904,此时安全设备节点SIF/IDS可将迁移的虚拟机所涉及的数据流的网络数据流检测状态上报给状态同步服务器200。安全设备节点SIF/IDS可通过虚拟机管理平台得知虚拟机迁移事件。
再例如,安全设备节点SIF/IDS可在关机时执行步骤904,此时安全设备节点SIF/IDS可将关机前检测的所有数据流的网络数据流检测状态上报给状态同步服务器200。安全设备节点SIF/IDS可通过计划内关机等方式得知关机事件。
可选地,作为另一实施例,安全设备节点SIF/IDS可周期性地执行步骤904。执行步骤904的周期可以由状态同步服务器200配置,或者可以预先设置在安全设备节点SIF/IDS上。
如果安全设备节点SIF/IDS有可能采用根据预定触发事件发送状态更新请求或周期性地发送状态更新请求这两种方式,则安全设备节点SIF/IDS可以在状态更新请求中携带一个事件类型指示,用于指示该状态更新请求是按照哪一种方式发送的。
此时,状态更新请求的数据结构可以如表11所示。
表11状态更新请求的另一例子
905,状态同步服务器200根据状态更新请求,维护本地存储的流表项的注册记录。
状态同步服务器200在接收到状态更新请求时,确定发送该状态更新请求的安全设备节点(记作节点A),并确定本地状态缓存的注册记录中与状态更新请求中的流表项对应的安全设备节点(记作节点B)。
正常情况下,节点A和节点B一致。如果状态更新请求中的事件类型指示周期性发送,则状态同步服务器200将状态更新请求中的“网络数据流检测状态”(Status)值记录进流表项对应的“状态缓存”。
另一方面,如果状态更新请求中的事件类型指示根据预定触发事件(例如关机)发送,则状态同步服务器200将状态更新请求中的“网络数据流检测状态”(Status)值记录进流表项对应的“状态缓存”。可选地,状态同步服务器200可同时将流表项对应的“安全设备节点”的值设置为NULL。在此情况下,表明安全设备节点不可访问,状态同步服务器200在接收到其他安全设备节点发送的关于同一流表项的查询/注册请求时,直接将该流表项对应的“状态缓存”中的值返回给发出查询/注册请求的安全设备节点,而不会再执行例如图8所示的步骤803a-803c,能够节省查询时间,提高工作效率。
在一种异常情况下,节点A和节点B不一致。则状态同步服务器200可以不理会此状态更新请求。
在另一种异常情况下,不存在节点B,即状态更新请求中携带的流表项未在状态同步服务器200上注册,则状态同步服务器200可执行对该流表项的注册操作,新增此流表项的注册记录,并将安全设备节点主动提交的“网络数据流检测状态”(Status)值记录进入对应的“状态缓存”。另外,状态同步服务器200可以将该流表项对应的安全设备节点记录为节点A或者记录为NULL,本发明实施例对此不作限制。例如,如果状态更新请求中的事件类型指示周期性发送,则状态同步服务器200可以将注册记录中该流表项对应的安全设备节点记录为节点A。如果状态更新请求中的事件类型指示根据预定触发事件(例如关机)发送,则状态同步服务器200可以将注册记录中该流表项对应的安全设备节点记录为NULL。
在图9的实施例中,安全设备节点SIF/IDS能够主动触发状态同步服务器200上缓存的网络数据流检测状态的更新,这样能够尽量维持状态同步服务器200上缓存的网络数据流检测状态为最新值。即使由于安全设备节点SIF/IDS故障或关机等原因,状态同步服务器200不能从迁移前的安全设备节点SIF/IDS请求到网络数据流检测状态,也能将尽可能新的网络数据流检测状态返回给迁移后的安全设备节点,从而提高了网络的安全性。
图10是本发明一个实施例的状态同步服务器的框图。图10的状态同步服务器100的一个例子是图2所示的状态同步服务器200,包括接收单元101、确定单元102和发送单元103。接收单元101和发送单元103可以通过接口实现,确定单元102可以通过处理器实现。
接收单元101接收第一安全设备节点发送的第一请求,第一请求携带第一安全设备节点当前检测的第一数据流的第一流表项。流表项用于唯一地标识数据流。
确定单元102提取接收单元101接收的第一请求中的第一流表项,并确定对应于第一流表项的第一网络数据流检测状态。
发送单元103向第一安全设备节点发送第一响应,第一响应携带确定单元102确定的第一网络数据流检测状态,以便第一安全设备节点根据第一响应维护第一安全设备节点上存储的对应于第一流表项的第二网络数据流检测状态。
本发明实施例中,安全设备节点向状态同步服务器请求数据流先前的网络数据流检测状态,实现网络数据流检测状态的同步,从而使得安全设备节点能够更准确地检测网络攻击,提高网络系统的安全性。
状态同步服务器100可实现上述方法实施例中状态同步服务器200所执行的各个步骤,为避免重复,不再详细描述。
可选地,作为一个实施例,确定单元102可查询本地存储的第一流表项的注册记录;根据查询结果,确定对应于第一流表项的第一网络数据流检测状态,其中流表项的注册记录包括流表项、以及流表项对应的安全设备节点和网络数据流检测状态。
可选地,作为另一实施例,在根据查询结果,确定对应于第一流表项的第一网络数据流检测状态时,若未查询到第一流表项的注册记录,则确定单元102可在本地新增第一流表项的注册记录,在注册记录中将第一流表项对应的网络数据流检测状态设置为空,并确定第一网络数据流检测状态为空,或者,若查询到第一流表项的注册记录,则确定单元102可根据注册记录中第一流表项对应的安全设备节点的信息,确定对应于第一流表项的第一网络数据流检测状态。
可选地,作为另一实施例,确定单元102可在注册记录中第一流表项对应的安全设备节点为空时,将注册记录中第一流表项对应的网络数据流检测状态确定为第一网络数据流检测状态。
或者,确定单元102可在注册记录中第一流表项对应的安全设备节点为第二安全设备节点时,向第二安全设备节点发送第二请求,第二请求携带第一流表项,以请求第二安全设备节点发送第二安全设备节点上记录的对应于第一流表项的第三网络数据流检测状态;在未接收到第二安全设备节点对第二请求的响应时,将注册记录中第一流表项对应的网络数据流检测状态确定为第一网络数据流检测状态;在接收到第二安全设备节点发送的第三网络数据流检测状态时,将本地第一流表项的注册记录中第一流表项对应的网络数据流检测状态更新为第三网络数据流检测状态,并将第三网络数据流检测状态确定为第一网络数据流检测状态。
可选地,作为另一实施例,接收单元101接收的第一请求所携带的第一流表项可包括产生第一数据流的虚拟机的标识符以及第一数据流的多元组,例如上述表2所示。这样,可以实现网络流表与虚拟机属性的对应。流表项中VM属性值可以为空。在VM属性值为空的情况下,本发明实施例的流程可以与虚拟机管理平台无关。当VM属性值不为空的情况下,本发明实施例的流程可以与虚拟机管理平台的工作流程密切结合,以实现更灵活的功能和用户体验。
图11是本发明另一实施例的状态同步服务器的框图。图11的状态同步服务器110中,与图10相同的部分使用相同的附图标记,并适当省略重复的描述。
如图11所示,除了接收单元101、确定单元102和发送单元103之外,状态同步服务器110还可以包括认证单元111。认证单元111可以由处理器实现。
接收单元101还可以接收第一安全设备节点发送的连接请求,认证单元111可根据接收单元101接收的连接请求对第一安全设备节点进行身份认证,以配置第一安全设备节点的请求权限。
状态同步服务器110还可以包括维护单元112。接收单元101还可以接收第三安全设备节点根据预定触发事件或周期性地发送的状态更新请求,状态更新请求携带第三安全设备节点当前检测的第二数据流的第二流表项和对应的网络数据流检测状态。维护单元112可以根据接收单元101接收的状态更新请求,维护本地存储的流表项的注册记录。
可选地,作为一个实施例,维护单元112可以在本地未存储第二流表项时,新增第二流表项的注册记录;在本地存储了第二流表项的注册记录且注册记录中第二流表项对应的安全设备节点是第三安全设备节点时,利用状态更新请求中携带的第二流表项对应的网络数据流检测状态,更新本地记录的第二流表项对应的网络数据流检测状态;在本地存储了第二流表项的注册记录且注册记录中第二流表项对应的安全设备节点不是第三安全设备节点时,忽略状态更新请求。
可选地,作为另一实施例,接收单元101接收的状态更新请求还携带事件类型,事件类型用于指示状态更新请求是根据预定触发事件发送的或周期性地发送的。此时,维护单元112还可以在事件类型指示状态更新请求是根据预定触发事件发送的情况下,将第二流表项对应的安全设备节点设置为空;在事件类型指示状态更新请求是周期性地发送的情况下,将第二流表项对应的安全设备节点设置为第三安全设备节点。
安全设备节点能够主动触发状态同步服务器110上缓存的网络数据流检测状态的更新,这样能够尽量维持状态同步服务器110上缓存的网络数据流检测状态为最新值。即使由于安全设备节点故障或关机等原因,状态同步服务器110不能从迁移前的安全设备节点请求到网络数据流检测状态,也能将尽可能新的网络数据流检测状态返回给迁移后的安全设备节点,从而提高了网络的安全性。
图12是本发明另一实施例的状态同步服务器的框图。图12的状态同步服务器120包括接收电路121、发送电路122、处理器123和存储器124。接收电路121、发送电路122、处理器123和存储器124通过总线系统129相互耦合。
接收电路121接收第一安全设备节点发送的第一请求,第一请求携带第一安全设备节点当前检测的第一数据流的第一流表项。流表项用于唯一地标识数据流。
存储器124存储使得处理器123确定对应于第一流表项的第一网络数据流检测状态的指令。
发送电路122向第一安全设备节点发送第一响应,第一响应携带处理器123确定的第一网络数据流检测状态,以便第一安全设备节点根据第一响应维护第一安全设备节点上存储的对应于第一流表项的第二网络数据流检测状态。
总线系统129除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都标为总线系统129。
存储器124存储使得处理器123执行各项操作的指令以及执行各项操作所需的数据。处理器123控制状态同步服务器120的操作,处理器123还可以称为CPU(CentralProcessing Unit,中央处理单元)。存储器124可以包括只读存储器和随机存取存储器,并向处理器123提供指令和数据。存储器124的一部分还可以包括非易失性随机存取存储器(NVRAM)。接收电路151和发送电路152可以在处理器123的控制下执行本发明实施例的方法。
在实现过程中,上述方法的各步骤可以通过处理器123中的硬件的集成逻辑电路或者软件形式的指令控制完成。上述的处理器123可以是通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器124,处理器123读取存储器124中的信息,结合其硬件完成上述方法的步骤。例如,存储器124可存储的流表项的注册记录。流表项的注册记录包括流表项、以及流表项对应的安全设备节点和网络数据流检测状态,例如上述表3所示。
可选地,作为一个实施例,处理器123可查询存储器124中存储的第一流表项的注册记录,并根据查询结果,确定对应于第一流表项的第一网络数据流检测状态。
可选地,作为另一实施例,在根据流表项的注册记录的查询结果,确定对应于第一流表项的第一网络数据流检测状态时,若在存储器124中未查询到第一流表项的注册记录,处理器123可在存储器124中新增第一流表项的注册记录,在注册记录中将第一流表项对应的网络数据流检测状态设置为空,并确定第一网络数据流检测状态为空。或者,若在存储器124中查询到第一流表项的注册记录,则处理器123可根据该注册记录中第一流表项对应的安全设备节点的信息,确定对应于第一流表项的第一网络数据流检测状态。
可选地,作为另一实施例,处理器123可在第一流表项对应的安全设备节点为空时,将第一流表项对应的网络数据流检测状态确定为第一网络数据流检测状态。
或者,处理器123可在第一流表项对应的安全设备节点为第二安全设备节点时,向第二安全设备节点发送第二请求,第二请求携带第一流表项,以请求第二安全设备节点发送第二安全设备节点上记录的对应于第一流表项的第三网络数据流检测状态;在未接收到第二安全设备节点对第二请求的响应时,将注册记录中第一流表项对应的网络数据流检测状态确定为第一网络数据流检测状态;在接收到第二安全设备节点发送的第三网络数据流检测状态时,将存储器124中存储的第一流表项的注册记录中第一流表项对应的网络数据流检测状态更新为第三网络数据流检测状态,并将第三网络数据流检测状态确定为第一网络数据流检测状态。
可选地,作为另一实施例,接收电路121接收的第一请求所携带的第一流表项可包括产生第一数据流的虚拟机的标识符以及第一数据流的多元组,例如上述表2所示。这样,可以实现网络流表与虚拟机属性的对应。流表项中VM属性值可以为空。在VM属性值为空的情况下,本发明实施例的流程可以与虚拟机管理平台无关。当VM属性值不为空的情况下,本发明实施例的流程可以与虚拟机管理平台的工作流程密切结合,以实现更灵活的功能和用户体验。
接收电路121还可以接收第一安全设备节点发送的连接请求,处理器123可根据接收电路121接收的连接请求对第一安全设备节点进行身份认证,以配置第一安全设备节点的请求权限。
接收电路121还可以接收第三安全设备节点根据预定触发事件或周期性地发送的状态更新请求,状态更新请求携带第三安全设备节点当前检测的第二数据流的第二流表项和对应的网络数据流检测状态。处理器123可以根据接收电路121接收的状态更新请求,维护存储器124中存储的流表项的注册记录。
可选地,作为一个实施例,处理器123可以在存储器124中未存储第二流表项的注册记录时,在存储器124中新增第二流表项的注册记录;在存储器124中已存储第二流表项的注册记录且该注册记录中第二流表项对应的安全设备节点是第三安全设备节点时,利用状态更新请求中携带的第二流表项对应的网络数据流检测状态,更新存储器124中存储的注册记录中第二流表项对应的网络数据流检测状态;在存储器124中已存储第二流表项的注册记录且该注册记录中第二流表项对应的安全设备节点不是第三安全设备节点时,忽略状态更新请求。
可选地,作为另一实施例,接收电路121接收的状态更新请求还携带事件类型,事件类型用于指示状态更新请求是根据预定触发事件发送的或周期性地发送的。此时,处理器123还可以在事件类型指示状态更新请求是根据预定触发事件发送的情况下,将注册记录中第二流表项对应的安全设备节点设置为空;在事件类型指示状态更新请求是周期性地发送的情况下,将注册记录中第二流表项对应的安全设备节点设置为第三安全设备节点。
安全设备节点能够主动触发状态同步服务器120上缓存的网络数据流检测状态的更新,这样能够尽量维持状态同步服务器120上缓存的网络数据流检测状态为最新值。即使由于安全设备节点故障或关机等原因,状态同步服务器120不能从迁移前的安全设备节点请求到网络数据流检测状态,也能将尽可能新的网络数据流检测状态返回给迁移后的安全设备节点,从而提高了网络的安全性。
因此,状态同步服务器100、110或120能够与多个安全设备节点进行双向的通信。另外,状态同步服务器100、110或120能够接收安全设备节点提交的流表项查询/注册请求,向安全设备节点返回应答值,并对相关信息进行存储,例如图5-图6的实施例所述。
状态同步服务器100、110或120能够向某个流表项对应的安全设备节点发送网络数据流检测状态查询请求,获得已有的检测状态值,并且转发给查询的安全设备节点,例如图7-图8的实施例所述。
当收到某个安全设备节点主动发送的网络数据流检测状态值的更新请求时,状态同步服务器100、110或120能够将此状态值缓存到流表项对应的状态缓存字段中备用,例如图9的实施例所述。
本发明实施例对状态同步服务器100、110和120的具体实现形式不作限制,例如可以是单独设置的服务器,可以位于通用服务器或其他网络设备上,例如可以位于某一主机上。
图13是本发明一个实施例的安全设备节点的框图。图13的安全设备节点130的例子是图2所示的安全设备节点SIF/IDS1与SIF/IDS2,包括发送单元131、接收单元132和维护单元133。发送单元131和接收单元132可以由接口实现,维护单元133可以由处理器实现。
发送单元131向状态同步服务器发送第一请求,第一请求携带安全设备节点130当前检测的第一数据流的第一流表项。流表项用于唯一地标识数据流。
接收单元132接收状态同步服务器根据第一请求发送的第一响应,第一响应携带对应于第一流表项的第一网络数据流检测状态。
维护单元133根据第一响应维护安全设备节点130上存储的对应于第一流表项的第二网络数据流检测状态。
本发明实施例中,安全设备节点向状态同步服务器请求数据流先前的网络数据流检测状态,实现网络数据流检测状态的同步,从而使得安全设备节点能够更准确地检测网络攻击,提高网络系统的安全性。
安全设备节点130可实现上述方法实施例中安全设备节点SIF/IDS1与SIF/IDS2所执行的各个步骤,为避免重复,不再详细描述。
可选地,作为一个实施例,发送单元131发送的第一请求所携带的第一流表项可包括产生第一数据流的虚拟机的标识符以及第一数据流的多元组,例如上述表2所示。这样,可以实现网络流表与虚拟机属性的对应。流表项中VM属性值可以为空。在VM属性值为空的情况下,本发明实施例的流程可以与虚拟机管理平台无关。当VM属性值不为空的情况下,本发明实施例的流程可以与虚拟机管理平台的工作流程密切结合,以实现更灵活的功能和用户体验。
图14是本发明另一实施例的安全设备节点的框图。图14的安全设备节点140中,与图13相同的部分使用相同的附图标记,并适当省略重复的描述。
如图14所示,除了发送单元131、接收单元132和维护单元133之外,安全设备节点140还可以包括获取单元141。获取单元141可以由处理器实现。
接收单元132还可以接收状态同步服务器发送的第二请求,第二请求携带另一安全设备节点当前检测的第三数据流的第三流表项。
获取单元141可获取安全设备节点140上记录的对应于第三流表项的第三网络数据流检测状态。
发送单元131还可以向状态同步服务器发送第二响应,第二响应携带第三网络数据流检测状态。
这样,安全设备节点140可以根据状态同步服务器的请求,返回本地存储的网络数据流检测状态。
可选地,作为另一实施例,发送单元131还可以向状态同步服务器发送连接请求,以便状态同步服务器根据连接请求对安全设备节点140进行身份认证。接收单元132还可以接收状态同步服务器在身份认证成功后配置的安全设备节点140的请求权限的信息。
可选地,作为另一实施例,发送单元131还可以根据预定触发事件或周期性地向状态同步服务器发送状态更新请求,状态更新请求携带安全设备节点140当前检测的第二数据流的第二流表项和对应的网络数据流检测状态,以便状态同步服务器根据状态更新请求,维护状态同步服务器上存储的流表项的注册记录。
可选地,作为另一实施例,发送单元131发送的状态更新请求还携带事件类型,事件类型用于指示状态更新请求是根据预定触发事件发送的或周期性地发送的。
安全设备节点140能够主动触发状态同步服务器上缓存的网络数据流检测状态的更新,这样能够尽量维持状态同步服务器上缓存的网络数据流检测状态为最新值。即使由于安全设备节点故障或关机等原因,状态同步服务器不能从迁移前的安全设备节点请求到网络数据流检测状态,也能将尽可能新的网络数据流检测状态返回给迁移后的安全设备节点,从而提高了网络的安全性。
图15是本发明另一实施例的安全设备节点150的框图。图15的安全设备节点150包括接收电路151、发送电路152、处理器153和存储器154。接收电路151、发送电路152、处理器153和存储器154通过总线系统159相互耦合。
发送电路152向状态同步服务器发送第一请求,第一请求携带安全设备节点150当前检测的第一数据流的第一流表项。流表项用于唯一地标识数据流
接收电路151接收状态同步服务器根据第一请求发送的第一响应,第一响应携带对应于第一流表项的第一网络数据流检测状态。
存储器154存储使得处理器153根据第一响应维护安全设备节点150上存储的对应于第一流表项的第二网络数据流检测状态的指令。
本发明实施例中,安全设备节点向状态同步服务器请求数据流先前的网络数据流检测状态,实现网络数据流检测状态的同步,从而使得安全设备节点能够更准确地检测网络攻击,提高网络系统的安全性。
总线系统159除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都标为总线系统159。
存储器154存储使得处理器153执行各项操作的指令以及执行各项操作所需的数据。处理器153控制安全设备节点150的操作,处理器153还可以称为CPU(CentralProcessing Unit,中央处理单元)。存储器154可以包括只读存储器和随机存取存储器,并向处理器153提供指令和数据。存储器154的一部分还可以包括非易失性随机存取存储器(NVRAM)。接收电路151和发送电路155可以在处理器153的控制下执行本发明实施例的方法。
在实现过程中,上述方法的各步骤可以通过处理器153中的硬件的集成逻辑电路或者软件形式的指令控制完成。上述的处理器153可以是通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器154,处理器153读取存储器154中的信息,结合其硬件完成上述方法的步骤。例如,存储器154可存储流表项的各种数据结构,例如表6和表7所示。
可选地,作为另一实施例,发送电路152发送的第一请求所携带的第一流表项可包括产生第一数据流的虚拟机的标识符以及第一数据流的多元组,例如上述表2所示。这样,可以实现网络流表与虚拟机属性的对应。流表项中VM属性值可以为空。在VM属性值为空的情况下,本发明实施例的流程可以与虚拟机管理平台无关。当VM属性值不为空的情况下,本发明实施例的流程可以与虚拟机管理平台的工作流程密切结合,以实现更灵活的功能和用户体验。
可选地,作为另一实施例,接收电路151还可以接收状态同步服务器发送的第二请求,第二请求携带另一安全设备节点当前检测的第三数据流的第三流表项。处理器153可获取存储器154中存储的注册记录中第三流表项对应的第三网络数据流检测状态。发送电路152还可以向状态同步服务器发送第二响应,第二响应携带第三网络数据流检测状态。
这样,安全设备节点150可以根据状态同步服务器的请求,返回本地存储的网络数据流检测状态。
可选地,作为另一实施例,发送电路152还可以向状态同步服务器发送连接请求,以便状态同步服务器根据连接请求对安全设备节点150进行身份认证。接收电路151还可以接收状态同步服务器在身份认证成功后配置的安全设备节点150的请求权限的信息。
可选地,作为另一实施例,发送电路152还可以根据预定触发事件或周期性地向状态同步服务器发送状态更新请求,状态更新请求携带安全设备节点150当前检测的第二数据流的第二流表项和对应的网络数据流检测状态,以便状态同步服务器根据状态更新请求,维护状态同步服务器上存储的流表项的注册记录。
可选地,作为另一实施例,发送电路152发送的状态更新请求还携带事件类型,事件类型用于指示状态更新请求是根据预定触发事件发送的或周期性地发送的。
安全设备节点150能够主动触发状态同步服务器上缓存的网络数据流检测状态的更新,这样能够尽量维持状态同步服务器上缓存的网络数据流检测状态为最新值。即使由于安全设备节点故障或关机等原因,状态同步服务器不能从迁移前的安全设备节点请求到网络数据流检测状态,也能将尽可能新的网络数据流检测状态返回给迁移后的安全设备节点,从而提高了网络的安全性。
因此,安全设备节点130、140或150能够向状态同步服务器进行注册,例如图9所示的实施例,并实现双向的通信。另外,安全设备节点130、140或150能够存储维护流表项。
安全设备节点130、140或150能够向状态同步服务器提交流表项查询/注册申请,例如图5-图6的实施例所述。
安全设备节点130、140或150能够根据状态同步服务器的请求或主动向状态同步服务器发送网络数据流检测状态值,例如图7-图9的实施例所述。
安全设备节点130、140或150可以设置在主机设备(例如图2所示的HOST1或HOST2上)。
图16是本发明一个实施例的主机设备的框图。图16的主机设备160的例子是图2所示的HOST1或HOST2,包括一个或多个虚拟机161,以及安全设备节点162。
虚拟机161的例子如图2、图5和图6所示的E1。为了简洁,在图16中仅仅描绘了一个虚拟机161,但本发明实施例对主机设备160上的虚拟机的数目不作限制。虚拟机161可以是本领域熟知的虚拟机,能够进行数据通信并且能够在不同主机上迁移。
安全设备节点162用于对一个或多个虚拟机161的数据流进行安全检测。例如,安全设备节点162可以实现为图2-图9的实施例中的安全设备节点IDS/SIF,或者实现为图13-图15的安全设备节点130、140或150。因此,为了简洁,这里不再重复描述安全设备节点162的具体功能。
本发明实施例中,安全设备节点向状态同步服务器请求数据流先前的网络数据流检测状态,实现网络数据流检测状态的同步,从而使得安全设备节点能够更准确地检测网络攻击,提高网络系统的安全性。
图17是本发明一个实施例的网络系统的框图。图17的网络系统170包括状态同步服务器171和至少一个主机设备172。
状态同步服务器171可以实现为图2-图9的实施例中的状态同步服务器200,或者实现为图10-图12的状态同步服务器100、110或120。因此,为了简洁,这里不再重复描述状态同步服务器171的具体功能。
为了简洁,在图17中描绘了两个主机设备172a和172b(可统称为主机设备172)。但本发明实施例对主机设备172的数目不作限制。主机设备172中的安全设备节点与状态同步服务器171之间建立数据连接,以交互安全设备节点检测的数据流对应的网络数据流检测状态。
可选地,作为一个实施例,主机设备172a上的第一虚拟机迁移到主机设备172b上,此时主机设备172b上的安全设备节点从状态同步服务器171获取第一虚拟机迁移前的网络数据流检测状态。这样,本发明实施例提供了在虚拟机迁移前后,检测该虚拟机网络流量的多个安全设备节点之间,对该虚拟机网络流量的已有安全检测状态信息进行同步的机制。这样,即使在虚拟机迁移的条件下,不同的安全设备节点依然可以正常完成对虚拟机网络流量的“有状态”的网络流量检测功能。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (38)
1.一种网络数据流检测状态的同步方法,其特征在于,包括:
接收第一安全设备节点发送的第一请求,所述第一请求携带所述第一安全设备节点当前检测的第一数据流的第一流表项,所述流表项用于唯一地标识数据流;
确定对应于所述第一流表项的第一网络数据流检测状态;
向所述第一安全设备节点发送第一响应,所述第一响应携带所述第一网络数据流检测状态,以便所述第一安全设备节点根据所述第一响应维护所述第一安全设备节点上存储的对应于所述第一流表项的第二网络数据流检测状态;
其中网络数据流检测状态是指安全设备节点检测到的、网络数据流中已经发生的网络事件序列的状态。
2.如权利要求1所述的方法,其特征在于,所述确定对应于所述第一流表项的第一网络数据流检测状态,包括:
查询本地存储的所述第一流表项的注册记录;
根据查询结果,确定对应于所述第一流表项的第一网络数据流检测状态,其中流表项的注册记录包括所述流表项、以及所述流表项对应的安全设备节点和网络数据流检测状态。
3.如权利要求2所述的方法,其特征在于,所述根据查询结果,确定对应于所述第一流表项的第一网络数据流检测状态,包括:
若未查询到所述第一流表项的注册记录,在本地新增所述第一流表项的注册记录,在注册记录中将所述第一流表项对应的网络数据流检测状态设置为空,并确定所述第一网络数据流检测状态为空。
4.如权利要求2所述的方法,其特征在于,所述根据查询结果,确定对应于所述第一流表项的第一网络数据流检测状态,包括:
若查询到所述第一流表项的注册记录,根据注册记录中所述第一流表项对应的安全设备节点的信息,确定对应于所述第一流表项的第一网络数据流检测状态。
5.如权利要求4所述的方法,其特征在于,所述根据注册记录中所述第一流表项对应的安全设备节点的信息,确定对应于所述第一流表项的第一网络数据流检测状态,包括:
在注册记录中所述第一流表项对应的安全设备节点为空时,将注册记录中所述第一流表项对应的网络数据流检测状态确定为所述第一网络数据流检测状态。
6.如权利要求4所述的方法,其特征在于,所述根据注册记录中所述第一流表项对应的安全设备节点的信息,确定对应于所述第一流表项的第一网络数据流检测状态,包括:
在注册记录中所述第一流表项对应的安全设备节点为第二安全设备节点时,向所述第二安全设备节点发送第二请求,所述第二请求携带所述第一流表项,以请求所述第二安全设备节点发送所述第二安全设备节点上记录的对应于所述第一流表项的第三网络数据流检测状态;
在未接收到所述第二安全设备节点对所述第二请求的响应时,将注册记录中所述第一流表项对应的网络数据流检测状态确定为所述第一网络数据流检测状态;
在接收到所述第二安全设备节点发送的所述第三网络数据流检测状态时,将本地所述第一流表项的注册记录中第一流表项对应的网络数据流检测状态更新为所述第三网络数据流检测状态,并将所述第三网络数据流检测状态确定为所述第一网络数据流检测状态。
7.如权利要求3-6任一项所述的方法,其特征在于,所述方法还包括:记录所述第一流表项和所述第一安全设备节点的对应关系。
8.如权利要求1-6任一项所述的方法,其特征在于,在所述接收第一安全设备节点发送的第一请求之前,所述方法还包括:
接收所述第一安全设备节点发送的连接请求;
根据所述连接请求对所述第一安全设备节点进行身份认证,以配置所述第一安全设备节点的请求权限。
9.如权利要求1-6任一项所述的方法,其特征在于,所述方法还包括:
接收第三安全设备节点根据预定触发事件或周期性地发送的状态更新请求,所述状态更新请求携带所述第三安全设备节点当前检测的第二数据流的第二流表项和对应的网络数据流检测状态;
根据所述状态更新请求,维护本地存储的流表项的注册记录。
10.如权利要求9所述的方法,其特征在于,所述根据所述状态更新请求,维护本地存储的流表项的注册记录,包括:
在本地未存储所述第二流表项的注册记录时,新增所述第二流表项的注册记录;
在本地存储了所述第二流表项的注册记录且注册记录中所述第二流表项对应的安全设备节点是所述第三安全设备节点时,利用所述状态更新请求中携带的所述第二流表项对应的网络数据流检测状态,更新本地记录的所述第二流表项对应的网络数据流检测状态;
在本地存储了所述第二流表项的注册记录且注册记录中所述第二流表项对应的安全设备节点不是所述第三安全设备节点时,忽略所述状态更新请求。
11.如权利要求10所述的方法,其特征在于,所述状态更新请求还携带事件类型,所述事件类型用于指示所述状态更新请求是根据预定触发事件发送的或周期性地发送的,
所述根据所述状态更新请求,维护本地存储的流表项的注册记录,还包括:
如果所述事件类型指示所述状态更新请求是根据预定触发事件发送的,则将所述第二流表项的注册记录中所述第二流表项对应的安全设备节点设置为空;
如果所述事件类型指示所述状态更新请求是周期性地发送的,则将所述第二流表项的注册记录中所述第二流表项对应的安全设备节点设置为所述第三安全设备节点。
12.如权利要求1-6任一项所述的方法,其特征在于,所述第一流表项包括产生所述第一数据流的虚拟机的标识符以及所述第一数据流的多元组。
13.如权利要求7所述的方法,其特征在于,所述第一流表项包括产生所述第一数据流的虚拟机的标识符以及所述第一数据流的多元组。
14.一种网络数据流检测状态的同步方法,其特征在于,包括:
第一安全设备节点向状态同步服务器发送第一请求,所述第一请求携带所述第一安全设备节点当前检测的第一数据流的第一流表项,所述流表项用于唯一地标识数据流;
第一安全设备节点接收所述状态同步服务器根据所述第一请求发送的第一响应,所述第一响应携带对应于所述第一流表项的第一网络数据流检测状态;
第一安全设备节点根据所述第一响应维护所述第一安全设备节点上存储的对应于所述第一流表项的第二网络数据流检测状态;
其中网络数据流检测状态是指安全设备节点检测到的、网络数据流中已经发生的网络事件序列的状态。
15.如权利要求14所述的方法,其特征在于,所述方法还包括:
接收所述状态同步服务器发送的第二请求,所述第二请求携带第四安全设备节点当前检测的第三数据流的第三流表项;
获取所述第一安全设备节点上记录的对应于所述第三流表项的第三网络数据流检测状态;
向所述状态同步服务器发送第二响应,所述第二响应携带所述第三网络数据流检测状态。
16.如权利要求14或15所述的方法,其特征在于,在向状态同步服务器发送第一请求之前,所述方法还包括:
向所述状态同步服务器发送连接请求,以便所述状态同步服务器根据所述连接请求对所述第一安全设备节点进行身份认证;
接收所述状态同步服务器在所述身份认证成功后配置的所述第一安全设备节点的请求权限的信息。
17.如权利要求14或15所述的方法,其特征在于,所述方法还包括:
根据预定触发事件或周期性地向所述状态同步服务器发送状态更新请求,所述状态更新请求携带所述第一安全设备节点当前检测的第二数据流的第二流表项和对应的网络数据流检测状态,以便所述状态同步服务器根据所述状态更新请求,维护所述状态同步服务器上存储的流表项的注册记录。
18.如权利要求17所述的方法,其特征在于,所述状态更新请求还携带事件类型,所述事件类型用于指示所述状态更新请求是根据预定触发事件发送的或周期性地发送的。
19.如权利要求14或15所述的方法,其特征在于,所述第一流表项包括产生所述第一数据流的虚拟机的标识符以及所述第一数据流的多元组。
20.一种状态同步服务器,其特征在于,包括:
接收单元,用于接收第一安全设备节点发送的第一请求,所述第一请求携带所述第一安全设备节点当前检测的第一数据流的第一流表项,所述流表项用于唯一地标识数据流;
确定单元,用于提取所述接收单元接收的所述第一请求中的第一流表项,并确定对应于所述第一流表项的第一网络数据流检测状态;
发送单元,用于向所述第一安全设备节点发送第一响应,所述第一响应携带所述确定单元确定的所述第一网络数据流检测状态,以便所述第一安全设备节点根据所述第一响应维护所述第一安全设备节点上存储的对应于所述第一流表项的第二网络数据流检测状态;
其中网络数据流检测状态是指安全设备节点检测到的、网络数据流中已经发生的网络事件序列的状态。
21.如权利要求20所述的状态同步服务器,其特征在于,所述确定单元具体用于查询本地存储的所述第一流表项的注册记录;根据查询结果,确定对应于所述第一流表项的第一网络数据流检测状态,其中流表项的注册记录包括所述流表项、以及所述流表项对应的安全设备节点和网络数据流检测状态。
22.如权利要求21所述的状态同步服务器,其特征在于,所述确定单元具体用于若未查询到所述第一流表项的注册记录,在本地新增所述第一流表项的注册记录,在注册记录中将所述第一流表项对应的网络数据流检测状态设置为空,并确定所述第一网络数据流检测状态为空;或者,
所述确定单元具体用于若查询到所述第一流表项的注册记录,根据注册记录中所述第一流表项对应的安全设备节点的信息,确定对应于所述第一流表项的第一网络数据流检测状态。
23.如权利要求22所述的状态同步服务器,其特征在于,所述确定单元具体用于在注册记录中所述第一流表项对应的安全设备节点为空时,将注册记录中所述第一流表项对应的网络数据流检测状态确定为所述第一网络数据流检测状态;或者,
在注册记录中所述第一流表项对应的安全设备节点为第二安全设备节点时,向所述第二安全设备节点发送第二请求,所述第二请求携带所述第一流表项,以请求所述第二安全设备节点发送所述第二安全设备节点上记录的对应于所述第一流表项的第三网络数据流检测状态;在未接收到所述第二安全设备节点对所述第二请求的响应时,将注册记录中所述第一流表项对应的网络数据流检测状态确定为所述第一网络数据流检测状态;在接收到所述第二安全设备节点发送的所述第三网络数据流检测状态时,将本地所述第一流表项的注册记录中第一流表项对应的网络数据流检测状态更新为所述第三网络数据流检测状态,并将所述第三网络数据流检测状态确定为所述第一网络数据流检测状态。
24.如权利要求20-23任一项所述的状态同步服务器,其特征在于,所述接收单元还用于接收所述第一安全设备节点发送的连接请求;
所述状态同步服务器还包括认证单元,用于根据所述连接请求对所述第一安全设备节点进行身份认证,以配置所述第一安全设备节点的请求权限。
25.如权利要求20-23任一项所述的状态同步服务器,其特征在于,所述接收单元还用于接收第三安全设备节点根据预定触发事件或周期性地发送的状态更新请求,所述状态更新请求携带所述第三安全设备节点当前检测的第二数据流的第二流表项和对应的网络数据流检测状态;
所述状态同步服务器还包括维护单元,用于根据所述状态更新请求,维护存储的流表项的注册记录。
26.如权利要求25所述的状态同步服务器,其特征在于,所述维护单元具体用于在本地未存储所述第二流表项的注册记录时,新增所述第二流表项的注册记录;在本地存储了所述第二流表项的注册记录且注册记录中所述第二流表项对应的安全设备节点是所述第三安全设备节点时,利用所述状态更新请求中携带的所述第二流表项对应的网络数据流检测状态,更新本地记录的所述第二流表项对应的网络数据流检测状态;在本地存储了所述第二流表项的注册记录且注册记录中所述第二流表项对应的安全设备节点不是所述第三安全设备节点时,忽略所述状态更新请求。
27.如权利要求26所述的状态同步服务器,其特征在于,所述接收单元接收的状态更新请求还携带事件类型,所述事件类型用于指示所述状态更新请求是根据预定触发事件发送的或周期性地发送的,
所述维护单元还用于在所述事件类型指示所述状态更新请求是根据预定触发事件发送的情况下,将所述第二流表项的注册记录中所述第二流表项对应的安全设备节点设置为空;在所述事件类型指示所述状态更新请求是周期性地发送的情况下,将所述第二流表项的注册记录中所述第二流表项对应的安全设备节点设置为所述第三安全设备节点。
28.一种状态同步服务器,其特征在于,包括接收电路、发送电路、处理器和存储器,
所述接收电路,用于接收第一安全设备节点发送的第一请求,所述第一请求携带所述第一安全设备节点当前检测的第一数据流的第一流表项,所述流表项用于唯一地标识数据流;
所述存储器,存储使得所述处理器确定对应于所述第一流表项的第一网络数据流检测状态的指令;
所述发送电路,用于向所述第一安全设备节点发送第一响应,所述第一响应携带所述处理器确定的第一网络数据流检测状态,以便所述第一安全设备节点根据所述第一响应维护所述第一安全设备节点上存储的对应于所述第一流表项的第二网络数据流检测状态;
其中网络数据流检测状态是指安全设备节点检测到的、网络数据流中已经发生的网络事件序列的状态。
29.一种安全设备节点,其特征在于,包括:
发送单元,用于向状态同步服务器发送第一请求,所述第一请求携带所述安全设备节点当前检测的第一数据流的第一流表项,所述流表项用于唯一地标识数据流;
接收单元,用于接收所述状态同步服务器根据所述第一请求发送的第一响应,所述第一响应携带对应于所述第一流表项的第一网络数据流检测状态;
维护单元,用于根据所述第一响应维护所述安全设备节点上存储的对应于所述第一流表项的第二网络数据流检测状态;
其中网络数据流检测状态是指安全设备节点检测到的、网络数据流中已经发生的网络事件序列的状态。
30.如权利要求29所述的安全设备节点,其特征在于,所述安全设备节点还包括获取单元,
所述接收单元,还用于接收所述状态同步服务器发送的第二请求,所述第二请求携带另一安全设备节点当前检测的第三数据流的第三流表项;
所述获取单元,用于获取所述安全设备节点上记录的对应于所述第三流表项的第三网络数据流检测状态;
所述发送单元,还用于向所述状态同步服务器发送第二响应,所述第二响应携带所述第三网络数据流检测状态。
31.如权利要求29或30所述的安全设备节点,其特征在于,
所述发送单元,还用于向所述状态同步服务器发送连接请求,以便所述状态同步服务器根据所述连接请求对所述安全设备节点进行身份认证;
所述接收单元,还用于接收所述状态同步服务器在所述身份认证成功后配置的所述安全设备节点的请求权限的信息。
32.如权利要求29或30所述的安全设备节点,其特征在于,
所述发送单元,还用于根据预定触发事件或周期性地向所述状态同步服务器发送状态更新请求,所述状态更新请求携带所述安全设备节点当前检测的第二数据流的第二流表项和对应的网络数据流检测状态,以便所述状态同步服务器根据所述状态更新请求,维护所述状态同步服务器上存储的流表项的注册记录。
33.如权利要求32所述的安全设备节点,其特征在于,所述发送单元发送的所述状态更新请求还携带事件类型,所述事件类型用于指示所述状态更新请求是根据预定触发事件发送的或周期性地发送的。
34.如权利要求29或30所述的安全设备节点,其特征在于,所述发送单元发送的第一请求所携带的第一流表项包括产生所述第一数据流的虚拟机的标识符以及所述第一数据流的多元组。
35.一种安全设备节点,其特征在于,包括接收电路、发送电路、处理器和存储器,
所述发送电路,用于向状态同步服务器发送第一请求,所述第一请求携带所述安全设备节点当前检测的第一数据流的第一流表项,所述流表项用于唯一地标识数据流;
所述接收电路,用于接收所述状态同步服务器根据所述第一请求发送的第一响应,所述第一响应携带对应于所述第一流表项的第一网络数据流检测状态;
所述存储器,用于存储使得所述处理器根据所述第一响应维护所述安全设备节点上存储的对应于所述第一流表项的第二网络数据流检测状态的指令;
其中网络数据流检测状态是指安全设备节点检测到的、网络数据流中已经发生的网络事件序列的状态。
36.一种主机设备,其特征在于,包括:
一个或多个虚拟机;
如权利要求29-35任一项所述的安全设备节点,用于对所述一个或多个虚拟机产生的数据流进行安全检测。
37.一种网络系统,其特征在于,包括:
如权利要求20-28任一项所述的状态同步服务器;
至少一个如权利要求36所述的主机设备,其中所述主机设备中的安全设备节点与所述状态同步服务器之间建立数据连接,以交互所述安全设备节点检测的数据流对应的网络数据流检测状态。
38.如权利要求37所述的网络系统,其特征在于,所述至少一个主机设备包括第一主机设备和第二主机设备,其中第一主机设备上的第一虚拟机迁移到所述第二主机设备上,所述第二主机设备上的安全设备节点从所述状态同步服务器获取所述第一虚拟机迁移前的网络数据流检测状态。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2012/082882 WO2014056200A1 (zh) | 2012-10-12 | 2012-10-12 | 网络数据流检测状态的同步方法和设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103891206A CN103891206A (zh) | 2014-06-25 |
CN103891206B true CN103891206B (zh) | 2017-02-15 |
Family
ID=50476904
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201280021599.6A Active CN103891206B (zh) | 2012-10-12 | 2012-10-12 | 网络数据流检测状态的同步方法和设备 |
Country Status (4)
Country | Link |
---|---|
US (1) | US9729560B2 (zh) |
EP (1) | EP2811691B1 (zh) |
CN (1) | CN103891206B (zh) |
WO (1) | WO2014056200A1 (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW201605198A (zh) | 2014-07-31 | 2016-02-01 | 萬國商業機器公司 | 智慧網路管理裝置以及管理網路的方法 |
US9497207B2 (en) * | 2014-08-15 | 2016-11-15 | International Business Machines Corporation | Securing of software defined network controllers |
CN105743687B (zh) * | 2014-12-12 | 2020-01-10 | 中兴通讯股份有限公司 | 节点故障的判断方法及装置 |
CN104994091B (zh) * | 2015-06-30 | 2018-04-27 | 东软集团股份有限公司 | 异常流量的检测方法及装置、防御Web攻击的方法和装置 |
CN106649352B (zh) * | 2015-10-30 | 2020-03-03 | 北京国双科技有限公司 | 数据处理方法及装置 |
KR102153926B1 (ko) * | 2017-08-10 | 2020-09-10 | 한국전자통신연구원 | 네트워크 보안 강화 장치 및 그 방법 |
US10867044B2 (en) * | 2018-05-30 | 2020-12-15 | AppOmni, Inc. | Automatic computer system change monitoring and security gap detection system |
US11442766B1 (en) * | 2020-02-03 | 2022-09-13 | Architecture Technology Corporation | Systems and methods for open threat hunt |
CN114584490B (zh) * | 2022-03-25 | 2024-04-09 | 阿里巴巴(中国)有限公司 | 数据传输检测方法以及装置 |
CN117097674A (zh) * | 2023-10-20 | 2023-11-21 | 南京邮电大学 | 一种采样时间不敏感频率维度可配置的网络特征提取方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1725702A (zh) * | 2004-07-20 | 2006-01-25 | 联想网御科技(北京)有限公司 | 一种网络安全设备及其组成的实现高可用性的系统及方法 |
CN102025535A (zh) * | 2010-11-17 | 2011-04-20 | 福建星网锐捷网络有限公司 | 虚拟机管理方法、装置及网络设备 |
CN102684944A (zh) * | 2012-04-20 | 2012-09-19 | 北京启明星辰信息技术股份有限公司 | 入侵检测方法和装置 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8001279B2 (en) * | 2001-12-21 | 2011-08-16 | International Business Machines Corporation | Method of synchronizing firewalls in a communication system based upon a server farm |
US8146147B2 (en) * | 2008-03-27 | 2012-03-27 | Juniper Networks, Inc. | Combined firewalls |
CN101572691B (zh) * | 2008-04-30 | 2013-10-02 | 华为技术有限公司 | 一种入侵检测方法、系统和装置 |
CN101616034B (zh) * | 2008-06-25 | 2012-06-20 | 华为技术有限公司 | 终端安全状态的监控和更新方法及系统 |
CN101605132B (zh) * | 2009-07-13 | 2012-07-04 | 深圳市深信服电子科技有限公司 | 一种网络数据流识别方法 |
US8549650B2 (en) * | 2010-05-06 | 2013-10-01 | Tenable Network Security, Inc. | System and method for three-dimensional visualization of vulnerability and asset data |
CN102739645B (zh) * | 2012-04-23 | 2016-03-16 | 杭州华三通信技术有限公司 | 虚拟机安全策略的迁移方法及装置 |
-
2012
- 2012-10-12 EP EP12886376.8A patent/EP2811691B1/en active Active
- 2012-10-12 WO PCT/CN2012/082882 patent/WO2014056200A1/zh active Application Filing
- 2012-10-12 CN CN201280021599.6A patent/CN103891206B/zh active Active
-
2014
- 2014-09-10 US US14/482,210 patent/US9729560B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1725702A (zh) * | 2004-07-20 | 2006-01-25 | 联想网御科技(北京)有限公司 | 一种网络安全设备及其组成的实现高可用性的系统及方法 |
CN102025535A (zh) * | 2010-11-17 | 2011-04-20 | 福建星网锐捷网络有限公司 | 虚拟机管理方法、装置及网络设备 |
CN102684944A (zh) * | 2012-04-20 | 2012-09-19 | 北京启明星辰信息技术股份有限公司 | 入侵检测方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
EP2811691B1 (en) | 2016-09-14 |
US20140380415A1 (en) | 2014-12-25 |
EP2811691A4 (en) | 2015-02-25 |
CN103891206A (zh) | 2014-06-25 |
WO2014056200A1 (zh) | 2014-04-17 |
US9729560B2 (en) | 2017-08-08 |
EP2811691A1 (en) | 2014-12-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103891206B (zh) | 网络数据流检测状态的同步方法和设备 | |
US11902120B2 (en) | Synthetic data for determining health of a network security system | |
US11528283B2 (en) | System for monitoring and managing datacenters | |
Sharma et al. | Distblocknet: A distributed blockchains-based secure sdn architecture for iot networks | |
US11102053B2 (en) | Cross-domain assurance | |
US10972388B2 (en) | Federated microburst detection | |
US10097572B1 (en) | Security for network computing environment based on power consumption of network devices | |
CN113115315B (zh) | 一种基于区块链的iot设备行为可信监管方法 | |
CN112929200B (zh) | 一种面向sdn多控制器的异常检测方法 | |
CN112291266B (zh) | 一种数据处理的方法、装置、服务器和存储介质 | |
CN113645213A (zh) | 一种基于vpn技术的多终端网络管理监控系统 | |
Lin et al. | Security function virtualization based moving target defense of SDN-enabled smart grid | |
CN111585813B (zh) | 一种物联网环境下网络节点的管理方法及系统 | |
CN115913663A (zh) | 一种数据安全防护方法及系统、存储介质、计算机设备 | |
CN116458120A (zh) | 保护网络资源免受已知威胁 | |
D’Antonio et al. | Increasing security and protection through infrastructure resilience: the INSPIRE project | |
CN111586044B (zh) | 一种针对隐私泄漏的网络数据防护方法及对应的防火墙 | |
Nie et al. | Research on Communication Network Security Detection System based on Computer Big Data | |
Wang et al. | Smart contract based DDoS attack traceability audit mechanism in intelligent IoT | |
Janani et al. | Countermeasure SDN-based IoT threats using blockchain multicontroller | |
CN117955713A (zh) | 工作负载间的通信控制方法、装置和计算机设备 | |
Meredith | Increasing Network Resilience to Persistent OSPFv2 Attacks through Automated Network Recovery | |
CN117938885A (zh) | 基于智能合约的数据去重方法及装置 | |
CN117692243A (zh) | 攻击链路还原方法、装置、计算机设备和存储介质 | |
Kemei et al. | Emerging network technologies that are likely to become widely available in the future |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |