检测网络攻击的制作方法

文档序号:7567829阅读:169来源:国知局
专利名称:检测网络攻击的制作方法
技术领域
本发明涉及检测网络攻击的方法以及相关的设备和系统。
背景技术
经由网络所进行的通信包含了各式各样的任务。通常,这些任务被分为不同的网络操作层。简要地说,称作物理层的最底层尤其处理的是在经由一个连接所进行的信号接收以及这些信号与数字比特(例如1和0)的转换中所包含的任务。在物理层之上,“链路层”可以将比特聚合成称作帧的逻辑结构。一个帧通常包含了标记(例如帧的起始和结束标记)以及能使接收器确定是否出现传输差错的帧校验和等等。
一个帧还可以保存一个或多个分组。以此类推,分组更像是寄出的信件。也就是说,寄出的信件与分组净荷相似,而寄件和回信地址则类似于分组报头中保存的源和目的地址。“网络层”可以使用分组报头中的数据来找出一条贯穿了连接发送器和接收器的网络的路线。由于可以将一个消息扩展到多个经由网络独立传播的不同分组,因此“传输层”可以对发送数据重新排序并且将其重组成它的原始形态。
不同的层合在一起形成了“协议栈”。设备可以从工作在不同堆栈层的多种协议中进行选择。例如,因特网上的很多计算机都使用了一个以传输控制协议/因特网协议(TCP/IP)协议栈而著称的堆栈,其特征在于将TCP作为传输层协议并且将IP作为网络层协议。
为了连接到一个网络,设备通常会使用一个网络适配器。网络适配器通常包含了物理层和链路层组件。在许多系统中,网络操作是在适配器与主机之间划分的。例如在许多系统中,当适配器识别了一个接收分组的时候,它会把这个分组传送到一台主机(例如个人计算机的存储器)并且向主机发出分组到达的警告。主机通常包含了根据网络和传输层协议来继续处理分组的软件。

发明内容
根据本发明的第一方面,提供了一种检测网络攻击的方法,包括在设备上接收至少一个分组;确定所述至少一个接收到的分组是否具有拒绝服务攻击的至少一个特征;以及如果确定至少一个接收到的分组具有拒绝服务攻击的至少一个特征,则阻止协议栈的传输层协议对所述至少一个接收到的分组进行处理。
根据本发明的第二方面,提供了一种网络适配器,该适配器包括至少一个链路层组件,用来接收至少一个物理层组件(PHY)所产生的比特;一个与主机进行通信的总线接口;以及作用于那些经由至少一个链路层组件接收的分组的逻辑,该逻辑在设备上接收至少一个分组;确定所述至少一个接收到的分组是否具有拒绝服务攻击的至少一个特征;以及如果确定至少一个接收到的分组具有拒绝服务攻击的至少一个特征,则阻止协议栈的传输层协议对所述至少一个接收到的分组进行处理。
根据本发明的第三方面,提供了一种系统,包括至少一个主处理器;可以由至少一个主处理器访问的存储器;至少一个网络适配器,包括至少一个物理层(PHY)组件;耦合到至少一个PHY组件的至少一个链路层组件;一个与至少一个主处理器进行通信的总线接口;以及作用于那些经由链路层组件接收的分组的逻辑,该逻辑在设备上接收至少一个分组;确定至少一个接收到的分组是否具有拒绝服务攻击的至少一个特征;以及如果确定至少一个接收到的分组具有拒绝服务攻击的至少一个特征,则阻止协议栈的传输层协议对所述至少一个接收到的分组进行处理。
根据本发明的第四方面,提供了一种系统,包括至少一个主处理器,用于根据因特网协议(IP)和传输控制协议(TCP)来对分组进行处理;可以由至少一个主处理器访问的存储器;至少一个网络适配器,包括至少一个物理层(PHY)组件;耦合到至少一个PHY组件的至少一个以太网介质访问控制器(MAC)组件;一个经由直接存储器存取(DMA)而与至少一个可以由主处理器访问的存储器进行通信的总线接口;以及作用于那些经由以太网MAC接收的分组的逻辑,该逻辑接收至少一个分组;以及确定至少一个接收到的分组是否具有拒绝服务攻击的至少一个特征;以及如果确定至少一个接收到的分组具有拒绝服务攻击的至少一个特征,则阻止主机因特网协议和传输控制协议对所述至少一个接收到的分组进行处理。


