SYN洪泛攻击原理及其防范策略

合集下载

TCP协议中的SYN攻击与防范措施(四)

TCP协议中的SYN攻击与防范措施(四)

SYN攻击与防范措施:网络世界的隐患与挑战网络安全问题是互联网发展过程中不可忽视的重要议题之一。

在众多的网络攻击手段中,SYN攻击一直以来都是危害严重且普遍存在的一种攻击方式。

本文将深入探讨SYN攻击的原理与影响,并提出针对性的防范措施,以帮助网络安全相关人员更好地应对这一挑战。

一、SYN攻击的原理SYN攻击(SYN Flood)是一种利用TCP协议中的漏洞进行的拒绝服务攻击(Denial of Service,DoS)。

攻击者通过请求连接来占用服务器资源,以达到阻塞正常用户连接的目的。

具体而言,SYN攻击是通过发送大量伪造的TCP连接请求(SYN包)来迷惑服务器,使其一直处于半连接状态,无法建立真正的连接。

攻击者通常会使用大量的IP地址和源端口号来混淆服务器,从而增加攻击的隐蔽性。

二、SYN攻击的影响SYN攻击对网络造成的影响是不可忽视的。

首先,它会耗尽服务器的资源,使其无法响应正常用户的请求,导致服务不可用。

其次,SYN攻击还可能导致网络拥塞,降低整个网络的带宽和传输速度。

更为严重的是,一些关键的网络设备(如防火墙)可能会因为处理SYN攻击而奔溃,从而给整个网络架构带来灾难性的后果。

三、防范SYN攻击的措施面对日益猖獗的SYN攻击,网络安全专家们提出了多种有效的防范措施:1. 增加系统资源SYN攻击利用了服务器资源的有限性,因此增加系统资源是一个最直接也最简单的方法。

通过提高服务器的处理能力和连接数目限制,可以减轻SYN攻击对服务器的影响。

2. 设置SYN CookieSYN Cookie是一种防御SYN攻击的方法。

通过在服务器端设置SYN Cookie,当服务器接收到一个SYN请求后,会将相关信息(如序列号等)保存在一个临时Cookie中。

只有在客户端回应ACK时,服务器才会验证该Cookie是否正确,并建立连接。

这种方式可以提高服务器抵御SYN攻击的能力。

3. 使用防火墙和入侵检测系统防火墙和入侵检测系统(IDS)能够识别并拦截大量的SYN请求。

攻击原理以及防范技术

攻击原理以及防范技术

SYN攻击原理以及防范技术据统计,在所有黑客攻击事件中,SYN攻击是最常见又最容易被利用的一种攻击手法。

相信很多人还记得2000年YAHOO网站遭受的攻击事例,当时黑客利用的就是简单而有效的SYN攻击,有些网络蠕虫病毒配合SYN攻击造成更大的破坏。

本文介绍SYN攻击的基本原理、工具及检测方法,并全面探讨SYN攻击防范技术。

一、TCP握手协议在TCP/IP协议中,TCP协议提供可靠的连接服务,采用三次握手建立一个连接。

第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认;第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态;第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手。

完成三次握手,客户端与服务器开始传送数据,在上述过程中,还有一些重要的概念:未连接队列:在三次握手协议中,服务器维护一个未连接队列,该队列为每个客户端的SYN包(syn=j)开设一个条目,该条目表明服务器已收到SYN包,并向客户发出确认,正在等待客户的确认包。

这些条目所标识的连接在服务器处于Syn_RECV状态,当服务器收到客户的确认包时,删除该条目,服务器进入ESTABLISHED状态。

Backlog参数:表示未连接队列的最大容纳数目。

SYN-ACK 重传次数服务器发送完SYN-ACK包,如果未收到客户确认包,服务器进行首次重传,等待一段时间仍未收到客户确认包,进行第二次重传,如果重传次数超过系统规定的最大重传次数,系统将该连接信息从半连接队列中删除。

注意,每次重传等待的时间不一定相同。

半连接存活时间:是指半连接队列的条目存活的最长时间,也即服务从收到SYN包到确认这个报文无效的最长时间,该时间值是所有重传请求包的最长等待时间总和。

