网络设备中检测到的模式的减轻的制作方法

文档序号:7551429阅读:105来源:国知局
专利名称:网络设备中检测到的模式的减轻的制作方法
网络设备中检测到的模式的减轻相关申请本申请与2009年10月31日提交的题为“Malicious Code Detection (恶意代码检测)”的、申请号为PCT/US2009/062899的共同待审的国际专利申请相关,该申请的全部内容以引用方式并入本文。
背景技术
随着计算机网络技术通常的快速发展,网络安全性已变成主要关注的问题。恶意形式的计算机代码(诸如计算机病毒、特洛伊木马、蠕虫等)借助于网络或其它手段在主机之间扩散。恶意形式的计算机代码可被称为恶意代码或恶意软件。恶意代码通常可被视为 这样的软件该软件被设计成未经设备的所有者或管理员的知会同意而潜入计算设备中。恶意软件是用于表示各种形式的敌对的、侵入的、恼人的和/或不期望的软件或程序代码的通用术语。抗病毒软件通常在计算机主机上运行以试图保护计算机主机免受感染。通过例如抗病毒软件对恶意代码或恶意软件的识别常规地是利用基于签名的技术来进行的。常规方案在如何检测安全相关数据(例如,利用签名或其它类型的模式信息)以及后续如何处置方面是低效的。


