CN1938982B - 通过认证因特网控制消息协议分组来防止网络攻击的方法和装置 - Google Patents

通过认证因特网控制消息协议分组来防止网络攻击的方法和装置 Download PDF

Info

Publication number
CN1938982B
CN1938982B CN2005800104230A CN200580010423A CN1938982B CN 1938982 B CN1938982 B CN 1938982B CN 2005800104230 A CN2005800104230 A CN 2005800104230A CN 200580010423 A CN200580010423 A CN 200580010423A CN 1938982 B CN1938982 B CN 1938982B
Authority
CN
China
Prior art keywords
icmp
packet sequence
tcp
grouping
sequence value
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
CN2005800104230A
Other languages
English (en)
Other versions
CN1938982A (zh
Inventor
阿莫·卡里
米特什·德拉尔
阿纳恩萨·拉迈阿
沙拉德·阿拉瓦特
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 CN1938982A publication Critical patent/CN1938982A/zh
Application granted granted Critical
Publication of CN1938982B publication Critical patent/CN1938982B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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/12Applying verification of the received information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/1458Denial of Service
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/1466Active attacks involving interception, injection, modification, spoofing of data unit addresses, e.g. hijacking, packet injection or TCP sequence number attacks

Landscapes

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

Abstract

本发明公开了一种用于防止网络上的攻击的方法。该方法包括计算机实现的以下步骤:接收包括有与面向连接的传输协议的连接相关联的头部的拷贝的ICMP分组(202);从该头部获得分组序列值(204);确定该分组序列值是否有效(206);以及仅在该分组序列值被确定为有效时才更新与传输协议连接相关联的参数值。使用所公开的方法使得能够对ICMP分组(202)进行认证,以使得仅在ICMP分组(202)被确定为可信的时才执行诸如调整MTU值之类的网络元件的响应措施。

Description

通过认证因特网控制消息协议分组来防止网络攻击的方法和装置
技术领域
本发明一般地涉及防止计算机网络上的攻击。更具体地说,本发明涉及用于防止通过因特网控制消息协议实行的网络攻击的方法。
背景技术
本发明所述方法可以被实现,但是不一定是先前已设想出或者已实现了的方法。因此,除非在这里另行指出,本发明所述方法不是本申请的权利要求的现有技术,并且不因为被包括在该部分中而承认是现有技术。
基于传输控制协议和因特网协议(TCP/IP)的网络和互连网依赖于用于处理网络中的错误状况的因特网控制消息协议(“ICMP”)。ICMP是在因特网工程任务组(IETF)的RFC(请求注解)792中定义的。参与互连网或全球因特网的路由器、交换机和其他网络元件使用ICMP来交换错误处理信息。在这些网络元件上运行的ICMP代理可以产生错误消息和通知消息,所述错误消息例如是ICMP目的地不可达消息,所述通知消息例如是ICMP回送请求和答复消息。
路由器接收到ICMP错误消息分组时作出的响应取决于在该ICMP分组中承载的类型值。在RFC 792中,未要求对ICMP分组的源进行认证,并且ICMP的实现方式也不提供这种认证。多数ICMP实现方式对ICMP分组中承载的IP地址进行验证,有时也验证其中的TCP端口号,但是这种验证级别不足以防止大多数类型的攻击。结果,虚假的ICMP分组可能给出错误状况的假象,导致路由器以不希望的方式对不存在的错误状况作出响应。某些响应可能导致拒绝对客户端的服务,或者导致较差的服务质量。因此,网络管理员希望具有一种方式,用于路由器或其他网络元件在执行响应动作之前确定ICMP分组的可信性。
下面是仅仅一个虚假的ICMP分组可能如何导致灾难性结果的示例。路径MTU发现(PMTU)是这样一种方法,该方法由TCP用来智能发现特定连接的路径最大传输单元(MTU)。其目的是找到一条路径的MTU值,以便使用该MTU值作为TCP片段大小,而不是使用默认的为536的TCP片段大小。PMTU试图找到比536大的最小MTU,从而导致较高的沿该路径的数据吞吐量。
PMTU发现是通过发送下述ICMP分组实现的:在该ICMP分组中,IP头部中的“不分段”(DF)位被设置,并且具有连续较大的分段大小值。当接收到包括已导致指定分段大小值错误的接口的MTU的ICMP“不可达”型分组时,较小的MTU被发现。TCP实现方式采取的纠正动作是在接下来数分钟内使用嵌入在ICMP分组中的MTU值,然后尝试使用较大的值。典型情况下在10分钟内使用相同的MTU值。
然而,ICMP不可达分组易受未经授权的或者说恶意方欺骗。欺骗该分组仅需的特定信息是一个四元组的值,包括两个IP地址和两个端口号。一个端口号一般是公知的端口号,另一个端口号可以容易地猜出,因为大多TCP实现方式仅递增公知的端口号以创建用于后继连接的端口号。此外,恶意方通常可以从在因特网内公开的边界网关协议(BGP)流映射获得参与TCP连接的路由器的IP地址。
TCP主机被允许接受最小为68的MTU,该值反映出40字节的TCP-IP头部数据后的28字节的数据。因此,通告一个70字节的MTU的虚假的ICMP分组将导致TCP实现方式在10分钟内使用30个字节作为分段大小。在10分钟后接收并处理另一个MTU为70的虚假的ICMP分组将导致连接在另一个10分钟内继续处于减速状况中。
使用PMTU的TCP应用的示例包括BGP和FTP,它们通常需要交换大量的数据。这些应用和其他应用可能易受到这里所述的攻击。对于类似于BGP的协议,分组传输时间尤其关键,因此使连接减速可能导致灾难性后果。在FreeBSD操作***及其派生操作***中的TCP实现方式都易受到上述攻击。许多其他TCP栈实现方式都表现出相同的可能行为。在因特网协议版本6(IPv6)下,ICMP分组被用在邻居发现过程、路径MTU发现和多播监听者发现(MLD)协议中。IPv6路由器使用MLD来发现直接附接的链路上的多播监听者,包括希望接收去往特定多播地址的多播分组的节点。基本IPv6分组头部的下一头部字段中的值58标识出IPv6 ICMP分组。类似的标识符用在IPv4中。就ICMP分组紧随所有扩展头部并且是IPv6分组中的最后一个信息段来说,IPv6中的ICMP分组类似于传输层分组。
在IPv6 ICMP分组内,ICMPv6类型和ICMPv6代码字段标识IPv6ICMP分组细节,例如ICMP消息类型。校验和字段中的值是从IPv6 ICMP分组和IPv6头部中的字段导出的。ICMPv6数据字段包含与IP分组处理相关的错误或诊断信息。
由于基于ICMP的攻击,所以ICMPv4和ICMPv6二者通常都被企业防火墙中实现的安全策略阻挡。对于使用IPv4的路由器,不存在广泛使用的技术用以防止基于ICMP的网络攻击。尽管ICMPv6具有使用IPSec认证和加密的能力(该认证和加密降低了基于ICMPv6的攻击的可能性),但是,已布署的IPv4路由器的基数非常大,这些路由器需要防止基于ICMP的攻击的解决方案。
根据RFC 792,IPv4 ICMP错误分组包括已产生错误的原始分组的IP头部的拷贝,以及来自该原始IP分组的有效载荷的至少8字节的数据。在一种现有方法中,IP头部中承载的IP地址和传输头部中承载的TCP端口号(如果存在的话)被用来选择路由器中的具体应用或服务。然而,该现有方法不对分组执行任何形式的认证。
附图说明
在附图的图示中,通过示例而不是限制示出了本发明,在附图中相似的标号指示类似的元素,其中:
图1是示出了使用面向连接的传输协议用于分组数据通信的节点的网络的概况的框图;
图2是示出了通过认证ICMP分组来防止网络攻击的方法的一个实施例的高级别概况的流程图;
图3是用于认证ICMP分组的替换方法的流程图;以及
图4是示出了可以在其上实现本发明实施例的计算机***的框图。
具体实施方式
下面描述通过认证因特网控制消息协议分组来防止网络攻击的方法和装置。在下面的描述中,为了说明目的,阐述了各种特定细节以便提供对本发明的全面理解。但是,没有这些特定细节也可以实施本发明,对于本领域的技术人员来说是很明显的。在另外一些实例中,以框图形式示出了公知的结构和设备,以免不必要地混淆了本发明。
在这里根据以下提纲对实施例进行描述:
1.0综述
2.0通过认证ICMP分组来防止网络攻击的方法
3.0实现机制-硬件概述
4.0扩展和替换
---
1.0综述
在本发明中实现了前述背景部分中所述需求、以及从下面的描述将变清楚的其他需求和目的,本发明在一个方面中包括一种用于防止网络上的攻击的方法,该方法包括计算机实现的以下步骤:接收包括有与面向连接的传输协议的连接相关联的头部的拷贝的ICMP分组;从该头部获得分组序列值;确定分组序列值是否有效;以及仅在该分组序列值被确定为有效时才更新与传输协议连接相关联的参数值。所公开方法的使用使得能够对ICMP分组进行认证,以使得仅在ICMP分组被确定为可信的时才执行诸如调整MTU值之类的网络元件的响应措施。与现有方案不同,嵌入在ICMP分组中的传输层或应用层协议信息被用来认证分组。
根据一个特征,接收ICMP分组的步骤包括接收包括有与TCP连接相关联的TCP头部的拷贝的ICMP分组。在另一个特征中,接收ICMP分组的步骤包括接收ICMP“端点不可达”错误分组。在又一个特征中,接收ICMP分组的步骤包括接收指定需要分段的ICMP分组。
在一个特征中,确定分组序列值是否有效的步骤包括确定该分组序列值是否在所述连接的传输协议允许的分组序列值的范围内。在另一个特征中,确定分组序列值是否有效包括确定该分组序列值是否在所述连接的已发送但是尚未确认的TCP分组序列值的范围内。在又一个特征中,确定分组序列值是否有效包括确定该分组序列值是否与当前存储在TCP重传缓冲区中的一个或多个分组的一个或多个序列值相等。
在一个实施例中,前述步骤在充当TCP端点节点的路由器中执行。在另一个实施例中,这些步骤在防火墙设备中执行。
在其他方面中,本发明包括被配置为执行前述步骤的计算机装置和计算机可读介质。
2.0通过认证ICMP分组来防止网络攻击的方法
2.1结构概述
图1是示出了使用面向连接的传输协议来进行分组数据通信的节点的网络的概况的框图。第一网络元件102直接或间接通过网络104被通信耦合到第二网络元件106。网络104可以包括一个或多个局域网、广域网、互连网、或者它们的组合,这些网络使用任何形式的通信链路,包括线缆、光链路、红外链路或者射频无线链路。
在一个实施例中,网络元件102和106每个都包括路由器、交换机或者网络基础设施的其他元件。为了说明简单清楚的示例的目的,图1仅示出了两个网络元件102和106。但是,在其他实施例中,任意数目的网络元件可以与网络104通信,或者参与到网络104中。此外,为了清楚,省略了完整网络***的其他公共元件,例如,个人计算机、工作站、打印机、服务器,以及其他末端站或内容源。
在一个实施例中,网络104是TCP/IP分组交换网络,元件102和106使用IP、TCP和ICMP通过该网络通信。为了支持这种通信,网络元件106充当TCP端点节点,终止发源于网络元件102或者网络元件102的末端站客户端处的TCP连接。网络元件106容纳或执行操作***108,操作***108管理一个或多个应用,所述应用包括实现TCP的TCP/IP代理110。TCP/IP代理110包括ICMP处理逻辑112或者可以访问ICMP处理逻辑112,ICMP处理逻辑112实现ICMP。在替换实施例中,网络元件106可以包括实现了提供对IP、TCP和ICMP的实现的TCP/IP栈的个人计算机或者工作站。
在该环境中,网络元件102和106可以使用包括ICMP消息的IP分组和TCP片段进行通信。许多这种消息可以是合适并合法的,并且可以导致网络元件106执行适当的响应动作,例如,调整MTU值来顾及网络元件102或网络104的带宽限制。然而,通信耦合到网络104的未授权用户120可能通过确定出网络元件102和网络元件106正用来通信的IP地址和端口号值来发送一个或多个虚假ICMP分组122到网络元件106。如果虚假的ICMP分组122包含不合理的小MTU值,则网络元件106可能使其使用的MTU值减小,从而导致性能问题。
2.2功能概述
在一种方案中,提供了一种认证ICMP分组的方法。认证ICMP分组使得网络节点能够防止执行任何纠错动作,而纠错动作通常是响应于虚假ICMP分组而要求执行的。具体而言,ICMP分组中嵌入的传输信息或应用层信息可以用于认证ICMP分组。在过去的方案中,仅这种信息的一部分(如传输层端口号)被以有限方式用来对ICMP分组解复用,以纠正传输协议或应用。
在这里的方案的一个实施例中,TCP头部的前8个字节可以被用来认证ICMP分组,从而消除未经授权的发送者实行使用TCP的应用的拒绝服务攻击的可能性。如TCP RFC所定义,TCP头部的前8个字节包含与两个网络节点之间的TCP连接相关的两个端口号值和TCP序列号。该序列号标识已导致下游节点标识出错误并且响应于该错误产生ICMP分组的TCP片段。
根据各种实施例,提供了两种方案用于使用TCP序列号来认证ICMP分组。在第一方案中,序列号被测试来确定其是否在已发送但是未被确认并且对于关联的TCP连接当前有效的序列号的范围内。在TCP的某些实现方式中,已发送但是未被确认的序列号的范围由软件变量定义,该软件变量名为“snduna”和“sndnxt”。
在第二方案中,提供了一种更严格的测试,试图使接收到的序列号与在由TCP实现方式维护的重传队列或缓冲区中存储的每个TCP片段中出现的序列号匹配。TCP重传队列以其发送时的原始形式保存每个片段的拷贝。如果接收到的ICMP分组是可信的,则ICMP分组中的序列号必然与重传队列中的某一分段的序列号匹配。
图2是示出了用于通过认证ICMP分组来防止网络攻击的方法的一个实施例的高级别概况的流程图。图3是用于认证ICMP分组的替换方案的流程图。图2和图3的过程都可以使用一个或多个机器、计算机程序、过程或者软件元件实现。在一个实施例中,图2和图3的过程被实现为作为ICMP处理逻辑112的一部分的程序指令序列。
首先参考图2,在步骤202中,接收ICMP分组。例如,在步骤202中,网络元件106接收到来自网络元件102或未经授权的用户120的ICMP分组。在一个实施例中,仅针对接收到的下述ICMP分组执行图2的过程:所述分组具有指示其是ICMP“不可达”类型错误分组的类型代码和指示需要对片段分段和/或改变MTU的值。
在步骤204中,从接收到的分组的头部获得分组序列值。例如,实现图2的过程的网络元件从ICMP分组中承载的IP头部抽取TCP序列号。
在步骤206和步骤208中,执行测试来确定分组序列值是否有效。如果序列值有效,则在步骤210中基于ICMP分组执行响应动作。例如,该响应动作可以包括基于在ICMP分组中通告的MTU值来修改执行步骤202-210的网络元件的MTU值,如步骤212所示。但是,步骤212仅是一个示例,并且在其他实施例中可以执行任何其他适当的响应动作。
如果步骤206-208的测试结果为否,则在步骤214中,拒绝ICMP分组,并且可以响应于可能的攻击执行可选的动作。拒绝ICMP分组可以包括丢弃分组,不执行传统上响应于ICMP分组执行的响应动作,或者仅在在步骤222中发现所接收到的序列值的精确匹配时等情况下才执行诸如修改MTU值之类的响应动作。在步骤214中执行的可选响应动作可以包括创建日志条目等。
在步骤206中可以使用若干方案来确定分组序列值是否有效。现在参考图3,该图示出了两种替换方案作为示例。在步骤220所表示的一种方案中,步骤206包括确定所接收到的ICMP分组的序列值是否在已由TCP实现方发送但是接收节点尚未确认的序列值的允许范围内。在使用传统变量名的TCP软件实现方式中,步骤220的测试可以包括确定接收到的ICMP分组的序列值是否在由该实现方式维护的值“sndnxt”和“snduna”内。
在步骤222所表示的另一种方案中,执行测试来确定所接收到的序列值是否等于由TCP实现方式维护的TCP重传缓冲区中的分组的任何序列值。TCP重传缓冲区将包含已实际发送的所有TCP片段的拷贝,因此可以充当所有已知有效的序列值的引用仓库。该方案要求比第一种方案稍多的处理资源,因为对于重传缓冲区中的所有片段都要求进行比较。但是,在典型的实现方式中,该额外的处理时间并不繁重。
在执行了步骤220或步骤222的方案后,控制前进到上面参考图2已描述的步骤208-214。
尽管在使用TCP的通信的上下文中给出了上述示例,但是,取决于各自头部中可用的信息,这里所述方案可以与任何其他传输协议和应用信息一起工作。使用序列值的等同物的任何面向连接的传输层协议都可以使用。例如,这些方案可能适用于任何面向连接的传输协议。这些方案提供了对诸如BGP、VPN、OSPF之类的应用,各种基于IP的语音协议,或者依赖于TCP的其他高层协议的保护,并且还提供了可以被检查或者可以结合可以被检查的IP头部信息的头部信息或序列值。这里的方案可以消除网络节点响应于虚假的ICMP分组而执行灾难性的纠错动作的可能性。
这里的方案提供了有效的安全性解决方案,该方案适用于大多数传输协议和使用面向连接的传输协议并且依赖于ICMP反馈或错误消息的应用。这里的方案可以被应用到若干场景中,例如,拒绝服务攻击防止、增强对故障警报的健壮性、以及TCP代理机制。
3.0实现机制-硬件概述
图4是示出了可以在其上实现本发明的实施例的计算机***400的框图。该优选实施例是使用在诸如路由器设备之类的网络元件中运行的一个或多个计算机程序实现的。因此,在本实施例中,计算机***400是路由器。
计算机***400包括总线402或用于传输信息的其他机制,以及与总线402耦合用于处理信息的处理器404。计算机***400还包括耦合到总线402用于存储信息和要由处理器404执行的指令的主存储器406,例如,随机访问存储器(RAM)、闪存或者其他动态存储器件。主存储器406还可以用于存储在执行要由处理器404执行的指令期间的临时变量或其他中间信息。计算机***400还包括耦合到总线402的只读存储器(ROM)408或其他静态存储器件,用于存储静态信息和用于处理器404的指令。还提供了存储设备410,例如,磁盘、闪存或光盘,该存储设备410被耦合到总线402用于存储信息和指令。
通信接口418可以被耦合到总线402,用于传输信息和命令选择到处理器404。接口418是传统的串行接口,如RS-232或RS-422接口。外部终端412或其他计算机***连接到计算机***400,并且使用接口414向其提供命令。在计算机***400中运行的固件或软件提供终端接口或基于字符的命令界面,使得外部命令可以被提供给该计算机***。
交换***416被耦合到总线402,并且具有到一个或多个外部网络元件的输入接口414和输出接口419。外部网络元件可以包括耦合到一个或多个主机424的本地网络422,或者具有一个或多个服务器430的诸如因特网428之类的全球网。交换***416根据预定协议和公知传统将到达输入接口414的信息流量交换到输出接口419。例如,交换***416与处理器404协作可以确定出到达输入接口414的数据分组的目的地,并且使用输出接口419将其发送向正确的目的地。目的地可以包括主机424、服务器430、其他末端站、或者本地网络422或因特网428中的其他路由选择和交换设备。
本发明涉及使用计算机***400来通过认证因特网控制消息协议分组而防止网络攻击。根据本发明一个实施例,通过认证因特网控制消息协议分组来防止网络攻击是由计算机***400响应于处理器404执行主存储器406中包含的一条或多条指令的一个或多个序列而提供的。这些指令可以从另一个计算机可读介质(如存储设备410)读取到主存储器406中。执行主存储器406中包含的指令序列致使处理器404执行这里所述的过程步骤。也可以采用多处理布置中的一个或多个处理器来执行主存储器406中包含的指令序列。在替换实施例中,硬连线电路可以被用来替代软件指令或者与软件指令组合来实现本发明。因此,本发明的实施例不限于硬件电路和软件的任何特定组合。
这里使用的术语“计算机可读介质”指参与向处理器404提供指令以执行的任何介质。这种介质可以采用任何形式,包括但不限于非易失性介质、易失性介质和传输介质。非易失性介质包括例如光盘或磁盘,例如存储设备410。易失性介质包括动态存储器,例如主存储器406。传输介质包括同轴电缆、铜线和光线,包括包含总线402在内的线路。传输介质还可以采用声波或光波的形式,例如在无线电波和红外数据通信期间产生的那些波。
计算机可读介质的常见形式包括例如软盘、柔性盘、硬盘、磁带、或者任何其他磁介质、CD-ROM、任何其他光介质、穿孔卡、纸带、具有孔状图案的任何其他物理介质、RAM、PROM、以及EPROM、闪存-EPROM、任何其他存储器芯片或盒带、下文所述载波、或者计算机可以从其读取的任何其他介质。
各种形式的计算机可读介质可以被用于传输一条或多条指令的一个或多个序列到处理器404以供执行。例如,指令最初可以被存储在远程计算机的磁盘上。远程计算机可以将指令加载到其动态存储器中,然后使用调制解调器通过电话线发送这些指令。计算机***400本地的调制解调器可以接收到电话线上的数据,并且使用红外发射器将该数据转换成红外信号。耦合到总线402的红外探测器可以接收红外信号中承载的数据,并且将数据放置到总线402上。总线402将数据传输到主存储器406,处理器404从主存储器406提取并执行指令。主存储器406接收到的指令可以可选地在被处理器404执行之前或之后被存储到存储设备410中。
通信接口418还提供到网络链路420的双向数据通信耦合,网络链路420被连接到本地网络422。例如,通信接口418可以是综合业务数字网(ISDN)卡或者调制解调器,用于向对应类型的电话线提供数据通信连接。作为另一个示例,通信接口418可以是局域网(LAN)卡,用于提供到兼容LAN的数据通信连接。还可以实现无线链路。在任何这种实现方式中,通信接口418发送并接收电、电磁或光信号,这些信号承载表示各种类型信息的数字数据流。
网络链路420一般提供通过一个或多个网络到其他数据设备的数据通信。例如,网络链路420可以提供通过本地网络422到主机计算机424的连接,或者到由因特网服务提供商(ISP)426操作的数据装备的连接。ISP 426又通过当前普遍称作“因特网”428的全球分组数据通信网络提供数据通信服务。本地网络422和因特网428二者都使用承载数字数据流的电、电磁或光信号。通过各种网络的信号和在网络链路420上的和通过通信接口418的信号承载去往和来自计算机***400的数字数据,这些信号都是传输信息的载波的示例形式。
计算机***400可以通过(一个或多个)网络、网络链路420和通信接口418发送消息和接收数据,包括程序代码。在因特网示例中,服务器430可能通过因特网428、ISP 426、本地网络422和通信接口418传输所请求的应用程序代码。根据本发明,一个这种下载的程序提供这里所述的通过认证因特网控制消息协议分组来防止网络攻击。
接收到的代码可在该代码被接收到时由处理器404执行,和/或者被存储在存储设备410或其他非易失性存储设备中用于以后执行。这样,计算机***400可以以载波形式获得应用代码。
4.0扩展和替换
在前面的说明书中,已参考本发明的特定实施例描述了本发明。但是,很清楚,在不脱离本发明的广泛精神和范围的情况下,可以对其作出各种修改和改变。因此,应当认为说明书和附图是说明性的而非限制性的。

Claims (19)

1.一种用于防止网络上的攻击的方法,包括以下步骤:
接收包括有与面向连接的传输协议的连接相关联的头部的拷贝的因特网控制消息协议ICMP分组,其中所述ICMP分组包括分组序列值,并且标识使得所述ICMP分组的发送者识别错误并且响应于所述错误生成所述ICMP分组的传输协议片段;
从所述头部获得所述分组序列值;
确定所述分组序列值是否有效;以及
仅在所述分组序列值被确定为有效时才更新与所述传输协议连接相关联的参数值,所述分组序列值的确定是通过以下方式实现的:确定所述分组序列值是否等于存储在重传缓冲区中并且对应于所述传输协议片段的一个或多个序列值。
2.如权利要求1所述的方法,其中,所述ICMP分组包括与TCP连接相关联的TCP头部的拷贝。
3.如权利要求1所述的方法,其中,所述ICMP分组是ICMP“端点不可达”错误分组。
4.如权利要求1所述的方法,其中,所述ICMP分组指定需要分段。
5.如权利要求1所述的方法,其中,所述接收步骤、获得步骤、确定步骤和更新步骤是由充当TCP端点节点的路由器执行的。
6.如权利要求1所述的方法,其中,所述接收步骤、获得步骤、确定步骤和更新步骤是由防火墙设备执行的。
7.一种用于防止网络上的攻击的计算机***,包括:
用于在TCP/IP分组交换网络中的TCP端点节点处接收包括有与TCP连接相关联的TCP头部的拷贝的因特网控制消息协议ICMP分组的装置,其中所述ICMP分组包括分组序列号,并且标识使得所述ICMP分组的发送者识别错误并且响应于所述错误生成所述ICMP分组的传输协议片段;
用于从所述TCP头部获得分组序列号的装置;
用于确定所述分组序列号是否有效的装置;以及
用于仅在所述分组序列号等于存储在重传缓冲区中并且对应于所述传输协议片段的一个或多个序列号时才更新与所述TCP连接相关联的最大传输单元MTU值的装置。
8.如权利要求7所述的计算机***,其中,所述ICMP分组是ICMP“端点不可达”错误分组。
9.如权利要求7所述的计算机***,其中,所述ICMP分组指定需要分段。
10.如权利要求7所述的计算机***,其中,所述计算机***包括充当TCP端点节点的路由器。
11.如权利要求7所述的计算机***,其中,所述计算机***包括防火墙设备。
12.一种用于防止网络上的攻击的装置,包括:
用于接收包括有与面向连接的传输协议的连接相关联的头部的拷贝的因特网控制消息协议ICMP分组的装置,其中所述ICMP分组包括分组序列值,并且标识使得所述ICMP分组的发送者识别错误并且响应于所述错误生成所述ICMP分组的传输协议片段;
用于从所述头部获得所述分组序列值的装置;
用于确定所述分组序列值是否有效的装置,所述分组序列值的确定是通过以下方式实现的:确定所述分组序列值是否等于存储在重传缓冲区中并且对应于所述传输协议片段的一个或多个序列值;以及
用于仅在所述分组序列值被确定为有效时才更新与所述传输协议连接相关联的参数值的装置。
13.如权利要求12所述的装置,其中,用于接收ICMP分组的装置包括用于接收包括有与TCP连接相关联的TCP头部的拷贝的ICMP分组的装置。
14.如权利要求12所述的装置,其中,用于接收ICMP分组的装置包括用于接收ICMP“端点不可达”错误分组的装置。
15.如权利要求12所述的装置,其中,用于接收ICMP分组的装置包括用于接收指定需要分段的ICMP分组的装置。
16.如权利要求12所述的装置,其中,用于确定所述分组序列值是否有效的装置包括用于确定所述分组序列值是否在所述连接的传输协议允许的分组序列值的范围内的装置。
17.如权利要求12所述的装置,其中,用于确定所述分组序列值是否有效的装置包括用于确定所述分组序列值是否在所述连接的已发送但是尚未确认的TCP分组序列值的范围内的装置。
18.如权利要求12所述的装置,包括充当TCP端点节点的路由器。
19.如权利要求12所述的装置,包括防火墙设备。
CN2005800104230A 2004-04-07 2005-03-17 通过认证因特网控制消息协议分组来防止网络攻击的方法和装置 Expired - Fee Related CN1938982B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US10/820,980 US7650635B2 (en) 2004-04-07 2004-04-07 Method and apparatus for preventing network attacks by authenticating internet control message protocol packets
US10/820,980 2004-04-07
PCT/US2005/008859 WO2005101721A1 (en) 2004-04-07 2005-03-17 Method and apparatus for preventing network attacks by authenticating internet control message protocol packets

Publications (2)

Publication Number Publication Date
CN1938982A CN1938982A (zh) 2007-03-28
CN1938982B true CN1938982B (zh) 2011-11-16

Family

ID=35062055

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2005800104230A Expired - Fee Related CN1938982B (zh) 2004-04-07 2005-03-17 通过认证因特网控制消息协议分组来防止网络攻击的方法和装置

Country Status (4)

Country Link
US (1) US7650635B2 (zh)
EP (1) EP1733501A4 (zh)
CN (1) CN1938982B (zh)
WO (1) WO2005101721A1 (zh)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005114356A1 (en) * 2004-05-19 2005-12-01 Computer Associates Think, Inc. Method and systems for computer security
US7640338B2 (en) * 2005-01-18 2009-12-29 Microsoft Corporation System and method for mitigation of malicious network node activity
US7860006B1 (en) * 2005-04-27 2010-12-28 Extreme Networks, Inc. Integrated methods of performing network switch functions
US8255996B2 (en) 2005-12-30 2012-08-28 Extreme Networks, Inc. Network threat detection and mitigation
CN101729513B (zh) 2008-10-27 2014-02-19 华为数字技术(成都)有限公司 网络认证方法和装置
US8432919B2 (en) 2009-02-25 2013-04-30 Cisco Technology, Inc. Data stream classification
CN102412924B (zh) * 2010-09-21 2015-05-27 中国电信股份有限公司 路径最大传输单元的探测方法和装置
KR101585700B1 (ko) * 2010-12-14 2016-01-14 한국전자통신연구원 서비스 거부 공격 차단 방법
US8601271B2 (en) * 2011-09-29 2013-12-03 Konica Minolta Laboratory U.S.A., Inc. Method and system for power management using ICMPV6 options
US9270638B2 (en) 2012-01-20 2016-02-23 Cisco Technology, Inc. Managing address validation states in switches snooping IPv6
US9497083B1 (en) * 2013-06-10 2016-11-15 Palo Alto Networks, Inc. Discovering network nodes
EP3086517A4 (en) * 2013-12-16 2017-12-27 Yamaha Corporation Communication system, terminal apparatus, and server
US9560136B2 (en) * 2014-08-07 2017-01-31 Sap Se High speed communication protocol
US10015162B2 (en) 2015-05-11 2018-07-03 Huawei Technologies Co., Ltd. Firewall authentication of controller-generated internet control message protocol (ICMP) echo requests
DE102017208553A1 (de) * 2017-05-19 2018-11-22 Robert Bosch Gmbh Verfahren zum Schutz eines Netzwerkes vor einem Cyberangriff
FR3075529B1 (fr) * 2017-12-19 2019-11-22 Sagemcom Broadband Sas Correction d’un paquet icmp lie a un paquet ip ayant ete traite par un alg
US20200145342A1 (en) * 2018-11-05 2020-05-07 Danfoss Power Solutions, Inc. Method and system for optimizing data flow between devices
US11245678B2 (en) 2019-06-05 2022-02-08 Cisco Technology, Inc. Root network device causing execution of network service operations on behalf of constrained wireless network device in a low power and lossy network

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6219706B1 (en) * 1998-10-16 2001-04-17 Cisco Technology, Inc. Access control for networks
US6513122B1 (en) * 2001-06-29 2003-01-28 Networks Associates Technology, Inc. Secure gateway for analyzing textual content to identify a harmful impact on computer systems with known vulnerabilities
CN1435969A (zh) * 2002-02-01 2003-08-13 联想(北京)有限公司 实现支持虚拟局域网防火墙的方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6687758B2 (en) 2001-03-07 2004-02-03 Alacritech, Inc. Port aggregation for network connections that are offloaded to network interface devices
US6779033B1 (en) 2000-12-28 2004-08-17 Networks Associates Technology, Inc. System and method for transacting a validated application session in a networked computing environment
US6816455B2 (en) * 2001-05-09 2004-11-09 Telecom Italia S.P.A. Dynamic packet filter utilizing session tracking
US7076555B1 (en) 2002-01-23 2006-07-11 Novell, Inc. System and method for transparent takeover of TCP connections between servers
US7277963B2 (en) 2002-06-26 2007-10-02 Sandvine Incorporated TCP proxy providing application layer modifications
US7069438B2 (en) 2002-08-19 2006-06-27 Sowl Associates, Inc. Establishing authenticated network connections
US20040148520A1 (en) * 2003-01-29 2004-07-29 Rajesh Talpade Mitigating denial of service attacks

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6219706B1 (en) * 1998-10-16 2001-04-17 Cisco Technology, Inc. Access control for networks
US6513122B1 (en) * 2001-06-29 2003-01-28 Networks Associates Technology, Inc. Secure gateway for analyzing textual content to identify a harmful impact on computer systems with known vulnerabilities
CN1435969A (zh) * 2002-02-01 2003-08-13 联想(北京)有限公司 实现支持虚拟局域网防火墙的方法

Also Published As

Publication number Publication date
US20050229244A1 (en) 2005-10-13
CN1938982A (zh) 2007-03-28
WO2005101721A1 (en) 2005-10-27
US7650635B2 (en) 2010-01-19
EP1733501A4 (en) 2011-08-31
EP1733501A1 (en) 2006-12-20

Similar Documents

Publication Publication Date Title
CN1938982B (zh) 通过认证因特网控制消息协议分组来防止网络攻击的方法和装置
CA2421665C (en) Wireless provisioning device
KR100910818B1 (ko) 비-macsec 노드들을 통해 macsec 패킷들을터널링하기 위한 방법 및 시스템
CN101390064B (zh) 利用嵌入的认证信息防止网络重置拒绝服务攻击
US7940757B2 (en) Systems and methods for access port ICMP analysis
US9154512B2 (en) Transparently proxying transport protocol connections using an external server
US7630364B2 (en) Securely managing network element state information in transport-layer associations
CN113132342B (zh) 方法、网络装置、隧道入口点装置及存储介质
US20070203990A1 (en) Techniques for establishing subscriber sessions on an access network using DHCP
US20070171828A1 (en) Method of determining a maximum transmission unit value of a network path using transport layer feedback
US7275093B1 (en) Methods and device for managing message size transmitted over a network
US8320249B2 (en) Method and system for controlling network access on a per-flow basis
US20230396624A1 (en) Extending border gateway protocol (bgp) flowspec origination authorization using path attributes
US20150207729A1 (en) Tying data plane paths to a secure control plane
CN101227287B (zh) 一种数据报文处理方法及数据报文处理装置
CN100541437C (zh) 防止网络重置拒绝服务攻击
US10027622B2 (en) Recovering lost device information in cable networks
US20240137338A1 (en) Border gateway protocol (bgp) flowspec origination authorization using route origin authorization (roa)
CN1906884B (zh) 防止网络数据注入攻击
Cisco Cisco IOS IP Configuration Guide Release 12.2
EP1686756B1 (en) Communication system, method and apparatus for providing mirroring service in the communication system
Cisco Cisco IOS IP and IP Routing Configuration Guide Release 12.1
CN117081990B (zh) 一种mpls流量代理方法、***、设备及存储介质
JP2008028720A (ja) 送信元ipアドレス詐称ipパケットを制御可能なipネットワーク装置および送信元ipアドレス詐称ipパケット制御方法
KR20180045509A (ko) Arp 스푸핑 공격을 감지할 수 있는 소프트웨어 정의 네트워크 및 이에 포함되는 컨트롤러

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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20111116

Termination date: 20210317