SYNFlood攻击的原理及防御

SYNFlood攻击的原理及防御

文章编号:2096-1472(2019)-03-29-03DOI:10.19644/ki.issn2096-1472.2019.03.009软件工程 SOFTWARE ENGINEERING 第22卷第3期2019年3月V ol.22 No.3Mar. 2019SYN Flood 攻击的原理及防御张文川(兰州石化职业技术学院,甘肃 兰州 730060)摘 要:SYN-Flood攻击是当前网络上最为常见的DDoS攻击,也是最为经典的拒绝服务攻击,它利用了TCP协议实现上的一个缺陷,通过向网络服务所在端口发送大量的伪造源地址的攻击报文,就可能造成目标服务器中的半开连接队列被占满,从而阻止其他合法用户进行访问。

为了有效防范这种攻击,在分析攻击原理的基础上,发现可以使用TCP代理防御及TCP源探测防御方法来解决这个问题,经过测试证明,该办法能够有效降低SYN Flood攻击造成的危害。

关键词:DDoS攻击;STN Flood攻击;TCP代理防御;TCP源探测防御中图分类号:TP399 文献标识码:AThe Principle and Defense of SYN Flood AttackZHANG Wenchuan(Lanzhou Petrochemical College of V ocational Technology ,Lanzhou 730060,China )Abstract:SYN-Flood attack is the most common DDoS attack and the most classic denial-of-service attack on the current network.It takes advantage of a flaw in TCP protocol implementation and sends a large number of attack packets of forged source addresses to the port where the network service is located,which may cause the semi-open connection queue in the target server to be occupied,thus preventing other legal users from accessing.In order to effectively prevent this attack,on the basis of analyzing the attack principle,it is found that TCP proxy defense and TCP source detection defense methods can be used to solve this problem.Testsprove that this method can effectively reduce the harm caused by SYN Flood attack.Keywords:DdoSattack;STN Flood attack;TCP proxy defense;TCP source detection defense基金项目:全国工业和信息化职业教育教学指导委员会工信行指委“基于校企合作人才培养模式的信息化教学的研究与实践”项目编号:【2018】20号.1 引言(Introduction)过去,攻击者所面临的主要问题是网络宽带不足,受限于较慢的网络速度,攻击者无法发出过多的请求。

SYN洪泛攻击原理及其防范策略

SYN洪泛攻击原理及其防范策略

SYN洪泛攻击原理及其防范策略作者:陶涛来源:《电脑知识与技术》2012年第30期摘要:SYN洪泛攻击是出现在这几年的一种具有很强攻击力而又缺乏有效防御手段的Internet攻击手段,是目前网络安全界研究的热点。

TCP SYN 洪流攻击是最常见的DoS攻击手段之一。

文中着重对TCP SYN 洪流攻击及其防范措施进行了深入研究,提出了一种新的综合攻击检测技术,较好地解决了对此类攻击的防范问题。

关键词:SYN洪泛攻击;DOS攻击;TCP协议;三次握手协议;防范策略中图分类号 TP309 文献标识码:A 文章编号:1009-3044(2012)30-7208-02SYN攻击属于DOS攻击的一种,它利用TCP协议缺陷,通过发送大量的半连接请求,耗费CPU和内存资源。

SYN攻击除了能影响主机外,还可以危害路由器、防火墙等网络系统,事实上SYN攻击并不管目标是什么系统,只要这些系统打开TCP服务就可以实施。

1 SYN洪泛攻击原理及其防范策略1.1 SYN洪泛攻击所存在的基础环境SYN洪泛攻击首次出现在1996年。

当时主要是应用于攻击网络服务提供商(ISP)的邮件和Telnet服务,并造成了停机。

给服务器操作造成严重的影响。

SYN攻击利用的是TCP的三次握手机制,攻击端利用伪造的IP地址向被攻击端发出请求,而被攻击端发出的响应报文将永远发送不到目的地,那么被攻击端在等待关闭这个连接的过程中消耗了资源,如果有成千上万的这种连接,主机资源将被耗尽,从而达到攻击的目的。

