CN1757220B - 检测极小分段攻击的装置和方法 - Google Patents

检测极小分段攻击的装置和方法 Download PDF

Info

Publication number
CN1757220B
CN1757220B CN200480006087.8A CN200480006087A CN1757220B CN 1757220 B CN1757220 B CN 1757220B CN 200480006087 A CN200480006087 A CN 200480006087A CN 1757220 B CN1757220 B CN 1757220B
Authority
CN
China
Prior art keywords
ethernet frame
length
head
byte
datagram
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.)
Expired - Fee Related
Application number
CN200480006087.8A
Other languages
English (en)
Other versions
CN1757220A (zh
Inventor
肯尼思·M·罗斯
文卡特斯瓦尔·R·普莱拉
大卫·S·沃克
凯文·C·黄
何凯川
余空恩
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Cisco Technology Inc
Original Assignee
Cisco Technology Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Cisco Technology Inc filed Critical Cisco Technology Inc
Publication of CN1757220A publication Critical patent/CN1757220A/zh
Application granted granted Critical
Publication of CN1757220B publication Critical patent/CN1757220B/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies
    • H04L63/0236Filtering by address, protocol, port number or service, e.g. IP-address or URL
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/163In-band adaptation of TCP data exchange; In-band control procedures

Landscapes

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

Abstract

本发明公开了用于检查诸如以太网帧之类的链路层协议帧的方法和装置。该方法可以被实现在执行存储在存储器中的软件指令的处理器中。在本发明的一种实施例中,该方法包括接收以太网帧,并且对该以太网帧的数据字节进行计数,以生成计数出的字节的总数目。计数出的字节的总数目可以用来计算以太网帧的数据报的数据长度。一旦计算出数据报数据长度,就可以与预定的值相比较。如果数据报长度未落在预定值的可接受范围内,则可以丢弃以太网帧,以使该以太网帧不能到达其最终目的地。

Description

检测极小分段攻击的装置和方法
背景技术
传输控制协议/因特网协议(TCP/IP)协议套(protocol suite)允许运行完全不同的操作系统、来自许多不同的计算机供应商的所有型号的计算机彼此通信。由Stevens,W.Richard于1994年著的“TCP/IP Illustrated”(其通过引用被结合于此)第1卷描述了TCP/IP协议套的总的方面。请求注解(RFC)793(也通过引用结合于此)被认为是主要的TCP规范。出于情报目的,还公开了描述TCP和IP的其他RFC。RFC由因特网工程任务组(IETF)在www.ietf.org处提供。
图1是示出了下述联网的系统的框图,该系统包括一对执行TCP/IP协议套的计算机系统(节点)12和14。在图1中,节点12和14通过经由路由器16和以太网通信链路20和22传输数据帧来彼此通信。
图2是示出了TCP/IP协议套的相关组件的框图。更具体地说,示出了分别具有4层通信层30~36和40~46的节点12和14。层30~36和层40~46采用分别在节点12和14中的一个或更多个处理器上执行的软件的形式。层32~36和层42~46分别实现在节点12和14的操作系统中,而层30和40则采用多种用户应用中的任何一种的形式,所述用户应用包括文件传输协议(FTP)、简单邮件传输协议(SMTP)、用于远程登录的telnet等。
层32和42通常分别被称作传输层。存在数种不同的传输层,包括TCP和用户数据报(UDP)。为了解释,层32和42将采用TCP或UDP传输层之一的形式。层34和44通常称作网络层。网络层可以采用多种形式,例如,因特网控制消息协议(ICMP)或IP。为了解释,图2将用采用公知的IP网络层形式的层34和44来描述。最后,层36和46通常被称作链路层或网络接口层。该层处理物理连接通信链路的细节。为了解释,链路层36和46将采用分别连接以太网通信链路20和22的以太网链路层的形式。
大多联网系统被如此设计,以使至少一个节点为到服务器节点的客户机。在图2中,节点12被表示为到服务器节点14的客户机。在此配置中,服务器应用40响应于来自客户机应用30的请求,提供某些类型的服务(例如,SMTP)。在客户机应用30与服务器应用40进行包括请求服务在内的通信时,客户机应用30向下发送数据,通过层32~36,直到该数据作为比特流经由路由器16和通信链路20和22到达节点14。节点14接收到的数据被向上发送,通过层46~42,直到该数据到达服务器应用40。
在数据沿节点12的层30~36向下移动时,层30~36中的每层都添加包含通信信息的头部(有时是尾部)。图3示出了这一过程的相关方面。图3示出了由应用层30生成的数据50。应用头部52被应用层30连接到数据50,其结果作为应用数据54被提供给TCP/UDP层32。然后,TCP/UDP层32将TCP或UDP头部连接到自应用层30接收到的应用数据54。为了解释,TCP/UDP层32将TCP头部56连接到应用数据54,其结果被提供给IP层34。TCP层32发送给IP层34的数据单元被称作IP有效载荷。IP层34将IP头部60连接到其接收到的IP有效载荷,其结果被提供给以太网链路36。一般来说,层34发送给层36的数据单元被称作IP数据报(数据报)或分组。下面将对其进行更全面的描述,数据报可以被分段,并且作为数据报分段(fragment)发送给以太网层36。以太网层36将以太网头部62和以太网尾部64附加到自IP层34接收到的数据报或数据报分段,其结果被称作以太网帧。
以太网帧作为比特流经由路由器16和以太网通信链路20和22被传输给节点14(图2)。当在目的地节点14接收到以太网帧时,该帧向上移动,通过协议层46~42,并且所有的头部(和尾部)都被适当的协议层移除,直到原始数据50被提供给服务器应用40。每层都查看在其对应的头部中的特定的标识符来确定哪个后续层将接收该数据。这被称作解复用。例如,在以太网层46分别将其接收到的帧的数据报或数据报分段的以太网头部和尾部62和64剥离后,该以太网层46将其路由至IP层44。
图4更详细地示出了示例性的以太网帧。以太网帧包括头部62、数据报64和尾部66。头部62包括6字节以太网目的地地址、6字节以太网源地址和2字节类型编码。以太网尾部66包括循环冗余校验(CRC)字段。CRC字段用来检测帧的其他部分中的错误。在本说明书的图中(包括图4),在以太网帧头部中与2字节类型编码相邻处示出了空的2字节字段。该空字段未包含数据。该空字段仅仅在这些图中提供,以使数据报64可以被定位为开始于头部之后的第一行的第一个比特处。
图5示出了具有IP头部80和IP有效载荷(例如,TCP段(segment))82的示例性IP数据报。图5示出的IP头部包括多个字段,每个都存储有值。4比特的头部长度字段定义IP头部中的32比特字的数目,包括任何可选字段。16比特的总长字段以字节为单位定义IP数据报的总长。总长减去头部长度可以用来确定IP有效载荷(例如,TCP段)的长度。8比特的协议字段定义要接收该数据报的IP有效载荷的传输层(例如,TCP或UDP)。
通常,对可以在节点12和节点14之间传输的帧的大小施加以上限。许多IP数据报被分段来满足这种限制。这样,IP数据报可以被分段为IP数据报分段,每个IP数据报分段被提供给以太网层以在分离的帧中传输。当IP数据报被分段后,直到到达其最终目的地才对其进行重组。在目的地处的IP层执行重组。图5中示出的16比特的标识字段对于发送者传输的每个IP数据报都具有唯一的值。该数字被复制到具体数据报的每个分段中。图5中示出的头部的13比特的分段偏移字段包括该分段从原始IP数据报的开始起的偏移(以8字节单位)。在IP数据报被分段后,每个分段的总长字段被改变为那个分段的大小。
图6和图7分别示出了UDP和TCP段。在图7中,TCP段(IP有效载荷)包括TCP头部90和应用数据。TCP头部90包括数个字段,每个都包含有值。4比特的头部长度以32比特字为单位定义TCP头部的长度。当寻求在节点12和14之间建立新的连接来例如用于文件传输时,TCP头部90的1比特的SYN标志被开启,或者说设置为二进制1。TCP头部和UDP头部都包括16比特的端口号字段。服务器(例如,节点14)通常由它们的公知端口号而被人所知。例如,提供FTP服务器的每个TCP/IP实现都在TCP端口号21上提供该服务。Telnet服务器通常在TCP端口号23上。
计算机系统(例如,图2的节点14)的未经授权的访问(即,黑客行为)一直是个问题。常常在路由器(例如,路由器16)中提供过滤器来阻止计算机系统的未经授权的访问。有时被称作防火墙的过滤器可以采用硬件的形式,和/或者在一个或更多处理器中执行的软件的形式。图2示出了具有过滤器100的路由器16。过滤器100检查由路由器16接收到的帧(或者帧的IP数据报),以确保这些帧不是设计来在节点14处发起未经授权的操作。如果过滤器100认为帧是授权的操作的一部分,则允许该帧通过过滤器。如果过滤器认为帧是未经授权的操作的一部分,则该帧被过滤器100丢弃,以使该帧不能到达其最终目的地(即,节点14)。
过滤器100对其接收到的帧执行多种检查。例如,过滤器100比较其接收到的所有帧的目的地端口号和SYN标志值。如果所接收到的帧的目的地端口号和SYN标志值分别等于21和二进制1,则接收到的帧被配置为发起未经授权的文件传输协议(FTP),从而将被过滤器100丢弃。图8示出了具有下述TCP头部90的帧102,该TCP头部90具有分别设置为21和二进制1的目的地端口号和SYN标志。帧102被配置为在节点14处发起文件传输。过滤器100将丢弃帧102。
如上所述,IP数据报可以被分段来满足对可以在节点12和14之间传输的帧的大小的限制。直到分段的IP数据报到达它们的最终目的地(例如,节点14),才对它们进行重组。这样,包含数据报分段的以太网帧在到达目的地节点14之前可以通过路由器16及其过滤器100。分段可用来在过滤器100面前对帧进行伪装。一种用于使用分段来对帧进行伪装的技术常常被称作“极小分段攻击”。例如,图9和图10示出了包含数据报分段的帧,当在节点14处重组时,其可以发起未经授权的文件传输操作。更具体地说,图9示出了包括以太网头部62、数据报分段64和CRC66的帧104。帧104的数据报分段64包括完整的IP和TCP头部。图10中示出的帧106也包括以太网头部62、数据报分段64和CRC 66。数据报分段64包括具有设置为0的分段偏移的IP头部80和小于完整TCP头部的TCP头部90。因此,帧106的数据报分段64被称作极小分段。下面将更加全面地描述,过滤器100将把帧104和106传递给节点14。图11示出了在节点14对帧104和106的数据报分段的有效载荷进行重组时作为结果的数据报有效载荷。图11的数据报有效负载在节点14处发起未经授权的FTP。
图9和图10示出的帧104和106分别被顺序传输给路由器16。如上所述,过滤器100执行的检查之一是将所接收到的帧的目的地端口号和SYN标志值分别与21和二进制1进行比较。在图9的帧104中,TCP头部90中的目的地端口号被设置为23,同时SYN标志被设置为二进制1。利用这些目的地端口号和SYN标志值,帧104通过上述过滤器检查,然后帧104被转发给节点14。图10示出的帧106只包括源端口号、目的地端口号和顺序号。过滤器100将让帧106通过,这是由于帧106缺少等于21的目的地端口号和等于二进制1的SYN标志。注意,在帧106中分段偏移被设置为0。这样,当在节点14处包含在帧104和106中的数据报有效载荷分段被重组时,将用图10示出的TCP头部90的源端口号、目的地端口号和顺序号分别覆写图9示出的TCP头部90的源端口号、目的地端口号和顺序号,结果导致图11示出的数据报。
可以避免上述极小分段攻击。更具体地说,RFC 3128描述了一种算法,该算法可以被用在过滤器100中来避免上述极小分段攻击。RFC 3128的算法为:
如果(协议=TCP)
    如果(分段偏移=0)
        检查长度1≥16字节
    否则
        检查分段偏移≥2,
其中长度1是由过滤器100根据下述公式针对每个帧计算出的:
长度1(以字节为单位)=(所接收到的帧的IP头部中的总长度值)-((所接收到的帧的IP头部中的IP头部长度值)×4)。
根据上述RFC 3128算法,过滤器100将丢弃其接收到的任何下述帧:所述帧的IP头部的协议字段被设置为TCP、IP头部的分段偏移被设置为0、并且所计算出的长度1小于16字节。另外,如果所接收到的任何帧的IP头部的分段偏移被设置为1,则过滤器100将其丢弃。图9示出的帧104将通过由执行上述RFC 3128算法的过滤器100执行的两种检查。然而,图10示出的帧106将被过滤器100丢弃,这是由于所计算出的帧106的长度为8字节。
上述RFC 3128算法不能避免上述极小分段攻击的某些变体。为了说明,图12示出了具有以太网头部62、数据报64和CRC 66的帧108。从图12可见,帧108的TCP头部90与图10示出的TCP头部90相似,小于全面的或完整的TCP头部。还要注意,在帧108中,即使数据报64的实际总长度为28字节,IP头部的总长度字段的值也是36字节。帧108可以通过上述RFC 3128算法,这是由于计算出的长度1是16字节。遗憾的是,如果帧108通过了过滤器100,并且帧108的数据报64与节点14的存储器中的随机数据相组合,则结果可能产生诸如文件传输协议之类的未经授权的操作。
发明内容
本发明公开了用于检查以太网帧的方法和装置。该方法可以被实现在执行存储在存储器中的软件指令的处理器中。在本发明的一种实施例中,该方法包括接收以太网帧,并且对该以太网帧的数据字节进行计数,以生成计数出的字节的总数目。计数出的字节的总数目可以用来计算以太网帧的数据报的数据长度。一旦计算出数据报数据长度,就可以与预定的值相比较。如果数据报长度超过预定的值,则可以丢弃以太网帧,以使该以太网帧不能到达其最终目的地。
附图说明
通过参考附图,可以更好地理解本发明,并且使其各种目的、特征和优点对本领域的技术人员变清楚。
图1是示出了联网系统的相关组件的框图;
图2是示出了图1示出的联网系统的节点的相关组件的框图;
图3示出了图2示出的节点之一的各层之间的数据传输的多个方面;
图4是表示典型的以太网帧的框图;
图5是表示典型的IP数据报的框图;
图6是表示典型的UDP段的框图;
图7是表示典型的TCP段的框图;
图8是表示示例性以太网帧的框图;
图9是表示示例性以太网帧的框图;
图10是表示示例性以太帧的框图;
图11是表示示例性IP数据报的框图;
图12是表示示例性IP数据报的框图;
图13是示出了应用本发明一种实施例的联网系统的相关组件的框图;以及
图14是示出了应用在图13示出的路由器或交换机中的过滤器的一种实施例的相关组件的框图。
在不同的附图中,使用相同的标号指示相似或相同的项目。
具体实施方式
图13是示出了应用本发明一种实施例的联网系统110的相关组件的框图。图13示出了执行TCP/IP协议套的一对计算机系统(节点)112和114。在图13中,节点112和114经由路由器或交换机116和以太网通信链路120和122彼此耦合。在一种实施例中,本发明可以采用在路由器或交换机116中的一个或更多处理器上执行的软件的形式。在另一种实施例中,本发明可以采用路由器或交换机116中的专用集成电路(ASIC)的形式。本发明不应当被限制在路由器或交换机116中使用。本发明可以用于例如节点114中。为了解释,本发明将被解释为用在路由器116中,但是,应当理解本发明不应被限于此。
节点112和114被示为分别具有4个通信层130~136和140~146。层130~136和140~146分别采用在节点112和114中的一个或更多个处理器上执行的软件指令的形式。层132~136和142~146分别实现在节点112和114的操作系统中。层130和140,以及节点112和114分别采用下述多种用户应用中的任何一种的形式,所述用户应用包括FTP、SMTP和telnet等。
为了解释,层132和142将采用TCP或UDP传输层的形式,同时层134和144降采用IP网络层的形式,层136和146分别采用用于连接以太网通信链路120和122的以太网链路层的形式。在图13中,节点112被表示为到服务器节点114的客户机节点。服务器应用140响应于来自客户机应用130的请求,向客户机应用130提供某些类型的服务(例如,SMTP)。客户机应用130通过下述方式与服务器应用140通信:连同所附的头部和/或尾部一起向下发送数据,通过层132~136,直到该数据经由路由器116和通信链路120和122作为比特流而被发送给节点114。节点114接收到的数据被向上发送,通过层146~142,直到具有较少头部和/或尾部的该数据到达服务器应用140。由层130~136生成的通常被添加到数据的这种类型的头部和/或尾部在上面的背景部分已参考图4~图7作了描述。
图13示出的路由器116包括检查其接收到的帧的过滤器142。如果路由器116接收到的帧通过了过滤器142执行的检查,则该帧被传递到例如节点114。如果路由器116接收到的帧未通过由过滤器142执行的一个或多个检查,则该帧被丢弃,以使它不能到达其目的地(例如,节点114)。过滤器142可以对路由器116接收到的帧执行多种检查。在一种实施例中,过滤器142执行下面列出的算法的检查中的一种或多种:
如果(协议=TCP)
    如果(分段偏移=0)
        检查长度1≥(P0×8)检查(1)
        检查长度2≥(P0×8)检查(2)
        检查TCP头部长度≥5检查(3)
    否则
        检查分段偏移≥P0     检查(4)
如果(协议=UDP)
    如果(分段偏移=0)
        检查长度1≥(P1×8)   检查(5)
        检查长度2≥(P1×8)   检查(6)
    否则
        检查分段偏移≥P1     检查(7)
否则
    如果(分段偏移=0)
        检查长度1≥(P2×8)   检查(8)
        检查长度2≥(P2×8)   检查(9)
    否则
        检查分段偏移≥P2,   检查(10)
其中长度1和长度2是根据下面的方程计算出的:
长度1(以字节为单位)=(所接收到的帧的IP头部中的总长度值)-((所接收到的帧的IP头部中的IP头部长度值)×4)。
长度2(以字节为单位)=(所接收到的帧中计数出的字节的总数)-(所接收到的帧的以太网头部和尾部中的数据字节的总数)-((所接收到的帧的IP头部中的IP头部长度值)×4)。
上面的算法中的P0、P1和P2都是在存储器中存储的可编程值。P0、P1和P2可以彼此相等、或者彼此不相等。注意,在上面的算法中,P0、P1和P2被8乘。在替换实施例中,也可以用除了8外的值与P0、P1和P2相乘。
长度2作为所接收到的要被检查的帧中计数出的字节的总数目的函数而被计算出。所接收到的帧的计数出的字节的总数可以用多种不同的方法之一来生成。在一种实施例中,存储器中的计数变量N被初始化为0。此后,对于所接收到的帧中的每个字节,N增1,直到所接收到的帧中的所有字节都被计数。可以在帧的字节进入路由器116时对这些字节进行计数,或者可以在所接收到的帧已临时存储到路由器116的存储器中之后再对这些字节进行计数。
在替换实施例中,长度2可以如下计算出:
长度2(以字节为单位)=(所接收到的帧的数据报中计数出的字节的总数)-((所接收到的帧的IP头部中的IP头部长度值)×4)。
注意,在计算长度2的这一替换实施例中,只有所接收到的帧的数据报的字节需要被计数。数据报的计数出的字节的总数可以用多种不同方法之一生成。在一种实施例中,存储器中的计数变量M初始为0。此后,对于所接收到的帧的数据报中的每个字节,M增加1,直到该数据报的所有数据都已被计数。可以在数据报的字节进入路由器116时对该数据报的字节进行计数,或者在该数据报已被临时存储到路由器116的存储器中之后再对数据报的字节进行计数。
在操作中,如果任何接收到的帧未通过各检查(1)~(10)中的一个或多个,则过滤器142将其丢弃。注意,过滤器142无需对路由器116接收到的每个帧执行上面列出的所有检查(1)~(10)。例如,过滤器142在某一时刻可以只执行检查(2),或者只执行检查(3),或者过滤器142可以只对路由器116接收到的帧执行检查(2)、(3)和(4)。在另一时刻,过滤器142可以对路由器116接收到的帧执行所有检查(1)~(10)。为了解释,假定过滤器142对路由器116接收到的所有帧执行所有检查(1)~(10)。
这样,如果路由器116接收到帧,不管在IP头部的协议字段中识别出其数据报包含UDP段还是TCP段,如果IP头部的分段偏移被设置为0、并且如果计算出长度1或2小于P2×8,则分别根据检查(8)和(9),过滤器142将丢弃该帧,以使其永远不能到达其目的地(例如,节点114)。如果路由器116接收到帧,不管在IP头部的协议字段中识别出其数据报包含UDP段还是TCP段,如果在IP头部中定义的分段偏移不等于0,而是小于P2,则根据检查(10),过滤器142将丢弃该帧。
如果路由器116接收到在其数据报中具有UDP段的帧(在该接收到的帧的IP头部的协议字段中识别出的),并且如果该接收到的帧的IP头部中设置的分段偏移被设置为0,则如果长度1或长度2小于P1×8,则分别根据检查(5)和(6),过滤器142将丢弃该接收到的帧。如果路由器116接收到具有UDP段的帧,并且如果在IP头部中设置的分段偏移未被设置为0,而是被设置为小于P1的值,则根据检查(7),过滤器142将丢弃该帧。
如果路由116接收到在其数据报中具有TCP段的帧(在该接收到的帧的IP头部的协议字段中识别出的),并且如果IP头部中设置的分段偏移值被设置为0,如果长度1或长度2小于P0×8,则分别根据检查(1)和(2),过滤142将丢弃该帧。如果路由器116接收到在其数据报中具有TCP段的帧(在该接收到的帧的IP头部的协议字段中识别出的),并且如果TCP头部长度字段的值小于5,则根据检查(3),过滤器142将丢弃该帧。如果路由器116接收到具有TCP段的帧,并且如果在IP头部中设置的分段偏移未被设置为0,而是被设置为小于P0的值,则根据检查(4),过滤器142将丢弃该帧。
如在上面的背景部分所述,图12中的帧108能够通过RFC 3128算法。如果路由器116接收到帧108,并且如果例如P0被设置为2以使得P0×8得到16字节,则执行上述算法的过滤器142将丢弃帧108。当路由器116接收到帧108时,计算出长度1和长度2。为了解释,包括以太网头部和尾部中的字节的帧108的总字节数被计数出。在所示示例中,因为帧108的每行为32比特长,所以将计数出总数为46字节。以太网头部和尾部中的字节总数为18。帧108的IP头部中的IP头部长度值为5。因此,长度2(以字节为单位)=46-18-(5×4)=8。因为8字节小于P0×8=16字节,因此根据检查(2),图12示出的帧108将被过滤器142丢弃。
如上所述,上面的检查(1)~(10)可以由执行软件指令的路由器116中的一个或多个处理器执行。或者,上面的检查(1)~(10)可以由路由器116中的一个或多个ASIC执行。图14示出了一种非软件实现的过滤器实施例,用于根据检查(1)~(10)来检查帧。更具体地说,图14以框图形式示出了耦合到解析电路(parser circuit)146和ASIC 148的媒体访问控制(MAC)电路144。在操作中,MAC电路144接收经由以太网通信链路120直接或间接来自节点112的以太网帧。媒体访问控制器可以将所接收到的帧存储到存储器中(未示出)。MAC电路144对所接收到的帧中的字节总数进行计数,包括以太网帧头部和尾部的字节数。该值作为计数出的字节的总数被提供给ASIC 148。另外,MAC电路144将帧数据提供给ASIC 148和解析器146。注意,MAC电路144将所接收到的帧处理为可以被ASIC 148和解析器146理解的格式。ASIC 148响应于自MAC电路144接收到的帧数据和计数出的字节的总数,执行上面的检查(1)~(10)中的一个或多个。如果ASIC 148接收到的帧不满足上述检查中的一个或多个,则该帧被丢弃。
尽管已结合数种实施例描述了本发明,但是本发明并不是要受限于这里描述的实施例。相反,本发明是要覆盖可以合理包括在由权利要求限定的本发明的范围内的这种替换、修改和等同。

Claims (10)

1.一种用于检测极小分段攻击的方法,包括:
接收以太网帧;
对所述以太网帧的数据字节进行计数,以生成计数出的字节的总数;
对所述以太网帧的IP有效载荷以字节为单位计算数据长度,其中所述数据长度作为所述计数出的字节的总数的函数而被计算出;
将所计算出的IP有效载荷数据长度与预定值相比较;以及
根据所述比较丢弃不满足检查条件的以太网帧。
2.一种用于检测极小分段攻击的装置,包括:
电路,其包括用于接收以太网帧的第一电路;
其中,所述第一电路响应于接收到所述以太网帧,对所述以太网帧的数据字节进行计数,以生成计数出的字节的总数,
其中,所述第一电路配置为对所述以太网帧的IP有效载荷以字节为单位计算数据长度,其中所述数据长度作为所述计数出的字节的总数的函数而被所述第一电路计算出;
其中,所述第一电路配置为将所计算出的IP有效载荷数据长度与预定值相比较,并且根据所述比较丢弃不满足检查条件的以太网帧。
3.一种用于检测极小分段攻击的方法,包括:
接收以太网帧,其中所述以太网帧包括传输控制协议TCP头部,其中所述TCP头部包括TCP头部长度值;
将所述TCP头部长度值与预定值相比较;以及
根据所述比较丢弃不满足检查条件的以太网帧。
4.一种用于检测极小分段攻击的装置,包括:
电路,所述电路包括第一电路;
其中,所述第一电路配置为接收以太网帧,其中所述以太网帧包括TCP头部,其中所述TCP头部包括TCP头部长度值;
其中,所述第一电路配置为将所述TCP头部长度值与预定值相比较,并且根据所述比较丢弃不满足检查条件的以太网帧。
5.一种用于检测极小分段攻击的设备,包括:
用于接收以太网帧的装置;
用于将所述以太网帧中的TCP头部长度值与预定值相比较的装置;以及
用于根据所述比较丢弃不满足检查条件的以太网帧的装置。
6.一种用于检测极小分段攻击的方法,包括:
接收以太网帧,其中所述以太网帧包括IP数据报,其中所述IP数据报包括IP头部和IP有效载荷,其中所述IP有效载荷包括用户数据报协议UDP头部;
计算所述IP数据报的IP有效载荷的以字节为单位的长度;
对所述以太网帧的数据字节进行计数来生成计数出的字节的总数,其中所述所述IP有效载荷长度作为所述计数出的字节的总数的函数被计算出;
将所计算出的IP有效载荷长度与预定值相比较;
根据所述比较丢弃不满足检查条件的以太网帧。
7.一种用于检测极小分段攻击的装置,包括:
包括第一电路的电路,其中,所述第一电路配置为接收以太网帧,其中所述以太网帧包括IP数据报,其中所述IP数据报包括IP头部和IP有效载荷,其中所述IP有效载荷包括用户数据报协议UDP头部;
计算所述IP数据报的IP有效载荷的以字节为单位的长度;
对所述以太网帧的数据字节进行计数来生成计数出的字节的总数,其中所述第一电路计算作为所述计数出的字节的总数的函数的所述IP有效载荷长度;
将所计算出的IP有效载荷长度与预定值相比较;以及
根据所述比较丢弃不满足检查条件的以太网帧。
8.如权利要求7所述的装置,其中,所述IP头部包括IP头部长度值和IP数据报长度值,其中所述第一电路计算作为所述IP头部长度值和所述IP数据报长度值的函数的所述IP有效载荷长度。
9.如权利要求7所述的装置:
其中,所述第一电路配置为将所述IP头部中的分段偏移值与所述预定值相比较,并且;
其中,所述电路配置为如果所述分段偏移值大于等于所述预定值,则将所述以太网帧的部分或全部传递给协议栈的UDP层。
10.一种用于检测极小分段攻击的设备,包括:
用于接收以太网帧的装置,其中所述以太网帧包括IP数据报,其中所述IP数据报包括IP头部和IP有效载荷,其中所述IP有效载荷包括用户数据报协议UDP头部;
用于计算所述IP数据报的IP有效载荷的以字节为单位的长度的装置;
用于将所计算出的IP有效载荷长度与预定值相比较的装置;以及
根据所述比较丢弃不满足检查条件的以太网帧。
CN200480006087.8A 2003-03-06 2004-02-27 检测极小分段攻击的装置和方法 Expired - Fee Related CN1757220B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US10/383,128 US8296452B2 (en) 2003-03-06 2003-03-06 Apparatus and method for detecting tiny fragment attacks
US10/383,128 2003-03-06
PCT/US2004/005958 WO2004082238A1 (en) 2003-03-06 2004-02-27 Apparatus and method for detecting tiny fragment attacks

Publications (2)

Publication Number Publication Date
CN1757220A CN1757220A (zh) 2006-04-05
CN1757220B true CN1757220B (zh) 2012-04-18

Family

ID=32927029

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200480006087.8A Expired - Fee Related CN1757220B (zh) 2003-03-06 2004-02-27 检测极小分段攻击的装置和方法

Country Status (6)

Country Link
US (3) US8296452B2 (zh)
EP (2) EP3200426A1 (zh)
CN (1) CN1757220B (zh)
AU (1) AU2004219041B2 (zh)
CA (1) CA2518607C (zh)
WO (1) WO2004082238A1 (zh)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060195603A1 (en) * 2003-04-21 2006-08-31 Seungdong Lee Dongchul S Network traffic control system
US7792147B1 (en) * 2004-02-09 2010-09-07 Symantec Corporation Efficient assembly of fragmented network traffic for data security
US20060182143A1 (en) * 2005-02-11 2006-08-17 Lu Hongqian K System and method for filtering communications packets on electronic devices
US7706409B2 (en) * 2005-04-01 2010-04-27 International Business Machines Corporation System and method for parsing, filtering, and computing the checksum in a host Ethernet adapter (HEA)
US7903687B2 (en) * 2005-04-01 2011-03-08 International Business Machines Corporation Method for scheduling, writing, and reading data inside the partitioned buffer of a switch, router or packet processing device
US7881332B2 (en) * 2005-04-01 2011-02-01 International Business Machines Corporation Configurable ports for a host ethernet adapter
US7492771B2 (en) * 2005-04-01 2009-02-17 International Business Machines Corporation Method for performing a packet header lookup
US7697536B2 (en) * 2005-04-01 2010-04-13 International Business Machines Corporation Network communications for operating system partitions
US7508771B2 (en) * 2005-04-01 2009-03-24 International Business Machines Corporation Method for reducing latency in a host ethernet adapter (HEA)
US20060221953A1 (en) * 2005-04-01 2006-10-05 Claude Basso Method and apparatus for blind checksum and correction for network transmissions
WO2008100350A1 (en) * 2007-02-15 2008-08-21 Agentek, Inc. Mobile data object transmission over wireless communication networks using udp and two level protocol
US8711685B2 (en) * 2007-03-06 2014-04-29 Alphion Corporation System and method for data reconfiguration in an optical communication network
CN100466583C (zh) * 2007-04-06 2009-03-04 华为技术有限公司 基于rrpp的快速环网防攻击的方法、装置和系统
US8111704B2 (en) * 2009-06-26 2012-02-07 Intel Corporation Multiple compression techniques for packetized information
FR2949934B1 (fr) * 2009-09-09 2011-10-28 Qosmos Surveillance d'une session de communication comportant plusieurs flux sur un reseau de donnees
US8953631B2 (en) * 2010-06-30 2015-02-10 Intel Corporation Interruption, at least in part, of frame transmission
US8351329B2 (en) 2010-09-14 2013-01-08 Cisco Technology, Inc. Universal load-balancing tunnel encapsulation
US8995263B2 (en) * 2012-05-22 2015-03-31 Marvell World Trade Ltd. Method and apparatus for internal/external memory packet and byte counting
US9236936B2 (en) * 2012-08-31 2016-01-12 Hughes Network Systems, Llc System and method for low-complexity, high-speed preprocessing of encapsulated packets in a broadband communications network
CN103023613B (zh) * 2012-12-14 2018-06-01 中兴通讯股份有限公司 一种对数据帧长度进行校验的方法及装置
KR20160010440A (ko) * 2013-05-22 2016-01-27 엘지전자 주식회사 Ip 기반의 디지털 방송 시스템에서 계층간 시그널링 데이터 처리 방법 및 장치
US9641287B2 (en) 2015-01-13 2017-05-02 Honeywell International Inc. Methods and apparatus for high-integrity data transfer with preemptive blocking
CN105812385A (zh) * 2016-05-06 2016-07-27 上海庆科信息技术有限公司 基于Wi-Fi设备的数据通信方法、设备及系统
US10089339B2 (en) * 2016-07-18 2018-10-02 Arm Limited Datagram reassembly
GB2583112B (en) * 2019-04-16 2023-02-01 Cisco Tech Inc Efficient protection for an IKEv2 device

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5909564A (en) * 1997-03-27 1999-06-01 Pmc-Sierra Ltd. Multi-port ethernet frame switch

Family Cites Families (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4174536A (en) * 1977-01-21 1979-11-13 Massachusetts Institute Of Technology Digital communications controller with firmware control
US4271507A (en) * 1979-06-07 1981-06-02 Ford Motor Company Communication broadcast channel interface
US5307345A (en) * 1992-06-25 1994-04-26 Digital Equipment Corporation Method and apparatus for cut-through data packet transfer in a bridge device
US5594732A (en) * 1995-03-03 1997-01-14 Intecom, Incorporated Bridging and signalling subsystems and methods for private and hybrid communications systems including multimedia systems
US5850388A (en) * 1996-08-02 1998-12-15 Wandel & Goltermann Technologies, Inc. Protocol analyzer for monitoring digital transmission networks
US6226680B1 (en) * 1997-10-14 2001-05-01 Alacritech, Inc. Intelligent network interface system method for protocol processing
US6122670A (en) * 1997-10-30 2000-09-19 Tsi Telsys, Inc. Apparatus and method for constructing data for transmission within a reliable communication protocol by performing portions of the protocol suite concurrently
US6052375A (en) * 1997-11-26 2000-04-18 International Business Machines Corporation High speed internetworking traffic scaler and shaper
US6105079A (en) * 1997-12-18 2000-08-15 Advanced Micro Devices, Inc. Apparatus and method in a network interface device for selectively supplying long bit information related to a data frame to a buffer memory and a read controller for initiation of data transfers
US6343362B1 (en) * 1998-09-01 2002-01-29 Networks Associates, Inc. System and method providing custom attack simulation language for testing networks
US6347087B1 (en) * 1998-10-05 2002-02-12 Packet Engines Incorporated Content-based forwarding/filtering in a network switching device
US6519636B2 (en) * 1998-10-28 2003-02-11 International Business Machines Corporation Efficient classification, manipulation, and control of network transmissions by associating network flows with rule based functions
US6480489B1 (en) * 1999-03-01 2002-11-12 Sun Microsystems, Inc. Method and apparatus for data re-assembly with a high performance network interface
JP2002538721A (ja) 1999-03-01 2002-11-12 サン・マイクロシステムズ・インコーポレイテッド 高性能ネットワークインターフェースにおけるネットワークトラフィックを分類するための方法および装置
US6643710B1 (en) * 1999-09-17 2003-11-04 3Com Corporation Architecture to fragment transmitted TCP packets to a requested window size
JP3386117B2 (ja) * 2000-01-11 2003-03-17 日本電気株式会社 マルチレイヤクラス識別通信装置と通信装置
US6925572B1 (en) * 2000-02-28 2005-08-02 Microsoft Corporation Firewall with two-phase filtering
US6714985B1 (en) * 2000-04-28 2004-03-30 Cisco Technology, Inc. Method and apparatus for efficiently reassembling fragments received at an intermediate station in a computer network
KR100667739B1 (ko) 2000-06-09 2007-01-12 삼성전자주식회사 무선 데이터 송수신 장치 및 그 방법
US7031267B2 (en) * 2000-12-21 2006-04-18 802 Systems Llc PLD-based packet filtering methods with PLD configuration data update of filtering rules
US6625764B1 (en) * 2000-11-28 2003-09-23 Nortel Networks Limited Testing using test packets containing random data
US6816455B2 (en) * 2001-05-09 2004-11-09 Telecom Italia S.P.A. Dynamic packet filter utilizing session tracking
WO2002097580A2 (en) * 2001-05-31 2002-12-05 Espeed, Inc. Securities trading system with multiple levels-of-interest
EP1410210A4 (en) * 2001-06-11 2005-12-14 Bluefire Security Technology I PACKAGE FILTERING SYSTEM AND METHOD
US7269186B2 (en) * 2001-08-06 2007-09-11 Qualcomm Incorporated Protocol for framing a payload
US7031338B2 (en) * 2001-08-27 2006-04-18 Hewlett-Packard Development Company, L.P. System and method for the consolidation of data packets
US7599369B2 (en) 2001-09-27 2009-10-06 Broadcom Corporation Apparatus and methods for hardware payload header suppression, expansion, and verification in a DOCSIS network
US20030172177A1 (en) 2001-12-06 2003-09-11 Kersley Ian P. System and method for verifying a device
US7487254B2 (en) * 2001-12-20 2009-02-03 Nokia Corporation Fixed length filtering to filter clusters of discrete segments of data
US8370936B2 (en) * 2002-02-08 2013-02-05 Juniper Networks, Inc. Multi-method gateway-based network security systems and methods
US7058796B2 (en) * 2002-05-20 2006-06-06 Airdefense, Inc. Method and system for actively defending a wireless LAN against attacks
US20040039940A1 (en) * 2002-08-23 2004-02-26 Koninklijke Philips Electronics N.V. Hardware-based packet filtering accelerator
US7454499B2 (en) * 2002-11-07 2008-11-18 Tippingpoint Technologies, Inc. Active network defense system and method
US7233597B2 (en) * 2003-02-11 2007-06-19 Texas Instruments Incorporated High speed parser

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5909564A (en) * 1997-03-27 1999-06-01 Pmc-Sierra Ltd. Multi-port ethernet frame switch

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
ZIEMBA G ET AL.Security Considerations for IP Fragment Filtering.RFC 18581995 10.1995,1995(10),1-10.
ZIEMBA G ET AL.Security Considerations for IP Fragment Filtering.RFC 18581995 10.1995,1995(10),1-10. *

Also Published As

Publication number Publication date
CA2518607C (en) 2014-01-21
US8904513B2 (en) 2014-12-02
EP1599990B1 (en) 2017-06-14
EP3200426A1 (en) 2017-08-02
US20040177106A1 (en) 2004-09-09
US8296452B2 (en) 2012-10-23
US6886118B2 (en) 2005-04-26
CN1757220A (zh) 2006-04-05
AU2004219041A1 (en) 2004-09-23
CA2518607A1 (en) 2004-09-23
US20040177275A1 (en) 2004-09-09
WO2004082238A1 (en) 2004-09-23
EP1599990A1 (en) 2005-11-30
US20040205228A1 (en) 2004-10-14
AU2004219041B2 (en) 2009-03-05

Similar Documents

Publication Publication Date Title
CN1757220B (zh) 检测极小分段攻击的装置和方法
US9578141B2 (en) Packet flow modification
US7725938B2 (en) Inline intrusion detection
JP4658098B2 (ja) フロー情報制限装置および方法
US20050060418A1 (en) Packet classification
US20070230507A1 (en) Bundled Internet Protocol Packets
JP3731111B2 (ja) 侵入検出装置およびシステムならびにルータ
EP1297665B1 (en) Apparatus and method for efficient hashing in networks
AU2002219332B2 (en) Firewall with index to access rule
US20080219178A1 (en) Method of data analysis in a packet switched network
AU2002219332A1 (en) Firewall with index to access rule
KR100501080B1 (ko) 인터넷상 트래픽의 상위 계층 프로토콜들을 구분하는 방법및 장치
US10742602B2 (en) Intrusion prevention
EP2132905B1 (en) Frame concatenation with drop precedence assignment
CN113556364B (zh) 一种基于DPDK的DDoS实时防御系统
CN111770049B (zh) 全局缓存变量及报文信息存储方法及装置
CN113556345A (zh) 一种报文处理方法、装置、设备及介质
Strayer et al. Efficient multi-dimensional flow correlation
CN118041859A (zh) 一种vxlan转发表自学习方法
Mittal et al. Flexible deterministic router and interface marking for IP traceback
CN107147578A (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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20120418

Termination date: 20210227

CF01 Termination of patent right due to non-payment of annual fee