基于应用层消息检查的网络和应用攻击保护制造技术

技术编号:2914074 阅读:236 留言:0更新日期:2012-04-11 18:40
公开了用于通过在网络元件处检查应用层消息来保护网络免受拒绝服务攻击的方法。根据一方面,当网络元件截取包含应用层消息的数据分组时,网络元件从分组的有效载荷部分中构造消息。网络元件确定消息是否满足指定标准。例如,该标准可以指示被怀疑涉及拒绝服务攻击的消息的特性。如果消息满足指定标准,则网络元件阻止包含该消息的数据分组被消息想要去往的应用所接收。例如,网络元件可以通过丢弃分组来实现这一目的。结果,应用的宿主并不在其目的可能仅仅是泛滥并淹没应用的消息上浪费处理资源。

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术一般地涉及计算机网络中的网络元件,例如交换机和路由器。更具体而言,本专利技术涉及通过检查应用层消息来保护网络和应用免受拒绝服务攻击。
技术介绍
这一部分中描述的方法可以实现,但是不一定是先前已想到或已实现的方法。因此,除非另外指出,否则这一部分中描述的方法不是该申请的权利要求的现有技术,并且也不应当因为被包括在这一部分中而看作是现有技术。在商业到商业环境中,运行在计算机上的应用一般会与运行在其他计算机上的其他应用通信。例如,运行在计算机“X”上的应用“A”可能向运行在计算机“Y”上的应用“B”发送指示订单的实质内容的消息。计算机“X”可能远离计算机“Y”。为了使计算机“X”发送消息到计算机“Y”,计算机“X”可能通过计算机网络发送消息,计算机网络例如是局域网(LAN)、广域网(WAN)或互联网,例如因特网。为了通过这种网络发送消息,计算机“X”可能使用一套通信协议。例如,计算机“X”可能使用诸如因特网协议(IP)之类的网络层协议以及诸如传输控制协议(TCP)之类的传输层协议来发送消息。假定消息利用TCP发送,则消息被封装到一个或多个数据分组中;同一消息的不同部分可以在不同分组中发送。继续以上示例,计算机“X”通过网络向计算机“Y”发送数据分组。处于计算机“X”和计算机“Y”之间的一个或多个网络元件可以接收分组,确定分组的下一“跳”,并向计算机“Y”发送分组。例如,路由器“U”可能接收来自计算机“X”的分组,并且基于分-->组是去往计算机“Y”的,确定分组应当被转发到另一路由器“V”(路由上的下一“跳”)。路由器“V”可能从路由器“U”接收分组,并将分组发送到计算机“Y”。在计算机“Y”处,可以提取出分组的内容并重组该内容以形成原始消息,原始消息可以被提供给应用“B”。应用“A”和“B”可以不知道分组是经过路由器“U”和“V”路由的这一事实。事实上,不同的分组可以采取经过网络的不同路由。消息可以利用若干种应用层协议中的任何一种结合上述的网络层和传输层协议来发送。例如,应用“A”可以指定计算机“X”利用超文本传送协议(HTTP)发送消息。因此,计算机“X”可以在如上所述将消息封装到TCP分组中之前,向消息的前部添加HTTP特定头部。如果应用“B”被配置为根据HTTP接收消息,则计算机“Y”可以使用HTTP特定头部来处理消息。除了上述内容外,消息还可以根据若干种消息格式中的任何一种构造。消息格式一般指消息的结构。例如,如果订单包括地址和传递日期,则地址和传递日期可以利用消息格式特定的机制在消息内被彼此区分开。例如,应用“A”可以利用可扩展标记语言(XML)指示订单的结构。利用XML作为消息格式,地址可能被封在“<地址>”和“</地址>”标签内,而传递日期可能被封在“<传递日期>”和“</传递日期>”标签内。如果应用“B”被配置为截取XML形式的消息,则应用“B”可以使用标签以确定消息的哪一部分包含地址,哪一部分包含传递日期。有时候,恶意用户尝试通过对服务器应用(在以上示例中是应用“B”)施加“拒绝服务”攻击来破坏上述通信。传统上,拒绝服务攻击是通过向服务器应用连续发送极大量的数据分组来进行的。服务器应用接收这些数据分组,并尝试处理包含在其中的消息,从而消耗了容宿服务器应用的计算机的处理资源的一部分。如果服务器应用从恶意用户接收到足够的数据分组,则服务器应用的宿主的所有或几乎所有的处理资源都可能被来自恶意用户的虚假消息的处理占据。另外或可替换地,恶意用户可以部署恶意软件,或“malware”,这种软件可以导致应用崩溃或变得不可用,或者可以导致应用执行大量的计算,或者可以导致应用取得未经授权-->的内容或修改应用不应当修改的内容。结果,服务器应用处理从合法用户发送的合法消息的能力极大降低。事实上,服务器应用可能直到合法消息被发送之后的一段不可接受的时间量过去之后才能处理该合法消息。由于缺乏来自服务器应用的及时响应,合法客户端应用—例如以上示例中的应用“A”—可能假定服务器应用不再工作。在阻止这种传统的拒绝服务攻击的尝试中,有时在服务器应用和可能向服务器应用发送分组的所有其他应用之间建立自动岗哨(sentry)进程。例如,岗哨进程可能运行在与服务器应用相同的计算机上,或者运行在为容宿服务器应用的计算机充当代理的某个中间网络用具上。在任何情况下,岗哨进程都在将数据分组发送到服务器应用之前接收数据分组。在这种岗哨方法中,合法客户端应用需要被配置为向岗哨进程发送分组而不是向服务器应用自身发送分组,这是因为服务器应用被配置为只接收来自岗哨进程的分组。配置进程对于合法客户端应用的用户和/或编程者来说可能是一种负担,尤其是在对于客户端应用可能向其发送分组的每个不同岗哨进程来说需要不同的定制配置的情况下。当岗哨进程接收到数据分组时,其检查数据分组的协议头部(例如IP和TCP头部),并存储与协议头部的一种或多种特性有关的状态信息。例如,对于岗哨进程接收的每个分组,岗哨进程可能记录在分组的IP头部中指示的源IP地址。如果岗哨进程确定在相对较短的时间段内已从同一源IP地址接收到明显高数目的数据分组,则岗哨进程可以断定与源IP地址相关联的应用正在进行拒绝服务攻击。响应于这种确定,岗哨进程可以采取某种保护性动作,例如警告网络管理员或服务器应用。尽管很麻烦,但是上述的岗哨方法某种程度上在阻止传统的拒绝服务攻击方面是有效的。然而,恶意用户是相当持久的,其已经创新出一种非传统的拒绝服务攻击,这种攻击有效地绕过了由岗哨方法提供的保护。利用“分布式”拒绝服务攻击,多个独立计算机(每个具有不同的IP地址)可以协同操作以同时向目标发送大量的数据分组。每个个别攻击者发送的数据分组的数目并不足以触发岗哨进程的保护性对策,但是所有攻击者的-->数据分组的组合量足以淹没目标并消耗目标的大部分处理资源。其他的非传统攻击甚至更加复杂并更易于进行。服务器应用可能具有来自客户端应用的消息需要遵从的公开接口以使服务器应用处理这些消息。服务器应用可能不够健壮足以处理不遵从该接口的消息。例如,服务器应用的接口可能暴露出一种接受整数作为参数的方法。如果服务器应用接收到利用浮点数参数而不是预期的整数参数调用方法的消息,则服务器应用可能不规律地动作;服务器应用可能破坏合法数据,或者服务器应用甚至可能不再对本文档来自技高网...