TCP 传输控制块是一种包含一个连接所有信息的传输协议数据结构状态的TCP连接项目,和已建立完整连接但仍未由应用程序通过accept()调用提取的项目)。

一个单一的传输控制块所占内存大小取决于连接中所用的TCP选项和其他一些功能的实现。

通常一个传输控制块至少280字节,在某些操作系统中已经超过了1300字节。

TCP的SYN-RECEIVED状态用于指出这个连接仅仅是半开连接,请求是否合法仍被质疑。

TCP SYN Flood攻击的原理机制

TCP SYN Flood攻击的原理机制

TCP SYN Flood攻击的原理机制/检测与防范及防御方法现在的攻击者,无所不在了.对于一些攻击手法,很多高手也都是看在眼里而没什么实质性防范措施.除了改端口,换IP,弄域名..还能做什么? 本篇文章介绍了TCP SYN Flood攻击的原理机制/检测与防范及防御方法,希望能给大伙一个思路.TCP SYN Flood攻击的机制客户端通过发送在TCP报头中SYN标志置位的数据分段到服务端来请求建立连接。

通常情况下,服务端会按照IP报头中的来源地址来返回SYN/ACK置位的数据包给客户端,客户端再返回ACK到服务端来完成一个完整的连接(Figure-1)。

在攻击发生时,客户端的来源IP地址是经过伪造的(spoofed),现行的IP路由机制仅检查目的IP地址并进行转发,该IP包到达目的主机后返回路径无法通过路由达到的,于是目的主机无法通过TCP三次握手建立连接。

在此期间因为TCP缓存队列已经填满,而拒绝新的连接请求。

目的主机一直尝试直至超时(大约75秒)。

这就是该攻击类型的基本机制。

发动攻击的主机只要发送较少的,来源地址经过伪装而且无法通过路由达到的SYN连接请求至目标主机提供TCP服务的端口,将目的主机的TCP缓存队列填满,就可以实施一次成功的攻击。

实际情况下,发动攻击时往往是持续且高速的。

Figure-3 SYN Flood Attack这里需要使用经过伪装且无法通过路由达到的来源IP地址,因为攻击者不希望有任何第三方主机可以收到来自目的系统返回的SYN/ACK,第三方主机会返回一个RST(主机无法判断该如何处理连接情况时,会通过RST重置连接),从而妨碍攻击进行。

Figure-4 IP Spoofing由此可以看到,这种攻击方式利用了现有TCP/IP协议本身的薄弱环节,而且攻击者可以通过IP伪装有效的隐蔽自己。

但对于目的主机来说,由于无法判断攻击的真正来源。

而不能采取有效的防御措施。

TCP SYN Flood检测与防范一、分析从上面的分析,可以看出TCP SYN Flood远程拒绝服务攻击具有以下特点:针对TCP/IP协议的薄弱环节进行攻击;发动攻击时,只要很少的数据流量就可以产生显著的效果;攻击来源无法定位;在服务端无法区分TCP连接请求是否合法。

SYN flood网络攻击的原理及其防御方法

SYN flood网络攻击的原理及其防御方法

拒绝服务攻击(Denial of Service,dos)是目前比较有效而又非常难于防御的一种网络攻击方式,它的目的就是使服务器不能够为正常访问的用户提供服务。

所以,dos对一些紧密依靠互联网开展业务的企业和组织带来了致命的威胁。

1 SYN Flood攻击介绍:拒绝服务攻击(Denial of Service,dos)是目前比较有效而又非常难于防御的一种网络攻击方式,它的目的就是使服务器不能够为正常访问的用户提供服务。

所以,dos对一些紧密依靠互联网开展业务的企业和组织带来了致命的威胁。

SYN Flood是最为有效和流行的一种dos攻击形式。

它利用TCP三次握手协议的缺陷,向目标主机发送大量的伪造源地址的SYN连接请求,消耗目标主机的资源,从而不能够为正常用户提供服务。

1.1 TCP连接建立的过程要掌握SYN Flood攻击的基本原理,必须先介绍TCP的三次握手机制。

TCP三次握手过程如下:1)客户端向服务器端发送一个SYN置位的TCP报文,包含客户端使用的端口号和初始序列号x;2)服务器端收到客户端发送来的SYN报文后,向客户端发送一个SYN和ACK 都置位的TCP报文,包含确认号为x+1和服务器的初始序列号y;3)TCP客户端客户端端口(1024-65535)TCP服务器端服务器端口(1-1023)SYNSYN/ACKACK客户端收到服务器返回的SYN+ACK报文后,向服务器返回一个确认号为y +1序号为x+1的ACK报文,一个标准的TCP连接完成。

如图1所示:1.2 攻击原理在SYN Flood攻击中,黑客机器向受害主机发送大量伪造源地址的TCP SYN 报文,受害主机分配必要的资源,然后向源地址返回SYN+ACK包,并等待源端返回ACK包,如图2所示。

由于源地址是伪造的,所以源端永远都不会返回ACK 报文,受害主机继续发送SYN+ACK包,并将半连接放入端口的积压队列中,虽然一般的主机都有超时机制和默认的重传次数,但是由于端口的半连接队列的长度是有限的,如果不断的向受害主机发送大量的TCP SYN报文,半连接队列就会很快填满,服务器拒绝新的连接,将导致该端口无法响应其他机器进行的连接请求,最终使受害主机的资源耗尽。

(整理)SYN攻击原理以及防范技术.

(整理)SYN攻击原理以及防范技术.

SYN攻击原理以及防范技术据统计,在所有黑客攻击事件中,SYN攻击是最常见又最容易被利用的一种攻击手法。

相信很多人还记得2000年YAHOO网站遭受的攻击事例,当时黑客利用的就是简单而有效的SYN攻击,有些网络蠕虫病毒配合SYN攻击造成更大的破坏。

本文介绍SYN攻击的基本原理、工具及检测方法,并全面探讨SYN攻击防范技术。

一、TCP握手协议在TCP/IP协议中,TCP协议提供可靠的连接服务,采用三次握手建立一个连接。

第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认;第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态;第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手。

完成三次握手,客户端与服务器开始传送数据,在上述过程中,还有一些重要的概念:未连接队列:在三次握手协议中,服务器维护一个未连接队列,该队列为每个客户端的SYN包(syn=j)开设一个条目,该条目表明服务器已收到SYN包,并向客户发出确认,正在等待客户的确认包。

这些条目所标识的连接在服务器处于Syn_RECV状态,当服务器收到客户的确认包时,删除该条目,服务器进入ESTABLISHED状态。

Backlog参数:表示未连接队列的最大容纳数目。

SYN-ACK 重传次数服务器发送完SYN-ACK包,如果未收到客户确认包,服务器进行首次重传,等待一段时间仍未收到客户确认包,进行第二次重传,如果重传次数超过系统规定的最大重传次数,系统将该连接信息从半连接队列中删除。

注意,每次重传等待的时间不一定相同。

半连接存活时间:是指半连接队列的条目存活的最长时间,也即服务从收到SYN包到确认这个报文无效的最长时间,该时间值是所有重传请求包的最长等待时间总和。

浅析SYN FLOOD攻击原理及其防御

