过滤用户数据报协议数据包的方法和装置的制作方法

文档序号:7709958阅读:201来源:国知局
专利名称:过滤用户数据报协议数据包的方法和装置的制作方法
技术领域
本发明涉及通信技术,尤其涉及一种过滤用户数据报协议数据包的方法 和装置。
背景技术
用户数据报协议(User Datagram Protocol,以下简称UDP )是开放式 系统互联参考模型(Open System Interconnect Reference Model,筒称OSI) 中一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务。攻 击者伪造源互联网协议(Internet Protocol,以下筒称IP)地址,然后组成 UDP数据包发送给受害主机的随机端口 ,受害主机接收到该UDP数据包后, 确定目的端口正在等待中的应用程序,当其发现该目的端口并不存在正在等 待的应用程序,其会产生一个目的端口无法连接的网间控制报文协议(Internet Control Messages Protocol,以下简称ICMP)数据包发送给该伪造的源IP地 址。如果攻击者向受害主机发送足够多的UDP数据包,该受害主机发出大量 的ICMP包,最后导致受害主机的资源耗尽而瘫痪,从而形成拒绝服务(Denial of Service,以下简称DOS)攻击。如果攻击者攻击足够多的受害主机,则 形成分布式拒绝服务(DistributedDOS,以下简称DDOS)攻击。尽管受害 主机可以设置防火墙,但是由于UDP数据包是完整和正常的,防火墙很难防 范;并且由于UDP数据包的源IP地址为虚假的, 一定时间的攻击后,会将防火墙的会话表打满,从而导致防火墙无法正常工作。
为了过滤DDOS攻击中的UDP数据包,可以对源IP地址的发包频率进行实 时统计,若源IP地址的发包频率超过阈值,进行报警并丢弃该源IP地址的UDP 数据包;但是由于DDOS攻击中的UDP数据包的源IP地址多为虚假IP地址,因 此无法统计源IP地址的发包频率。现有4支术中尚无有效过滤DDOS攻击中的 UDP数据包的解决方案。

发明内容
本发明实施例提供了一种过滤用户数据报协议数据包的方法和装置,用
以实现有效过滤DDOS攻击中的UDP数据包。
本发明实施例还提供了 一种过滤用户数据报协议数据包的方法,包括 根据应用层协议的协议特征字,检测用户数据报协议数据包的包体;其
中,所述协必
共有的数据;
的数据,则丟弃所述用户数据净艮协议数据包。
本发明实施例还提供了 一种过滤用户数据报协议数据包的装置,包括
检测模块,用于根据应用层协议的协议特征字,检测用户数据报协议数 据包的包体;其中,所述协议特征字为使用所述应用层协议的用户数据报协 议数据包的包体共有的数据;
第一过滤模块,用于若所述用户数据报协议数据包的包体中不存在与所 述协议特征字相匹配的数据,则丟弃所述用户数据报协议数据包。
本发明实施例还提供了 一种网关设备,包括过滤用户数据报协议数据包的装置,用于根据应用层协议的协议特征字,检测用户数据报协议数据包的 包体,若所述用户数据报协议数据包的包体中不存在与所述协议特征字相匹
配的数据,则丢弃所述用户数据报协议数据包;其中,所述协议特征字为使
本发明实施例通过检测UDP数据包的包体,当UDP数据包的包体中不 存在与应用层协议的协议特征字匹配的数据时,认为该UDP数据包为DDOS 攻击的UDP数据包,因此丟弃该数据包,从而可以克服现有技术中无法有效 过滤DDOS攻击的UDP数据包的缺陷,实现有效过滤DDOS攻击的UDP 数据包。


为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实 施例或现有技术描述中所需要使用的附图作筒单地介绍,显而易见地,下面 描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲, 在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。 图1为本发明实施例一提供的过滤UDP数据包的方法的流程示意图; 图2为本发明实施例二提供的过滤UDP数据包的方法的流程示意图; 图3为本发明实施例二提供的过滤UDP数据包的方法中对未知协议的 UDP数据包进行指紋过滤的流程示意图4为本发明实施例三提供的过滤UDP数据包的装置的结构示意图; 图5为本发明实施例四提供的过滤UDP数据包的装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行 清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而
不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有偶: 出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。 下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
可以通过识别UDP数据包的应用将DDOS攻击与UDP协议的正常应用 区分开来。"普通报文检测"分析UDP数据包的包头中层4以下的内容来识 別UDP数据包的应用,包括五元组源IP地址、目的IP地址、源端口号、 目的端口号以及协议号。当通过检测UDP数据包的目的端口号来识别该UDP 数据包的应用时,例如检测到UDP数据包的目的端口号为80时,则认为 该UDP数据包的应用为普通上网应用。而DDOS攻击的UDP数据包会采用 仿冒目的端口号的方式躲避检测。因此用L2 L4层的普通报文检测无法将 DDOS攻击与UDP协议的正常应用区分开来。
深度包检测(Deep Packet Inspection,以下简称DPI)与普通报文检测 的分析相比较,除了对IP数据包L2 L4层的分析外,还增加了对IP数据包 的包体中的应用层的分析。由于非法应用可以隐藏目的端口号,但较难以隐 藏应用层的协议特征,因此,通过分析应用层,从而识别UDP^t据包的真正 应用,从而可以将DDOS攻击与UDP协议的正常应用区分开来。
进一步地,不同的应用通常依赖于不同的应用层协议,因此,可以通过 识别应用层协议来识别应用。而应用层协议都有其特殊的协议特征字,这些 协议特征字可以是特定的字符串或者特定的位(Bit)序列。例如Bittorrent 协议的识别,通过反向工程的方法对其对等协议进行分析,所谓对等协议指 的是peer与peer之间交换信息的协议,其由一个握手开始,后面是循环的消
8息流,消息流中的每个消息前面,都有一个数字来表示该消息的长度。在其
握手过程中,首先是先发送"19",然后是字符串"BitTorrentprotocol"。那么 "19BitTorrent Protocol"就是Bittorrent协议的"协议特征字"。
如图l所示,为本发明实施例一提供的过滤UDP数据包的方法的流程示意 图,可以包括如下步骤
步骤ll、根据应用层协议的协议特征字,检测UDP数据包的包体;其中, 协议特征字为使用应用层协议的UDP数据包的包体共有的数据;
步骤12、若UDP数据包的包体中不存在与协议特征字相匹配的数据,丟 弃UDP数据包。
本实施例通过检测UDP数据包的包体,当UDP^:据包的包体中不存在与 应用层协议的协议特征字匹配的数据时,认为该UDP数据包为DDOS攻击的 UDP数据包,因此丢弃该数据包,从而可以克服现有技术中无法有效过滤 DDOS攻击的UDP数据包的缺陷,实现有效过滤DDOS攻击的UDP数据包。
如图2所示,为本发明实施例二提供的过滤UDP数据包的方法的流程示意 图,可以包括如下步骤
步骤21、根据应用层协议的协议特征字,检测UDP数据包的包体;其中, 协议特征字为使用应用层协议的UDP数据包的包体共有的数据;
若UDP数据包的包体中不存在与协议特征字相匹配的数据,执行步骤23,否 则执行步骤24;
步骤23、将UDP数据包的指紋与目的指紋相比较,判断UDP数据包的指 紋与目的指紋是否匹配,若UDP数据包的指紋与目的指紋匹配,执行步骤25, 否则执行步骤24;其中,UDP数据包的指紋可以包括UDP数据包的源IP地址或目的IP地址。 目的指紋由报文长度、数据偏移和数据字段三部分组成。 步骤24、放行该UDP数据包; 步骤25、丢弃UDP数据包;
具体地,步骤23-25对未知协议的UDP数据包进行指紋过滤,对于与目的 指紋匹配的UDP数据包进行丟弃处理。
在本实施例中,目的指紋可以包括静态指紋和/或动态指紋,其中,静态 指紋通过外部设备输入,动态指紋通过对UDP数据包之前的UDP数据包进行 检测得到。静态指紋可以保存在静态指紋表中,动态指紋可以保存在动态指 紋表中。将UDP数据包的指紋与静态指紋和/或动态指紋相比较,若UDP数据 包的指紋与静态指紋和/或动态指紋相匹配,丢弃UDP凄t据包。
如图3所示,为本发明实施例二提供的过滤UDP数据包的方法中对未知协 议的UDP数据包进行指紋过滤的流程示意图,可以包括如下步骤
步骤31、判断静态指紋是否有效,若静态指紋有效,执行步骤32,否则 执行步骤33;
优选地,可以为静态指紋提供一标志位,当该标志位有效时,表示该静 态指紋有效。
步骤32、判断UDP数据包的指紋与静态指紋是否匹配,若UDP数据包的 指紋与静态指紋匹配,执行步骤38,否则执行步骤33;
步骤33、判断动态指紋是否有效,若动态指紋有效,执行步骤34,否则 执行39;
优选地,可以为动态指紋设置一标志位,当该标志位有效时,表示该动 态指紋有效;步骤34、判断UDP数据包的指紋与动态指紋是否匹配,若UDP数据包的 指紋与动态指紋匹配,执行步骤38,否则执行步骤35;
步骤35、判断是否需要学习动态指紋,若需要学习动态指紋,执行步骤 36,否则执行步骤39;
优选地,可以设置一标志位,当该标志位有效时,表示需要学习动态指
紋;
步骤36,学习动态指紋,判断动态指紋学习是否成功,若动态指紋学习 成功,执行步骤37,否则执行步骤39;
具体地,学习动态指紋指的是检测UDP数据包,提取其中的源IP地址或 目的IP地址;
步骤37、更新指紋,执行步骤39;
具体地,将学习的动态指故存储到动态指紋表中;
步骤38、丟弃UDP数据包,执行步骤39;
步骤39、结束。
再参见图2,步骤25之后还可以包括如下步骤
步骤26、对目标IP地址的UDP数据包的流量进行统计,若流量大于设定 阈值,丢弃目标IP地址的UDP数据包。
优选地,经过步骤21-25的处理后,但防范的效果不佳或者并不存在 DDOS攻击后,对某一目标IP地址的UDP数据包的流量进行实时统计,该目 标IP地址的UDP数据包的流量仍超过设定阈值,将对该目标IP地址的UDP数 据包进行随机丢包处理,以保证目标IP地址尽可能少地受到DDOS攻击。
本实施例通过检测UDP数据包的包体,当UDP数据包的包体中不存在与
应用层协议的协议特征字匹配的数据时,将UDP数据包的指紋与目的指紋进
ii行匹配,当该UDP数据包的指紋与目的指紋匹配时,认为该UDP数据包为 DDOS攻击的UDP数据包,将其过滤掉,最后,对目标IP地址的UDP流量进 行限流处理,将应用协议分析、指纟丈检测、限流几种方式结合,克服现有技 术中无法有效过滤DDOS攻击的UDP数据包的缺陷,实现有效过滤DDOS攻击 的UDP数据包。
本实施例可以用于网关类设备,例如防火墙、抗DDOS设备、统一威 胁管理(Unified Threat Management,筒称UTM)设备、入侵防护系统 (Intrusion Prevention System, 筒称IPS )设备等。
如图4所示,为本发明实施例三提供的过滤UDP数据包的装置的结构示意 图,可以包括检测模块41和第一过滤模块42。
其中,检测模块41用于根据应用层协议的协议特征字,检测UDP数据包 的包体;其中,协议特征字为使用应用层协议的UDP数据包的包体共有的数 据。
第一过滤模块42用于若UDP数据包的包体中不存在与协议特征字相匹配 的数据,.丢弃UDP数据包。
本实施例通过检测模块41检测UDP数据包的包体,当UDP数据包的包体 中不存在与应用层协议的协议特征字匹配的数据时,认为该UDP数据包为 DDOS攻击的UDP数据包,因此第一过滤模块42丟弃该数据包,从而可以克 服现有技术中无法有效过滤DDOS攻击的UDP数据包的缺陷,实现有效过滤 DDOS攻击的UDP数据包。
如图5所示,为本发明实施例四提供的过滤UDP数据包的装置的结构示意 图,可以包括检测模块41、匹配才莫块51、第一过滤才莫块42。
检测模块41用于根据应用层协议的协议特征字,检测UDP数据包的包体。其中,协议特征字为使用应用层协议的UDP数据包的包体共有的数据。
匹配模块5l用于若UDP数据包的包体中不存在与协议特征字相匹配的数 据,将UDP数据包的指紋与目的指紋相比较;其中,UDP数据包的指紋包括 UDP数据包的源IP地址或目的IP地址。
第一过滤模块42用于若匹配模块51确定UDP数据包的指紋与目的指紋相 匹配,丟弃UDP数据包。
在本实施例中,目的指紋可以包括静态指紋和/或动态指紋,其中,静态 指紋通过外部设备输入,动态指紋通过对UDP数据包之前的UDP数据包进行 检测得到。匹配模块51还可以用于若UDP数据包的包体中不存在与协议特征 字相匹配的数据,将UDP数据包的指紋与静态指紋和/或动态指故相比较。第 一过滤模块42还用于若匹配模块51确定UDP数据包的指紋与静态指紋和/或 动态指紋相匹配,丢弃UDP数据包。
本实施例还可以包括第二过滤模块52,与第一过滤模块42连接,用于对 目标IP地址的UDP数据包的流量进行统计,若流量大于设定阈值,丢弃目标 IP地址的UDP数据包。
本实施例通过检测模块41检测UDP数据包的包体,当确定UDP数据包的 包体中不存在与应用层协议的协议特征字匹配的数据时,匹配模块51将UDP 数据包的指紋与目的指紋进行匹配,当该UDP数据包的指紋与目的指紋匹配 时,认为该UDP数据包为DDOS攻击的UDP数据包,第一过滤才莫块42将其过 滤掉,最后,第二过滤模块52对目标IP地址的UDP流量进行限流处理。本实 施例将应用协议分析、指纟丈^r测、限流几种方式结合,克服现有技术中无法 有效过滤DDOS攻击的UDP数据包的缺陷,实现有效过滤DDOS攻击的UDP 数据包。
13本发明实施例还提供了一种网关设备,包括过滤UDP数据包的装置,用 于根据应用层协议的协议特征字,检测UDP数据包的包体,若UDP数据包的 包体中不存在与协议特征字相匹配的数据,丟弃UDP数据包;其中,协议特 征字为使用应用层协议的UDP数据包的包体共有的数据。
需要说明的是,该过滤UDP数据包的装置可以包括前述过滤UDP数据包 的装置实施例中任一模块,在此不再赘述。
本实施例通过过滤UDP数据包的装置检测UDP数据包的包体,当UDP数 据包的包体中不存在与应用层协议的协议特征字匹配的数据时,认为该UDP 数据包为DDOS攻击的UDP数据包,因此丟弃该数据包,从而可以克服现有 技术中无法有效过滤DDOS攻击的UDP数据包的缺陷,实现有效过滤DDOS 攻击的UDP数据包。
分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计 算机可读存储介质中,存储介质可以包括ROM、 RAM、》兹盘或光盘等。 最后应说明的是以上实施例仅用以说明本发明的技术方案而非限制,尽管 参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解, 可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案 的精神和范围。
权利要求
1、一种过滤用户数据报协议数据包的方法,其特征在于,包括根据应用层协议的协议特征字,检测用户数据报协议数据包的包体;其中,所述协议特征字为使用所述应用层协议的用户数据报协议数据包的包体共有的数据;若所述用户数据报协议数据包的包体中不存在与所述协议特征字相匹配的数据,则丢弃所述用户数据报协议数据包。
2、 根据权利要求l所述的方法,其特征在于,所述丟弃所述用户数据4艮 协议数据包之前还包括将所述用户数据报协议数据包的指紋与目的指紋相比较;其中,所述用 户数据l艮协议数据包的指紋包括所述用户数据报协议数据包的源互耳关网协议 地址或目的互联网协议地址;所述丟弃所述用户数据报协议数据包包括若所述用户数据报协议数据 包的指紋与所述目的指紋相匹配,则丟弃所述用户数据报协议数据包。
3、 根据权利要求2所述的方法,其特征在于,所述目的指紋包括静态指 紋和/或动态指紋,其中,所述静态指紋通过外部设备输入,所述动态指紋通 过对所述用户数据报协议数据包之前的用户数据报协议数据包进行检测得 到。
4、 根据权利要求1或2所述的方法,其特征在于,还包括对目标互联网协议地址的用户数据报协议数据包的流量进行统计,若所 述流量大于设定阈值,则丟弃所述目标互联网协议地址的用户数据报协议数 据包。
5、 一种过滤用户数据报协议数据包的装置,其特征在于,包括 检测模块,用于根据应用层协议的协议特征字,检测用户数据报协议数据包的包体;其中,所述协议特征字为^f吏用所述应用层协议的用户数据才艮协 议数据包的包体共有的数据;第一过滤模块,用于若所述用户数据报协议数据包的包体中不存在与所 述协议特征字相匹配的数据,则丢弃所述用户数据4艮协i义^:据包。
6、 根据权利要求5所述的装置,其特征在于,还包括匹配模块,用于若所述用户数据报协议数据包的包体中不存在与所述协 议特征字相匹配的数据,将所述用户数据报协议数据包的指紋与目的指紋相 比较;其中,所述用户数据报协议数据包的指紋包括所述用户数据报协议数 据包的源互联网协议地址或目的互联网协议地址;所述第 一过滤模块还用于若所述匹配模块确定所述用户数据报协议数据 包的指紋与所述目的指故相匹配,则丟弃所述用户数据报协议数据包。
7、 根据权利要求6所述的装置,其特征在于,所述目的指紋包括静态指 紋和/或动态指紋,其中,所述静态指紋通过外部i殳备输入,所述动态指紋通 过对所述用户数据报协议数据包之前的用户数据报协议数据包进行检测得到。
8、 根据权利要求5或6所述的装置,其特征在于,还包括第二过滤模块,用于对目标互联网协议地址的用户数据报协议数据包的 流量进行统计,若所述流量大于设定阈值,则丟弃所述目标互联网协议地址 的用户数据报协议数据包。
9、 一种网关设备,其特征在于,包括过滤用户数据报协议数据包的装置, 用于根据应用层协议的协议特征字,检测用户数据报协议数据包的包体,若据,则丟弃所述用户数据才艮协议数据包;其中,所述协议特征字为使用所述 应用层协议的用户数据报协议数据包的包体共有的数据。
10、根据权利要求9所述的网关设备,其特征在于,所述过滤用户数据才艮 协议数据包的装置包括检测模块,用于根据所述应用层协议的协议特征字,检测用户数据报协 议数据包的包体;第一过滤模块,用于若所述用户数据报协议数据包的包体中不存在与所 述协议特征字相匹配的数据,则丟弃所述用户数据报协议数据包。
全文摘要
本发明实施例涉及一种过滤用户数据报协议数据包的方法和装置。其中,所述方法包括根据应用层协议的协议特征字,检测用户数据报协议数据包的包体;其中,所述协议特征字为使用所述应用层协议的用户数据报协议数据包的包体共有的数据;若所述用户数据报协议数据包的包体中不存在与所述协议特征字相匹配的数据,则丢弃所述用户数据报协议数据包。本发明实施例通过检测UDP数据包的包体,当UDP数据包的包体中不存在与应用层协议的协议特征字匹配的数据时,认为该UDP数据包为DDOS攻击的UDP数据包,因此丢弃该数据包,从而可以克服现有技术中无法有效过滤DDOS攻击的UDP数据包的缺陷,实现有效过滤DDOS攻击的UDP数据包。
文档编号H04L12/56GK101599976SQ20091015220
公开日2009年12月9日 申请日期2009年7月10日 优先权日2009年7月10日
发明者莉 杨, 武 蒋 申请人:成都市华为赛门铁克科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1