通过参考附图,可以更好地理解本公开,并且其多个特征和优点对于本领域的技术人员将变得清晰。图1为根据本发明的实施例的用于检测到的模式的减轻的设备的框图。图2为根据本发明的实施例的网络设备的背板结构和节点的拓扑框图。图3为根据本发明的实施例的用于检测到的模式的减轻的过程流程图。
具体实施例方式除了或替代试图分别检测在组织内的各计算设备处的恶意代码,与网络连接的主机设备的网络管理员和用户通常关心的是检测安全相关数据(诸如恶意代码或电子邮件中的关键词)在其网络与外界(例如,因特网)的入口 /出口点处的出现。该检测在整个网络基础结构中是重要的,这是因为由于无线和虚拟技术的出现而使得现在与网络的连接点日
益变化。在检测之后,可以执行减轻以处理检测到的状况。但是,现有技术会遭遇到一些缺陷。在一种方法中,可以发送表示检测到病毒签名的通知。例如,可将中断发送到诸如芯片上嵌入式CPU或芯片外CPU的中央处理单元(CPU)。在CPU接收到中断时,被检测为包含病毒签名的分组早已离开了网络设备。因此,网络设备不能够防止分组以有效的形式离开。本文描述了用于减轻网络设备中检测到的模式的方法。将分组移动通过网络设备的第一流水线,以执行分组的处理。在该处理流水线之前,可以在分组上执行极易理解的初始的转发和策略动作。在分组中检测到模式。响应于检测到模式,当分组正在移动通过第一流水线时,与分组的处理并行地由网络设备的硬件部件生成标记。利用该标记来确定与分组相关联的一个或多个转发策略。图1是根据本发明的实施例的用于减轻检测到的模式的设备100的框图。设备100可以为交换机、路由器或其它类型的网络设备。可选地或者另外地,设备100可以为其它类型计算设备中的计算设备,诸如服务器计算设备、主机计算设备、客户端计算设备。设备100包括处理流水线102、检测到模式减轻器104和转发策略引擎106。流水线102和减轻器104均至少以硬件来实现。在一个实施例中,流水线102和减轻器104仅以硬件实现,例如通过使用适合的专用集成电路(ASIC)、现场可编程门阵列(FPGA)和其它类型的硬件部件。在另一实施例中,流水线102和减轻器104可通过结合硬件和由处理器·执行以实施其相应功能的软件来实现。为了处理设备100内的数据,如箭头107所指示,将数据移动通过流水线102。该处理与数据中任何检测到的模式的减轻无关。也就是说,使数据移动通过流水线102以对数据进行处理的目的与数据中任何检测到的模式的减轻无关。当数据移动通过流水线102时,对所述数据进行处理。例如,在设备100为网络设备的情况下,数据可以是从网络设备为其成员的网络的外部接收到的进入数据分组。如本文所使用的,网络设备为交换机、路由器或其它网络设备。设备100可被配置为转发网络中的数据。诸如流水线102的一条或多条处理流水线被配置为处理数据分组。例如,作为转发操作的一部分,可以通过分类、排队、修改、从入口端口路由到正确的出口端口、传输、丢弃等来处理数据分组。在一个实施例中,经由设备100的入口端口接收到的每个数据分组流经至少一个流水线,例如流水线102。流水线102的每个阶段执行数据分组的处理的一部分。减轻器104被配置成为那些已经被检测为包含所关注的特定模式的数据分组生成标记。模式可以为病毒的签名、字母数字序列或任何其它所关注的模式。在一个实施例中,当数据移动通过流水线102时,与数据的处理并行地进行标记生成操作,而不会延迟数据移入、移动通过以及移出流水线102。在流水线102中进行的数据处理独立于由减轻器104执行的标记生成。数据以常规的动作过程进入、移动通过和离开流水线102,而不等待减轻器104执行其功能。换言之,减轻器104被配置成以线速率(line rate)为检测到的数据分组生成标记。因此,设备100能够防止分组以有效的形式离开设备100。转发策略引擎106被配置成确定与已检测到模式的数据分组相关联的一个或多个策略。标记可用于确定应执行何种减轻。策略可以为完全可配置的、可编程的和可修改的。在一个实施例中,诸如流水线102的一条或多条处理流水线被配置成根据由转发策略引擎106确定的一个或多个相关联的策略来处理具有检测到的模式的数据分组。在这方面,图1的实施例能够减轻数据分组中检测到的模式,而不会降低诸如设备100的设备的总体性能。此外,图1的实施例不需要用于减轻检测到的模式的可能昂贵的专用处理器。相反,减轻器104和转发策略引擎106可经由成本较低的硬件部件以硬件来实现。而且,在至少一些情形下,进入设备100的所有数据被移动通过流水线102以便进行处理,使得检测到的数据在离开设备100之前被加上标记。另外,标记的数据可在离开设备100之前根据一个或多个转发策略进行处理。
图2是根据本发明的实施例的网络设备200的背板结构和节点的拓扑框图。诸如交换机或路由器的常规网络设备包括三个主要部件控制处理器、线卡和交换结构。常规的控制处理器实现各种控制和管理功能,例如执行路由协议。线卡包括节点芯片,并且通常将物理链路终止于网络设备上且实现了限定特定网络的具体协议处理功能。在入口节点处,处理功能可以包括正常的转发策略(例如,确定分组应当发送到的网络中的下一设备),和/或对已被检测为包含所关注的模式的分组生成标签。在出口节点处,处理功能可以包括安排分组在外向链路上的传输,和/或利用标记来确定与分组相关联的一个或多个转发策略,以及根据相关联的策略来转发分组。交换结构负责将分组从分组所接收自的节点(例如,线卡)传递到与网络中的下一设备连接的外向链路的节点(例如,线卡)。例如,在做出转发决策之后,分组被发送到交换结构,随后交换结构将分组发送到外向链路的线卡。分组通过外向链路传输到下一跳设备。系统200的背板结构和节点通常配置成将分组从入口节点交换到出口节点。系统 200包括节点芯片10、节点芯片20和结构30。如本文所使用的,分组包括在入口节点和出口节点不同的结构中的不同节点之间移动或者在入口节点和出口节点相同的同一节点内移动的数据。这包括网络数据分组、部分网络数据分组、管理网络数据分组或其部分的传递的节点间控制消息,等等。在一个实施例中,该结构可以是结构芯片。在另一实施例中,该结构可以为广播式结构。节点芯片10可以位于网络交换机的线卡上。节点芯片10经由节点物理接口(NPI)13可操作地耦合到结构30。NPI被配置成通过通信链路来传送和接收分组和链路控制消息。如本文所使用的,每个NPI可以具有一对信道,例如传送(Tx)信道和接收(Rx)信道。每个信道可以具有任意数量的串并行转换器(SerDes)线路,例如每个NPI具有两个SerDes。在一个实施例中,可以存在多达18个NPI。NPI13可操作地耦合到节点芯片逻辑11和结构30。节点芯片逻辑11可操作地耦合到节点芯片10的NPI13。节点芯片逻辑11包括第一处理流水线202a和减轻逻辑12。流水线202a被配置成处理数据分组。减轻逻辑12被配置成对已检测为包含诸如病毒签名、字母数字序列等的所关注的特定模式的数据分组生成标记。在一个实施例中,当数据移动通过流水线202时,与数据的处理并行地执行标记生成。节点芯片20可以位于网络交换机的线卡上。节点芯片20经由NPI23可操作地耦合到结构30。NPI23可操作地耦合到节点芯片逻辑21和结构30。节点芯片逻辑21可操作地耦合到节点芯片20的NPI23。节点芯片逻辑21包括第二处理流水线202b和转发策略引擎22。转发策略引擎22被配置成确定与具有检测到的模式的数据分组相关联的一个或多个策略。流水线202b被配置成根据由转发策略引擎22确定的一个或多个相关联的策略来处理这些数据分组。在一个实施例中,当数据移动通过流水线202b时,与数据的标准处理并行地执行相关联的策略。已知的是,分组可以在相同的节点芯片上进入和离开,S卩,通过其接收分组的节点芯片与外向链路的节点芯片为同一节点芯片。在一个实施例中,在相同节点芯片上进入和离开的流量在结构上行进。在另一实施例中,在相同节点芯片上进入和离开的流量由该节点芯片处置并且不在结构上行进,但是仍穿过流水线102。结构30可操作地耦合到节点芯片10和节点芯片20。结构30包括多个NPI(例如NPI33-35)以及交换结构32。交换结构32可以为无阻塞结构(例如缓冲交叉开关(bufferedcrossbar)),并且包括位于动态交换数据路径的相对端处的多个结构入口端口和多个结构出口端口。交换结构32被配置成将分组从交换结构32的结构入口端口转发到结构出口端□。NPI33-35被配置成通过通信链路来传送和接收分组。每个NPI可以具有一对信道,例如传送(Tx)信道和接收(Rx)信道。每个信道可以具有任意数量的串并行转换器(SerDes)线路,例如每个NPI具有两个SerDes。在一个实施例中,可以存在多达18个NPI。图示了单个结构30可操作地耦合到节点芯片10和节点芯片20。在其它实施例中,可以使用多个结构。在操作中,可通过节点芯片10在入口接收分组以进行处理。在一个实施例中,在分组流经流水线202a时,可以在分组内检测模式。在其它实施例中,模式检测可发生在将分组置于流水线202a中之前。在分组行进通过流水线202a时,减轻逻辑12可以生成标记或者修改分组,生成并提供消息或信号,或者提供发生模式检测的另外的指示。当被检测的分组离开流水线202a时,被检测的分组被适当地加上了标记。可以将该标记和/或消息提供给结构30用于路由到合适的出口节点芯片,例如节点芯片20。可通过节点芯片逻辑21在出口接收分组,其中节点芯片20是分组的合适的出口节点。节点芯片逻辑21可以检测到分组被加上标记(例如,检测标记)。标记的检测可以例如通过转发引擎22来触发另外的动作。在分组流经流水线202b时,转发策略引擎22可以确定与分组相关联的转发策略。这些相关联的策略可在分组离开网络设备200时应用于所述分组。本发明可应用于各种网络拓扑结构和环境。本文所描述的背板结构和节点可以并入到本领域技术人员所熟知的能够利用市场上可获得的各种协议中的任一种来支持数据通信的任何类型的网络中。图3是根据本发明的实施例的用于检测到的模式的减轻的过程流程图。可以通过执行一个或多个可执行指令序列来实施所描绘的过程流程300。在另一实施例中,通过网络设备的部件、硬件逻辑的布置(例如,专用集成电路(ASIC))等的执行来实施过程流程300。在用于网络设备的入口节点和出口节点之间的芯片上通信的系统中,可以通过入口节点和出口节点经由一条或多条处理流水线来处理分组。在入口节点处,来自分组的数据和该分组的属性流经处理流水线的各个阶段。流水线中的每个阶段均耗费设定数量的时钟周期,并且依次处理分组。在一个实施例中,解析分组,执行查表,执行决定路由处理,等等。可以包括在分组离开处理流水线之前修改分组的一个阶段。在步骤310,可以在分组内检测模式。例如,在分组流经处理流水线时,模式检测器使用相关器来查验分组的位。相关器可以实现为硬件部件,其检测所述分组中诸如恶意代码签名或字母数字字符序列的模式的存在。本发明的实施例可与2009年10月31日提交的共同受让且共同待审的国际专利申请号PCT/US2009/062899中公开的模式检测方法相结合地使用,该国际申请的全部内容以引用方式并入本文。还可以采用模式检测的其它方法。在一个实施例中,将通过入口节点接收到的分组转换成多个小分组。如本文所使用的,小分组在尺寸上比分组小,并且包括报头和有效负载。可以在这些小分组中的一个或多个中检测模式,或者模式可以跨越小分组。在步骤320,生成标记以指示分组内的模式检测。在分组流经网络设备的处理流水线时,可以生成标记。标记的生成可以各种方式来实现。在一个实施例中,断言被检测分组的报头中的一个或多个位。分组可以包括一位保留字段,其通常被设定成零。保留字段位可被断言以指示模式检测。在另一实施例中,标记包括多个位,多个位可用于识别哪个模式被检测到。通过这样做,中央服务器或者在分组已离开网络设备之后对分组进行后续处理的其它设备可以免于分析分组以破译哪个模式被检测到。在存在具有检测模式的大量流量的情况下中央服务器可能难以应对,因此,卸载这部分的分组分析可在后续分组处理过程中大幅提高中央服务器的性能。在另外的实施例中,可能由于用零来覆写分组的全部或部分或者反转现有的数据位而使得分组被毁坏。例如,对应于检测到的模式的位可能被零覆写,或者CRC可能由于反转一些或全部的位而被毁坏。 此外,标记可以为消息,其被提供给出口节点。例如,可以将边带信号或其它消息发送到出口节点,指示分组包含检测到的模式。在另一实施例中,消息或信号可以仅指示分组需要进行进一步分析。在一个实施例中,模式检测和标记生成可发生在网络设备的入口节点处、结构处和/或出口节点处。在步骤330,利用标记来确定与分组相关联的一个或多个转发策略。在一个实施例中,由出口节点的处理流水线例如自结构处接收分组以进行正常处理。出口节点的流水线中的分组的报头可以由出口节点来查验。例如,可以通过读取报头并且获知该分组为具有检测到的模式的分组来检测标记。检测标记还可以通过接收指示分组包含检测到的模式或者需要进行进一步分析的边带信号或消息来实现。当分组移动通过出口节点的流水线时,利用标记来确定与分组相关联的一个或多个转发策略。例如,标记的检测触发进一步的动作。除了常规的路由策略(例如,将分组转发到下一跳网络设备)之外,转发策略可被设计成在利用线速率检测的同时实现这些分组(即,具有检测到的模式的分组)的各种内部减轻方案。通过限制对具有检测到的模式的分组的后续分析而不是随机地分析所有的分组,来使得处理资源最小化。例如,通过将复制分组转发到诸如ASIC中的板上中央处理单元(CPU)或专用外部处理器的减轻处置位置,转发策略可以指定重新路由或镜像。另外,转发策略可以指定将分组隧道转发到专用于处置有问题的分组的远程地点,例如安全机构。而且,转发策略可以指定要采取的各种报告动作,例如,通过将警报、日志信息(例如,Syslog数据)和/或分组采样信息(例如,sFlow、Netflow等)发送到网络管理员和/或中央收集设备以便进行进一步分析。在另一实施例中,其它逻辑(硬编码或其它方法)可以在检测到相关联的标记时对所述分组采取进一步动作。在分组由多个小分组构成的情况下,可以如前所述为一个或多个小分组生成标记。例如,在小分组离开入口节点之前,可将标记置于小分组的报头中。可以在出口节点的处理流水线中接收到小分组。处理流水线中的一个典型阶段可以包括原始分组的重组,重组可以包括收集由原始分组生成的小分组。出口节点可以检测或识别小分组中的标记。在已经为原始分组的一个或多个小分组生成标记的情况下,整个重组的分组可被识别为包含检测到的模式或需要进行进一步分析。可以确定与重组的分组相关联的转发策略。可以理解的是,本发明的实施例可以以硬件、软件、固件或其任意组合的形式来实现。任何这种软件可以存储在计算机系统中,该计算机系统包括处理器以及易失性或非易失性存储器形式(例如类似于ROM的存储设备,无论是否可擦写或可重写)或者内存形式(例如,RAM、内存芯片、设备或集成电路)或者在光学或磁性可读介质(例如,CD、DVD、磁盘或磁带)上的存储器。存储器可以位于诸如网络设备的计算机系统的节点芯片的外部,并且可以可操作地连接至节点芯片的处理器。可以理解的是,存储设备和存储介质为适于存储一种或多种程序的机器可读存储介质的实施例,当通过例如处理器来执行所述程序时,实现了本发明的实施例。因此,实施例提供了包括用于实现如任意前述权利要求所要求的系统或方法的代码的程序以及存储这种程序的机器可读 存储介质。此外,本发明的实施例可以经由诸如在有线或无线连接上携带的通信信号的任何介质以电子方式进行表达,并且实施例适当地涵盖了这些介质。本说明书(包括任何随附的权利要求、摘要和附图)中所公开的全部特征、和/或如此公开的任何方法或过程的全部步骤,可以任何组合进行结合,除了这些特征和/或步骤中的至少一些相互排斥的组合之外。除非明确指出,否则本说明书(包括任何随附的权利要求、摘要和附图)中所公开的每个特征可由起到相同、等同或相似目的的替换特征来代替。因此,除非明确指出,否则所公开的每个特征是等同或相似特征的一般系列的一个实例。本发明不限于任何前面的实施例的细节。本发明可延伸至本说明书(包括任何随附的权利要求、摘要和附图)中所公开任意新颖的一个特征或任意新颖的特征组合,或者延伸至如此公开的任何方法或处理的步骤的任何新颖步骤或任何新颖组合。权利要求不应被解释为仅涵盖前面的实施例,而是覆盖落在权利要求的范围内的任何实施例。
权利要求
1.一种减轻方法,包括 使分组移动通过网络设备的第一流水线,以进行所述分组的处理; 在所述分组中检测模式; 响应于检测到所述模式,当所述分组正在移动通过所述第一流水线时,与所述分组的所述处理并行地由所述网络设备的硬件部件生成标记;以及 利用所述标记来确定与所述分组相关联的一个或多个转发策略。
2.如权利要求1所述的方法,其中生成所述标记包括断言所述分组的报头中的一个或多个位。
3.如权利要求2所述的方法,其中所述报头中的所述一个或多个位识别所述检测到的模式。
4.如权利要求1所述的方法,其中生成所述标记包括将指示在所述分组内检测到所述模式的消息提供给出口节点。
5.如权利要求3所述的方法,其中所述标记由所述网络设备的入口节点生成。
6.如权利要求1所述的方法,进一步包括,在确定所述一个或多个转发策略之前 使所述分组移动通过所述网络设备的第二流水线;以及 当所述分组正在移动通过所述第二流水线时检测所述标记。
7.如权利要求6所述的方法,其中所述一个或多个转发策略指定如下处理中的至少一项将所述分组镜像到减轻处置位置,将所述分组重新路由到所述减轻处置位置,将所述分组隧道转发到远程位置,以及将关于所述分组的信息报告给中央收集设备以便进一步分析。
8.如权利要求6所述的方法,其中所述标记由所述网络设备的出口节点检测。
9.一种用于减轻检测到的模式的网络设备,所述设备包括 至少以硬件实现的第一流水线,多个分组被移动通过所述第一流水线以进行所述分组的处理; 耦合到所述第一流水线的减轻器,其中所述减轻器被配置成当所述分组正在移动通过所述第一流水线时,与所述分组的所述处理并行地生成与所述多个分组中的分组相关联的标记,其中所述分组包括检测到的模式;以及 转发策略引擎,其被配置成利用所述标记来确定与所述分组相关联的一个或多个转发策略。
10.如权利要求9所述的网络设备,其中生成所述标记包括断言所述分组的报头中的一个或多个位。
11.如权利要求9所述的网络设备,进一步包括 至少以硬件实现的第二流水线,所述多个分组被移动通过所述第二流水线以进行所述分组的处理,其中所述第二流水线耦合到所述转发策略引擎,并且其中与所述第二流水线中所述分组的所述处理并行地确定相关联的转发策略。
12.如权利要求11所述的网络设备,其中所述一个或多个转发策略指定如下处理中的至少一项将所述分组镜像到减轻处置位置,将所述分组重新路由到所述减轻处置位置,将所述分组隧道转发到远程位置,以及将关于所述分组的信息报告给中央收集设备以便进一步分析。
13.一种网络设备,包括 入口节点,其包括 至少以硬件实现的第一流水线,多个分组被移动通过所述第一流水线以进行所述分组的处理;以及 耦合到所述第一流水线的减轻器,其中所述减轻器被配置成当所述分组正在移动通过所述第一流水线时,与所述分组的所述处理并行地生成与所述多个分组中的分组相关联的标记,其中所述分组包括检测到的模式; 出口节点,其包括 至少以硬件实现的第二流水线,所述多个分组被移动通过所述第二流水线以进行所述分组的处理;以及 耦合到所述第二流水线的转发策略引擎,其中所述转发策略引擎被配置成利用所述标记来确定与所述分组相关联的一个或多个转发策略;以及 将所述入口节点耦合到所述出口节点的结构,用以将分组从所述入口节点的所述第一流水线传送到所述出口节点的所述第二流水线。
14.如权利要求13所述的设备,其中生成所述标记包括断言所述分组的报头中的一个或多个位。
15.如权利要求13所述的设备,其中所述一个或多个转发策略指定如下处理中的至少一项将所述分组镜像到减轻处置位置,将所述分组重新路由到所述减轻处置位置,将所述分组隧道转发到远程位置,以及将关于所述分组的信息报告给中央收集设备以便进一步分析。
全文摘要
本文描述了用于减轻网络设备中的检测到的模式的方法。分组移动通过所述网络设备的第一流水线,以进行所述分组的处理。在所述分组内检测模式。响应于检测模式,当所述分组正在移动通过第一流水线时,与所述分组的所述处理并行地由所述网络设备的硬件部件生成标记。利用所述标记来确定与所述分组相关联的一个或多个转发策略。
文档编号H04L12/24GK103026679SQ201080068233
公开日2013年4月3日 申请日期2010年7月26日 优先权日2010年7月26日
发明者D·沃伦, B·E.·拉维涅, J·E.·格林罗 申请人:惠普发展公司,有限责任合伙企业
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1