浅析SYN FLOOD攻击原理及其防御
图 2 正常情况下的 T CP建 立 连 接 过 程
区满 再 发 送 。 其 中的 S N及 A K 两 个 标 志 位 是 我们 分 析 的 重 点 。 Y C
2 T P协 议 的连 接 ( 次 握 手 ) . C 三
T P是 T PI C C/ P协 议 栈 的传 输 控 制 协 议 . 供 可 靠 的 连 接 服 务 , 提 采 过 某 种 手 段 , 意 地 造成 计 算机 或 网 络 不 能 正 常 运 转 从 而不 能 向合 法 用 三 次 握 手 确 认 建 立 一 个 连 接 。 它 的 连 接 过 程 如 图 2: 有
W U Qin og f a gS a a o e irTe h i l r i n c o lTa g h n He e , 6 3 0 T n h n L b rS no c n c an g S h o , n s a b i0 3 0 ) aT i
【 b tat YN F O D atc sc r nl tem s pp lro eo D S a ak. N ti p p rw nrd c h o cp o YN F OO A s c】S L O t ki ur t h ot oua n fD O t c s I hs a e, eit uetecn et fS L D r a e y t o
【 yw r sS L D; C Ke o d 】YN F O0 T P
据。此时紧急数据指针有效 。 0引言 . A K: 确认 标 志位 。如 果 为 1 表 示 包 中 的确 认 号 是 有 效 的 。否 C 为 . 互 联 网 上 , 点 ( WE 站 如 B服 务 器 ) 遭 到 外 部 主 机 的 DD S攻 击 , 常 O 包 其 中 .Y L D攻 击 是 最 为 常 见 的一 种 。 击 者 使 用 伪 造 的 源 地 址 则 , 中的 确 认 号 无 效 。 S N F OO 攻 P H: 果 置 位 , 收 端 应 尽 快 把 数 据 传 送 给 应 用 层 , 必 等 缓 冲 S 如 接 不 向服 务 服 务 器 发 送 大量 的 T P连 接 请 求 , 使 服 务 器 资 源 耗 尽 , 而 C 致 从 使 合 法 用 户 的 正 常访 问 也 因 为无 法 建 立 T P连 接 而 被 拒 绝 。 C 首 先 . 们 来 了 解 一 下 相关 定 义 。 我 什 么 是 DO ? D S 此 OS并 非 Mi oo 公 司 的 早 期 操 作 系 统 , 是 英 c sf r t 它 文 D n a o evc e il f rie的缩 写 . 即 “ 绝 服 务 ” D S攻 击 是 指 攻 击 者 通 S 意 拒 。 O 用 户 提 供 所 需 要 的 服 务 或 者使 得服 务 质量 降低 ? 什么是 D O ? O D S DD S是 英 文 Dsr ue e i f ev e的 缩 写 , i i tdD na o ri tb l S c 意 即“ 布 式 拒 绝 服 务 ” 俗 称洪 水 攻击 ) D 分 ( 。D OS攻 击 是 指 处 于 不 同 位 置 的多 个 攻击 者 同 时 向一 个 或 者 数 个 目标 发 起 攻 击 , 者 一 个 或 多 个 或 攻 击 者 控 制 了 位 于 不 同位 置 的 多 台 机 器 并 利 用 这 些 机 器 对 受 害 者 同 时实施攻击 , 于攻击的发 出点是分布在不 同地方 的, 由 这类 攻 击 称 为 分 布 式 拒 绝 服 务 攻击 。 S N F OO Y L D攻 击 为 D O D S攻 击 方式 之 一 ,它是 利 用 T P连 接 的 C
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

SYN洪泛攻击原理及其防范策略
作者:陶涛
来源:《电脑知识与技术》2012年第30期
摘要:SYN洪泛攻击是出现在这几年的一种具有很强攻击力而又缺乏有效防御手段的Internet攻击手段,是目前网络安全界研究的热点。

TCP SYN 洪流攻击是最常见的DoS攻击手段之一。

文中着重对TCP SYN 洪流攻击及其防范措施进行了深入研究,提出了一种新的综合攻击检测技术,较好地解决了对此类攻击的防范问题。

关键词:SYN洪泛攻击;DOS攻击;TCP协议;三次握手协议;防范策略
中图分类号 TP309 文献标识码:A 文章编号:1009-3044(2012)30-7208-02
SYN攻击属于DOS攻击的一种,它利用TCP协议缺陷,通过发送大量的半连接请求,耗费CPU和内存资源。

SYN攻击除了能影响主机外,还可以危害路由器、防火墙等网络系统,事实上SYN攻击并不管目标是什么系统,只要这些系统打开TCP服务就可以实施。

1 SYN洪泛攻击原理及其防范策略
1.1 SYN洪泛攻击所存在的基础环境
SYN洪泛攻击首次出现在1996年。

当时主要是应用于攻击网络服务提供商(ISP)的邮件和Telnet服务,并造成了停机。

给服务器操作造成严重的影响。

SYN攻击利用的是TCP的三次握手机制,攻击端利用伪造的IP地址向被攻击端发出请求,而被攻击端发出的响应报文将永远发送不到目的地,那么被攻击端在等待关闭这个连接的过程中消耗了资源,如果有成千上万的这种连接,主机资源将被耗尽,从而达到攻击的目的。

TCP 传输控制块是一种包含一个连接所有信息的传输协议数据结构状态的TCP连接项目,和已建立完整连接但仍未由应用程序通过accept()调用提取的项目)。