图1是检测拒绝服务攻击的设备的图示。
图2-4是用于检测拒绝服务攻击的处理的流程图。
图5-6是对得到了攻击通知的远程服务器的操作进行描述的图示。
图7是描述远程服务器操作的流程图。
图8是包含了用于检测拒绝服务攻击的逻辑的网络适配器的图示。
具体实施例方式
网络设备可能会遭受到各种试图干扰正常网络操作的攻击。例如,拒绝服务(DoS)攻击通过引入“伪造的”网络业务量来试图降低网络处理有效网络业务量的能力。这些伪造分组具有多种不同的指示特征。举例来说,某些攻击包含了经过选择而导致接收器做出可以预测但却并不合宜的响应的错误源地址。图1描述了一个能够检测并且有可能阻碍这种攻击的系统100。举例来说,系统100可以是一台经过配置的个人计算机(PC)、膝上型计算机、网络交换机或路由器、无线设备或网络装置。所示系统100经由网络适配器102(例如网络接口卡(NIC))而与一个网络相连,其中该适配器包含了检测网络攻击并有可能对其做出反应逻辑104。除了检测攻击之外,在协议栈的网络和/或传输层对分组进行处理之前,通过停止处理分组适配器102可能节省主机资源106、108。
为了描述逻辑104的操作实例,图2~4描述了那些基于这种攻击中所包含的分组的特征而对各种拒绝服务攻击进行检测的技术。
图2描述了网络适配器102可用于检测LAND拒绝服务攻击的逻辑。简要地说,LAND攻击包括向目的地发送一个带有“欺骗性”的源IP地址的分组,其中将所述IP地址设定为目的地地址,而不是实际的分组源地址(即攻击者节点)。以此类推,这与发送一封回信地址与收信人相同的信件非常类似。所述分组还被构造成了从接收器中引出一个响应。例如,LAND攻击可以采取TCP/IPSYN分组的形式。在TCP中,当接收器收到一个SYN分组时,接收器通常会对其接收做出确认。然而,在接收器尝试确认欺骗性分组的过程中,接收器尝试向其自身发送一个消息。这有可能导致接收器无限循环,并且通过耗费内存和/或处理器循环和/或其它资源的消息而使自身溢出和/或以别的方式崩溃。
为了防止LAND攻击分组到达协议栈的网络(例如IPv4或IPv6)和/或传输层(例如TCP、用户数据报协议(UDP)、实时传输协议(RTP)),所述逻辑可以对分组内部的数据进行分析120并且确定是否分组具有匹配于所述设备地址的源地址。例如,所述处理可以对分组源和目的地IP或以太网地址进行比较122。如果相等,则丢弃所述分组126和/或使逻辑104做出其他响应(例如递增机载的攻击计数器,在日志中产生条目,将所述攻击通报给远程服务器(参见图5~7)等等)。而那些不具有这种LAND攻击特征的分组则由例如协议栈中的网络和传输层协议(例如ACK生成和TCP有限状态机的遍历)进行转发124,从而得到更进一步的处理。
作为另一个实例,如图3所示,逻辑104还可以尝试识别“SMURF”拒绝服务攻击。简要地说,SMURF攻击通常包括三个实体攻击者、一个或多个媒介物以及一个受害者。攻击者向媒介物发送一个具有伪造的受害者源地址的消息。并且所述消息将被选择,以便从中间接收器中引出一个响应。例如,SMURF攻击分组可以包括一个诺如分组因特网探索器(groper)(PING)命令这样的因特网控制报文协议(ICMP)回声请求。这种消息将会导致媒介物通过向受害者而不是实际分组源(攻击者)发送应答而做出响应。而受害者则很可能被信任的媒介物所发送的业务量快速淹没。为了聚集大量媒介物,SMURF攻击者可以使用广播目的地地址(例如其后由1跟随的子网IP地址)来发送一个分组。这有可能导致将分组的一个副本发送到子网上的各个设备。因此,来自攻击者的单个消息可能会导致把来自子网上的各个设备的消息发送给受害者,由此扩大了攻击。为了产生大量消息,攻击者会向子网连续发送这种广播分组。
为了至少部分消弱SMURF攻击,逻辑104可以执行图3所示的处理。如所示,在对分组进行了分析130之后,所述处理确定132该分组是否具有一个广播目的地地址。如果具有的话,则所述处理可以将所述分组丢弃136,从而避免作为媒介物而参与到SMURF攻击之中。此外,这种处理可以对检测到了SMURF攻击的这个特征做出响应,从而执行其他操作。对不具有这种特征的分组而言,举例来说,所述处理可以转发134这个分组,以便通过网络和/或传输层来进行更进一步的处理。
不幸的是,除了SMURF攻击之外,图3所示处理还有可能会滤除合法的广播分组。为了提高逻辑104响应的是一个攻击而不是合法的业务量的可能性,图4描述了一个处理,其中如果数量有限的这种分组是在一个时间窗内部接收到的,那么该处理允许接受广播分组。举例来说,如所示,在复位了定时器140和接收广播分组数目的计数142之后,所述处理会为接收到146的各个广播分组递增计数148。如果广播分组计数超出150一个阈值,那么,所述处理可以在某个时段或者在外部代理提高广播分组限制之前停止接受152更多广播分组。
定时器和阈值设定既可以是预先配置的,也可以是动态确定的。例如,所述处理可以基于检测到的攻击频率来降低阈值和/或定时器设置。如果定时器在广播分组计数超出阈值之前终止154,那么定时器和计数将会再次复位140、142。
虽然图2到4描述了防止LAND和SMURF攻击的逻辑,但是相似技术也可以检测其他攻击。例如,其他拒绝服务攻击是以广播源地址作为其特征的。另外,虽然上述实例攻击是结合因特网协议地址来进行描述的,但是相似的技术也可用于在其他协议内部检测攻击,例如以太网和各种多播协议。
如上所述,网络适配器的逻辑104可以检测各种网络攻击。作为对于只丢弃那些形成可疑攻击的分组的补充或替换,适配器还可以采用附加或替换的对策。例如,图5描述了一个远程服务器160,该服务器可以接收到不同网络适配器检测到的攻击通知164。远程服务器160有可能对攻击协调一个响应。例如,在接收到一个从子网中检测到了SMURF攻击的通知之后,服务器可以抢先设置那些由其他服务器160管理的子网中的网络适配器,从而对广播分组进行更为严格的处理(例如使用图3的逻辑而不是图4的逻辑)。如图6所示,服务器160随后可以指示设备恢复正常的分组处理。
更详细地说,如图5所示,设备162a可以将检测到的攻击通知给服务器160。例如,设备162a可以向服务器160发送一个由启用了警戒标准论坛(ASF)的设备(可以参见例如2001年1月17日发行的警戒标准论坛规范第1.0版)使用的远程管理控制协议(RMCP)格式的消息。简要地说,启用ASF的设备发送RMCP消息,从而将各种系统事件和/或状态(例如过热、覆盖物被移除等等)通知给服务器。ASF规范包括不同的握手机制,由此确保可靠的服务器/客户机通信。另外,ASF方案允许对其基础消息集合进行扩展。因此,为了汇报网络攻击,可以为网络攻击定义RMCP消息类别,其中针对不同类型的网络攻击定义了不同的消息类型。
图7描述了远程服务器与检测攻击的设备之间的交互作用的一个实例。如所示,在检测到172攻击之后,设备将所述攻击通知给174远程服务器。如果设备没有在某个时段以内接收到关于所述消息的确认,那么该设备有可能会重传这个消息。如果采用这种配置的话,那么响应于所述攻击,所述设备可以改变176其操作。例如,所述设备可以丢弃除了服务器所发送的RMCP消息之外的所有后续接收的分组。
在接收到178攻击通知之后,服务器可以对所述通知做出确认(未示出)。服务器可以用各种方式来对该消息做出响应。例如,当一个设备检测到了LAND攻击的时候,服务器可以预见到针对其他设备的攻击,并且对那些仍未受到攻击的设备进行远程的重新配置。在后来的时间,服务器可以向设备发送180一个消息,以便恢复182操作。
图8是包含了攻击检测逻辑204的网络适配器200的图示。如所示,网络适配器200包括一个链路层组件(例如以太网介质访问控制器(MAC)或同步光纤网(SONET)成帧器)202。适配器200还可以包括一个物理层(PHY)组件,以便处理那些经由物理介质(例如铜线、绞合线对电缆、同轴电缆、光缆或无线介质)的数据传送/接收。所显示的适配器200还包括一个总线接口206。接口206可以使用例如直接存储器存取(DMA)而向主机存储器传送分组数据,并且可以在分组传送结束的时候向主处理器产生一个中断。举例来说,总线接口206尤其可以接口到一个外设部件互连(PCI)总线(例如PCI eXpress)、通用串行总线(USB)或是InfiniBand总线。
如所示,适配器200还具有如下特征,即存储器208会在分组经由PHY/链路层组件202到达的时候保存所述分组。攻击检测逻辑204可以在分组到达存储器的时候作用于所述分组。通过检测攻击分组,适配器200不但可以阻止那些由攻击尝试的行为,而且有可能通过在向主机传送分组之前停止处理分组,从而节省主机的存储器和处理资源。
逻辑204可以借助多种方式来加以实施。例如,所述逻辑204可以作为硬件来实施(例如集成电路芯片、可编程门阵列(PGA)、专用集成电路(ASIC)或微控制器)。逻辑204也可作为适配器200的处理器所执行的软件指令来加以实现。这种指令可以配置在一个计算机可读机制介质上,例如磁(例如硬盘、软盘、磁带)或光存储介质(例如CD ROM、DVD ROM),还可以配置在其他易失或非易失性存储器设备(例如EEPROM、ROM、PROM、RAM、DRAM、SRAM、闪存、固件等等)上。
适配器200可以包括其他组件。例如,适配器可以包括其他的分组过滤器和/或一个在由攻击检测逻辑204检查了分组之后而对所述分组执行TCP协议操作的TCP卸载引擎(TOE)。TOE还可以减少主处理器上的网络操作负担。另外,举例来说,可以通过设定双列直插式封装开关、跳线或是经由EEPROM、主机软件或其他机制来配置检测到的攻击以及适配器的响应。
其他实施方式都处于所附权利要求的范围以内。例如,虽然在这里是就TCP/IP协议栈来进行讨论的,但是所述检测逻辑也可用于其他环境,例如以ATM网络层和ATM适配层(AAL)传输层作为其特征的异步传输模式(ATM)协议栈。除了网络接口卡之外,所述网络适配器也可包含在其他硬件内部(例如芯片组、主板或PCI插槽)。
权利要求
1.一种检测网络攻击的方法,包括在设备上接收至少一个分组;确定所述至少一个接收到的分组是否具有拒绝服务攻击的至少一个特征;以及如果确定至少一个接收到的分组具有拒绝服务攻击的至少一个特征,则阻止协议栈的传输层协议对所述至少一个接收到的分组进行处理。
2.权利要求1的方法,其中如果确定所述至少一个接收到的分组具有拒绝服务攻击的至少一个特征,则阻止协议栈的网络层协议对所述至少一个接收到的分组进行处理。
3.权利要求1的方法,其中至少一个特征包括下列特征中的至少一个特征分组的源地址和分组的目的地地址。
4.权利要求1的方法,其中确定分组是否具有拒绝服务攻击的至少一个特征包括确定所述分组是否具有一个与设备地址相匹配的源地址。
5.权利要求4的方法,其中确定分组是否具有一个与设备的网络地址相匹配的源地址包括确定所述分组是否具有相同的源和目的地地址。
6.权利要求1的方法,其中确定分组是否具有拒绝服务攻击的至少一个特征包括确定所述分组是否包括一个广播地址。
7.权利要求6的方法,其中所述确定还包括确定所述分组是否包括一个因特网控制报文协议(ICMP)分组因特网探索器(PING)消息。
8.权利要求6的方法,还包括确定接收到的广播分组计数是否超出了一个阈值。
9.权利要求8的方法,还包括在经过一个时段之后复位所述计数。
10.权利要求1的方法,还包括基于所述确定而丢弃分组。
11.权利要求10的方法,还包括在确定所述分组不具有拒绝服务攻击的至少一个特征之后,根据网络层协议来处理分组。
12.权利要求10的方法,还包括在确定所述分组不具有拒绝服务攻击的至少一个特征之后,根据传输层协议来处理分组。
13.权利要求1的方法,还包括将检测到的攻击通知给远程服务器。
14.权利要求13的方法,还包括在检测到攻击之后,改变至少一个分组处理操作;以及从远程服务器接收一个消息,以便恢复所述至少一个分组处理操作。
15.一种网络适配器,该适配器包括至少一个链路层组件,用来接收至少一个物理层组件(PHY)所产生的比特;一个与主机进行通信的总线接口;以及作用于那些经由至少一个链路层组件接收的分组的逻辑,该逻辑在设备上接收至少一个分组;确定所述至少一个接收到的分组是否具有拒绝服务攻击的至少一个特征;以及如果确定至少一个接收到的分组具有拒绝服务攻击的至少一个特征,则阻止协议栈的传输层协议对所述至少一个接收到的分组进行处理。
16.权利要求15的适配器,其中所述逻辑还包括逻辑,用于如果确定所述至少一个接收到的分组具有拒绝服务攻击的至少一个特征则阻止协议栈的网络协议层对所述至少一个接收到的分组进行处理。
17.权利要求15的适配器,其中至少一个特征包括下列特征中的至少一个特征分组的源地址和分组的目的地地址。
18.权利要求15的适配器,其中确定分组是否具有拒绝服务攻击的至少一个特征的逻辑包括确定所述分组是否具有一个与设备地址相匹配的源地址的逻辑。
19.权利要求18的适配器,其中确定分组是否具有一个与设备的网络地址相匹配的源地址的逻辑包括确定所述分组是否具有相同的源和目的地地址的逻辑。
20.权利要求15的适配器,其中确定分组是否具有拒绝服务攻击的至少一个特征的逻辑包括确定所述分组是否包括一个广播地址的逻辑。
21.权利要求20的适配器,其中进行确定的所述逻辑还包括确定所述分组是否包括一个因特网控制报文协议(ICMP)分组因特网探索器(PING)消息的逻辑。
22.权利要求20的适配器,还包括确定接收到的广播分组计数是否超出一个阈值的逻辑。
23.权利要求22的适配器,还包括在经过一个时段之后复位所述计数的逻辑。
24.权利要求15的适配器,还包括如果一个分组具有拒绝服务攻击的至少一个特征就丢弃所述分组的逻辑。
25.权利要求15的适配器,还包括将检测到的攻击通知给远程服务器的逻辑。
26.权利要求25的适配器,还包括逻辑,用于在检测到攻击之后,改变设备的至少一个分组处理操作;以及从远程服务器接收一个消息,以便恢复所述至少一个分组处理操作。
27.权利要求25的适配器,其中所述逻辑包括一个处理器以及处理器可读介质上的指令。
28.权利要求25的适配器,其中总线接口包括到外设部件互连(PCI)总线、通用串行总线(USB)或InfiniBand总线中的至少一个的接口。
29.权利要求25的适配器,还包括至少一个物理层组件。
30.一种系统,包括至少一个主处理器;可以由至少一个主处理器访问的存储器;至少一个网络适配器,包括至少一个物理层(PHY)组件;耦合到至少一个PHY组件的至少一个链路层组件;一个与至少一个主处理器进行通信的总线接口;以及作用于那些经由链路层组件接收的分组的逻辑,该逻辑在设备上接收至少一个分组;确定至少一个接收到的分组是否具有拒绝服务攻击的至少一个特征;以及如果确定至少一个接收到的分组具有拒绝服务攻击的至少一个特征,则阻止协议栈的传输层协议对所述至少一个接收到的分组进行处理。
31.权利要求30的系统,其中所述逻辑还包括逻辑,用于如果确定所述至少一个接收到的分组具有拒绝服务攻击的至少一个特征则阻止协议栈的网络层协议对所述至少一个接收到的分组进行处理。
32.权利要求30的系统,其中确定分组是否具有拒绝服务攻击的至少一个特征的逻辑包括确定所述分组是否具有一个与设备地址相匹配的源地址的逻辑。
33.权利要求30的系统,其中确定分组是否具有拒绝服务攻击的至少一个特征的逻辑包括确定所述分组是否包括一个广播地址的逻辑。
34.权利要求33的系统,还包括确定接收到的广播分组计数是否超出一个阈值的逻辑。
35.权利要求30的系统,还包括如果分组具有拒绝服务攻击的至少一个特征则丢弃所述分组的逻辑。
36.权利要求30的系统,还包括将检测到的攻击通知给远程服务器的逻辑。
37.一种系统,包括至少一个主处理器,用于根据因特网协议(IP)和传输控制协议(TCP)来对分组进行处理;可以由至少一个主处理器访问的存储器;至少一个网络适配器,包括至少一个物理层(PHY)组件;耦合到至少一个PHY组件的至少一个以太网介质访问控制器(MAC)组件;一个经由直接存储器存取(DMA)而与至少一个可以由主处理器防问的存储器进行通信的总线接口;以及作用于那些经由以太网MAC接收的分组的逻辑,该逻辑接收至少一个分组;以及确定至少一个接收到的分组是否具有拒绝服务攻击的至少一个特征;以及如果确定至少一个接收到的分组具有拒绝服务攻击的至少一个特征,则阻止主机因特网协议和传输控制协议对所述至少一个接收到的分组进行处理。
38.权利要求37的系统,其中所述逻辑还包括逻辑,用于如果确定正在出现拒绝服务攻击,则向一个远程服务器发送一个警戒标准论坛(ASF)远程管理控制协议(RMCP)消息,其中所述消息识别拒绝服务攻击的类型。
全文摘要
本公开大体上在一个方面中描述了检测网络攻击的技术。所述方法包括在设备上接收至少一个分组;以及确定所述至少一个接收到的分组是否具有拒绝服务攻击的至少一个特征。基于所述确定,传输层协议可以不对所述分组进行处理。
文档编号H04L29/06GK1514625SQ20031012490
公开日2004年7月21日 申请日期2003年12月18日 优先权日2002年12月18日
发明者S·P·杜巴尔, D·D·布姆, P·L·康诺, M·V·蒙特卡尔沃, S P 杜巴尔, 布姆, 康诺, 蒙特卡尔沃 申请人:英特尔公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1