DDoS 攻防之 Syn Flood|学习笔记

简介: 快速学习 DDoS 攻防之 Syn Flood

开发者学堂课程【互联网安全- DDoS 攻防原理及实战DDoS 攻防之 Syn Flood】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/356/detail/4189


DDoS 攻防之 Syn Flood

内容介绍:

一、TCP/IP 协议介绍

二、SYN FLOOD 攻击方法

三、DDoS-TCP-攻击方式

四、防护思路(SYN COOKIE)

一、TCP/IP 协议介绍

1.Syn Flood 是DDos 中最古老最难防护的一类攻击,了解 Syn Flood 之前要了解 Syn Flood 所依赖的 TCP/IP 协议,TCP/IP 协议是一个协议族

2.模型介绍

(1)TCP 协议是面向连接、保证高可靠性(数据无丢失、数据无失序、数据无错误、数据无重复到达)传输层协议

(2)在日常的互联网中大量的服务均使用 TCP/IP 协议来进行通讯

(3)因特网浏览器和因特网服务器均采用 TCP/IP 来连接因特网。

(4)浏览器使用 TCP/IP 来访问因特网服务器,服务器使用 TCP/IP 向浏览器传回HTML。

3.TCP 的数据结构

image.png

(1)一行四个字节,从上往下,一开始有一个端口和目的端口各占两个字节,用端口来表示对应的不同的服务,平时最常用的 web 服务用得是 TCP 的80端口服务

(2)第二行四个字节是序列号,用来标识保序,标识本次报文的一个序号

(3)第三行是 ack,会对收到的报文进行嵌入的序列号的确认

(4)第四行,第一个是 offset 是偏移,后面有四个 bytes 的保留字段,在后面是TCP Flags 是 TCP 的标志位,用来标明本次报文的内容

主要对这六个标志问题介绍:

0x01  Fin 报文,表示会话关闭

0x02  Syn 报文,表示连接建立,Syn Flood 在这个连接上有效

0x04  Reset 报文,表示会话重置

0x08  push 报文,应该迅速将提交到应用层,而不是等缓冲区满以后再一并提交

0x10  Ack 报文 是第三排的 Acknowledgment number 劝阻字段

0x20  Urgent 报文,紧急字段 表明这是一个紧急标志

(5)第五行,checksum 校验和 对报文进行校验 接收端进行校验来保证数据的正确性;后面的 Urgent Pointer 是一个指针

(6)第六行开始是 TCP Options 可选字段,用来表明 TCP 的一些额外讯息

4.TCP 三次握手

image.png

(1)过程解析

左侧是客户端,右侧是服务端,首先由客户端发起请求,客户端发起一个 Syn 是建立连接的一个请求,发一个 TC P报文,然后 client 端进入 Syn 的状态,表明报文已发送。这是状态机的状态。Server 端收到报文以后会进入 SYN_RCVD 状态,然后向client 端回复 ACK 报文。

(2)序列号

lient 发送报文时会给序列号赋值,这里是X值,server 接收端会对序列号进行确认,也就是 ack=X+1。接收端本身也会有一个序列号这里为 Y。Client 收到回复报文以后进行校验,它知道 ack 报文是对它本身的报文回应以后,client 进入 ESTABLISHED状态,也就是连接已建立,随后会对 ack 报文再次进行确认,它的确认 ack 会等于server 端的 Y+1。在 server 最后收到 ack 报文以后,自身会进入 ESTABLISHED 状态。至此,client 端和 server 端建立了一次 TCP 会话。

二、SYN FLOOD 攻击方法

image.png

攻击者利用大量的肉鸡源向服务器发起大量的 SYN 包,服务器收到 SYN 包以后认为客户在向自己发起连接请求,然后发送 SYN+ACK。攻击者不再发报,服务器自身会在 SYN 状态等待第三次握手的 ACK 报文,当连接特别多的时候,服务器无法在接受新的 SYN 请求,这个情况下,客户再发送 SYN 请求。服务器不会在回复SYN+ACK,因为本身的连接已经满了。

三、DDoS-TCP-攻击方式

image.png