一个单一的传输控制块所占内存大小取决于连接中所用的TCP选项和其他一些功能的实现。

通常一个传输控制块至少280字节,在某些操作系统中已经超过了1300字节。

TCP的SYN-RECEIVED状态用于指出这个连接仅仅是半开连接,请求是否合法仍被质疑。

传输控制块分配空间的大小取决于接收的SYN包——在连接被完全建立或者说连接发起人的返回可达性被证实之前。

这就导致了一个明显潜在的DoS攻击,到达的SYN包将被分配过多的传输控制块而导致主机的内核内存被耗尽。

为了避免这种内存耗尽,操作系统通常给监听接口关联了一个"backlog"队列参数,它同时维护连接的传输控制块上限数量和SYN-RECEIVED状态。

尽管这种方案使主机的可用内存免遭攻击,但是backlog队列本身就带来了一个(小的)受攻击源。

当backlog中没有空间时,就不可能再响应新的连接请求,除非传输控制块能被回收或者从SYN-RECIEVE状态中移除。

试图发送足够多的SYN包而耗尽backlog是TCP SYN洪泛的目的。

攻击者在SYN包中加入源IP地址,这样就不会导致主机将已分配的传输控制块从SYN-RECEVIED状态队列中移除(因为主机将响应SYN-ACK)。

因为TCP是可靠的,目的主机在断开半开连接并在SYN-RECIEVED队列中移除传输控制块之前将等待相当长的时间。

在此期间,服务器将不能响应
其他应用程序合法的新TCP连接请求。

1.2 SYN攻击方式及应对方式详解
SYN攻击利用的是TCP的三次握手机制,攻击端利用伪造的IP地址向被攻击端发出请求,而被攻击端发出的响应报文将永远发送不到目的地,那么被攻击端在等待关闭这个连接的过程中消耗了资源,如果有成千上万的这种连接,主机资源将被耗尽,从而达到攻击的目的。

1.2.1 直接攻击
如果攻击者用他们自己的没有经过伪装的IP地址快速地发送SYN数据包,这就是所谓的直接攻击。

这种攻击非常容易实现,因为它并不涉及攻击者操作系统用户层以下的欺骗或修改数据包。

例如,攻击者简单地发送很多的TCP连接请求来实现这种攻击。

然而,这种攻击要想奏效攻击者还必须阻止他的系统响应SYN-ACK包,因为任何ACK、RST或ICMP(Internet Control Message Protocol)包都将让服务器跳过SYN-RECEIVED状态(进入下一个状态)而
移除传输控制块(因为连接已经建立成功或被回收了)。

攻击者可以通过设置防火墙规则来实现,让防火墙阻止一切要到达服务器的数据包(SYN除外),或者让防火墙阻止一切进来的包来使SYN-ACK包在到达本地TCP处理程序之前就被丢弃了。

一旦被检测到,这种攻击非常容易抵御,用一个简单的防火墙规则阻止带有攻击者IP地址的数据包就可以了。

这种方法在如今的防火墙软件中通常都是自动执行的。

1.2.2 欺骗式攻击
SYN洪泛攻击的另一种方式是IP地址欺骗。

它比直接攻击方式更复杂一点,攻击者还必须能够用有效的IP和TCP报文头去替换和重新生成原始IP报文。

如今,有很多代码库能够帮助攻击者替换和重新生成原始IP报文。

对于欺骗式攻击,首先需要考虑的就是选择地址。

要使攻击成功,位于伪装IP地址上的主机必须不能响应任何发送给它们的SYN-ACK包。

