Vulnerability-wiki

TCP 协议漏洞(Transmission Control Protocol Vulnerabilities)

协议工作原理

TCP(Transmission Control Protocol)是互联网中最重要的传输层协议之一,具有面向连接、可靠传输和流量控制等特性。其主要功能包括:

  1. 三次握手(Three-Way Handshake)
    • 客户端发送 SYN 报文请求连接。
    • 服务器回复 SYN-ACK 报文确认。
    • 客户端再发送 ACK,连接建立完成。
  2. 四次挥手(Four-Way Termination)
    • 主动关闭方发送 FIN,对方回复 ACK
    • 被动关闭方再发送 FIN,主动关闭方回复 ACK,连接断开。
  3. 可靠传输
    • 通过 序列号(Sequence Number)确认号(Acknowledgment Number) 实现有序数据传输。
    • 采用 超时重传(Retransmission)滑动窗口(Sliding Window) 机制保证可靠性。
  4. 流量与拥塞控制
    • 通过滑动窗口、慢启动、拥塞避免等算法防止网络过载。

常见漏洞类型

1. TCP SYN Flood 攻击

2. TCP RST 注入

3. TCP 会话劫持(Session Hijacking)

4. TCP 序列号预测攻击

5. TCP ACK Flood

6. TCP Slowloris 攻击


攻击方式


防御与缓解措施

  1. SYN Cookies
    • 在内核启用 SYN Cookies 机制,避免半连接队列耗尽。
  2. 入侵检测与防火墙(IDS/IPS)
    • 过滤异常 TCP 报文(如伪造源 IP 的 SYN)。
    • 使用 DPI 检测可疑流量。
  3. 随机化序列号
    • 现代操作系统采用随机数生成器生成初始序列号,防止预测。
  4. 限制半开连接数量
    • 操作系统配置 TCP backlog 队列大小和超时参数。
  5. BGP/TCP 安全
    • 在 BGP 等关键协议上启用 TCP MD5 Signature (RFC 2385)TCP-AO (RFC 5925),防止 RST 注入。
  6. 速率限制
    • 使用 Netfilter/iptables、ACL 等对异常流量进行限速。

参考资料