当前位置:首页 >> 能源/化工 >>

什么是SYN包与SYN攻击原理


蝉噪林逾静,鸟鸣山更幽。桃李不言,下自成蹊。不愤不启,不悱不发。曾经沧海难为水,除却巫山不是云。明月别枝惊鹊,清风半夜鸣蝉。
什么是SYN包?SYN包是什么意思?

TCP连接的第一个包,非常小的一种数据包。SYN攻击包括大量此类的包,由于这些包看上去来自实际不存在的站点,因此无法有效进行处理。
当两台计算机在TCP连接上进行会话

时,连接一定会首先被初始化。完成这项任务的包叫作SYN。一个SYN包简单的表明另一台计算机已经做好了会话的准备。只有发出服务请求的计算机才发送SYN包。所以如果你仅拒绝进来的SYN包,它将终止其它计算机打开你计算机上的服务,但是不会终止你使用其它计算机上的服务,如果它没有拒绝你发送的SYN包的话。

SYN攻击
最近对SYN Flood特别感兴趣,看到一个关于SYN cookie firewall的文章,在google搜了一下,没中文的,翻译他一下
本文介绍了4个概念

一:介绍SYN
二:什么是SYN洪水攻击
三:什么是SYN cookie
四:什么是SYN cookie防火墙

C=client(客户器)
S=Server(服务器)
FW=Firewall(防火墙)

一:介绍SYN
SYN cookie是一个防止SYN洪水攻击技术。他由D. J. Bernstein和Eric Schenk发明。现在SYN
COOKIE已经是linux内核的一部分了(我插一句 ,默认的stat是no),但是在linux系统的执行过程中它只保护linux系统。我们这里只是说创建一个linux防火墙,他可以为整个网络和所有的网

络操作系统提供SYN COOKIE保护你可以用这个防火墙来阻断半开放式tcp连接,所以这个受保护的系统不会进入半开放状态(TCP_SYN_RECV)。当 连接完全建立的时候,客户机到服务器的连接要通过防火墙来中转完成。

二:什么是SYN洪水攻击?(来自CERT的警告)
当一个系统(我们叫他客户端)尝试和一个提供了服务的系统(服务器)建立TCP连接,C和服务端会交换一系列报文。
这种连接技术广泛的应用在各种TCP连接中,例如telnet,Web,email,等等。
首先是C发送一个SYN报文给服务端,然后这个服务端发送一个SYN-ACK包以回应C,接着,C就返回一个ACK包来实现一次完

整的TCP连接。就这样,C到服务端的连接就建立了,这时C和服务端就可以互相交换数据了。下面是上文的图片说明:)
Client Server
------ ------
SYN-------------------->

<--------------------SYN-ACK

ACK-------------------->

Client and server can now
send service-specific data

在S返回一个确认的SYN-ACK包的时候有个潜在的弊端,他可能不会接到C回应的ACK包。这个也就是所谓的半开放连接,S需要

耗费一定的数量的系统内存来等待这个未决的连接,虽然这个数量是受限的,但是恶意者可以通过创建很多的半开放式连接来发动SYN洪水攻击 。
通过ip欺骗可以很容易的实现半开放连接。攻击者发送SYN包给受害者系统,这个看起来是合法的,但事实上所谓的C根本不会回应这个 。
SYN-ACK报文,这意味着受害者将永远不会接到ACK报文。
而此时,半开放连接将最终耗用受害者所有的系统资源,受害者将不能再接收任何其他的请求。通常等待ACK返回包有超时限制,所以半开放 。

连接将最终超时,而受害者系统也会自动修复。虽然这样,但是在受害者系统修复之前,攻击者可以很容易的一直发送虚假的SYN请求包来持续 攻击。 在大多数情况下,受害者几乎不能接受任何其他的请求,但是这种攻击不会影响到已经存在的进站或者是出站连接。虽然这样,受害者系统 还是可能耗尽系统资源,以导致其他种种问题。
攻击系统的位置几乎是不可确认的,因为SYN包中的源地址多数都是虚假的。当SYN包到达受害者系统的时候,没有办法找到他的真实地址 ,因为在基于源地址的数据包传输中,源ip过滤是唯一可以验证数据包源的方法。

三:什么是SYN cookie?
SYN cookie就是用一个cookie来响应TCP SYN请求的TCP实现,根据上面的描述,在正常的TCP实现中,当S接收到一个SYN数据包,他返回 一个SYN-ACK包来应答,然后进入TCP-SYN-RECV(半开放连接)状态来等待最后返回的ACK包。S用一个数据空间来描述所有未决的连接, 然而这个数据空间的大小是有限的,所以攻击者将塞满这个空间。 在TCP SYN COOKIE的执行过程中,当S接收到一个SYN包的时候,他返回一个SYN-ACK包,这个数据包的ACK序列号是经过加密的,也就 是说,它由源地址,端口源次序,目标地址,目标端口和一个加密种子计算得出。然后S释放所有的状态。如果一个ACK包从C返回, S将重新计算它来判断它是不是上个SYN-ACK的返回包。如果这样,S就可以直接进入TCP连接状态并打开连接。这样,S就可以 避免守侯半开放连接了。
以上只是SYN COOKIE的基本思路,它在应用过程中仍然有许多技巧。请在前几年的kernel邮件列表查看archive of discussions的相关详细 内容。

