TCP连接管理相关的攻击
SYN泛洪攻击
SYN泛洪是一种TCP拒绝服务攻击,在这种攻击中一个或多个恶意的客户端产生一系 列TCP连接尝试(SYN报文段),并将它们发送给一台服务器,它们通常采用“伪造”的 (例如,随机选择)源IP地址。服务器会为每一条连接分配一定数量的连接资源。由于连接 尚未完全建立,服务器为了维护大量的半打开连接会在耗尽自身内存后拒绝为后续的合法连 接请求服务。
解决方法
回收最旧的半开TCP连接
在填充积压后覆盖最旧的半开连接。这种策略要求合法连接可以在比积压可以填充恶意SYN数据包的时间更短的时间内完全建立。当攻击量增加时,或者如果积压大小太小而不实用,则此特定防御失败。
SYN Cookie
SYN Cookie
是对 TCP
服务器端的三次握手做一些修改,专门用来防范 SYN Flood
攻击的一种手段。它的原理是,在 TCP
服务器接收到 TCP SYN
包并返回 TCP SYN+ACK
包时,不分配一个专门的数据区,而是根据这个 SYN
包计算出一个 cookie
值。这个 cookie
作为将要返回的 SYN ACK
包的初始序列号。当客户端返回一个 ACK
包时,根据包头信息计算 cookie
,与返回的确认序列号(初始序列号 + 1)进行对比,如果相同,则是一个正常连接,然后,分配资源,建立连接。
实现的关键在于cookie的计算,cookie的计算应该包含本次连接的状态信息,使攻击者不能伪造。
影响路径最大传输单元
在这种攻击中,攻击者伪造一个 ICMP PTB 消息(需要进行分片但设置了不分片位)。该消息包含了一个非常小的 MTU 值(例如,68字节)。这样就迫使受害的 TCP 尝试采用非常小的数据包来填充数据,从而大大降低了它的性能。
解决方法
最强力的攻击方法是简单地禁用主机的路径最大传输单元发现功能。当接收到的 ICMP PTB 消息的下一跳最大传输单元小于 576字节时,其他选项会禁用路径最大传输单元发现功能。Linux 的一个系统的选项,例如:ifconfig ppp0 mtu 288。该选项会保持最小的数据包大小(为了 TCP 的大数据包)。如果该选项被固定为某一数值,那么较大的数据包则不能将 IPv4 的 DF 位置位。这种方法虽然比完全禁用路径最大传输单元发现功能更具攻击性。
破坏现有的TCP连接
另一种类型的攻击涉及破坏现有的 TCP 连接,甚至可能将其劫持。这一类攻击通常包含的第一步是使两个之前正在通信的 TCP 节点 "失去同步" 。这样它们将使用不正确的序列号。至少有两种方法能实现上述攻击:在连接建立过程中引发不正确的状态传输,在 ESTABLISHED 状态下产生额外的数据。一旦两端不能再进行通信(但却认为它们间拥有一个打开的连接),攻击者就能够在连接中注入新的流量,而且这些注入的流量会被 TCP 认为是正确的。
欺骗攻击
这类攻击所涉及的 TCP 报文段是由攻击者精心定制的,目的在于破坏或改变现有 TCP 连接的行为。攻击者可以生成一个伪造的重置报文段并将其发送给一个 TCP 通信节点。假定与连接相关的 4 元组以及校验和都是正确的,序列号也处在正确的范围。这样就会造成连接的任意一端失败。
解决方法
认证每一个报文段(例如,使用 TCP-AO 选项) ;要求重置报文段拥有一个特殊的序列号以代替处于某一范围的序列号;要求时间戳选项具有特定的数值;使用其他形式的 cookie 文件,让非关键的数据依赖于更加准确的连接信息或一个秘密数值。
TCP连接管理相关的攻击相关推荐
- 网络安全:与 TCP 连接管理相关的网络攻击
目录 攻击方法1:SYN 泛洪 攻击方法2:影响路径最大传输单元 攻击方法3:破坏现有的TCP连接 攻击方法4:欺骗攻击 攻击方法1:SYN 泛洪 SYN 泛洪是一种 TCP 拒绝服务攻击,在这种攻击 ...
- 【计算机网络】传输层 : TCP 连接管理 ( TCP 连接建立 | 三次握手 | TCP 连接释放 | 四次挥手 )
文章目录 一.TCP 连接管理 二.TCP 连接建立 三.TCP 连接建立 相关报文段 字段 四.SYN 洪泛攻击 五.TCP 连接释放 一.TCP 连接管理 TCP 传输数据过程 : 建立连接 -& ...
- 计算机网络之传输层:4、TCP连接管理
传输层:4.TCP连接管理 TCP连接建立: 三次握手: SYN洪泛攻击: TCP连接释放: 四次握手: TCP连接建立: 三次握手: ROUND 1:建立连接请求,SYN=1 : 客户对服务器第一次 ...
- 5.3.2 TCP连接管理
5.3.2 TCP连接管理
- linux网络编程-----TCP连接及相关问题
c/s模型在建立连接时的流程如下 //服务器端 int sockfd = socket(AF_INET, SOCK_STREAM, 0);struct sockaddr_in servaddr; bz ...
- 网络——TCP连接管理
TCP连接管理 一.TCP连接建立 二.TCP的连接释放 真题嗅探 一.TCP连接建立 TCP是面向连接的协议,它基于运输连接来传送TCP报文段. TCP运输连接的建立和释放是每一次面向连接的通信中必 ...
- TCP协议-TCP连接管理
一.TCP概述 TCP协议是 TCP/IP 协议族中一个非常重要的协议.它是一种面向连接.提供可靠服务.面向字节流的传输层通信协议. TCP(Transmission Control Protocol ...
- TCP/IP 笔记 - TCP连接管理
TCP是一种面向连接的单播协议,在发送数据之前,通信双方必须在彼此建立一条连接:这与UDP的无连接不同,UDP无需通信双方发送数据之前建立连接.所有TCP需要处理多种TCP状态时需要面对的问题,比如连 ...
- TCP连接管理【三次握手-四次挥手】
https://www.bilibili.com/video/BV19E411D78Q?p=64 通俗易懂的TCP里面的三次握手以及四次挥手 TCP连接传输三个阶段: TCP连接的建立采用客户服务器方 ...
最新文章
- 解释大型网站js,css文件后面为什么有参数?
- Halcon例程(基于3D形状匹配识别方法)详解 —— create_shape_model_3d_lowest_model_level.hdev
- 绿色背景配什么颜色文字_灰色裤子配什么颜色上衣好看
- 位、字,字节与KB的关系
- ES 11 - 配置Elasticsearch的映射 (mapping)
- android如何开发ui服务,Android UI-对Activity工作流程的理解(一)
- Echarts3地图可视化教程
- C语言编程题——杨辉三角
- 知网中的硕博论文是caj格式,如何用CAJ转PDF?
- Hvdc-vsc. 基于vsc的柔性直流输电模型 pscad实现
- JetBrain学生认证续费步骤
- 广东英语高考怎么计算机,2019广东高考英语听说考试大纲出炉!附三大题型得分套路!...
- 【IT女神勋章挑战赛名单公布】:看看谁获奖啦!
- 孢子社群:今日推荐ARVR微信群:游乐VR智能
- PHPCMSV9 企业黄页 黄页企业模板添加方法
- 极性表面积与非极性表面积
- C语言实现状态机(二)
- 汪升华c语言答案,2019年书名C语言程序设计教程.doc
- Primavera P6或项目管理站点/论坛地址,交流群组
- spring+springMVC+mybatis 上篇