CN102123076B - 网络安全设备的高可用性 - Google Patents
网络安全设备的高可用性 Download PDFInfo
- Publication number
- CN102123076B CN102123076B CN201010503151.0A CN201010503151A CN102123076B CN 102123076 B CN102123076 B CN 102123076B CN 201010503151 A CN201010503151 A CN 201010503151A CN 102123076 B CN102123076 B CN 102123076B
- Authority
- CN
- China
- Prior art keywords
- packet
- affairs
- equipment
- application layer
- network device
- 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
Images
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
Abstract
本发明提供了网络安全设备的高可用性方法、设备及系统。在一个实施例中,备份入侵检测与防御(IDP)设备包括:一个或多个网络接口,接收来自主IDP设备的状态更新消息,其中,状态更新消息表示被主IDP设备检查的网络会话以及用于设备的被识别的应用层协议,该一个或多个网络接口接收主设备已经切换或故障切换到备份网络设备的指示,以及该一个或多个网络接口在接收到指示之后接收网络会话的多个数据包,多个数据包的每一个均包括包含应用层数据的相应净荷;协议解码器,根据多个数据包中的一个的应用层数据检测新事务的开始;以及控制单元,仅对在所述新事务的开始之后并包括所述新事务的开始的网络会话的多个数据包的应用层数据进行有状态处理。
Description
技术领域
本公开涉及计算机网络,更具体地,涉及用在计算机网络内的安全设备。
背景技术
高可用性计算机网络环境的目标是向用户和其他实体提供“始终在线”服务。即,高可用性计算机网络环境应当提供可靠的、连续运行的服务。为了实现该目标,高可用性环境中的网络设备执行错误检测并执行对于检测到的错误的可恢复性。不幸的是,网络设备有时会出故障。例如,安全设备内的软件或硬件问题或电源故障会使所有的或部分的安全设备停止工作。
当网络设备故障时,通过发生故障的网络设备的所有网络通信流会停止。对于依赖于这种网络通信量的企业来说,即使这种故障仅发生短时间,这也是不可接受的。为了使引起所有网络通信量停止的故障的可能性最小化,可以安装诸如备份控制器或独立的备份网络设备的冗余硬件。因此,如果担负着用于执行安全服务的主要责任的网络设备(即,主设备)发生故障,则备份设备可以快速地替代该主设备。换句话说,故障网络设备“故障切换”到备份设备。主设备还可以“切换”到备份设备来暂时地离线,例如安装软件和/或固件更新或者进行其他例行的维护程序。通常,故障切换被认为是切换的一种形式。在故障切换或切换到备份设备之后,备份设备成为主设备。高可用性机群通常包括这种主网络设备和备份网络设备。
入侵检测与防御(IDP)设备检查应用层(即,OSI层七)数据以试图检测恶意通信量。通常,IDP设备使用应用层数据作为输入来执行一个或多个复杂的有限自动机或算法,以检测表示恶意通信量的事件序列和模式。该复杂的检测处理通常需要生成和维护描述当前应用层会话的事件和当前通信量模式的主要状态信息。主要状态信息通常阻止对于IDP设备高可用性的主动使用。
发明内容
大体上,本公开描述了用于实现计算机网络内的高可用性入侵检测与防御(IDP)设备的技术。例如,所描述的技术用于在高可用性环境中使主动IDP设备和备份IDP设备之间的应用层IDP状态信息同步。本公开还描述了用于执行从主动IDP设备到备份IDP设备的故障切换的技术。同步主动IDP设备和备份IDP设备之间的应用层IDP状态信息的发生,使得一旦进行从主动IDP设备故障切换到备份IDP设备,备份IDP设备就能够有目的地将IDP服务应用到先前被主动IDP设备检查的现有应用层通信会话。然而,这些技术避免了复制从主动IDP设备到备份IDP设备的数据包流的每个数据包,从而防止使主动IDP设备和备份IDP设备超负荷。
本公开的技术包括使诸如创建新的层七通信会话、删除现有会话、阻止现有会话和/或识别通信会话的应用(或应用层协议)的应用层事件的应用层IDP状态同步。以这种方式,主动IDP设备将已经被识别出的网络内新数据包流的应用(或应用层协议)通知备份IDP设备。当主动IDP设备故障切换到备份IDP设备时,备份IDP设备锚定(anchor)根据在故障切换之前由主动IDP设备先前识别的应用所选择的协议解码器。例如,备份IDP设备在通信会话内的新应用层事务的开始处锚定其协议解码器。通常,“事务”是指对等设备之间的一系列有界的相关应用层通信。例如,单个TCP连接可用于发送(接收)多个超文本传输协议(HTTP)请求(响应)。作为一个实施例,可以使用单个TCP连接来获得包括多个到HTML 页面的链接和图像的单个网页。可以由IDP设备调用HTTP解码器,以将TCP连接内的每个请求/响应识别为不同的事务。这对于基于事务界限锚定和应用攻击定义或攻击模式来说是有用的。备份IDP设备可通过检测定界符(例如,对于基于ASCII的事务)或者基于限定长度(例如,对于基于二进制的事务或以长度编码的事务)来区分数据包流的应用层数据内的事务。
一旦进行故障切换,备份IDP设备就试图识别先前由主动IDP设备检查的数据包流的应用层数据内的新事务的开始。备份IDP设备一旦发现新事务就开始检查应用层数据。在一些实施例中,备份IDP设备扫描应用层数据以识别标识了当前应用层事务的结束和新事务的开始的定界符。例如,许多基于ASCII的应用层协议利用定界符(诸如‘\n’和‘0X0A’的换行/移行字符以及诸如‘\r’和‘0X0D’的回车字符),以信号通知两个事务之间的转变。一些长度编码协议将特定位的模式定义为定界符。在利用这种定界符的实施例中,备份IDP设备扫描定界符,并开始主动地检查定界符之后的应用层数据。
在又一些实施例中,一些长度编码应用层协议定义事务的长度值(例如,字节数)。在使用事务的长度值的实施例中,主动IDP设备基于TCP序列号附加地与识别当前事务的结束/新事务的开始的备份IDP设备数据同步。作为一个实施例,主动IDP设备一旦检测到通信会话的应用层数据内的新事务,就会计算对应于下一事务的开始的TCP序列号,并将所算得的TCP序列号发送到备份IDP设备。一旦进行故障切换,备份IDP设备就锚定先前由主动IDP设备识别的应用层协议解码器,并使用该应用层协议解码器来主动地检查数据包的应用层,该数据包具有至少与从主动IDP设备接收到的最新TCP序列号一样大的序列号。
在一个实施例中,一种方法包括:利用高可用性机群的备份网络设备接收来自高可用性机群的主网络设备的状态更新消息,其 中,该状态更新消息表示被主网络设备检查的网络会话以及用于该网络会话的被识别的应用层协议;利用备份网络设备接收主设备已经切换或故障切换到备份网络设备的指示;在接收到指示之后,利用备份网络设备接收网络会话的多个数据包,多个数据包中的每一个均包括含有应用层数据的相应净荷;根据多个数据包中的一个数据包的应用层数据检测新事务的开始;以及处理网络会话中在多个数据包中与新事务的开始对应的一个数据包之后的并包括该数据包的多个数据包的应用层数据,而不对在新事务的开始之前的数据包的应用层数据执行有状态处理。尽管可以对于在新事务开始之前的数据包的应用层数据执行一些处理(例如,无状态处理),但是有状态处理仅开始于新事务之后并包括该新事务的事务。
在另一实施例中,高可用性机群的被配置为以机群模式运行的备份网络设备包括:一个或多个网络接口,用于接收来自备份网络设备的高可用性机群的主网络设备的状态更新消息,其中,状态更新消息表示被主网络设备检查的网络会话以及用于设备的被识别的应用层协议,该一个或多个网络接口用以接收主设备已经切换或故障切换到备份网络设备的指示,以及该一个或多个网络接口用以在接收到指示之后接收网络会话的多个数据包,多个数据包中的每一个均包括含有应用层数据的相应净荷;协议解码器,用于根据多个数据包中的一个的应用层数据检测新事务的开始;以及控制单元,用于处理网络会话中在多个数据包中与新事务的开始对应的一个数据包之后的并包括该数据包的多个数据包的应用层数据,而不对在新事务的开始之前的数据包的应用层数据执行有状态处理。
在另一实施例中,一种计算机可读存储介质,以使高可用性机群的备份网络设备的可编程处理器执行以下操作的指令对该计算机可读存储介质进行编码:接收来自高可用性机群的主网络设备的状态更新消息,其中,状态更新消息表示被主网络设备检查的网络会话以及用于该会话的被识别的应用层协议;接收主设备已经切换 或故障切换到备份网络设备的指示;在接收到指示之后,接收网络会话的多个数据包,多个数据包中的每一个均包括含有应用层数据的相应净荷;根据多个数据包中的一个的应用层数据检测新事务的开始;以及处理网络会话中在多个数据包中与新事务的开始对应的一个数据包之后的并包括该数据包的多个数据包的应用层数据,而不对在新事务的开始之前的数据包的应用层数据执行有状态处理。
在另一实施例中,一种方法包括:利用高可用性环境中的主网络设备接收网络会话的多个数据包,多个数据包中的每一个均包括含有应用层数据的相应净荷;根据多个数据包的一个数据包的应用层检测新事务的开始;计算与网络会话的下一事务的第一数据包对应的序列号,其中下一事务在新事务之后;构建包括所算得的序列号的状态更新消息;以及将状态同步消息转发到用于高可用性环境中的主网络设备的备份网络设备。
在另一实施例中,高可用性机群的被配置为以机群模式运行的主网络设备包括:一个或多个网络接口,用于接收网络会话的多个数据包,多个数据包中的每一个均包括含有应用层数据的相应净荷,以及该一个或多个网络接口向用于高可用性机群中的主网络设备的备份网络设备转发状态同步消息;协议解码器模块,用于根据多个数据包中一个数据包的应用层数据检测新事务的开始;以及流管理模块,用于计算与网络会话的下一事务的第一数据包对应的序列号,并构建包括所算得的序列号的状态更新消息,其中,下一事务在新事务之后。
在另一实施例中,一种计算机可读存储介质,以使高可用性机群的主网络设备的可编程处理器执行以下操作的指令对该计算机可读存储介质进行编码:接收网络会话的多个数据包,多个数据包中的每一个数据包均包括含有应用层数据的相应净荷;根据多个数据包的一个数据包的应用层检测新事务的开始;计算与网络会话的下一事务的第一数据包相对应的序列号,其中下一事务在新事务之 后;构建包括所算得的序列号的状态更新消息;以及向用于高可用性环境中的主网络设备的备份网络设备转发状态同步消息。
在另一实施例中,高可用性机群系统包括主网络设备和备份网络设备。主网络设备包括:一个或多个网络接口,用于接收网络会话的第一多个数据包,第一多个数据包中的每一个均包括含有应用层数据的相应净荷,并且该一个或多个网络接口向备份网络设备转发状态同步消息;以及流管理模块,用于根据第一多个数据包中的一个的应用层检测新事务的开始,计算与网络会话的下一事务的第一数据包对应的序列号,并构建包括所算得的序列号的状态更新消息,其中下一事务在新事务之后。备份网络设备包括:一个或多个网络接口,用于接收来自主网络设备的状态更新消息,接收主设备已经切换或故障切换到备份网络设备的指示,以及接收网络会话的第二多个数据包,第二多个数据包中的每一个均包括含有应用层数据的相应净荷;协议解码器模块,用于根据第二多个数据包中的一个的应用层数据检测新事务的开始;以及控制单元,用于处理网络会话中在第二多个数据包中与新事务的开始对应的一个数据包之后的并包括该数据包的第二多个数据包的应用层数据,而不对在新事务的开始之前的数据包的应用层数据执行有状态处理。
本公开的技术可以提供一种或多种优点。例如,本公开的技术提供了一种在高可用性环境中使高可用性IDP设备之间的应用层IDP状态同步的轻便机制,以允许在故障切换之后对现有网络会话继续进行IDP检查。因为主IDP设备和备份网络设备之间所要求的通信是最小的,因此该技术对于可以检查大量(例如,百万)应用层通信会话的系统进行适当调整。因为在主IDP设备和备份IDP设备之间产生应用层IDP状态的同步,所以备份网络设备能够在从主IDP设备切换或故障切换之后对于现有通信会话执行状态深度数据包检查。以这种方式,备份IDP设备能够有状态地处理(例如,检查)在切换或故障切换之后的网络会话中承载的后续应用层事务。
在附图和以下描述中阐述了一个或多个实施例的细节。从描述和附图以及权利要求中,其他特征、目的和优点将变得显而易见。
附图说明
图1是示出示例性系统的框图,在该系统中,对于在源设备和目的设备之间的数据包流,主入侵检测与防御(IDP)设备使应用层IDP状态与备份IDP设备同步;
图2是示出主IDP设备的部件的示例性配置的框图;
图3是示出主IDP设备的状态检查引擎的实施例的框图;
图4是示出主IDP设备的流管理模块的示例性子部件以及主IDP设备的流表中的示例性流表项的框图;
图5是示出用于在接收到新的数据包流时创建新的流表项以及利用新的数据包流的信息更新备份IDP设备的示例性方法的流程图;
图6是示出用于将来自主IDP设备的序列号更新(例如,对应于具有所定义长度的事务的长度编码应用层协议)发送到备份IDP设备的示例性方法的流程图;
图7是示出当通过定界符值区别事务时在主动IDP设备的故障切换之后备份IDP设备变为主动的示例性方法的流程图;以及
图8是示出当事务具有定义事务长度时在主动IDP设备的故障切换之后备份IDP设备变为主动的示例性方法的流程图。
具体实施方式
图1是示出其中主入侵检测与防御(IDP)设备16和备份IDP设备20在计算环境10内提供主动的高可用性IDP服务的实施例的框图。如本文所描述的,主IDP设备16和备份IDP设备20将在源设备12和目的设备24之间流动的被拦截的网络会话的应用层IDP 状态进行同步。通常,主IDP设备16对源设备12和目的设备24之间的数据包流的应用层数据执行有状态检查。源设备12的每一个均可以与一个或多个目的设备24建立应用层通信会话,其中,每个通信会话通常包括源设备和目的设备之间的一对数据包流。
术语“数据包流”是指作为一个源设备12和一个目的设备24之间的应用层网络会话的一部分、源自一个特定的源设备12并发送至一个特定的目的设备24的数据包组,其中,每个流通常由源IP地址、目的IP地址、源端口、目的端口、传输层协议(例如,TCP、UDP等)的五元组来标识。类似地,作为对应的网络会话一部分的、源自一个特定的目的设备24并发送至一个特定的源设备12的数据包组也形成数据包流。在一些环境中,源设备12也被称为“客户端”,目的设备24也被称为“服务器”。通常,网络会话包括在两个设备之间的两条数据包流,每条数据包流均处于相反方向。
在图1的实施例中,源设备12经由网络14耦合至主IDP设备16和备份IDP设备20,并且主IDP设备16和备份IDP设备20经由网络22耦合至目的设备24。在其他实施例中,任一或所有源设备12可以直接或通过类似于网络14的其他网络耦合至主IDP设备16和备份IDP设备20。一般,网络14和网络22通常包括一个或多个网络设备,诸如像路由器、交换机、网桥、网关、集线器或安全设备。主IDP设备16和备份IDP设备20还经由数据链路18耦合。在图1的实施例中,主IDP设备16和备份IDP设备20经由数据链路18直接耦合。然而,在其他实施例中,主IDP设备16和备份IDP设备20经由中间网络设备耦合。
出于说明的目的,假设网络14包括将通信量导向主IDP设备16和/或备份IDP设备20的路由器或交换机。在一个实施例中,在主IDP设备16仍然保持主动时,网络14边缘处的交换机将数据包流导向主IDP设备16。当主IDP设备16切换或故障切换到备份IDP 设备20时,交换机更新转发信息,以使网络通信量导向备份IDP设备20,而不是主IDP设备16。主IDP设备16可以重启、从错误中恢复、被替换、或者以其他方式再次变为主动,在这种情况下,主IDP设备16变为主动且主要的,此后备份IDP设备20回到作为备份而不是主设备的状态。因此,在主IDP设备16再次变为主动之后,交换机再次更新转发信息,以使网络通信量导向主IDP设备16而不是备份IDP设备20。
主IDP设备16和备份IDP设备20形成高可用性机群。因此,以“机群模式”对主IDP设备16和备份IDP设备20进行配置。通常,通过高可用性机群的通信量在主节点(如,主IDP设备16)上建立主动会话,并且主节点在备份节点(如,备份IDP设备20)上建立备份会话,并使主动会话对于备份节点同步。术语“高可用性”通常是指“始终在线”的网络设备或服务,即这些网络设备或服务是可靠的,提供错误检测和可恢复性,以及提供连续的运行。在图1的实施例中,当主IDP设备16遇到错误或者其他情况而离线时,备份IDP设备20作为主IDP设备执行操作。即,在存在使主IDP设备16变为离线的错误或事件的情况下,主IDP设备16故障切换或切换到备份IDP设备20。例如,主IDP设备16可以切换到备份IDP设备20,以执行要求主IDP设备16重启的软件更新。
在一些实施例中,主IDP设备16经由主IDP设备16和备份IDP设备20之间的不同链路向备份IDP设备20发送数据包流的应用层IDP状态数据(例如,同步消息)和控制消息(例如,心跳或保持运行消息)。这些链路可以包括相同物理介质上的独立逻辑链路或独立物理链路。在一些实施例中,备份IDP设备20通过接收周期性保持运行消息来确定主IDP设备16仍然主动。因此,当备份IDP设备20在一定时段之后未接收到来自主IDP设备16的保持运行消息时,备份IDP设备20确定主IDP设备16不再主动,因而备份IDP设备20变为主动,处理主IDP设备16的故障以将预期的保持运行消息作为故障切换事件来发送。
如上所述,主IDP设备16和备份IDP设备20执行源设备12和目的设备24之间的数据包流的应用层数据的有状态检查。即,主IDP设备16运行应用层协议解码器,该解码器处理应用层通信并输出识别应用层事务的事务数据。具体地,事务数据表示两个对等设备之间的一系列相关应用层通信何时开始及结束。然后,主IDP设备16向每个事务应用诸如使用确定性有限自动机(DFA)的签名匹配的入侵检测算法或其他算法,来检测可接受和不可接受的应用层数据。在一些实施例中,主IDP设备16和备份IDP设备20包括用于可被IDP设备检查的每种类型的应用层协议的特定DFA。
在一些实施例中,DFA开始于数据包流的应用的事务的应用层组件的开始状态,使得一旦达到组件的结尾,IDP设备就确定DFA的结尾状态是否对应于接受状态、非威胁状态、攻击状态或表示事务是否代表数据包流为恶意的其他状态。在本文中DFA可被称为“基于应用层组件的DFA”的原因在于,当被应用时,在检测到事务的应用层组件的开始时每个DFA均开始于开始状态,并被配置为在达到正在被处理的应用层数据内的事务的同一应用层组件的完成之前或完成时转变为可接受状态或不可接受状态。
换句话说,被DFA应用的检测算法中的至少一些可以被配置为基于每个事务进行划分,以使应用层事务边界不交叉。这有助于在故障切换到备份IDP设备20后对于现有数据包流的锚定和处理。使用DFA来检测网络攻击在Ma等人于2009年9月28日提交的美国申请第12/568,319号“NETWORK TRAFFIC PATTERN MATCHING USING ADAPTIVE DETERMINISTIC FINITE AUTOMATA”以及Ma等人于2007年4月20日提交的美国申请第11/738,059号“NETWORK ATTACK DETECTION USING PARTIAL DETERMINISTIC FINITE AUTOMATON PATTERN MATCHING”中进行了更详细地讨论,将它们各自的全部内容结合于此作为参考。
主IDP设备16被配置为检测源设备12和目的设备24之间的新通信会话,并且针对每一通信会话,例如使用协议解码器和/或应用识别技术确定用于数据包流的初始数据包的会话检查的应用层协议。实施例应用识别技术在Burns等人于2009年4月29日提交的美国专利申请第12/432,325号“DETECTING MALICIOUS NETWORK SOFTWARE AGENTS”、Yang等人于2007年11月8日提交的美国专利申请第11/937,163号“Multi-layered Application Classification and Decoding”以及Burns等人于2007年8月8日提交的美国专利申请第11/835,923号“Identifying Applications for Intrusion Detection Systems”中进行了讨论,将它们各自的全部内容结合于此作为参考。
通常,主IDP设备16向备份IDP设备20发送相对较少的应用层IDP状态更新消息,而向现有的通信会话(即,在故障切换之前建立的通信会话)以及新会话提供高可用性IDP服务。在一个实施例中,主IDP设备16向备份IDP设备20发送用于诸如创建新网络会话(例如,当主IDP设备16识别出先前未监控的数据包流时)、删除现有网络会话(例如,在检测到关闭的会话消息时)以及阻止现有网络会话(例如,当主IDP设备16确定网络会话或其数据包流为恶意时)的会话事件的应用层IDP状态更新消息。在一些实施例中,例如在所识别的应用层协议为长度编码且具有为限定长度的事务的情况下,主IDP设备16向备份IDP设备20发送每个事务的状态更新,以向备份IDP设备20通知诸如TCP序列号的标记符,并信号通知下一应用层事务何时在数据包流中开始。例如,可通过将当前事务的长度加到当前事务的开始的序列号中(如需要加上其他数据包报头的长度)来计算层四TCP序列号。
一旦识别出用于通信会话的应用层协议,主IDP设备16就向备份IDP设备20发送应用层IDP状态更新消息,以记录新会话。主IDP设备16将识别用于数据包流的应用层协议的动作看作为用 于IDP服务的初始会话事件。此时,主IDP设备16向备份IDP设备20发送识别数据包流并包括与数据包流相关联的应用层协议的识别的状态更新消息。在一些实施例中,在故障切换或切换之后,备份IDP设备20使用由主IDP设备16指定的应用层协议的身份来锚定数据包流的正确的协议解码器,以检测新的应用层事务的开始并触发用于数据包流的更新的应用层IDP服务的开始。例如,假设主IDP设备16确定用于数据包流的应用层协议包括HTTP,则备份IDP设备20可以查找新HTTP请求(例如,GET、HEAD或POST请求)的开始。在故障切换之后,并且在检测到当前事务的结束和新事务的开始之后,备份IDP设备20开始检查与随后的应用层事务相关联的应用层数据。尽管备份IDP设备20可以对在新事务的开始之前的数据包的应用层数据执行一些处理(例如,无状态处理),但备份IDP设备20仅对在新事务之后的并包括该新事务的事务开始有状态处理。
本公开的技术可以防止在切换或故障切换到备份IDP设备20之后重新开始与被主IDP设备16检查的数据包流相关联的网络会话,从而允许IDP设备实现改进的高可用性IDP设备。此外,可以实现高可用性IDP服务,而不需要主IDP设备16向备份IDP设备20复制每个数据包流的每个所接收到的数据包,这种复制会在大规模网络中消耗大量网络和计算资源。在一个实施例中,主IDP设备16向备份IDP设备20通知对于新检测到的通信会话的所识别的应用层协议,并且备份IDP设备20在主IDP设备16切换或故障切换之后,通过锚定现有数据包流的适当的协议解码器并且使攻击检测与新的随后事务的开始同步来开始检查数据包流。在一些实施例中,这些技术还包括:在检测到新的应用层事务之后,主IDP设备16向备份IDP设备20通知TCP序列号或者可用作备份IDP设备预测新事务开始的辅助的其他标记符。
当主IDP设备16检测到当前事务结束时,主IDP设备16经由用于特定数据包流的数据链路18向备份IDP设备20发送应用层IDP状态更新消息。在各个实施例中,以不同的方式来信号通知事务的结束。主要地,通过定界符值的存在(诸如换行字符、移行字符、回车字符或它们的一些组合)或者通过使事务具有特定长度来信号通知事务的结束。换行或移行字符的实施例包括‘\n’和‘0X0A’。回车字符的实施例包括‘\r’和‘0X0D’。其他字符也可以用作定界符以指示事务的结束。通常,根据应用和/或应用层协议来定义指示事务结束的定界符。因此,主IDP设备16和备份IDP设备20被配置为识别与被主IDP设备16和备份IDP设备20识别的应用层协议和应用相对应的定界符。
当通过定界符值来信号通知事务的结束时,主IDP设备16不需要针对每个事务来向备份IDP设备20发送消息。代替地,主IDP设备16可以仅发送针对每个网络会话事件(诸如创建、删除、阻止或应用识别事件)的应用层IDP状态消息。然而,当事务为限定长度时,主IDP设备16向备份IDP设备20通知表示下一事务开始的TCP序列号。具体地,主IDP设备16计算当前事务的第一数据包的TCP序列号、事务长度和不通过由事务的数据包的应用层净荷所表示的数据包报头添加的任何附加长度的总和作为与下一事务相对应的TCP序列号。
当主IDP设备16确定事务的长度时,主IDP设备16构建应用层IDP状态同步消息(其包括与下一事务的开始相对应的序列号),并将该状态同步消息发送给备份IDP设备20。反过来,备份IDP设备20响应于该状态同步消息更新用于数据包流的状态信息。
尽管为了解释的目的主要针对有状态IDP设备进行了描述,但本公开的技术可以应用于其中需要知道序列号的任何主/备份网络元对。例如,诸如入侵检测或入侵防御设备、数据丢失防御设备和网络安全网关的其他安全设备可以执行本公开的技术。作为另一实 施例,被配置为执行统一资源定位符(URL)过滤的设备也可以被配置为执行本公开的技术。通常,利用协议解码器的高可用性配置中的任何设备对可以被配置为执行本公开的技术。
不是仅检查切换或故障切换之后的新会话的新的数据包流,本公开的技术还向备份IDP设备20提供对切换或故障切换之后的现有数据包流的数据包执行有状态检查的能力。具体地,备份IDP设备20使用在切换或故障切换之前从主IDP设备16接收到的应用层IDP状态更新消息,来确定数据包流的新事务何时开始,并且备份IDP设备20开始检查新事务的数据包流和该数据包流的每个随后的事务。
在切换或故障切换之后,备份IDP设备20进入“锚定模式”,在该模式中备份IDP设备20搜索数据包流的下一事务的开始。备份IDP设备20检查数据包流的数据包,以检测表示新事务的定界符或具有TCP序列号等于从主IDP设备16接收到的表示新事务的TCP序列号的数据包。在这两种情况下,备份IDP设备20都试图检测表示当前事务的最后数据包和/或新事务的第一数据包的数据包,以锚定用于数据包流的协议解码器,并开始检查数据包流以确定该数据包流是否代表网络攻击。
通常,数据包流包括多个数据包。多个数据包中的每一个均可以对应于数据包流的特定事务。在一些实施例中,多个数据包中的一个或多个可以对应于用于区分两个事务的定界符。即,数据包流的每个事务之后可以是定界符,以表示该事务和随后事务的差别。在这种实施例中,确定多个数据包中的至少一个对应于新事务的第一数据包包括:确定紧接定界符之后的数据包对应于事务的第一数据包。
可选地,事务可以被限定为包括固定数目的字节,被描述为事务的长度。在一些实施例中,数据包流的每个事务具有相同的长度,而在其他实施例中,每个事务在事务报头中包括描述事务长度的长 度值,例如事务的字节数。在这两种情况下,确定多个数据包中的至少一个对应于事务的第一数据包包括:确定数据包具有等于从主IDP设备16接收到的表示新事务的开始的最大TCP序列号的TCP序列号。可选地,在一些实施例中,主IDP设备16发送包括新事务的第一数据包的TCP序列号以及事务长度的消息,并允许备份IDP设备20计算下一事务的第一数据包的序列号。数据包同步数对应于数据包流的特定字节,因此,事务的第一数据包的同步数和事务的最后数据包的同步数之间的差值对应于事务的长度。以这种方式,可通过计算所接收到数据包的序列号和事务的第一数据包的序列号之间的差值来识别下一事务的第一数据包,并且当该差值等于事务长度时,确定所接收到的数据包为下一事务的第一数据包。
出于解释的目的,针对单个数据包流描述了本公开的技术。然而,应当理解,通常,主IDP设备16检查多个数据包流的数据包。因此,本公开中所描述的技术可以应用于任何数目的数据包流。
图1的系统10可以提供多个优点。例如,主IDP设备16和备份IDP设备20的配置在高可用性环境的示例性系统10中提供了用于同步会话状态以及在从主IDP设备16和备份IDP设备20故障切换或切换之后用于继续网络会话的IDP检查的轻便机制。由于在主IDP设备16和备份IDP设备20之间维持会话同步需要的通信最小化,因此由主IDP设备16和备份IDP设备20实现的技术适当调整用于检查许多数据包流的系统。因为状态同步发生在主IDP设备16和备份IDP设备20之间,所以备份IDP设备20能够在从主IDP设备16切换或故障切换之后执行有状态数据包检查。以这种方式,在切换或故障切换之后,备份IDP设备20能够检查新事务的数据包以及先前由主IDP设备16检查的数据包流的随后数据包。
图2是示出主IDP设备16(图1)的组件的示例性布置的框图。备份IDP设备20可以包括与关于图2描述的那些组件类似的组件。在图2的实施例中,主IDP设备16包括输入网络接口30、控制单 元32、流管理模块34、状态检查引擎28、协议解码器36、转发组件31、输出网络接口38、流表40、备份设备网络接口42和安全管理模块45。尽管在图2的实施例中示出了三个不同的网络接口,但其他实施例可以包括执行属于输入网络接口30、输出网络接口38和/或备份设备网络接口42的功能的单个网络接口。
安全管理模块45呈现用户界面,管理员43通过其来配置主IDP设备16。例如,管理员43可以配置主IDP设备16来监控企业网络的特定子网络。此外,安全管理模块45呈现用户界面,管理员43通过其来指定攻击定义44,其中安全管理模块45将该攻击定义传递到状态检查引擎28。在一个实施例中,攻击定义44包括组合攻击定义。此外,安全管理模块45可以呈现用户界面,管理员43通过其来修改与数据包流特性(诸如用于监控的最高优先级数据包流、用于应用程序的端口绑定或用于确定与数据包流相关联的应用程序和协议的类型的其他特征)有关的假设。
在所示实施例中,主IDP设备16包括转发平面23,其透明地监控入站网络通信量25,并将网络通信量作为出站网络通信量26转发。在图2所示的实施例中,转发平面23包括输入网络接口30、流管理模块34、状态检查引擎28、多个协议解码器36、转发组件31、输出网络接口38和备份设备网络接口42。
主IDP设备16包括执行流管理模块34和协议解码器36的控制单元32。控制单元32可包括用于执行属于控制单元32的功能的硬件、固件和/或软件的任何组合。例如,控制单元32可包括执行存储在计算机可读存储介质中的指令的可编程处理器。主IDP设备16可包括以用于流管理模块34和/或协议解码器36的指令编码的计算机可读存储介质。可选地,流管理模块34和/或协议解码器36可包括分立的硬件单元,诸如数字信号处理器(DSP)、特定用途集成电路(ASIC)、现场可编程门阵列(FPGA)、或者任何其他等效集成的或分立的逻辑电路、或硬件、固件和/或软件的任何组合。
通常,对于经由输入网络接口30接收到的数据包,流管理模块34确定该数据包所属的数据包流以及该数据包流的特性。流管理模块34还将每个数据包流的会话状态更新(例如事件更新、对于长度编码协议的序列号更新,对于特定网络设备、数据包流或网络会话所采取的动作(例如,阻止、速率限制、阻止阻挡时间等)、或其他状态更新)提供给备份IDP设备20。对于每个数据包流,流管理模块34向备份IDP设备20提供针对每个数据包流事件的状态更新。对于对应于长度编码应用层协议的数据包流,主IDP设备16以每个新事务来提供应用层IDP状态更新消息,以识别与下一事务的第一数据包相对应的TCP序列号。
当首先接收到数据包流时,流管理模块34构建包括关于数据包流的信息的状态更新消息,该消息表示新的数据包流已经开始且被主IDP设备16监控。例如,状态更新消息包括诸如五元组{源IP地址、目的IP地址、源端口、目的端口、协议}的信息,并且在一些实施例中,包括如何区分事务的指示(例如,是否使用限定长度事务或定界符来区分事务,使用哪个特定的定界符、事务长度等)。当识别出对应于数据包流的应用时,流管理模块34还发送应用层IDP状态更新消息,其中该消息包括应用的标识。
流管理模块34接收入站通信量25,并识别通信量内的网络流。每个网络流均表示网络通信量内在一个方向上的数据包的流,并且至少被源地址、目的地址和通信协议所标识。流管理模块34可利用包括了源介质存取控制(MAC)地址、目的MAC地址、源端口和目的端口的附加信息来指定网络流。其他实施例可以使用诸如IP地址的其他信息来标识网络流。
流管理模块34将描述网络通信量内存在的每个有效数据包流的数据保持在流表40中。流表40指定与每个有效数据包流相关联的网络元,即,诸如与数据包流相关联的源和目的设备和端口的低级信息。此外,流表40标识共同形成客户端和服务器之间的单个 通信会话的数据包流对或组。例如,流表40可以将通信会话指定为共享至少某些公共网络地址、端口和协议的相反方向上流的数据包流对。
流管理模块34保持流表40,该流表包括被主IDP设备16监控的每个数据包流的参数。如以下关于图4的实施例更详细描述的,在一个实施例中,流表40包括用于每个数据包流的项,其包括诸如数据包流识别信息(诸如五元组{源IP地址、目的IP地址、源端口、目的端口、协议})、对应于数据包流的应用的识别、数据包流是有效还是被阻止以及如何区分事务(例如,是使用定界符还是事务长度)的信息。流表40通常包括被主IDP设备16监控的每个数据包流的项。
当主IDP设备16接收到新的数据包流时,流管理模块34从形成数据包流的三次握手的数据包中提取数据,以在流表40中创建新的项。三次握手通常包括从客户端到服务器的同步(SYN)数据包、从服务器到客户端的同步确认(SYN-ACK)数据包以及从客户端到服务器的确认(ACK)数据包。这些数据包还包括会话信息,诸如用于客户端(SYN数据包中)和服务器(SYN-ACK数据包中)二者的初始序列号。
同样地,主IDP设备16开始检查新的数据包流的数据包,以识别用于数据包流的应用层协议。一旦识别出协议,主IDP设备16就经由备份设备网络接口向备份IDP设备20发送IDP状态更新消息,其中IDP状态更新消息识别新的数据包流,并包括已经被识别为用在数据包的净荷内的应用层协议的识别。通常,区分事务的方式由应用层协议来定义。而在一些实施例中,主IDP设备16使用表示所识别的应用层协议的状态更新消息明确地向备份IDP设备20通知区分事务的方式。在一些实施例中,主IDP设备16在表示所识别协议的状态更新消息中包括区分事务的方式是否包括定界符的使用,在这种情况下,主IDP设备16可进一步指示使用哪个 定界符,或者使用限定长度的事务,在使用限定长度的事务的情况下,主IDP设备16可进一步在状态更新消息中或者每个新事务的单独的消息中指示每个事务的长度。
流管理模块34确定是否使用定界符或固定位/字节长度序列来定义事务。在使用定界符来表示事务之间的分开的实施例中,流管理模块34还确定将哪个定界符应用于被确定为与数据包流相对应的协议。在一些实施例中,流管理模块34针对协议确定区分事务的方式(例如,通过查找诸如换行和回车字符的公共定界符),而在其他实施例中,控制单元32只基于应用层协议识别来确定如何将事务彼此区分开。当用于数据包流的参数改变时,流管理模块34更新对应于该数据包流的项。
备份IDP设备20还包括与流表40类似的本地流表。当流管理模块34确定所接收到的数据包形成新的数据包流的一部分时,流管理模块34经由数据链路18向备份IDP设备20发送从新的数据包流的三次握手数据包提取的信息(例如,数据包流识别5元组)。备份IDP设备20使用从主IDP设备16的流管理模块34接收的数据在本地流表中创建新的数据包流的新项。在一些实施例中,该信息还包括数据包流的初始序列号。当备份IDP设备20从主IDP设备16接收到应用层IDP状态更新时,备份IDP设备20更新备份IDP设备20的本地流表中的相应项。
当主IDP设备16切换或故障切换到备份IDP设备20时,备份IDP设备20开始接收先前由主IDP设备16监控的数据包流的数据包。备份IDP设备20扫描所接收到的数据包流的数据包,以(例如)通过识别由数据包的净荷所承载的应用层数据内的事务定界符来识别数据包流的新应用层事务的开始。在数据包流的应用层事务具有限定字节长度(例如对于长度编码协议)的实施例中,备份IDP设备20确定具有序列号等于来自主IDP设备16的最新状态更新消息的序列号的数据包对应于新事务的第一数据包。当备份IDP设备 20检测到新事务的第一数据包时,备份IDP设备20开始处理新事务以检测数据包流的随后数据包中的攻击。在一些实施例中,备份IDP设备20将不是新应用层事务一部分的数据包流的数据包转发,而不检查这些数据包。在一些实施例中,备份IDP设备20将在新事务之前接收到的数据包丢弃。以这种方式,在切换或故障切换之后,备份IDP设备20开始处于锚定模式,等待新应用层事务的开始,将应用层协议解码器锚定到应用层数据中新事务开始的点,然后切换到攻击检测和防御模式并使用基于应用层组件的DFA扫描随后的事务以试图识别和防御恶意网络通信量。
如下面进一步详细描述的,状态检查引擎28检查数据包流以识别数据包流内的攻击。根据本公开的技术,状态检查引擎28检查数据包流以检测在数据包流的应用层运行的攻击。当状态检查引擎28检测到攻击时,状态检查引擎28执行编程响应,诸如向安全管理模块45发送警报41或者指示转发组件31丢弃数据包流的数据包或结束对应于该数据包流的网络会话。状态检查引擎28还可以对数据包流进行速率限制,即将与所检测到的攻击对应的网络会话抑制到特定的比特率,诸如10Mbit/秒。攻击检测模块52还可以将参与网络会话的至少一个网络设备的标识符记录在流表35中,并阻止源自所记录的标识符的以后的连接请求。即,流管理模块34可以接收连接请求,确定连接请求源自记录在流表40中的标识符,并阻止连接请求。
以这种方式,主IDP设备16可以阻挡来自参与网络会话的网络设备的将来连接请求作为编程响应。转发组件31还可以构建消息以发送至其他网络设备(诸如其他路由器或IDP、IDS或IPS设备),以阻挡或以其他方式响应来自源网络设备的数据包流,其中状态检查引擎28对于该数据包流检测攻击。警报41可包括诸如数据包流的源地址、对应于数据包流的应用的识别、使状态检查引擎28断定特定网络会话为恶意的网络会话的度量计算得到的分数或者关于网络会话的其他信息的详细信息。
除签名之外,主IDP设备16可使用重新组合的TCP段的最小数据尺寸,以识别与数据包流或压缩数据包流相对应的应用。特定应用要求最小的数据量,使得主IDP设备16可以通过确定数据包流是否包含用于所识别的协议的足够数据来区分恶意数据包流。此外,主IDP设备16可以不需要识别每个应用。在一个实施例中,当应用是未知时,主IDP设备16可以仅转发数据包流。然而,其他实施例对未识别的应用采取其他动作,诸如丢弃目标未知应用的所有数据包或者向与未知应用类型相关联的所有数据包流添加默认签名。其他实施例还将本公开的技术应用于诸如用户数据报协议(UDP)的其他协议。因此,主IDP设备16可以要求UDP段的最小数据尺寸,以识别与UDP段相关联的应用。
在一个实施例中,状态检查引擎28包括用于执行应用识别的共处理器。共处理器可以连续地接收数据包流形式的输入,并且可以不断地对数据包流执行应用识别。对于数据包流的每个组块,共处理器可以返回共处理器所识别的应用的身份。
通常,协议解码器36包括一个或多个特定协议软件模块组,其处理应用层通信33并输出识别应用层事务的事务数据39。具体地,事务数据39表示两个对等设备之间的一系列相关应用层通信何时开始和结束。此外,协议解码器将事务分解为应用层元素,攻击签名在其上匹配且检测协议反常。在一个实施例中,一个或多个协议解码器36可以为一般的协议解码器,从而一般的协议解码器试图识别与应用层通信33的净荷相对应的应用。一般的协议解码器的实施例为使应用指纹/签名的预定组与被解码的数据相匹配并基于特定的指纹匹配识别应用的算法。例如,一般的协议解码器可试图识别与HTTP通信的净荷相对应的应用。
多个协议解码器36对应于不同的通信协议或服务。可被协议解码器36支持的通信协议的实施例包括超文本传输协议(HTTP)、文件传输协议(FTP)、网络新闻传输协议(NNTP)、简单邮件传输 协议(SMTP)、远程登录、域名系统(DNS)、Gopher、查找器、邮局协议(POP)、加密套接字协议层(SSL)协议、轻量级目录存取协议(LDAP)、安全外壳(SSH)、服务器信息块(SMB)和其他协议。在一个实施例中,每个协议解码器36均经由通用软件接口(即,以独立于下层传输机制的方式处理应用数据的软件接口)接收数据。以这种方式,当应用于给定的数据包流时,协议解码器可以被交换、重新使用并堆叠(分层)。
在协议解码器36应用于给定的数据包流或单独的数据包之后,协议解码器将事务数据39、应用层元素35和协议异常数据37返回到状态检查引擎28。状态检查引擎28对特定协议应用层元素35和异常数据37应用攻击定义44,以检测和防御网络攻击和其他安全性危险。
在检测到安全性危险的情况下,状态检查引擎28向安全管理模块45输出警报41,以进行存入和进一步分析。此外,状态检查引擎28可以根据策略定义采取附加动作,诸如丢弃与通信会话相关联的数据包,自动关闭通信会话或其他动作。如果对于给定的通信会话未检测到安全性危险,则转发组件31继续在对等设备之间传送数据包流。例如,转发组件31可以保持根据用于传送数据包流的企业网络的拓扑存储路由的路由表。当状态检查引擎28确定仅有一个压缩子数据包或多个压缩子数据包的一个不完整子集对应于恶意网络会话时,转发组件31可以只传送包括不与恶意网络会话相对应的那些子数据包的重新组合的数据包。
主IDP设备16的状态检查引擎28对每个数据包流检查接收到的数据包。例如,状态检查引擎28可以对数据包流内的每个应用层事务执行一个或多个DFA,以确定事务是否对应于网络攻击。通常,DFA的定义被存储在攻击定义44中。攻击定义44(例如)以攻击签名的方式定义对应于正则表达式的一个或多个攻击。通过对数据包流的事务执行DFA,状态检查引擎28确定事务是否呈现攻击。
通常,DFA包括多个状态、输入字母表以及基于特定输入字符定义的从第一状态到第二状态的多个转变。状态检查引擎28的一些实施例利用非确定性有限自动机(NFA),其能够进行状态之间的lambda转变,即,能够进行第一状态和第二状态之间的转变而不需要输入字符。通常,当从初始开始状态开始时,DFA(或NFA)“接受”输入序列,则DFA处理使DFA转变并结束于一个或多个接受状态中的令牌序列。在一些实施例中,DFA的特定接受状态被定义为攻击状态,并且当DFA接受攻击状态下的输入序列时,状态检查引擎28确定包括一个或多个数据包的数据包流为恶意的,而其他接受状态被定义为非恶意接受状态。
当状态检查引擎28根据攻击定义44确定数据包流的一个或多个数据包呈现网络攻击时,状态检查引擎28执行一个或多个编程响应。例如,编程响应可包括丢弃攻击数据包、限制数据包流的速率、关闭与数据包流相关联的网络会话、向网络会话的客户端或服务器(或两者)发送关闭会话消息、阻挡通过客户端或服务器的以后的网络连接请求(永久或限定的时间段)、或者将客户端或服务器的一个或两者的IP地址通知给其他网络设备以使这些网络设备阻挡客户端或服务器的网络会话和/或关闭客户端或服务器的当前网络会话。当攻击检测模块32确定数据包流的数据包未呈现网络攻击时,攻击检测模块32将数据包传送至转发组件31,并且向数据包流的目的地传送数据包。
此外,编程响应对应于数据包流事件,即“阻挡”事件。因此,流管理模块34生成表示相应数据包流、阻挡事件已经发生和进行编程响应的状态更新消息。以这种方式,在切换或故障切换之后,备份IDP设备20能够继续对数据包流实施编程响应。
图3是进一步详细示出主IDP设备16的状态检查引擎28的实施例的框图。在该实施例中,状态检查引擎28包括重组模块50、应用识别模块51、攻击检测模块52、模式表54、数据缓冲器55、异常表56和攻击定义44。
重组模块50接收入站网络通信量25,并通过去除任何下层传输信息(例如,层四(L4)以下的信息)将来自数据包流的应用层通信33重组。重组模块50将重组的应用层通信33发送到应用层识别模块51,应用层识别模块确定用于网络会话的应用,然后将重组的数据发送到合适的协议解码器36以进行处理。
状态检查引擎28存储从安全管理模块45接收到的攻击定义44。例如,攻击定义44可以存储在计算机可读介质中,诸如随机存取存储器(RAM)。每个攻击定义44均指定在模式表54内指定的一个或多个模式以及在异常表56内指定的一个或多个特定协议异常的组合。
当状态检查引擎28接收到作为数据包流的一部分的数据包时,重组模块50将该数据包在数据缓冲器55中缓存。在一个实施例中,数据缓冲器55存储数据作为滑动窗。即,数据缓冲器55存储数据,直到变满或达到识别所指定要求的数据的最小量。当存满时,数据缓冲器55丢弃一些数据,以为存储新数据留出空间。在一个实施例中,数据缓冲器55根据其中所存储的第一数据是在数据缓冲器55变满时要丢弃的第一数据的先入先出(FIFO)协议存储和丢弃数据。在另一实施例中,数据缓冲器55根据其中在数据缓冲器55变满时将丢弃最近使用最少的数据包流以为新数据的存储留出空间的最近使用最少协议丢弃数据。
在一个实施例中,重组模块50根据5元组{源IP地址、目的IP地址、协议、源端口、目的端口}使网络会话的数据包流中的数据包相关联。其他实施例使用其他方法来使数据包与特定的数据包流或压缩数据包流相关联。在一个实施例中,主IDP设备16包括利用虚拟局域网(VLAN)的网络的一部分。因此,重组模块50可以根据VLAN标识符、源地址和目的地址使数据包流中的数据包相关联。
应用识别模块51试图识别与每个被拦截的通信会话相关联的应用。在一个实施方式中,当状态检查引擎28接收作为数据包流的一部分的数据包时,重组模块50将数据包在数据缓冲器55中缓存。重组模块50试图根据数据缓冲器55中的数据包重新构建应用层数据。然后,应用识别模块51根据该重新构建的数据试图识别与数据包相关联的应用。在其他实施方式中,应用识别模块51可以使用其他技术来试图识别与通信会话相关联的应用。
应用识别模块51将来自数据包的数据发送至协议解码器36。当应用识别模块51能够确定与通信会话相关联的应用时,应用识别模块51将来自通信会话的数据发送至相应的一个协议解码器36。当应用识别模块51不能够识别对应于通信会话的应用时,应用识别模块51将来自通信会话的数据发送至协议解码器36的默认协议解码器。
协议解码器36包括用于各种应用层协议的解码器,该各种应用层协议用于提取事务数据39、应用层元素35和协议异常数据37。在一些实施例中,协议解码器36使用定界符或限定长度的事务,来确定对应于各个事务的重新组合应用层数据的部分。此外,当协议解码器36针对限定事务长度的长度编码协议检测到新事务的开始时,协议解码器36信号通知流管理模块34已经检测到新事务以及检测到其中新事务开始的数据包。因此,流管理模块34计算与包括用于下一新事务的开始的数据的数据包相对应的序列号,并将算得的序列号以状态更新消息发送到备份IDP设备20。
攻击检测模块52向从包括各个应用层事务的协议解码器36接收到的应用层元素35和协议异常数据37应用攻击定义44。应用层元素35可包括未压缩数据包流或压缩数据包流(例如,使用层七应用层协议来压缩另一应用层协议的通信会话)的应用层元素。即,攻击检测模块52可检测正常、非压缩网络通信量或压缩数据包流中的网络攻击。对于每个组合攻击定义44,攻击检测模块52选择 模式表52内由组合攻击定义指定的一个或多个模式,并确定应用层元素35的任意一个是否与所定义模式相匹配。每个模式均可被定义为相应的“正则表达式”,其通常是指用于匹配数据内模式的公式。
除确定是否存在所定义的模式之外,攻击检测模块52还可以确定由协议解码器36检测的任何协议异常是否与由攻击定义44指定的协议异常相匹配。当在给定的通信会话内检测到由攻击定义指定的模式和协议异常时,攻击检测模块52确定相应的数据包流与一个攻击定义44相匹配。此外,每个攻击定义44均可以基于每个事务或在通信会话的存在期期间指定是否应用模式匹配和协议异常。
在检测到安全性危险的情况下,状态检查引擎28向安全管理模块45(图2)输出警报41以进行存入和进一步分析。状态检查引擎28还可以指示转发组件31执行对安全危险的编程响应。编程响应可包括自动丢弃与其中检测到网络攻击的应用层通信相关联的数据包流的数据包。状态检查引擎28还可以使转发组件31向恶意网络会话的一个或多个参与者发送关闭会话消息作为编程响应。
图4是示出流表40的示例性流表项60A和流管理模块34的示例性子组件的框图。在图4的实施例中,流管理模块34包括数据包解析器61。当流管理模块34首先接收数据包时,数据包解析器61解析数据包,以确定该数据包是否属于现有的数据包流或者该数据包是否表示新的数据包流。数据包解析器61确定SYN数据包和SYN-ACK数据包表示新的数据包流。即,数据包解析器61检查数据包的TCP报头的SYN标记,以确定数据包是否表示新的数据包流。在一些实施例中,数据包解析器61确定不与流表40的任何项相匹配的、具有5元组{源IP地址、目的IP地址、源端口、目的端口、协议}的数据包也表示新(即,未识别)的数据包流。
当数据包表示新的数据包流时,数据包解析器61提取关于新的数据包流的信息。流管理模块34在流表40中为新的数据包流创建新项,并在新项中存储所提取的信息。通常,流表40包括多个流表项60,但是出于解释的目的在图4中仅示出了一个项(流表项60A)。流表项60A包括代表相应数据包流的数据。在该实施例中,流表项60A包括源IP地址62A、目的IP地址64A、源端口66A、目的端口68A、协议70A、识别应用72A、DFA状态74A、事务结束标识符76A和应用层IDP状态78A的值。
数据包解析器61从新网络会话的初始数据包(例如,形成三次握手以发起新TCP会话的SYN、SYN-ACK和ACK数据包)中提取源IP地址、目的IP地址、源端口、目的端口和协议值。在流表40中创建了表示新的数据包流的新项并将新项的应用层IDP状态78设定为“创建”之后,流管理模块34向备份IDP设备20发送一个或多个消息以指示已经识别出新的数据包流。该消息还包括用于创建新流表项的数据。因此,备份IDP设备20在备份IDP设备20本地的流表中创建表示新的数据包流的项。
当被组合为形成五元组时,源IP地址62A、目的IP地址64A、源端口66A、目的端口68A和协议70A的值识别对应于流表项60A的数据包流。因此,当流管理模块34接收数据包时,数据包解析器61提取数据包的源IP地址、目的IP地址、源端口、目的端口和协议,以确定该数据包对应于流表40的哪个项。一旦为该数据包识别出流表40中的现有项,状态检查引擎28就从流表40的对应项60中提取DFA状态74,使用数据包的应用层数据(通过协议解码器36从数据包提取)执行DFA,并相应地更新DFA状态74的值。
协议解码器36检查每个接收到的数据包,以确定数据包是否表示特定事务(例如,当前事务或新事务或者事务之间的定界符)的一部分。在定界符表示事务之间的分开的实施例中,协议解码器 36确定定界符之后的数据包对应于新事务的数据包。同样地,协议解码器36确定定界符之前的数据包对应于事务的最后一个数据包。在事务由特定的长度(例如,字节的组合数)限定的实施例中,协议解码器36确定具有比先前事务的开始的序列号大一个事务长度的序列号的数据包对应于新事务。在一些实施例中,协议解码器36还确定新事务开始处的应用层元素对于网络会话的应用协议是否有效。例如,对于HTTP,除了查找换行/回车字符之外,协议解码器36还可以确保新事务的开始为GET、POST、HEAD或其他HTTP事务,以确认定界符确实要将事务分开,并且不是先前事务内容的一部分。在使用限定长度的事务的实施例中,一旦检测到新事务,流管理模块34就计算下一事务的序列号,生成包括下一事务的序列号的状态更新消息,并向备份IDP设备20发送该状态更新消息。
如上所讨论的,DFA包括多个状态和基于输入字符的状态之间的转变。状态检查引擎28(图2)将用于当前事务的当前DFA状态记录在DFA状态74A中。因此,在当前事务的随后数据包被接收和处理时,状态检查引擎28处理该数据包的数据并相应地更新DFA状态74A的值。在一些实施例中,状态检查引擎28识别多个不同的DFA。在这种实施例中,状态检查引擎28还在DFA状态74A中记录当前事务所对应的DFA的标识符,例如,作为由{DFA_identifier,DFA_state}表示的元组。
当所接收到的数据包为现有(即,被识别的)数据包流的一部分时,协议解码器36从数据包的应用层净荷中提取一个或多个字符,并将字符传送至状态检查引擎28(图2)。状态检查引擎28从DFA状态74检索当前DFA和当前DFA状态。然后,状态检查引擎28处理从协议解码器36接收到的输入字符,以确定相应DFA中所得的状态,并将DFA状态记录在DFA状态74中。当数据包为事务的最后一个数据包(例如,由协议解码器36确定)时,状态检查引擎28确定最后一个DFA状态是否为“接受”状态(例如, 以确定事务是否表示攻击、错误或可接受的输入序列),并更新DFA状态74以反映DFA开始状态。
当事务被确定为表示攻击时,流管理模块34将流表40的相应项60的应用层IDP状态78的值设定为“阻挡”,并且在一些实施例中,还将对于数据包流、数据包流的源和/或目的所做出的一个或多个编程响应记录在流表40的对应流表项60的应用层IDP状态78中。如上所讨论的,流管理模块34还生成表示数据包流已经被阻挡的状态更新消息,以及已经对于数据包流、源和/或目的做出的一个或多个编程响应。
图5是示出用于在接收到新的数据包流时创建新流表项的示例性方法的流程图。首先,主IDP设备16接收表示新的数据包流的数据包(100)。通常,主IDP设备16在接收到从客户端(例如,一个源设备12(图1))去往服务器(例如,一个目的设备24(图1))的数据包流的SYN数据包时,确定该数据包流为新的数据包流。主IDP设备16还响应于SYN数据包从服务器接收SYN-ACK数据包,并响应于SYN-ACK数据包从客户端接收ACK数据包。通常,SYN、SYN-ACK和ACK数据包被称为三次握手数据包。应当注意,SYN数据包和SYN-ACK数据包属于不同的数据包流,但属于同一网络会话。主IDP设备16使用每个数据包流的源和目的IP地址、源和目的端口号以及协议将两个数据包流与同一网络会话相关联。
具体地,数据包解析器61解析所接收到的数据包,以确定是否设定了这些数据包的SYN和/或ACK标记。数据包解析器61确定具有SYN和/或ACK标记组的数据包为新网络会话的各个新的数据包流的三次握手数据包。数据包解析器61解析三次握手数据包,以为与三次握手数据包相关联的数据包流确定包括源IP地址和源端口的数据包流的源、包括目的IP地址和目的端口的数据包流的目的地以及数据包流的识别协议(102)。在识别出新的数据包流的该 信息之后,流管理模块34构建流表40的新项60,以记录所识别的5元组并将应用层IDP状态设定为“创建”(104)。流管理模块34还构建包括5元组的状态更新消息,并将状态更新消息发送到备份IDP设备20(106),备份IDP设备在备份IDP设备20的本地流表中构建类似的新项。
接下来,主IDP设备16执行应用识别处理,以为数据包流确定应用层协议(108)。在一些实施例中,确定应用层协议还包括:执行应用识别以识别对应于该数据包流的应用,例如网络浏览器、电子邮件客户、FTP(文件传输协议)客户、对等文件共享客户或其他网络应用。主IDP设备16还确定如何区分该数据包流的事务(110)。在一些实施例中,所确定的应用层协议本身定义了如何区分事务,例如,事务是否是使用换行、移行和/或回车字符来定界的,还是该事务是否为限定的长度的,例如对于二进制协议。
事务区分类型对应于定界符或事务长度中的至少一个,并且被确定为应用层协议的因数以及对应于数据包流的被识别的应用,该应用层协议被确定为对应于数据包流。当事务区分类型对应于定界符时,流管理模块34还确定使用何定界符(例如换行字符、回车字符等)来分开事务。当事务区分类型对应于事务长度时,流管理模块34还确定事务的长度,例如字节数。在一些实施例中,每个事务具有相同的长度,而在其他实施例中,每个事务的长度都是动态的且是具有信号的,如具有事务报头。在任何情况下,在识别出应用层协议和事务区分类型之后,流管理模块34为数据包流更新流表40中的相应流表项60,以指示所识别的应用层协议和事务区分类型(112)。
流管理模块34还为备份IDP设备20创建包括所识别的应用层协议和事务区分类型的状态更新消息,并通过数据链路18经由备份设备网络接口42将该状态更新消息发送到备份IDP设备20(114)。然后,协议解码器36开始检查新的数据包流的数据包的应用层数据(116)。
图6是示出对于具有长度编码应用层协议的数据包流从主IDP设备16向备份IDP设备20发送状态更新的示例性方法的流程图。首先,主IDP设备16接收现有(识别)数据包流的数据包(120)。然后,流管理模块34检查该数
据包以检索TCP信息,并基于从该数据包中检索到的信息更新流表40中对应于该数据包流的流表项(122)。例如,数据包解析器61提取当前序列号,并且流管理模块34更新流表40的对应流表项60中的事务结束标识符值76的值,以反映当前序列号值。
然后,协议解码器36确定数据包是否表示当前事务已经完成(124)。即,协议解码器36通过确定数据包的序列号是否与先前确定的对应于下一事务的第一数据包的序列号相匹配来确定数据包是否对应于下一事务的第一数据包。
当流管理模块34确定事务长度值是可用(例如,可以被确定或已经明确定义)时(124的“是”分支),流管理模块34为数据包流构建包括下一事务的序列号的状态更新消息,并通过数据链路18经由备份设备网络接口42将该状态更新消息发送到备份IDP设备20(126)。具体地,主IDP设备16基于当前序列号和当前事务的长度计算对应于该数据包流的下一事务的序列号。状态更新消息包括与下一事务的第一数据包的更新(例如,数据包流的5元组{源IP地址、目的IP地址、源端口、目的端口、协议})和序列号相关联的数据包流的识别。
在从主IDP设备16接收到序列号更新之后(128),备份IDP设备20更新与数据包流相关联的TCP信息(130)。当备份IDP设备20接收到更新消息时,备份IDP设备20识别备份IDP设备20的本地流表中对应于与更新消息(例如,使用5元组{源IP地址、目的IP地址、源端口、目的端口、协议})相关联的数据包流的项,并更新本地流表项的信息。具体地,备份IDP设备20更新本地流表中用于下一事务的序列号。主IDP设备16还检查数据包以确定 该数据包是否表示网络攻击(132)。在一些实施例中,在检查是否完成事务之前发生数据包检查。
当没有发生切换或故障切换时(134的“否”分支),主IDP设备16等待另一数据包,然后重复上述步骤。然而,当发生切换或故障切换时,备份IDP设备20变得主动来作为主IDP设备。然后,备份IDP设备20等待新事务的开始,扫描数据包流的数据包,直到识别出新事务(136)。具体地,由于图6的方法对应于使用限定长度的事务的实施例,所以备份IDP设备20确定当前数据包的序列号是否等于从主IDP设备16接收到的最后状态更新消息中的序列号。当所接收到数据包的序列号等于最后的状态更新消息时,用作主IDP设备的备份IDP设备20开始检查数据包流(138)。
图7是示出当使用定界符来区分事务时在从主IDP设备16切换或故障切换之后,备份IDP设备20开始数据包流的有状态检查的示例性方法的流程图。首先,作为切换的结果,备份IDP设备20变为主动(150)。备份IDP设备20可以按照多种方式确定已经发生切换或故障切换。在各个实施例中,在来自主IDP设备16使其变为主动的指令之后或者当备份IDP设备20在预期的时间段内未接收到来自主IDP设备16的保持运行消息时,备份IDP设备20就变为主动。
在任何情况下,在备份IDP设备20变为主动之后,备份IDP设备20开始接收先前由主IDP设备16检查的数据包流的数据包(152)。对于所接收到的数据包流的数据包,备份IDP设备20确定该数据包是否包括定界符(例如,换行字符或回车字符)(154)。当该数据包不包括定界符时(154的“否”分支),备份IDP设备20传送数据包(156),并接收数据包流的下一数据包(158)。然后,备份IDP设备20再次确定下一数据包是否包括定界符(154)。
备份IDP设备20继续步骤154-158表示的循环,直到所接收到的数据包含有定界符(154的“是”分支)。在一些实施例中,备 份IDP设备20还执行检查以确认定界符之后的应用层元素与新事务一致,确认定界符不是意指先前事务的一部分而是确实要表示事务的结束和新事务的开始。一旦接收到这种数据包,备份IDP设备20就在表示新事务的开始状态处开始数据包流的新事务的状态检查(160)。具体地,备份IDP设备20基于由来自主IDP设备16的状态更新消息表示的识别的应用或应用层协议选择DFA,并在新事务的开始处锚定DFA。然后,备份IDP设备20开始数据包流的数据包的应用层检查(162)。
图8是示出当事务具有限定长度来区分事务时,在从主IDP设备16的切换或故障切换之后,备份IDP设备20开始数据包流的有状态检查的另一示例性方法的流程图。首先,作为切换的结果,备份IDP设备20变为主动(180)。如上所述,备份IDP设备20可以按照多种方式确定已经发生切换或故障切换。
在备份IDP设备20变为主动之后,备份IDP设备20开始接收先前由主IDP设备16检查的数据包流的数据包(182)。假设备份IDP设备20已经预先接收到来自主IDP设备16的表示数据包流的下一事务的第一数据包的序列号的状态更新消息。因此,备份IDP设备20检查数据包流的每个数据包的序列号,以确定该序列号是否与所接收到的下一事务的序列号相匹配(184)。如果为否(184的“否”分支),则备份IDP设备20传送数据包(186),并等待数据包流的下一数据包的接收(188)。
备份IDP设备20继续步骤184-188表示的循环,直到所接收的数据包具有的序列号等于下一事务的第一数据包的序列号(186的“是”分支)。一旦接收到这种数据包,备份IDP设备20就在表示新事务的开始状态处开始对数据包流的新事务进行有状态检查(190)。具体地,备份IDP设备20基于由来自主IDP设备16的状态更新消息所指示的被识别的应用或应用层协议选择DFA,并在新事务的开始处锚定DFA。然后,备份IDP设备20开始数据包流的数据包的有状态检查(192)。
尽管出于示例性目的,大体上是针对入侵检测与防御设备进行了描述,但应当理解,本公开的技术可以在高可用性机群中的任何有状态主和备份设备对(即,以机群模式配置的了解会话状态的任意两个网络设备)中实施。例如,其他有状态安全设备(例如,防火墙、入侵检测系统、入侵防御系统、数据丢失防止(DLP)系统、网络安全网关和包括执行有状态数据包检查的安全卡的可扩展设备(诸如路由器和网关))可以被配置为执行本公开的技术。此外,高可用性环境中的非安全设备也可以被配置为执行本公开的技术。例如,以机群模式配置的用于提供高可用性的URL过滤设备可以被配置为实施本公开的技术。非安全设备的其他实施例包括通信量监控系统、应用性能管理系统和合法拦截系统。
作为“主”和“备份”(或“主动”和“被动”)的设备的描述应当被理解为表示特定设备是主动地还是被动地监控特定数据包流的通信量。被指定为“主”或“备份”的设备不是必须表示该设备对于所有数据包流都是“主”或“备份”的。在一些布置中,被称为“主动/被动”布置,相对于所有数据包流,一个设备为主动的或主要的,而另一设备是被动或备份的,并且在故障切换之后,被动设备变为主动。另一方面,在其他布置中,被称为“主动/主动”布置,第一设备相对于第一多个数据包流是主动的,第二设备相对于第二多个数据包流是主动的,第一设备相对于第二多个数据包流是被动的,以及第二设备相对于第一多个数据包流是被动的。以这种方式,第一设备和第二设备均相对于至少一个数据包流为主动,相对于至少一个数据包流为被动,并且第一设备和第二设备为彼此提供备份。本公开的技术通常可应用于主动/被动布置和主动/主动布置。
本公开中所描述的技术至少部分可在硬件、软件、固件或它们的任意组合中实施。例如,所描述的技术的多个方面可以在一个或多个处理器(包括一个或多个微处理器、数字信号处理器(DSP)、 特定用途集成电路(ASIC)、现场可编程门阵列(FPGA)、或任何其他等效集成或分立逻辑电路,以及这些组件的任何组合)中实施。术语“处理器”或“处理电路”通常是指前述逻辑电路单独的或与其他逻辑电路组合、或者任何其他等效电路中的任意一种。包括硬件的控制单元也可以执行本公开的一项或多项技术。
这种硬件、软件或固件可以实现在同一设备内或不同设备内,以支持本公开所描述的各种操作和功能。此外,任何所描述的单元、模块或组件可以组合实施或者作为分立但能共同操作的逻辑设备而独立实施。作为模块或单元的不同部件的描述意指强调不同的功能方面,但是不是必须表示这种模块或单元必须通过独立的硬件或软件组件来实现。更确切地,与一个或多个模块或单元相关联的功能可以通过独立的硬件或软件组件来执行,或者集成在共用的或独立的硬件或软件组件中。
本公开所描述的技术还可以并入或编码到包含指令的计算机可读介质中,诸如计算机可读存储介质。并入或编码到计算机可读介质中的指令可以使可编程处理器或其他处理器执行该方法(例如,在执行指令时)。计算机可读存储介质可包括随机存取存储器(RAM)、只读存储器(ROM)、可编程只读存储器(PROM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、闪存、硬盘驱动器、CD-ROM、软盘、磁带、磁性介质、光学介质或其他计算机可读存储介质。应当理解,术语“计算机可读存储介质”是指物理存储介质,而不是信号或载波,但是术语“计算机可读介质”可包括除物理存储介质之外的诸如信号的瞬时介质。
已经描述了多个实施例。这些和其他实施例都落在以下权利要求的范围内。
Claims (17)
1.一种用于实现高可用性入侵检测与防御的方法,包括:
利用高可用性机群的备份网络设备接收来自所述高可用性机群的主网络设备的状态更新消息,其中,所述状态更新消息表示被所述主网络设备检查的网络会话以及用于所述网络会话的被识别的应用层协议;
利用所述备份网络设备接收所述主设备已经切换或故障切换到所述备份网络设备的指示;
在接收到所述指示之后,利用所述备份网络设备接收所述网络会话的多个数据包,所述多个数据包中的每一个数据包均包括包含应用层数据的相应净荷;
根据所述多个数据包中的一个数据包的应用层数据检测新事务的开始;以及
处理包括所述新事务的开始以及在所述新事务的开始之后的所述网络会话的应用层数据,而不对所述新事务的开始之前的应用层数据执行有状态处理。
2.根据权利要求1所述的方法,其中,所述检测新事务的开始包括:确定所述应用层数据包括紧接在所述新事务的开始之前的定界符值。
3.根据权利要求2所述的方法,其中,所述定界符值包括换行字符、移行字符和回车字符中的至少一个。
4.根据权利要求1所述的方法,还包括:在所述主设备已经切换或故障切换的所述指示之前,利用所述备份网络设备接收表示所述网络会话的下一事务的序列号的状态更新消息,其中,所述检测新事务的开始包括:
确定所述多个数据包中的一个数据包的序列号;
将所述多个数据包中的所述一个数据包的序列号与来自所述状态更新消息的下一事务的序列号进行比较;以及
当所述多个数据包中的所述一个数据包的序列号与来自所述状态更新消息的下一事务的序列号相匹配时,确定所述多个数据包中的所述一个数据包包括所述新事务的开始。
5.根据权利要求1所述的方法,其中,处理所述数据包包括:检查所述网络会话的应用层数据,以确定所述应用层数据的任意部分是否对应于网络攻击。
6.一种高可用性机群的备份网络设备,所述备份网络设备被配置为以机群模式运行,所述备份网络设备包括:
一个或多个网络接口,用于接收来自所述备份网络设备的高可用性机群的主网络设备的状态更新消息,其中,所述状态更新消息表示正被所述主网络设备检查的网络会话以及用于所述网络会话的被识别的应用层协议,所述一个或多个网络接口用于接收所述主设备已经切换或故障切换到所述备份网络设备的指示,以及所述一个或多个网络接口用于在接收到所述指示之后接收所述网络会话的多个数据包,所述多个数据包中的每一个数据包均包括包含应用层数据的相应净荷;
协议解码器,用于根据所述多个数据包中的一个数据包的应用层数据检测新事务的开始;以及
控制单元,处理包括所述新事务的开始以及所述新事物的开始之后的网络会话的应用层数据,而不对所述新事务的开始之前的应用层数据执行有状态处理。
7.根据权利要求6所述的备份网络设备,其中,为了检测所述新事务的开始,所述协议解码器确定所述应用层数据是否包括紧接在所述新事务的开始之前的定界符值。
8.根据权利要求7所述的备份网络设备,其中,所述定界符值包括换行字符、移行字符和回车字符中的至少一个。
9.根据权利要求6所述的备份网络设备,
其中,在所述主设备已经切换或故障切换的所述指示之前,所述一个或多个网络接口接收表示所述网络会话的下一事务的序列号的状态更新消息,以及
其中,为了检测新事务的开始,所述协议解码器确定所述多个数据包中的一个数据包的序列号,将所述多个数据包中的所述一个数据包的序列号与来自所述状态更新消息中的下一事务的序列号进行比较,并且当所述多个数据包中的所述一个数据包的序列号与来自所述状态更新消息中的下一事务的序列号相匹配时,确定所述多个数据包中的所述一个数据包包括新事务。
10.根据权利要求6所述的备份网络设备,还包括:攻击检测模块,用于处理所述数据包,其中,所述攻击检测模块检查所述网络会话的所述应用层数据,以确定所述应用层数据的任意部分是否对应于网络攻击。
11.一种用于实现高可用性入侵检测与防御的方法,包括:
利用高可用性环境中的主网络设备接收网络会话的多个数据包,所述多个数据包中的每一个数据包均包括包含应用层数据的相应净荷;
根据所述多个数据包中的一个数据包的应用层数据检测新事务的开始;
计算对应于所述网络会话的下一事务的第一数据包的序列号,其中,所述下一事务在所述新事务之后;
构建包括所算出的序列号的状态更新消息;以及
向用于所述高可用性环境中的所述主网络设备的备份网络设备发送状态同步消息。
12.根据权利要求11所述的方法,其中,检测新事务的开始包括:
在接收所述新事务的第一数据包之前,计算所述新事务的第一数据包的序列号;
将所述多个数据包中的一个数据包的序列号与为所述新事务的第一数据包所算出的序列号进行比较;以及
确定所述多个数据包中的一个数据包的序列号与为所述新事务的第一数据包所算出的序列号相匹配。
13.根据权利要求11所述的方法,还包括:
利用所述主网络设备检查所述网络会话的所述应用层数据,以确定所述应用层数据的任意部分是否表示网络攻击;以及
从所述主网络设备切换或故障切换到所述备份网络设备。
14.一种高可用性机群的主网络设备,所述主网络设备被配置为以机群模式运行,所述主网络设备包括:
一个或多个网络接口,用于接收网络会话的多个数据包,所述多个数据包中的每一个数据包均包括包含应用层数据的相应净荷,以及所述一个或多个网络接口向用于所述高可用性机群中所述主网络设备的备份网络设备发送状态同步消息;
协议解码器模块,根据所述多个数据包的一个数据包的应用层数据检测新事务的开始;以及
流管理模块,计算对应于所述网络会话的下一事务的第一数据包的序列号,并构建包括所算出的序列号的状态更新消息,其中,所述下一事务在所述新事务之后。
15.根据权利要求14所述的主网络设备,其中,所述主网络设备包括主入侵检测与防御(IDP)设备。
16.一种高可用性机群系统,包括:
主网络设备;以及
备份网络设备,
其中,所述主网络设备包括:
一个或多个网络接口,接收网络会话的第一多个数据包,并向所述备份网络设备发送状态同步消息,其中,所述第一多个数据包中的每一个数据包均包括包含应用层数据的相应净荷;以及
流管理模块,根据所述第一多个数据包中的一个数据包的应用层数据检测新事务的开始,计算对应于所述网络会话的下一事务的第一数据包的序列号,以及构建包括所算出的序列号的状态更新消息,其中,所述下一事务在所述当前事务之后;以及
其中,所述备份网络设备包括:
一个或多个网络接口,接收来自所述主网络设备的状态更新消息,接收所述主设备已经切换或故障切换到所述备份网络设备的指示,以及接收所述网络会话的第二多个数据包,所述第二多个数据包中的每一个数据包均包括包含应用层数据的相应净荷;
协议解码器模块,根据所述第二多个数据包中的一个数据包的应用层数据检测新事务的开始;以及
控制单元,处理包括所述下一事务的开始以及在所述下一事务的开始之后的所述网络会话的所述第二多个数据包的应用层数据,而不对所述下一事务的开始之前的所述第二多个数据包的应用层数据执行有状态处理。
17.根据权利要求16所述的高可用性机群系统,其中所述主网络设备包括第一入侵检测与防御(IDP)设备,其中所述备份网络设备包括第二IDP设备。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/684,725 | 2010-01-08 | ||
US12/684,725 US8291258B2 (en) | 2010-01-08 | 2010-01-08 | High availability for network security devices |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102123076A CN102123076A (zh) | 2011-07-13 |
CN102123076B true CN102123076B (zh) | 2014-04-30 |
Family
ID=43881222
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010503151.0A Active CN102123076B (zh) | 2010-01-08 | 2010-10-09 | 网络安全设备的高可用性 |
Country Status (3)
Country | Link |
---|---|
US (2) | US8291258B2 (zh) |
EP (2) | EP3823244B1 (zh) |
CN (1) | CN102123076B (zh) |
Families Citing this family (150)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7634584B2 (en) | 2005-04-27 | 2009-12-15 | Solarflare Communications, Inc. | Packet validation in virtual network interface architecture |
US20110238402A1 (en) | 2010-03-23 | 2011-09-29 | Fujitsu Limited | System and methods for remote maintenance in an electronic network with multiple clients |
CN102870392B (zh) * | 2010-04-30 | 2016-07-13 | 交互数字专利控股公司 | 网络通信中的轻量协议和代理 |
US8799422B1 (en) | 2010-08-16 | 2014-08-05 | Juniper Networks, Inc. | In-service configuration upgrade using virtual machine instances |
US9143386B1 (en) * | 2010-09-27 | 2015-09-22 | Sprint Communications Company L.P. | Remote keep-alive message management in a wireless communication network |
US8565108B1 (en) * | 2010-09-28 | 2013-10-22 | Amazon Technologies, Inc. | Network data transmission analysis |
EP2628279A4 (en) * | 2010-10-15 | 2017-11-08 | Nec Corporation | Communication system, control device, node, processing rule setting method and program |
US20120124431A1 (en) * | 2010-11-17 | 2012-05-17 | Alcatel-Lucent Usa Inc. | Method and system for client recovery strategy in a redundant server configuration |
US8868744B2 (en) * | 2010-11-24 | 2014-10-21 | International Business Machines Corporation | Transactional messaging support in connected messaging networks |
US8499348B1 (en) * | 2010-12-28 | 2013-07-30 | Amazon Technologies, Inc. | Detection of and responses to network attacks |
US8776207B2 (en) | 2011-02-16 | 2014-07-08 | Fortinet, Inc. | Load balancing in a network with session information |
US9398033B2 (en) | 2011-02-25 | 2016-07-19 | Cavium, Inc. | Regular expression processing automaton |
WO2013020003A1 (en) | 2011-08-02 | 2013-02-07 | Cavium, Inc. | Packet classification by an optimised decision tree |
US9021459B1 (en) | 2011-09-28 | 2015-04-28 | Juniper Networks, Inc. | High availability in-service software upgrade using virtual machine instances in dual control units of a network device |
US8806266B1 (en) | 2011-09-28 | 2014-08-12 | Juniper Networks, Inc. | High availability using full memory replication between virtual machine instances on a network device |
US9746907B2 (en) * | 2011-11-01 | 2017-08-29 | Qualcomm Incorporated | Secure wakeup for computer systems over a network |
US9203805B2 (en) * | 2011-11-23 | 2015-12-01 | Cavium, Inc. | Reverse NFA generation and processing |
CN102594623B (zh) | 2011-12-31 | 2015-07-29 | 华为数字技术(成都)有限公司 | 防火墙的数据检测方法及装置 |
US8776235B2 (en) | 2012-01-10 | 2014-07-08 | International Business Machines Corporation | Storage device with internalized anti-virus protection |
CN103534999B (zh) * | 2012-01-21 | 2016-07-13 | 华为技术有限公司 | 报文转发的方法及装置 |
WO2013158920A1 (en) * | 2012-04-18 | 2013-10-24 | Nicira, Inc. | Exchange of network state information between forwarding elements |
US9183163B2 (en) | 2012-06-27 | 2015-11-10 | Ubiquiti Networks, Inc. | Method and apparatus for distributed control of an interfacing-device network |
US8943489B1 (en) * | 2012-06-29 | 2015-01-27 | Juniper Networks, Inc. | High availability in-service software upgrade using virtual machine instances in dual computing appliances |
CN102821100B (zh) * | 2012-07-25 | 2014-10-29 | 河南省信息中心 | 一种基于网络应用层安全网关的流文件系统实现方法 |
US9043914B2 (en) | 2012-08-22 | 2015-05-26 | International Business Machines Corporation | File scanning |
CN103685144A (zh) * | 2012-08-31 | 2014-03-26 | 中兴通讯股份有限公司 | 一种媒体流传输方法及装置 |
US9191399B2 (en) * | 2012-09-11 | 2015-11-17 | The Boeing Company | Detection of infected network devices via analysis of responseless outgoing network traffic |
US10332005B1 (en) * | 2012-09-25 | 2019-06-25 | Narus, Inc. | System and method for extracting signatures from controlled execution of applications and using them on traffic traces |
JP6508631B2 (ja) | 2012-10-17 | 2019-05-08 | タワー−セク・リミテッド | 輸送手段への攻撃の検出および防止のためのデバイス |
CN103841139B (zh) * | 2012-11-22 | 2018-02-02 | 深圳市腾讯计算机系统有限公司 | 传输数据的方法、装置和系统 |
CN102938771B (zh) * | 2012-12-05 | 2016-04-06 | 山东中创软件商用中间件股份有限公司 | 一种网络应用防火墙的方法和系统 |
CN103001832B (zh) * | 2012-12-21 | 2016-02-10 | 曙光信息产业(北京)有限公司 | 分布式文件系统中节点的检测方法和装置 |
US10452284B2 (en) * | 2013-02-05 | 2019-10-22 | International Business Machines Corporation | Storage system based host computer monitoring |
US9286047B1 (en) | 2013-02-13 | 2016-03-15 | Cisco Technology, Inc. | Deployment and upgrade of network devices in a network environment |
US8626912B1 (en) * | 2013-03-15 | 2014-01-07 | Extrahop Networks, Inc. | Automated passive discovery of applications |
US8867343B2 (en) * | 2013-03-15 | 2014-10-21 | Extrahop Networks, Inc. | Trigger based recording of flows with play back |
CN103457927B (zh) * | 2013-03-29 | 2018-01-09 | 深圳信息职业技术学院 | 一种病毒防护的无线基站 |
US10742604B2 (en) * | 2013-04-08 | 2020-08-11 | Xilinx, Inc. | Locked down network interface |
US9215129B2 (en) * | 2013-04-11 | 2015-12-15 | International Business Machines Corporation | Automatically constructing protection scope in a virtual infrastructure |
US20160157280A1 (en) * | 2013-04-24 | 2016-06-02 | Telefonaktiebolaget L M Ericsson (Publ) | Signalling reduction for ip traffic in wireless networks |
US9794275B1 (en) | 2013-06-28 | 2017-10-17 | Symantec Corporation | Lightweight replicas for securing cloud-based services |
US9426165B2 (en) | 2013-08-30 | 2016-08-23 | Cavium, Inc. | Method and apparatus for compilation of finite automata |
US9507563B2 (en) | 2013-08-30 | 2016-11-29 | Cavium, Inc. | System and method to traverse a non-deterministic finite automata (NFA) graph generated for regular expression patterns with advanced features |
US9426166B2 (en) | 2013-08-30 | 2016-08-23 | Cavium, Inc. | Method and apparatus for processing finite automata |
US9419943B2 (en) | 2013-12-30 | 2016-08-16 | Cavium, Inc. | Method and apparatus for processing of finite automata |
US9544402B2 (en) | 2013-12-31 | 2017-01-10 | Cavium, Inc. | Multi-rule approach to encoding a group of rules |
US9275336B2 (en) | 2013-12-31 | 2016-03-01 | Cavium, Inc. | Method and system for skipping over group(s) of rules based on skip group rule |
US9667446B2 (en) | 2014-01-08 | 2017-05-30 | Cavium, Inc. | Condition code approach for comparing rule and packet data that are provided in portions |
US9602532B2 (en) | 2014-01-31 | 2017-03-21 | Cavium, Inc. | Method and apparatus for optimizing finite automata processing |
US9904630B2 (en) | 2014-01-31 | 2018-02-27 | Cavium, Inc. | Finite automata processing based on a top of stack (TOS) memory |
US9154460B1 (en) * | 2014-02-12 | 2015-10-06 | Sonus Networks, Inc. | Methods and apparatus for denial of service resistant policing of packets |
US10110558B2 (en) | 2014-04-14 | 2018-10-23 | Cavium, Inc. | Processing of finite automata based on memory hierarchy |
US10002326B2 (en) | 2014-04-14 | 2018-06-19 | Cavium, Inc. | Compilation of finite automata based on memory hierarchy |
US9438561B2 (en) | 2014-04-14 | 2016-09-06 | Cavium, Inc. | Processing of finite automata based on a node cache |
US9602422B2 (en) * | 2014-05-05 | 2017-03-21 | Nicira, Inc. | Implementing fixed points in network state updates using generation numbers |
CN106664247B (zh) * | 2014-08-19 | 2020-06-02 | 日本电气株式会社 | 通信装置、通信系统和通信方法 |
CN105636086A (zh) * | 2014-10-28 | 2016-06-01 | 中兴通讯股份有限公司 | 网络模式切换处理方法、装置及终端 |
WO2016113911A1 (ja) * | 2015-01-16 | 2016-07-21 | 三菱電機株式会社 | データ判定装置、データ判定方法及びプログラム |
US9628504B2 (en) | 2015-03-09 | 2017-04-18 | International Business Machines Corporation | Deploying a security appliance system in a high availability environment without extra network burden |
US9923760B2 (en) | 2015-04-06 | 2018-03-20 | Nicira, Inc. | Reduction of churn in a network control system |
US9338147B1 (en) | 2015-04-24 | 2016-05-10 | Extrahop Networks, Inc. | Secure communication secret sharing |
WO2016172926A1 (zh) * | 2015-04-30 | 2016-11-03 | 华为技术有限公司 | 通信系统中的通信方法和设备及系统 |
US10374904B2 (en) | 2015-05-15 | 2019-08-06 | Cisco Technology, Inc. | Diagnostic network visualization |
US9825954B2 (en) * | 2015-05-26 | 2017-11-21 | Holonet Security, Inc. | Stateful user device identification and binding for cloud application security |
US9800497B2 (en) | 2015-05-27 | 2017-10-24 | Cisco Technology, Inc. | Operations, administration and management (OAM) in overlay data center environments |
US10142353B2 (en) | 2015-06-05 | 2018-11-27 | Cisco Technology, Inc. | System for monitoring and managing datacenters |
US9967158B2 (en) | 2015-06-05 | 2018-05-08 | Cisco Technology, Inc. | Interactive hierarchical network chord diagram for application dependency mapping |
US10536357B2 (en) | 2015-06-05 | 2020-01-14 | Cisco Technology, Inc. | Late data detection in data center |
US10033766B2 (en) * | 2015-06-05 | 2018-07-24 | Cisco Technology, Inc. | Policy-driven compliance |
US10089099B2 (en) | 2015-06-05 | 2018-10-02 | Cisco Technology, Inc. | Automatic software upgrade |
CN106330988B (zh) * | 2015-06-16 | 2020-01-03 | 阿里巴巴集团控股有限公司 | 一种超文本传输请求的补发方法、装置及客户端 |
US10204122B2 (en) | 2015-09-30 | 2019-02-12 | Nicira, Inc. | Implementing an interface between tuple and message-driven control entities |
US9973394B2 (en) * | 2015-09-30 | 2018-05-15 | Netapp Inc. | Eventual consistency among many clusters including entities in a master member regime |
US10735438B2 (en) * | 2016-01-06 | 2020-08-04 | New York University | System, method and computer-accessible medium for network intrusion detection |
US10204211B2 (en) | 2016-02-03 | 2019-02-12 | Extrahop Networks, Inc. | Healthcare operations with passive network monitoring |
US9960952B2 (en) * | 2016-03-17 | 2018-05-01 | Ca, Inc. | Proactive fault detection and diagnostics for networked node transaction events |
US11019167B2 (en) | 2016-04-29 | 2021-05-25 | Nicira, Inc. | Management of update queues for network controller |
US10104119B2 (en) * | 2016-05-11 | 2018-10-16 | Cisco Technology, Inc. | Short term certificate management during distributed denial of service attacks |
US10171357B2 (en) | 2016-05-27 | 2019-01-01 | Cisco Technology, Inc. | Techniques for managing software defined networking controller in-band communications in a data center network |
US10931629B2 (en) | 2016-05-27 | 2021-02-23 | Cisco Technology, Inc. | Techniques for managing software defined networking controller in-band communications in a data center network |
US10289438B2 (en) | 2016-06-16 | 2019-05-14 | Cisco Technology, Inc. | Techniques for coordination of application components deployed on distributed virtual machines |
US10659481B2 (en) | 2016-06-29 | 2020-05-19 | Paypal, Inc. | Network operation application monitoring |
US9729416B1 (en) | 2016-07-11 | 2017-08-08 | Extrahop Networks, Inc. | Anomaly detection using device relationship graphs |
US10708183B2 (en) | 2016-07-21 | 2020-07-07 | Cisco Technology, Inc. | System and method of providing segment routing as a service |
US9660879B1 (en) | 2016-07-25 | 2017-05-23 | Extrahop Networks, Inc. | Flow deduplication across a cluster of network monitoring devices |
US10568775B2 (en) | 2016-08-12 | 2020-02-25 | The Procter & Gamble Company | Method and apparatus for assembling absorbent articles |
US10972388B2 (en) | 2016-11-22 | 2021-04-06 | Cisco Technology, Inc. | Federated microburst detection |
US10541876B2 (en) | 2017-02-14 | 2020-01-21 | Nicira, Inc. | Inter-connecting logical control planes for state data exchange |
US10476673B2 (en) | 2017-03-22 | 2019-11-12 | Extrahop Networks, Inc. | Managing session secrets for continuous packet capture systems |
US10708152B2 (en) | 2017-03-23 | 2020-07-07 | Cisco Technology, Inc. | Predicting application and network performance |
US10523512B2 (en) | 2017-03-24 | 2019-12-31 | Cisco Technology, Inc. | Network agent for generating platform specific network policies |
US10250446B2 (en) | 2017-03-27 | 2019-04-02 | Cisco Technology, Inc. | Distributed policy store |
US10764141B2 (en) | 2017-03-27 | 2020-09-01 | Cisco Technology, Inc. | Network agent for reporting to a network policy system |
US10594560B2 (en) | 2017-03-27 | 2020-03-17 | Cisco Technology, Inc. | Intent driven network policy platform |
US10873794B2 (en) | 2017-03-28 | 2020-12-22 | Cisco Technology, Inc. | Flowlet resolution for application performance monitoring and management |
CN108984105B (zh) * | 2017-06-02 | 2021-09-10 | 伊姆西Ip控股有限责任公司 | 对网络存储设备中的复制任务进行分配的方法和设备 |
US11874845B2 (en) * | 2017-06-28 | 2024-01-16 | Fortinet, Inc. | Centralized state database storing state information |
US10680887B2 (en) | 2017-07-21 | 2020-06-09 | Cisco Technology, Inc. | Remote device status audit and recovery |
CN107426210A (zh) * | 2017-07-25 | 2017-12-01 | 合肥红铭网络科技有限公司 | 一种实时流量检测信息存储方法 |
US10263863B2 (en) | 2017-08-11 | 2019-04-16 | Extrahop Networks, Inc. | Real-time configuration discovery and management |
US10063434B1 (en) | 2017-08-29 | 2018-08-28 | Extrahop Networks, Inc. | Classifying applications or activities based on network behavior |
US10554501B2 (en) | 2017-10-23 | 2020-02-04 | Cisco Technology, Inc. | Network migration assistant |
US10523541B2 (en) | 2017-10-25 | 2019-12-31 | Cisco Technology, Inc. | Federated network and application data analytics platform |
US9967292B1 (en) | 2017-10-25 | 2018-05-08 | Extrahop Networks, Inc. | Inline secret sharing |
US10594542B2 (en) | 2017-10-27 | 2020-03-17 | Cisco Technology, Inc. | System and method for network root cause analysis |
DE102017221889B4 (de) | 2017-12-05 | 2022-03-17 | Audi Ag | Datenverarbeitungseinrichtung, Gesamtvorrichtung und Verfahren zum Betrieb einer Datenverarbeitungseinrichtung oder Gesamtvorrichtung |
JP6873032B2 (ja) * | 2017-12-28 | 2021-05-19 | 株式会社日立製作所 | 通信監視システム、通信監視装置および通信監視方法 |
US11233821B2 (en) | 2018-01-04 | 2022-01-25 | Cisco Technology, Inc. | Network intrusion counter-intelligence |
US11765046B1 (en) | 2018-01-11 | 2023-09-19 | Cisco Technology, Inc. | Endpoint cluster assignment and query generation |
US10873593B2 (en) | 2018-01-25 | 2020-12-22 | Cisco Technology, Inc. | Mechanism for identifying differences between network snapshots |
US10826803B2 (en) | 2018-01-25 | 2020-11-03 | Cisco Technology, Inc. | Mechanism for facilitating efficient policy updates |
US10917438B2 (en) | 2018-01-25 | 2021-02-09 | Cisco Technology, Inc. | Secure publishing for policy updates |
US10574575B2 (en) | 2018-01-25 | 2020-02-25 | Cisco Technology, Inc. | Network flow stitching using middle box flow stitching |
US10798015B2 (en) | 2018-01-25 | 2020-10-06 | Cisco Technology, Inc. | Discovery of middleboxes using traffic flow stitching |
US10999149B2 (en) | 2018-01-25 | 2021-05-04 | Cisco Technology, Inc. | Automatic configuration discovery based on traffic flow data |
US11128700B2 (en) | 2018-01-26 | 2021-09-21 | Cisco Technology, Inc. | Load balancing configuration based on traffic flow telemetry |
US10264003B1 (en) | 2018-02-07 | 2019-04-16 | Extrahop Networks, Inc. | Adaptive network monitoring with tuneable elastic granularity |
US10389574B1 (en) | 2018-02-07 | 2019-08-20 | Extrahop Networks, Inc. | Ranking alerts based on network monitoring |
US10038611B1 (en) | 2018-02-08 | 2018-07-31 | Extrahop Networks, Inc. | Personalization of alerts based on network monitoring |
US10270794B1 (en) | 2018-02-09 | 2019-04-23 | Extrahop Networks, Inc. | Detection of denial of service attacks |
US10116679B1 (en) | 2018-05-18 | 2018-10-30 | Extrahop Networks, Inc. | Privilege inference and monitoring based on network behavior |
CN108924652B (zh) * | 2018-07-02 | 2020-04-28 | 四川长虹电器股份有限公司 | 一种电视信号变化检测的方法 |
US10983880B2 (en) * | 2018-07-31 | 2021-04-20 | Hewlett Packard Enterprise Development Lp | Role designation in a high availability node |
US10411978B1 (en) | 2018-08-09 | 2019-09-10 | Extrahop Networks, Inc. | Correlating causes and effects associated with network activity |
US10594718B1 (en) | 2018-08-21 | 2020-03-17 | Extrahop Networks, Inc. | Managing incident response operations based on monitored network activity |
US10887207B2 (en) | 2018-10-29 | 2021-01-05 | Hewlett Packard Enterprise Development Lp | System and method for determining branch gateway device availability in computer networks |
CN109532954B (zh) * | 2018-12-12 | 2022-01-28 | 中车长春轨道客车股份有限公司 | 一种车辆数据自动备份的实现方法 |
CN111988346B (zh) * | 2019-05-21 | 2021-10-22 | 新华三信息安全技术有限公司 | 数据泄露防护设备及报文处理方法 |
US10965702B2 (en) | 2019-05-28 | 2021-03-30 | Extrahop Networks, Inc. | Detecting injection attacks using passive network monitoring |
US11405363B2 (en) | 2019-06-26 | 2022-08-02 | Microsoft Technology Licensing, Llc | File upload control for client-side applications in proxy solutions |
US11165814B2 (en) | 2019-07-29 | 2021-11-02 | Extrahop Networks, Inc. | Modifying triage information based on network monitoring |
US11388072B2 (en) | 2019-08-05 | 2022-07-12 | Extrahop Networks, Inc. | Correlating network traffic that crosses opaque endpoints |
US10742530B1 (en) | 2019-08-05 | 2020-08-11 | Extrahop Networks, Inc. | Correlating network traffic that crosses opaque endpoints |
CN110442368A (zh) * | 2019-08-09 | 2019-11-12 | 北京空间技术研制试验中心 | 一种载人航天器通用计算机设备软件在轨更新方法 |
US11044174B2 (en) * | 2019-08-26 | 2021-06-22 | Citrix Systems, Inc. | Systems and methods for disabling services in a cluster |
US10742677B1 (en) | 2019-09-04 | 2020-08-11 | Extrahop Networks, Inc. | Automatic determination of user roles and asset types based on network monitoring |
US10701096B1 (en) * | 2019-09-23 | 2020-06-30 | Adlumin, Inc. | Systems and methods for anomaly detection on core banking systems |
US11245703B2 (en) | 2019-09-27 | 2022-02-08 | Bank Of America Corporation | Security tool for considering multiple security contexts |
CN111083215B (zh) * | 2019-12-10 | 2022-08-09 | 深信服科技股份有限公司 | 会话信息同步方法、装置、设备、系统及存储介质 |
US11165823B2 (en) | 2019-12-17 | 2021-11-02 | Extrahop Networks, Inc. | Automated preemptive polymorphic deception |
CN111988217B (zh) * | 2020-08-31 | 2022-09-23 | Oppo广东移动通信有限公司 | 数据交互方法、装置、电子设备及存储介质 |
US11463466B2 (en) | 2020-09-23 | 2022-10-04 | Extrahop Networks, Inc. | Monitoring encrypted network traffic |
WO2022066910A1 (en) | 2020-09-23 | 2022-03-31 | Extrahop Networks, Inc. | Monitoring encrypted network traffic |
US11080294B1 (en) | 2021-02-03 | 2021-08-03 | Adlumin, Inc. | Systems and methods for data analytics |
US11349861B1 (en) | 2021-06-18 | 2022-05-31 | Extrahop Networks, Inc. | Identifying network entities based on beaconing activity |
US11296967B1 (en) | 2021-09-23 | 2022-04-05 | Extrahop Networks, Inc. | Combining passive network analysis and active probing |
US20230231797A1 (en) * | 2022-01-17 | 2023-07-20 | Juniper Networks, Inc. | Session state synchronization and failover using session-based routing |
US11843606B2 (en) | 2022-03-30 | 2023-12-12 | Extrahop Networks, Inc. | Detecting abnormal data access based on data similarity |
CN115348332B (zh) * | 2022-07-08 | 2023-08-29 | 宜通世纪科技股份有限公司 | 一种信令分析场景中http数据流会话的重组方法 |
CN115314268B (zh) * | 2022-07-27 | 2023-12-12 | 天津市国瑞数码安全系统股份有限公司 | 基于流量指纹和行为的恶意加密流量检测方法和系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101114892A (zh) * | 2006-07-28 | 2008-01-30 | 华为技术有限公司 | 一种报文备份方法 |
CN101394641A (zh) * | 2007-09-18 | 2009-03-25 | 中兴通讯股份有限公司 | 一种面向用户数据的主备机倒换方法 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6397259B1 (en) * | 1998-05-29 | 2002-05-28 | Palm, Inc. | Method, system and apparatus for packet minimized communications |
US7020709B1 (en) * | 2000-06-30 | 2006-03-28 | Intel Corporation | System and method for fault tolerant stream splitting |
US20030101359A1 (en) * | 2001-11-29 | 2003-05-29 | International Business Machines Corporation | System and method for controlling invalid password attempts |
US7734752B2 (en) * | 2002-02-08 | 2010-06-08 | Juniper Networks, Inc. | Intelligent integrated network security device for high-availability applications |
US7316031B2 (en) * | 2002-09-06 | 2008-01-01 | Capital One Financial Corporation | System and method for remotely monitoring wireless networks |
US7373524B2 (en) * | 2004-02-24 | 2008-05-13 | Covelight Systems, Inc. | Methods, systems and computer program products for monitoring user behavior for a server application |
JP4462969B2 (ja) * | 2004-03-12 | 2010-05-12 | 株式会社日立製作所 | フェイルオーバクラスタシステム及びフェイルオーバ方法 |
US7515525B2 (en) * | 2004-09-22 | 2009-04-07 | Cisco Technology, Inc. | Cooperative TCP / BGP window management for stateful switchover |
US8006091B2 (en) * | 2005-01-10 | 2011-08-23 | Cisco Technology, Inc. | Method and apparatus to provide failover capability of cached secure sessions |
TWI312462B (en) * | 2006-04-07 | 2009-07-21 | Hon Hai Prec Ind Co Ltd | Network device and subscribers' states synchronizing method thereof |
US7773540B1 (en) * | 2006-06-01 | 2010-08-10 | Bbn Technologies Corp. | Methods, system and apparatus preventing network and device identification |
US8051326B2 (en) * | 2006-12-29 | 2011-11-01 | Futurewei Technologies, Inc. | System and method for completeness of TCP data in TCP HA |
US7904961B2 (en) | 2007-04-20 | 2011-03-08 | Juniper Networks, Inc. | Network attack detection using partial deterministic finite automaton pattern matching |
US7957323B2 (en) * | 2008-04-21 | 2011-06-07 | Spirent Communications, Inc. | Methods and apparatus for evaluating the sequence of packets |
CN102035814B (zh) * | 2009-09-30 | 2014-08-27 | 瞻博网络公司 | 通过vpn ipsec隧道确保服务质量 |
-
2010
- 2010-01-08 US US12/684,725 patent/US8291258B2/en active Active
- 2010-10-07 EP EP20211030.0A patent/EP3823244B1/en active Active
- 2010-10-07 EP EP10186865.1A patent/EP2343864B1/en active Active
- 2010-10-09 CN CN201010503151.0A patent/CN102123076B/zh active Active
-
2012
- 2012-10-15 US US13/651,895 patent/US8635490B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101114892A (zh) * | 2006-07-28 | 2008-01-30 | 华为技术有限公司 | 一种报文备份方法 |
CN101394641A (zh) * | 2007-09-18 | 2009-03-25 | 中兴通讯股份有限公司 | 一种面向用户数据的主备机倒换方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102123076A (zh) | 2011-07-13 |
US20130042323A1 (en) | 2013-02-14 |
EP3823244B1 (en) | 2023-08-23 |
EP2343864A3 (en) | 2014-07-16 |
EP2343864A2 (en) | 2011-07-13 |
EP2343864B1 (en) | 2021-01-06 |
US20110173490A1 (en) | 2011-07-14 |
US8291258B2 (en) | 2012-10-16 |
US8635490B2 (en) | 2014-01-21 |
EP3823244A1 (en) | 2021-05-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102123076B (zh) | 网络安全设备的高可用性 | |
US6609205B1 (en) | Network intrusion detection signature analysis using decision graphs | |
US8959197B2 (en) | Intelligent integrated network security device for high-availability applications | |
US9124626B2 (en) | Firewall based botnet detection | |
US6487666B1 (en) | Intrusion detection signature analysis using regular expressions and logical operators | |
US8789180B1 (en) | Multi-layered application classification and decoding | |
US7706378B2 (en) | Method and apparatus for processing network packets | |
US20160173452A1 (en) | Multi-connection system and method for service using internet protocol | |
US11212205B2 (en) | System and method for soft failovers for proxy servers | |
US9298175B2 (en) | Method for detecting abnormal traffic on control system protocol | |
JP2008306610A (ja) | 不正侵入・不正ソフトウェア調査システム、および通信振分装置 | |
CN115883574A (zh) | 工业控制网络中的接入设备识别方法及装置 | |
US11070522B1 (en) | Removing anomalies from security policies of a network security device | |
US20230030504A1 (en) | Transmission device for transmitting data | |
US20220417268A1 (en) | Transmission device for transmitting data | |
Ohmori et al. | Axarpsc: Scalable arp snooping using policy-based mirroring of core switches with arp log contraction | |
JP4710889B2 (ja) | 攻撃パケット対策システム、攻撃パケット対策方法、攻撃パケット対策装置、及び攻撃パケット対策プログラム | |
Ahmed et al. | Link analysis approach to improve detection of fragmentation attacks in Misuse IDS | |
WO2016082380A1 (zh) | 一种网络数据包处理方法及装置 |
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 | ||
CP01 | Change in the name or title of a patent holder |
Address after: California, USA Patentee after: Juniper Networks, Inc. Address before: California, USA Patentee before: Jungle network |
|
CP01 | Change in the name or title of a patent holder |