【技术保护点】
一种保护网络和应用免受拒绝服务攻击的方法,所述方法包括以下由计算机实现的步骤: 在网络元件处接收总地包含应用层消息的一个或多个数据分组; 在所述网络元件处从所述一个或多个数据分组的一个或多个有效载荷部分中确定所述应用层消息;   确定所述应用层消息是否满足一个或多个指定标准;以及 如果所述应用层消息满足所述一个或多个指定标准,则阻止所述一个或多个数据分组被所述应用层消息想要去往的应用所接收。

【技术特征摘要】
【国外来华专利技术】US 2004-12-7 11/007,1521.一种保护网络和应用免受拒绝服务攻击的方法,所述方法包括以下
由计算机实现的步骤:
在网络元件处接收总地包含应用层消息的一个或多个数据分组;
在所述网络元件处从所述一个或多个数据分组的一个或多个有效载荷
部分中确定所述应用层消息;
确定所述应用层消息是否满足一个或多个指定标准;以及
如果所述应用层消息满足所述一个或多个指定标准,则阻止所述一个
或多个数据分组被所述应用层消息想要去往的应用所接收。
2.如权利要求1所述的方法,其中在所述网络元件接收所述一个或多
个数据分组的步骤包括在所述网络元件处截取所述一个或多个数据分组,
并且所述一个或多个数据分组的目的地地址标识容宿在与所述网络元件相
分离的设备上的应用。
3.如权利要求1所述的方法,其中所述网络元件是网络路由器或交换
机。
4.如权利要求1所述的方法,其中从所述一个或多个数据分组的一个
或多个有效载荷部分中确定所述应用层消息的步骤包括在所述网络元件处
组装两个或更多个所述有效载荷部分的内容以确定所述应用层消息。
5.如权利要求1所述的方法,其中所述应用层消息是可扩展标记语言
(XML)文档或非XML文档。
6.如权利要求1所述的方法,还包括以下步骤:
如果所述应用层消息不满足所述一个或多个指定标准,则将所述一个
或多个数据分组发送到所述应用。
7.如权利要求1所述的方法,还包括以下步骤:
当在所述网络元件处接收到一个或多个数据分组之后,在所述网络元
件处接收所述一个或多个指定标准;以及
将所述一个或多个指定标准应用到在所述网络元件处接收到的后续数
据分组。
8.如权利要求1所述的方法,其中从所述一个或多个数据分组的一个
或多个有效载荷部分中确定所述应用层消息的步骤包括在所述网络元件处
对所述一个或多个有效载荷部分的经加密内容进行解密。
9.如权利要求1所述的方法,其中确定所述应用层消息是否满足所述
一个或多个指定标准的步骤包括确定所述应用层消息的至少一部分是否大
于指定大小。
10.如权利要求1所述的方法,其中确定所述应用层消息是否满足所
述一个或多个指定标准的步骤包括确定所述应用层消息是否未能在句法和
语义上遵从应用所期望的指定规划。
11.如权利要求10所述的方法,其中所述指定规划被存储在所述网络
元件处,并且所述指定规划是从可信源获得的。
12.如权利要求1所述的方法,其中确定所述应用层消息是否满足所
述一个或多个指定标准的步骤包括:
确定与在所述一个或多个数据分组的一个或多个IP头部中指示的因特
网协议(IP)地址相关联的一个或多个特定标准;以及
确定所述应用层消息是否满足所述一个或多个特定标准。
13.如权利要求12所述的方法,还包括以下步骤:
当在所述网络元件处接收到一个或多个数据分组之后,在所述网络元
件处接收用户指定的内容匹配约束或标准,其中所述指定的内容匹配约束
或标准指定所述IP地址和所述一个或多个特定标准;以及
响应于接收到所述指定的内容匹配约束或标准,在所述网络元件处建
立所述IP地址和所述一个或多个特定标准之间的关联。
14.如权利要求1所述的方法,其中确定所述应用层消息是否满足所
述一个或多个指定标准的步骤包括:
确定所述应用层消息被传输所依据的应用层协议;
从多个防火墙机制中选择被映射到所述应用层协议的特定防火墙机
制;以及
将所述特定防火墙机制应用到所述应用层消息。
15.如权利要求1所述的方法,其中确定所述应用层消息是否满足所
述一个或多个指定标准的步骤包括:
确定所述应用层消息遵从的消息格式;
从多个防火墙机制中选择被映射到所述消息格式的特定防火墙机制;
以及
将所述特定防火墙机制应用到所述应用层消息。
16.如权利要求1所述的方法,其中所述应用层消息在所述一个或多
个数据分组的一个或多个有效载荷部分中遵从应用层协议。
17.如权利要求1所述的方法,其中确定所述应用层消息是否满足一
个或多个指定标准的步骤包括确定所述应用层消息是否包含一个或多个指
定关键字。
18.如权利要求1所述的方法,其中所述应用层消息包括多部分
MIME消息,所述方法还包括彼此分开并且独立地处理所述多部分MIME
消息的每个部分。
19.如权利要求18所述的方法,还包括:
确定所述多部分MIME消息的第一部分的类型;
确定所述多部分MIME消息的第二部分的类型;
利用与所述第一部分的类型相关联的第一检查机制检查所述第一部
分;以及
利用与所述第二部分的类型相关联的第二检查机制检查所述第二部
分;
其中所述第一检查机制不同于所述第二检查机制。
20.如权利要求18所述的方法,还包括:
利用第一密钥对所述第一部分解密;以及
利用不同于所述第一密钥的第二密钥对所述第二部分解密。
21.如权利要求18所述的方法,还包括允许所述第一部分被转发出所
述网络元件,并且阻止所述第二部分被转发出所述网络元件。
22.如权利要求18所述的方法,其中所述指定标准比在另一网络元件
处指定的标准更加严格。
23.如权利要求18所述的方法,还包括:
将防火墙机制配置为阻止满足指定标准的数据分组到达所述网络元件
的配置所述防火墙机制的机制。
24.如权利要求1所述的方法,还包括:
如果以超过指定阈值速率的速率接收数据分组,则将一个或多个数据
分组重路由到不同网络元件。
25.如权利要求1所述的方法,还包括:
在所述网络元件处对以下消息执行操作,所述消息是请求消息、响应
消息、异常处理消息或者不在客户端应用和服务器应用之间发送的消息。
26.如权利要求1所述的方法,其中确定所述应用层消息是否满足所
述一个或多个指定标准的步骤包括确定所述应用层消息是否小于指定大
小。
27.如权利要求1所述的方法,还包括:
...

【专利技术属性】
技术研发人员:桑迪普库马尔金叶苏尼尔波迪克里斯多佛R韦伯尔
申请(专利权)人:思科技术公司
类型:发明
国别省市:US[美国]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1