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

什么是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洪水攻 击。

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

相关文章:
TCP SYN Flood攻击的原理机制
TCP SYN Flood攻击原理机制_互联网_IT/计算机_专业资料。TCP SYN Flood 攻击...通常情况下,服务端 会按照 IP 报头中的来源地址来返回 SYN/ACK 置位的数据包...
SYN攻击实验_图文
? ? 运行 syn 攻击程序,对目标主机发送 syn 数据包 查看主机状态 理解 syn 攻击原理 实验环境:虚拟机: Windows 2003 ,xdos, Wireshark 抓包软件 实验过程指导:...
SYN攻击实验doc
运行 syn 攻击程序,对目标主机发送 syn 数据包 ? 查看主机状态 ? 理解 syn 攻击原理 实验过程: 启动虚拟机,并设置虚拟机的 IP 地址,以虚拟机为目标主机进行攻...
SYN-COOKIE原理与抓包
SYN-COOKIE原理与抓包_信息与通信_工程科技_专业资料。SYN-COOKIE原理SYN...什么是SYN包与SYN攻击原... 3页 免费 路由器中SYN Cookie技术... 4页 免费...
syn_ack攻击
syn/ack 攻击 TCP 握手协议 SYN 攻击原理 SYN 攻击工具 检测 SYN 攻击 SYN ...第一次握手:建立连接时,客户端发送 syn 包(syn=j)到服务器,并进入 SYN_...
SYN Flood攻击的基本原理及防御
SYN Flood 攻击的基本原理及防御创建时间:2001-06-28 文章属性:转载 文章来源:http://shotgun.patching.net/syn.htm 文章提交:xundi (xundi_at_xfocus.org) ...
SYN flood攻击的原理及其防御
文章出处:中国安全网 发布时间:2006-10-11 网址:http://www.securitycn.net 摘要 介绍了 SYN Flood 攻击的基本原理,详细地描述了目前几种比较有效的两种防御...
SYN Flood攻击实验
SYN Flood 攻击原理 熟悉 SYN Flood 攻击方法 熟悉抵御 SYN Flood 攻击的方法 ...syn 攻击程序,以本地主机为目标主机对其发送 syn 数据包 查看目标主机状态 【...
SYN泛洪攻击,基于TCP协议的攻击
SYN 泛洪攻击 SYN Flood 攻击的基本原理及防御 SYN...SYN 半连接数,这个值=SYN 攻击的频度 x SYN ...就认定是受到了攻击,以后从这个 IP 地址来的包会...
syn flood 原理及防护
即对 SYN 包进行 监视, 如果发现某个 IP 发起了较多的攻击报文, 直接将这个...SYN 攻击原理以及防范技... 10页 免费 SYN攻击原理以及防范技术... 8页 免费...
更多相关标签: