华为OD技术面真题 - 计算机网络相关 - 4

文章目录

  • [简单介绍一下SYN Flood](#简单介绍一下SYN Flood)
  • [SYN Flood的常见形式](#SYN Flood的常见形式)
  • [如何缓解SYN FLood](#如何缓解SYN FLood)
  • [介绍一下UDP Flood](#介绍一下UDP Flood)
  • [如何缓解UDP Flood](#如何缓解UDP Flood)
  • 简单说说中间人攻击

简单介绍一下SYN Flood

SYN Flood 是互联网上最原始、最经典的 DDoS(Distributed Denial of Service,分布式拒绝服务)攻击之一,旨在耗尽可用服务器资源,致使服务器无法传输合法流量。SYN Flood 本质利用了 TCP 协议的三次握手机制,攻击者通常利用工具或者控制僵尸主机向服务器发送海量的变源 IP 地址或变源端口的 TCP SYN 报文,服务器响应了这些报文后就会生成大量的半连接,当系统资源被耗尽后,服务器将无法提供正常的服务。

SYN Flood的原理

客户端首先发送SYN给服务器端,要求 服务器端做好接收数据的准备;服务器端收到后反馈 SYN-ACK(Synchronization-Acknowledgement) 消息给 客户端,这个消息的目的有两个:

  • 向 客户端 确认已做好接收数据的准备,
  • 同时要求 客户端 也做好接收数据的准备,此时 服务器端 已向 A 确认好接收状态,并等待 A 的确认,连接处于半开状态(Half-Open) ,顾名思义只开了一半;客户端 收到后再次发送 ACK (Acknowledgement) 消息给 服务器端,向 服务器端 确认也做好了接收数据的准备,至此三次握手完成,「连接」就建立了。

服务器端在反馈SYN-ACK之后,此时进入半开状态,服务器端不确定发给客户端的SYN-ACK消息或者客户端反馈的ACK消息是否会丢在半路,所以会给每个待完成的半开连接都设一个Timer ,如果超过时间还没有收到 客户端 的 ACK 消息,则重新发送一次 SYN-ACK 消息给 客户端,直到重试超过一定次数时才会放弃。服务器端维持半开连接会需要分配内核资源,攻击方就是利用大量肉鸡向服务器端发送SYN消息,但不回复ACK,导致内核资源被完全消耗/超过最大限制,从而导致无法建立正常的连接请求。

SYN Flood的常见形式

  • 直接攻击: 不伪造 IP 地址的 SYN 洪水攻击称为直接攻击。在此类攻击中,攻击者完全不屏蔽其 IP 地址。由于攻击者使用具有真实 IP 地址的单一源设备发起攻击,因此很容易发现并清理攻击者。
  • 欺骗攻击: 恶意用户还可以伪造其发送的各个 SYN 数据包的 IP 地址,以便阻止缓解措施并加大身份暴露难度。虽然数据包可能经过伪装,但还是可以通过这些数据包追根溯源。
  • 分布式攻击:如果使用僵尸网络发起攻击,则追溯攻击源头的可能性很低。随着混淆级别的攀升,攻击者可能还会命令每台分布式设备伪造其发送数据包的 IP 地址。

如何缓解SYN FLood

  • 拓展积压队列:每个操作系统都允许具有一定数量的半开连接。若要响应大量 SYN 数据包,一种方法是增加操作系统允许的最大半开连接数目。延迟出现拒绝服务情况的时机
  • 回收最先创建的TCP半开连接:当达到操作系统设置的半开连接数量时,回收/销毁最先创建TCP半开连接,以用来处理最新的TCP连接。海量的攻击,这种方式也不太奏效
  • SYN COOKIE: 服务器 不立即分配资源,把连接信息编码进 SYN-ACK 的序列号里,只有当客户端回 ACK 时,才真正建连接.

介绍一下UDP Flood

UDP Flood 也是一种拒绝服务攻击,将大量的用户数据报协议(UDP )数据包发送到目标服务器,目的是压倒该设备的处理和响应能力。原理:UDP Flood 主要通过利用服务器响应发送到其中一个端口的 UDP 数据包所采取的步骤。在正常情况下,当服务器在特定端口接收到 UDP 数据包时,会经过两个步骤:

  • 服务器首先检查是否正在运行正在侦听指定端口的请求的程序。
  • 如果没有程序在该端口接收数据包,则服务器使用 ICMP(ping)数据包进行响应,以通知发送方目的地不可达。

UDP FLOOD就是利用上面步骤的原理,同时发送大量的UDP数据包(随机端口),服务器没有对应程序就需要反馈ICMP报文,从而导致服务器资源(带宽、CPU等)被耗尽,无法处理正常的UDP报文。

如何缓解UDP Flood

  • 限制UDP服务,不需要使用的端口一定要关。未开端口报文防火墙直接丢弃。
  • 通过防火墙限制UDP接收报文的速率。
  • 限制了 ICMP 报文的响应速率,以中断需要 ICMP 响应的 DDoS攻击。

简单说说中间人攻击

中间人攻击是指攻击者悄悄插入通信双方之间,在双方都"以为在直接通信"的情况下:

  • 窃听通信内容

  • 篡改数据

  • 冒充通信一方

    客户端 <------> 攻击者(中间人) <------> 服务器

常见中间人攻击方式:

  • ARP欺骗:发生区域网中。由于ARP 协议没有认证机制,攻击者伪造 ARP 响应告诉受害者网关 IP 是我的 MAC, 导致受害者所有流量先经过攻击者,从而达成中间人攻击。
  • DNS劫持/欺骗:篡改 DNS 响应,把域名解析到攻击者控制的 IP。从而让受害者访问到假网站
  • HTTP中间人:通过安装恶意根证书,欺骗用户忽略证书警告等手段,直接获取到受害者明文 HTTPS 内容。
相关推荐
以太浮标12 小时前
华为eNSP模拟器综合实验之- VLAN终结实践案例分析
网络·计算机网络·华为·智能路由器
静心观复18 小时前
内存带宽的计算方法
计算机网络
想七想八不如1140820 小时前
2019机试真题
java·华为od·华为
小李独爱秋1 天前
计算机网络经典问题透视:无线局域网的物理层主要有哪几种?
服务器·网络·物联网·计算机网络·信息与通信
BHXDML1 天前
计算机网络实验:(五)路由协议的配置
网络·计算机网络·智能路由器
CS创新实验室1 天前
《计算机网络》深入学:自治系统 (Autonomous System)
网络·计算机网络
小李独爱秋1 天前
计算机网络经典问题透视:无线局域网名词中DCF和PCF的含义是什么?
网络协议·计算机网络·网络安全·信息与通信·dcf·pcf
Python+JAVA+大数据2 天前
TCP_IP协议栈深度解析
java·网络·python·网络协议·tcp/ip·计算机网络·三次握手