四,什么是SYN COOKIE 防火墙
SYN COOKIE 防火墙是SYN cookie的一个扩展,SYN cookie是建立在TCP堆栈上的,他为linux操作系统提供保护。SYN
cookie防火墙是linux的

一大特色,你可以使用一个防火墙来保护你的网络以避免遭受SYN洪水攻击。
下面是SYN cookie防火墙的原理
client firewall server
------ ---------- ------
1. SYN----------- - - - - - - - - - ->
2. <------------SYN-ACK(cookie)
3. ACK----------- - - - - - - - - - ->
4. - - - - - - -SYN--------------->
5. <- - - - - - - - - ------------SYN-ACK
6. - - - - - - -ACK--------------->

7. -----------> relay the ------->
<----------- connection <-------
1:一个SYN包从C发送到S
2:防火墙在这里扮演了S的角色来回应一个带SYN cookie的SYN-ACK包给C
3:C发送ACK包,接着防火墙和C的连接就建立了。
4:防火墙这个时候扮演C的角色发送一个SYN给S
5:S返回一个SYN给C
6:防火墙扮演C发送一个ACK确认包给S,这个时候防火墙和S的连接也就建立了
7:防火墙转发C和S间的数据
如果系统遭受SYN Flood,那么第三步就不会有,而且无论在防火墙还是S都不会收到相应在第一步的SYN包,所以我们就击退了这次SYN洪水攻 击。

朱门酒肉臭,路有冻死骨。常将冷眼看螃蟹,看你横行到几时。古人学问无遗力,少壮功夫老始成。两岸猿声啼不住,轻舟已过万重山。

相关文章:
攻击基础
重传请求包的最长等待时间总和 有时我们也称半连接存活时间为 Timeout 时间、SYN_RECV 存活时 SYN_RECV 间。 SYN 攻击原理 从 上图可看到,服务器接收到连接请求...
常见网络攻击原理
网络攻击的危害网络攻击的危害隐藏>> 常见网络攻击原理 1.1 TCP SYN 拒绝服务攻击 一般情况下,一个 TCP 连接的建立需要经过三次握手的过程,即: 1、 建立发起者...
泛洪攻击原理
泛洪攻击原理_IT/计算机_专业资料。网络安全 泛洪攻击利用的是 TCP 的三次...SYN 洪泛攻击通过故意不完成三次握手过程,造成连接一方的资源耗尽.如图,攻击者...
SYN洪泛攻击的原理、预防和排除
SYN 洪泛攻击类别 直接攻击:如果攻击者用他们自己的没有经过伪装的 IP 地址快速地发送 SYN 数据包, 这 就是所谓的直接攻击。 这种攻击非常容易实现, 因为它并...
SYN Flood攻击的基本原理及防御
SYN Flood 攻击的效果 取决于服务器上保持的 SYN 半连接数,这个值=SYN 攻击...SYN Flooder 程序可以以 16,000 包/秒的速度发送 TCP SYN 报文,这样的攻击力...
SYN flood攻击的原理及其防御
文章出处:中国安全网 发布时间:2006-10-11 网址:http://www.securitycn.net 摘要 介绍了 SYN Flood 攻击的基本原理,详细地描述了目前几种比较有效的两种防御...
简答题(答案)
7、缓冲区溢出攻击原理是什么? 缓冲区是内存中存放数据的地方。在程序试图将...2.路由器 设置 SYN 数据包流量速率 升级版本过低的 ISO 为路由器建立 log ...
SYN Flood攻击介绍
如图1所示: 1.2 攻击原理 在 SYN Flood 攻击中,黑客机器向受害主机发送大量...u: m) r' I9 |* x 1)监听到 SYN 包,如果源地址是第一次出现,则置该...
syn flood 原理及防护
即对 SYN 包进行 监视, 如果发现某个 IP 发起了较多的攻击报文, 直接将这个...SYN 攻击原理以及防范技... 10页 免费 SYN攻击原理以及防范技术... 8页 免费...
SYN攻击实验doc
运行 syn 攻击程序,对目标主机发送 syn 数据包 ? 查看主机状态 ? 理解 syn 攻击原理 实验过程: 启动虚拟机,并设置虚拟机的 IP 地址,以虚拟机为目标主机进行攻...
更多相关标签:
syn攻击原理 | syn flood攻击原理 | syn flooding攻击原理 | syn flood攻击原理图 | syn flood攻击 | syn攻击 | syn攻击工具 | syn flood攻击工具 |