攻击者可以用的一个非常简单的方法,就是仅需伪装一个源IP地址,而这个IP地址将不能响应SYN-ACK包,或许因为这个IP地址上根本就没有主机,或许因为对主机的地址或网络属性进行了某些配置。

另一种选择是伪装许多源地址,攻击者会假想其中的一些伪装地址上的主机将不会响应SYN-ACK包。

要实现这种方法就需要循环使用服务器希望连接的源IP地址列表上的地址,或者对一个子网内主机做相同的修改。

如果一个源地址被重复地伪装,这个地址将很快被检测出来并被过滤掉。

在大多数情况下运用许多不同源地址伪装将使防御变得更加困难。

在这种情况下最好的防御方法就是尽可能地阻塞源地址相近的欺骗数据包。

假设攻击者是在一个“互联”的网络中(例如一个自治系统(Autonomous System)),由其ISP限制攻击者所在网络流量的输入输出过滤将能够制止这种欺骗攻击——如果这种方法能被机构部署到正确位置的话。

这种流量输入输出过滤的防御方式将限制一些合法的通信,比如移动IP三角路由运作模式,因此不可能被普遍部署。

IP安全协议(IPsec)同样也提供了一种抵御欺骗包的优秀方式,但是这协议因为部署限制还不能被使用。

由于对于服务器方通常不可能要求链接发起人的ISP去实施地址过滤或者要求其使用IP安全协议,因此抵御这种用多地址伪装的欺骗攻击还需要更加复杂的解决方案,将在后文讨论到。

1.2.3 分布式攻击
对于单个运用欺骗式攻击的攻击者真正的限制因素是如果这些伪装数据包能够以某种方式被回溯到其真正的地址,攻击者将被简单地击败。

尽管回溯过程需要一些时间和ISP之间的配合,但它并不是不可能的。

但是攻击者运用在网络中主机数量上的优势而发动的分布式SYN 洪泛攻击将更加难以被阻止。

如图3所示,这些主机群可以用直接攻击,也可以更进一步让每台主机都运用欺骗攻击。

如今,分布式攻击才是真正可怕的,因为攻击者可以拥有数以千计的主机供他来进行拒绝服务(DoS)攻击。

由于这些大量的主机能够不断地增加或减少,而且能够改变他们的IP地址和其连接,因此要阻止这类攻击目前还是一个挑战。

1.2.4 攻击的一些参数
SYN洪泛攻击能够比一般的仅仅是向目标网络发送大量数据包的蛮力DoS攻击用更少的数据包进行攻击。

但是这需要对服务器的操作系统有一定了解,比如它分配了多少的backlog 队列空间,在超时并丢弃传输控制块前它会将传输控制块在SYN-RECIEVED状态里保持多久。

例如,攻击者可以发送刚好是backlog队列大小的一定数量的SYN包,并且其周期刚好是传输控制块被回收的时间,这样就可以让服务器永远不可用。

最近的一些系统基本都是默认backlog大小为1024字节,但是网络上的很多服务器都将其配置为128字节或更少。

通常重传SYN-ACK的时间阈值时5秒,是通常成功接收时间的两倍,默认超时时间是3秒,在第一个SYN-ACK发出到其传输控制块被回收的时间是189秒。

2 总结
现在看来,一些SYN缓存技术的变体应该作为固化功能将其植入到服务器操作系统中去,而且这些变体可以适当的情况下结合其他解决方案(基于地址的过滤,ACK伪装防火
墙,IP安全协议等等)一起部署。

目前服务器的发展也正在致力于研究防御性更强的TCP协议,也希望这些补充协议能够早日部署。

参考文献:
[1] 李凯.基于统计特性的SYN Flood攻击防御方法研究[D].西南交通大学,2009.
[2] 罗新密.DDoS攻击防范策略研究[J].湖南商学院学报,2003(3).
[3] 李占新.分布式拒绝服务攻击原理和防治策略[J].电脑编程技巧与维护,2011(16).
[4] 濮青.DoS(拒绝服务)攻击技术及其防范[J].中国数据通信, 2002(8).。

相关文档
最新文档