有伪造源 IP、肉鸡 IP、利用随机 IP 反射、TCP SEQ 猜测

对于 SYN FLOOD 它可以发起 SYN FLOOD 、ACK FLOOD 就是 TCP FLOOD SYN 置位,然后 RST FLOOD 等。在 TCP 协议上的诸多边中都可以发起进攻

示例:

image.png

当发起攻击请求以后,在服务端可以看到一个连接表,可以看到攻击者模拟8.8.8.8随机端口发起了大量的 SYN FLOOD,然后在80端口对其回应以后,攻击者没有任何的响应。服务端就会存在大量的 SYN 半连接队列,导致无法进一步连接服务。

image.png

这是一个真实的网络抓包,攻击源随机的发起了大量的 SYN 连接请求。


四、防护思路(SYN COOKIE)

image.png

1.业内有很多防护方案,介绍最通用的 SYN COOKIE

在 client 和 server 之间有一个防火墙,防火墙在客户端的请求发送以后代替 server回复一个 SYN 报文,客户端再次回 ack 报文进行 seq 校验。

只有真实的报文才会被认为为有效的请求,在中间做一次代理再向后面发送请求,代客户端和服务端建立连接以后,做一个 SYN COOKIE 代理校验,校验之后可以继续发包或者做一些请求,凡是可信的可以放行。这是整体的思路。

2.防御

防御都是模拟协议行为对访问表进行校验,当访问表不能够对正常协议做出响应时,认为它是攻击者。当然,随着攻击的发展,攻击者还会有更多的攻击方式来伪造自己,攻击和防护是互相隐逸的过程。

相关文章
|
数据采集 安全 网络协议
DDoS 攻防之 HTTP Flood|学习笔记
快速学习 DDoS 攻防之 HTTP Flood
1194 0
DDoS 攻防之 HTTP Flood|学习笔记
|
云安全 网络安全 vr&ar
2.08Tbps超大峰值流量,连续四年持续走高丨2022年阿里云DDoS攻防态势报告
2022年,是跌宕起伏的一年。 一方面,数字化经济的蓬勃发展:元宇宙、VR游戏、NFT等概念方兴未艾,线上消费、远程办公、数字化系统进一步发展。 另一方面,世界经济还在经历疫情带来的阵痛,全球黑产动作频频,阿里云在四层检测到了史上最大的流量攻击,攻击手段更加智能化、隐蔽化,单一的防护策略遭遇瓶颈。
222 0
|
缓存 网络协议 安全
DDoS 攻防之 DNS Flood |学习笔记
快速学习 DDoS 攻防之 DNS Flood
635 0
DDoS 攻防之 DNS Flood |学习笔记
|
SQL 网络协议 安全
DDoS 介绍和发展史|学习笔记
快速学习 DDoS 介绍和发展史
312 0
DDoS 介绍和发展史|学习笔记
|
安全 网络安全 开发者
为何初创企业也会被 DDos 攻击 | 学习笔记
快速学习 为何初创企业也会被 DDos 攻击
113 0
|
云安全 网络安全
峰值流量屡破新高丨2021年阿里云DDoS攻防态势报告发布
新型攻击手法频出,最大流量达到1.33Tbps
440 0
峰值流量屡破新高丨2021年阿里云DDoS攻防态势报告发布
|
2月前
|
网络协议 安全 网络安全
如何识别DDOS攻击模式?
【10月更文挑战第12天】如何识别DDOS攻击模式?
106 18
|
19天前
|
数据采集 边缘计算 安全
高防CDN防御ddos攻击的效果怎么样
如在线购物、支付及娱乐。然而,随着企业价值和知名度提升,它们可能遭受竞争对手或黑客的DDoS攻击,即通过大量僵尸网络使目标服务器过载,导致服务中断,造成经济损失和声誉损害。针对这一挑战,天下数据推出的高防CDN不仅具备传统CDN的加速功能,还能有效抵御DDoS攻击,保护企业网络安全。
39 0
|
2月前
|
监控 网络协议 网络安全
识别DDoS攻击
【10月更文挑战第12天】识别DDoS攻击
71 16