SYN Flood 攻击防范技术白皮书


SYN Flood攻击防范技术白皮书 杭州华三通信技术有限公司 www.h3c.com.cn 第1页,共15页 SYN Flood攻击防范技术白皮书 关键词:SYN Flood ,SYN Cookie,Safe Reset 摘 要:本文主要介绍了H3C防火墙为保护服务器免受SYN Flood攻击采用的防范技术的原理 和应用。 缩略语: 缩略语 英文全名 中文解释 DMZ De-Militarized Zone 非军事区域 TCB Transmission Control Block 传输控制块 TCP Transmission Control Protocol 传输层控制协议 SYN Flood攻击防范技术白皮书 杭州华三通信技术有限公司 www.h3c.com.cn 第2页,共15页 目 录 1 概述 .......................................................................................................................................3 1.1 产生背景 ......................................................................................................................3 1.2 技术优点 ......................................................................................................................4 2 技术实现 ................................................................................................................................5 2.1 SYN Flood攻击检测技术..............................................................................................5 2.1.1 半开连接数检测 .................................................................................................6 2.1.2 新建连接速率检测..............................................................................................7 2.2 SYN Flood攻击防范技术..............................................................................................8 2.2.1 阻断新建连接.....................................................................................................8 2.2.2 释放无效连接...................................................................................................10 2.2.3 SYN Cookie技术..............................................................................................10 2.2.4 Safe Reset技术 ...............................................................................................12 3 典型组网应用 .......................................................................................................................14 3.1 SYN Cookie典型组网应用..........................................................................................14 3.2 Safe Reset典型组网应用 ...........................................................................................14 3.3 SYN Flood攻击防范综合组网应用 .............................................................................15 SYN Flood攻击防范技术白皮书 杭州华三通信技术有限公司 www.h3c.com.cn 第3页,共15页 1 概述 1.1 产生背景 SYN Flood攻击是一种通过向目标服务器发送SYN报文,消耗其系统资源,削弱目 标服务器的服务提供能力的行为。一般情况下,SYN Flood攻击是在采用IP源地址 欺骗行为的基础上,利用TCP连接建立时的三次握手过程形成的。 众所周知,一个TCP连接的建立需要双方进行三次握手,只有当三次握手都顺利完 成之后,一个TCP连接才能成功建立。当一个系统(称为客户端)请求与另一个提 供服务的系统(称为服务器)建立一个TCP连接时,双方要进行以下消息交互: (1) 客户端向服务器发送一个 SYN 消息; (2) 如果服务器同意建立连接,则响应客户端一个对 SYN 消息的回应消息 (SYN/ACK); (3) 客户端收到服务器的 SYN/ACK 以后,再向服务器发送一个 ACK 消息进行确 认。 当服务器收到客户端的ACK消息以后,一个TCP的连接成功完成。连接的建立过程 如图1所示: Client Server SYN, sequence=x SYN, sequence=y, ACK=x+1 ACK=y+1 分配TCB资源 分配TCB资源 图1 TCP连接的建立 在上述过程中,当服务器收到SYN报文后,在发送SYN/ACK回应客户端之前,需 要分配一个数据区记录这个未完成的TCP连接,这个数据区通常称为TCB资源,此 时的TCP连接也称为半开连接。这种半开连接仅在收到客户端响应报文或连接超时 后才断开,而客户端在收到SYN/ACK报文之后才会分配TCB资源,因此这种不对 SYN Flood攻击防范技术白皮书 杭州华三通信技术有限公司 www.h3c.com.cn 第4页,共15页 称的资源分配模式会被攻击者所利用形成SYN Flood攻击。 图2 SYN Flood攻击原理图 如图2所示,攻击者使用一个并不存在的源IP地址向目标服务器发起连接,该服务 器回应SYN/ACK消息作为响应,由于应答消息的目的地址并不是攻击者的实际地 址,所以这个地址将无法对服务器进行响应。因此,TCP握手的最后一个步骤将永 远不可能发生,该连接就一直处于半开状态直到连接超时后被删除。如果攻击者用 快于服务器TCP连接超时的速度,连续对目标服务器开放的端口发送SYN报文,服 务器的所有TCB资源都将被消耗,以至于不能再接受其他客户端的正常连接请求。 为保证服务器能够正常提供基于TCP协议的业务,防火墙必须能够利用有效的技术 瓦解以及主动防御SYN Flood攻击。 1.2 技术优点 H3C在SYN Flood 攻击防范技术的实现上具有以下四个方面的特色。 1. 支持基于安全区域的配置方式 H3C实现的SYN Flood攻击防范支持基于安全区域的配置方式,所有攻击检测策略 均配置在安全区域上,配置简洁又不失灵活性,既降低网络管理员配置负担,又能 满足复杂组网情况下针对安全区域实施不同攻击防范策略的要求。 2. 提供丰富的告警日志信息 H3C实现的SYN Flood攻击防范功能可提供丰富的告警日志信息,可以与第三方软 件配合使用,其日志和审计功能不仅能够针对攻击进行实时监测,还能对攻击的历 史日志进行方便的查询和统计分析,便于对攻击事件进行有效的跟踪和追查。 SYN Flood攻击防范技术白皮书 杭州华三通信技术有限公司 www.h3c.com.cn 第5页,共15页 3. 精确阻断攻击流量 H3C实现的SYN Flood攻击防范功能采用基于行为模式的异常检测算法对目标服务 器的网络流量进行检测,通过实时跟踪TCP服务器连接的状态机协商过程,能够有 效区分攻击流量和正常流量,从而精确阻断攻击流量。 4. 提供灵活的防范措施 针对SYN Flood攻击,H3C防火墙提供了灵活的防范措施,可根据用户的实际需 要,选择对攻击行为进行日志输出、报文丢弃、启用SYN Cookie防护功能、启用 Safe Reset防护功能、通知服务器释放无效半开连接等防范动作。 2 技术实现 在Internet上,公共服务器是SYN Flood攻击实施的主要对象。Internet上任何客户 端向某个特定的公共服务器发起访问时,其目的IP地址必定是公共服务器对外公开 的IP地址。H3C防火墙通过攻击检测技术,统计和分析向公共服务器发起的所有连 接的行为特征,来检测和识别攻击报文。 在检测到针对服务器的SYN Flood攻击行为后,H3C防火墙可以支持选择多种应对 攻击的防范措施,主要包括两大类: z 连接限制技术:采用 SYN Flood 攻击防范检测技术,对网络中的新建 TCP 半开连接数和新建 TCP 连接速率进行实时检测,通过设置检测阈值来有效地 发现攻击流量,然后通过阻断新建连接或释放无效连接来抵御 SYN Flood 攻 击。 z 连接代理技术:采用 SYN Cookie 或 Safe Reset 技术对网络中的 TCP 连接 进行代理,通过精确的验证来准确的发现攻击报文,实现为服务器过滤掉恶 意连接报文的同时保证常规业务的正常运行。连接代理技术除了可以对已检 测到攻击的服务器进行代理防范,也可以对可能的攻击对象事先配置,做到 全部流量代理,而非攻击发生后再代理,这样可以避免攻击报文已经造成一 定损失。 2.1 SYN Flood攻击检测技术 根据统计对象的不同特征,SYN Flood攻击检测可分为两种类型:半开连接数检 测、新建连接速率检测。 SYN Flood攻击防范技术白皮书 杭州华三通信技术有限公司 www.h3c.com.cn 第6页,共15页 2.1.1 半开连接数检测 1. 原理介绍 当恶意客户端向目标服务器发起SYN Flood 攻击时,如果恶意客户端采用了仿冒的 源IP,那么在目标服务器上会存在大量半开连接。 这类半开连接与正常的半开连接的区别在于,正常半开连接会随着客户端和服务器 端握手报文的交互完成而转变成全连接,而仿冒源IP的半开连接永远不会完成握手 报文的交互。 为有效区分仿冒半开连接和正常半开连接,防火墙就需要实时记录所有客户端向服 务器发起的所有半开连接数和完成了握手交互且转变为全连接的半开连接数,二者 之差(即未完成的半连接数)在服务器未受到攻击时会保持在一个相对恒定的范围 内。如果未完成的半连接数突然增多,甚至接近服务器的资源分配上限时就可以怀 疑此时服务器正受到异常流量的攻击。 Client Firewall SYN SYN/ACK SYN SYN/ACK Server SYN SYN/ACK SYN SYN/ACK SYN SYN/ACK SYN SYN/ACK …… SYN …… 半开连接数阈值 图3 半开连接数检测示意图 如图3所示,管理员可以根据被保护服务器的处理能力设置半开连接数阈值。如果 服务器无法处理客户端所有连接请求,就会导致未完成的半开连接数(即客户端向 服务器发起的所有半开连接数和完成了握手交互变成全连接的半开连接数之差)超 过指定阈值,此时防火墙可以判定服务器正在遭受SYN Flood 攻击。 2. 应用限制 半开连接数统计要求防火墙能够记录客户端到服务器端的所有连接状态。即,客户 端和服务器端的报文都需要经过防火墙处理。因此,基于半开连接数的统计检测需 SYN Flood攻击防范技术白皮书 杭州华三通信技术有限公司 www.h3c.com.cn 第7页,共15页 要防火墙部署在所保护的服务器出口和入口的关键路径上。 2.1.2 新建连接速率检测 1. 原理介绍 当恶意客户端向目标服务器发起SYN Flood攻击时,不管恶意客户端采用仿冒源IP 手段还是使用真实的客户端,其呈现的结果就是发往服务器的报文会在短时间内大 量增加。 恶意客户端发向服务器的报文中,一部分是新建连接的报文,一部分是已建立连接 的后续数据报文。H3C防火墙通过记录每秒新建连接的数量,并与设定的阈值进行 比较来判断向目标服务器发起SYN Flood攻击行为是否发生,若达到或超过,则认 为攻击行为发生。 图4 新建连接速率检测示意图 如图4所示,在对被保护服务器进行监测时,防火墙在一秒的时间间隔内统计客户 端向服务器发起的新建连接请求数量,作为当前的新建请求速率。当新建连接请求 速率超过指定阈值时,防火墙设备可以认为服务器可能遭受了SYN Flood攻击。 2. 应用限制 新建连接数统计要求防火墙能够记录客户端到服务器端的所有新建连接个数。即, 客户端发往服务器端的报文必须要经过防火墙处理。因此,基于新建连接数的统计 检测需要防火墙部署在所保护的服务器入口的关键路径上。 SYN Flood攻击防范技术白皮书 杭州华三通信技术有限公司 www.h3c.com.cn 第8页,共15页 2.2 SYN Flood攻击防范技术 H3C防火墙可以支持选择多种应对攻击的防范措施,主要包括以下四种技术: z 阻断新建连接——通过随时阻断服务器处理能力之外的新建连接来减轻服务 器的被攻击程度。 z 释放无效连接——通过在攻击发生后通知服务器释放无效连接来协助服务器 及时恢复服务能力。 z SYN Cookie 和 Safe Reset——通过验证发起连接的客户端的合法性,使服 务器免受 SYN Flood 攻击。这两种技术适用于不同的组网需求。 2.2.1 阻断新建连接 1. 原理介绍 实际上,最简单的防范方法就是暂时阻止任何客户端向服务器发起的新建连接请 求。阻断新建连接的时机是由SYN Flood攻击检测发现攻击决定的,只要防火墙发 现连接数阈值(半开连接数阈值、新建连接数阈值)被超过时,就开始阻断新建连 接来防范攻击行为。关于SYN Flood攻击检测技术的详细介绍请参见“2.1 SYN Flood攻击检测技术”。 下面是分别通过两种检测技术发现攻击后的连接阻断处理过程。 z 半开连接数限制 如图5所示,防火墙检测到客户端与服务器之间的当前半开连接数目超过半开连接 数阈值时,所有后续的新建连接请求报文都会被丢弃,直到服务器完成当前的半开 连接处理,或当前的半开连接数降低到安全阈值时,防火墙才会放开限制,重新允 许客户端向服务器发起新建连接请求。 SYN Flood攻击防范技术白皮书 杭州华三通信技术有限公司 www.h3c.com.cn 第9页,共15页 Client Firewall SYN SYN/ACK SYN SYN/ACK Server SYN SYN/ACK SYN SYN/ACK SYN SYN/ACK SYN SYN/ACK …… SYN …… 半开连接数阈值 丢弃报文 图5 半开连接数限制示意图 z 新建连接数限制 如图6所示,防火墙对新建连接报文的速率进行统计,只允许新建连接速率不超过 阈值情况下的新建连接报文通过,超过阈值之后的新建连接报文都被丢弃。直到每 秒客户端向服务器发起的连接请求降低到安全阈值以下时,防火墙才会放开限制, 重新允许客户端向服务器发起新建连接请求。 图6 新建连接速率限制示意图 2. 应用限制 阻断新建连接功能为防火墙检测到SYN Flood攻击后的基本处理手段。在服务器受 到SYN Flood攻击时,防火墙能在服务器处理新建连接报文之前将其阻断,削弱了 网络攻击对服务器的影响,但无法在服务器被攻击时有效提升服务器的服务能力。 SYN Flood攻击防范技术白皮书 杭州华三通信技术有限公司 www.h3c.com.cn 第10页,共15页 因此,该功能一般用于配合防火墙SYN Flood攻击检测,避免瞬间高强度攻击使服 务器系统崩溃。 2.2.2 释放无效连接 1. 原理介绍 正如2.1.1 半开连接数检测中所描述,当服务器上的半开连接过多时,其正在处理 的半开连接中可能存在恶意客户端仿冒源IP发起的无效连接。为了不让仿冒源IP发 起的无效连接占用服务器的资源,防火墙需要在所有半开连接中识别出无效连接, 通知服务器释放这这些无效连接。 防火墙通过模拟无效连接的五元组信息(源IP地址、目的IP地址、源端口号、目的 端口号、协议类型),向服务器发送RST报文(连接重置报文)通知服务器释放无 效连接。 2. 应用限制 释放无效连接功能是一种防火墙检测到攻击后的基本处理手段,在服务器受到SYN Flood攻击的情况下,能够通知服务器释放被恶意攻击报文占用的资源,使服务器 得以恢复正常服务。在服务器受到SYN Flood攻击时,此功能主要用于加速被攻击 服务器的恢复速度,却无法阻止恶意客户端继续攻击服务器。因此,该功能一般用 于配合防火墙SYN Flood检测,在攻击发生后减轻已发生的攻击对服务器的影响。 2.2.3 SYN Cookie技术 1. 原理介绍 SYN Cookie借鉴了HTTP中Cookie的概念。SYN Cookie技术可理解为,防火墙对 TCP新建连接的协商报文进行处理,使其携带认证信息(称之为Cookie),再通过 验证客户端回应的协商报文中携带的信息来进行报文有效性确认的一种技术。如图 7所示,该技术的实现机制是防火墙在客户端与服务器之间做连接代理,具体过程 如下: SYN Flood攻击防范技术白皮书 杭州华三通信技术有限公司 www.h3c.com.cn 第11页,共15页 Client Firewall (1) SYN (2) SYN/ACK(Cookie) Server (4) SYN (3) ACK (6) ACK Data (x) (7) Data (x) Data (y) Data (y) …… (5) SYN/ACK 分配TCB资源 图7 防火墙使用SYN Cookie防范SYN Flood攻击 (1) 客户端向服务器发送一个 SYN 消息。 (2) SYN 消息经过防火墙时,防火墙截取该消息,并模拟服务器向客户端回应 SYN/ACK 消息。其中,SYN/ACK 消息中的序列号为防火墙计算的 Cookie, 此 Cookie 值是对加密索引与本次连接的客户端信息(如:IP 地址、端口 号)进行加密运算的结果。 (3) 客户端收到 SYN/ACK 报文后向服务器发送 ACK 消息进行确认。防火墙截取 这个消息后,提取该消息中的 ACK 序列号,并再次使用客户端信息与加密索 引计算 Cookie。如果计算结果与 ACK 序列号相符,就可以确认发起连接请 求的是一个真实的客户端。如果客户端不回应 ACK 消息,就意味着现实中并 不存在这个客户端,此连接是一个仿冒客户端的攻击连接;如果客户端回应 的是一个无法通过检测的 ACK 消息,就意味着此客户端非法,它仅想通过模 拟简单的 TCP 协议栈来耗费服务器的连接资源。来自仿冒客户端或非法客户 端的后续报文都会被防火墙丢弃,而且防火墙也不会为此分配 TCB 资源。 (4) 如果防火墙确认客户端的 ACK 消息合法,则模拟客户端向服务器发送一个 SYN 消息进行连接请求,同时分配 TCB 资源记录此连接的描述信息。此 TCB 记录了防火墙向服务器发起的连接请求的信息,同时记录了步骤(2) 中客户端向服务器发起的连接请求的信息。 (5) 服务器向防火墙回应 SYN/ACK 消息。 (6) 防火墙收到服务器的 SYN/ACK 回应消息后,根据已有的连接描述信息,模 拟客户端向服务器发送 ACK 消息进行确认。 (7) 完成以上过程之后,客户端与防火墙之间建立了连接,防火墙与服务器之间 也建立了连接,客户端与服务器间关于此次连接的后续数据报文都将通过防 火墙进行代理转发。 SYN Flood攻击防范技术白皮书 杭州华三通信技术有限公司 www.h3c.com.cn 第12页,共15页 防火墙的SYN Cookie技术利用SYN/ACK报文携带的认证信息,对握手协商的ACK 报文进行了认证,从而避免了防火墙过早分配TCB资源。当客户端向服务器发送恶 意SYN报文时,既不会造成服务器上TCB资源和带宽的消耗,也不会造成防火墙 TCB资源的消耗,可以有效防范SYN Flood攻击。在防范SYN Flood攻击的过程 中,防火墙作为虚拟的服务器与客户端交互,同时也作为虚拟的客户端与服务器交 互,在为服务器过滤掉恶意连接报文的同时保证了常规业务的正常运行。 2. 应用限制 由于SYN Cookie技术最终是依靠防火墙对客户端与服务器之间的所有连接报文进 行代理实现的,因此要求防火墙设备必须部署在所保护的服务器入口和出口的关键 路径上,保证所有客户端向服务器发送的报文以及服务器向客户端回应的报文都需 要经过该设备。 2.2.4 Safe Reset技术 1. 原理介绍 Safe Reset技术是防火墙通过对正常TCP连接进行干预来识别合法客户端的一种技 术。防火墙对TCP新建连接的协商报文进行处理,修改响应报文的序列号并使其携 带认证信息(称之为Cookie),再通过验证客户端回应的协商报文中携带的信息来 进行报文有效性确认。 防火墙在利用Safe Reset技术认证新建连接的过程中,对合法客户端的报文进行正 常转发,对仿冒客户端以及简单模拟TCP协议栈的恶意客户端发起的新建连接报文 进行丢弃,这样服务器就不会为仿冒客户端发起的SYN报文分配连接资源,从而避 免了SYN Flood 攻击。如图8所示,Safe Reset技术的实现过程如下: Client Firewall (1) SYN (2) SYN/ACK(Cookie) Server (4) SYN (3) RST ACK ACK …… SYN/ACK 分配TCB资源 图8 防火墙使用Safe Reset防范SYN Flood攻击 SYN Flood攻击防范技术白皮书 杭州华三通信技术有限公司 www.h3c.com.cn 第13页,共15页 (1) 客户端向服务器发送一个 SYN 消息。 (2) SYN 消息经过防火墙时,防火墙截取该消息,并模拟服务器向客户端回应 SYN/ACK 消息。其中,SYN/ACK 消息中的 ACK 序列号与客户端期望的值 不一致,同时携带 Cookie 值。此 Cookie 值是对加密索引与本次连接的客户 端信息(包括:IP 地址、端口号)进行加密运算的结果。 (3) 客户端按照协议规定向服务器回应 RST 消息。防火墙中途截取这个消息后, 提取消息中的序列号,并对该序列号进行 Cookie 校验。成功通过校验的连接 被认为是可信的连接,防火墙会分配 TCB 资源记录此连接的描述信息,而不 可信连接的后续报文会被防火墙丢弃。 (4) 完成以上过程之后,客户端再次发起连接请求,防火墙根据已有的连接描述 信息判断报文的合法性,对可信连接的所有合法报文直接放行。 由于防火墙仅通过对客户端向服务器首次发起连接的报文进行认证,就能够完成对 客户端到服务器的连接检验,而服务器向客户端回应的报文即使不经过防火墙也不 会影响正常的业务处理,因此Safe Reset技术也称为单向代理技术。 一般而言,应用服务器不会主动对客户端发起恶意连接,因此服务器响应客户端的 报文可以不需要经过防火墙的检查。防火墙仅需要对客户端发往应用服务器的报文 进行实时监控。服务器响应客户端的报文可以根据实际需要选择是否经过防火墙, 因此Safe Reset能够支持更灵活的组网方式。 2. 应用限制 z Safe Reset 技术要求防火墙设备部署在所保护的服务器入口的关键路径上。 但仅需保证所有客户端到服务器报文都必须经过该设备,对服务器端发出的 报文是否经该设备没有严格要求。从组网要求来看,Safe Reset 比 SYN Cookie 适应性更强。 z 由于防火墙对客户端发起的 TCP 连接进行了干预,因此 Safe Reset 技术的 实现要求客户端的实现严格遵守 TCP 协议栈的规定,如果客户端的 TCP 协 议栈实现不完善,即便是合法用户,也可能由于未通过防火墙的严格检查而 无法访问服务器。 z Safe Reset 技术依赖于客户端向服务器发送 RST 报文后再次发起请求的功 能,因此应用 Safe Reset 技术后,客户端发起的每个 TCP 连接的建立时间 会有相应增加,增加的程度因客户端的 TCP 协议栈实现而有所不同。 SYN Flood攻击防范技术白皮书 杭州华三通信技术有限公司 www.h3c.com.cn 第14页,共15页 3 典型组网应用 3.1 SYN Cookie典型组网应用 攻击者 正常使用者 应用服务器 Internet SYN Cookie 图9 SYN Cooke典型组网应用图 如图9所示,Internet上存在潜在的攻击者和正常使用各种网络服务的客户端。来自 Internet的目的IP为应用服务器的IP报文,以及应用服务器回应的报文都会经过防 火墙处理。在防火墙上使能SYN Cookie功能后,合法客户端与应用服务器之间 TCP连接的交互报文在通过SYN Cookie验证后由防火墙进行代理发送,而攻击者 向应用服务器发起的连接报文因无法通过SYN Cookie的检查而被防火墙过滤,应 用服务器因此得到保护。 3.2 Safe Reset典型组网应用 攻击者 正常使用者 应用服务器 Internet Safe Reset 图10 Safe Reset典型组网应用图 如图10所示,Internet上存在潜在的攻击者和正常使用各种网络服务的客户端。来 SYN Flood攻击防范技术白皮书 杭州华三通信技术有限公司 www.h3c.com.cn 第15页,共15页 自Internet的目的IP为应用服务器的IP报文都会经过防火墙处理,但服务器回应的 报文并不一定经过防火墙。在防火墙上配置Safe Reset功能后,合法的客户端向应 用服务器发起的TCP请求报文在通过Safe Reset检查后由防火墙允许放行,攻击者 向应用服务器发起的连接报文因无法通过防火墙Safe Reset的检查而被丢弃,应用 服务器因此得到保护。 3.3 SYN Flood攻击防范综合组网应用 图11 SYN Flood攻击防范综合组网应用 如图11所示,防火墙的内网属于Trust域,内部服务器的网络属于DMZ域,外部网 络属于Untrust域,Untrust域中存在潜在的攻击者。 在防火墙上采用基于域的配置,对DMZ域内的服务器进行SYN Flood攻击防范检测 配置,根据服务器的实际流量,配置服务器允许的新建连接速率阈值及半开连接数 阈值。若服务器受到SYN Flood攻击,防火墙输出SYN Flood告警日志,并且可以 选择对后续向DMZ域内的服务器发起的访问进行(单向或双向)TCP代理,保证 到达服务器的TCP连接请求都是正常的。 Copyright ©2008 杭州华三通信技术有限公司 版权所有,保留一切权利。 非经本公司书面许可,任何单位和个人不得擅自摘抄、复制本文档内容的部分或全部,并不得以任何形式传播。 本文档中的信息可能变动,恕不另行通知。
还剩14页未读

继续阅读

下载pdf到电脑,查找使用更方便

pdf的实际排版效果,会与网站的显示效果略有不同!!

需要 3 金币 [ 分享pdf获得金币 ] 0 人已下载

下载pdf

pdf贡献者

zhaoyi4200

贡献于2015-06-17

下载需要 3 金币 [金币充值 ]
亲,您也可以通过 分享原创pdf 来获得金币奖励!
下载pdf