0Pricing
Security+ Academy · 课时

常见网络攻击:DoS、欺骗与 MITM

识别拒绝服务、IP/ARP 欺骗和中间人攻击,并了解用于检测或防御这些攻击的网络控制措施。

常见网络攻击:DoS、欺骗与 MITM 是 CoddyKit 上的免费 Security+ Academy 课时。 这是第 4 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Security+ Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Security+ Academy 课程共包含 4 节课。

拒绝服务攻击基础

拒绝服务(DoS)攻击旨在通过流量压垮系统、服务或网络,或者利用会导致系统崩溃的漏洞,使其无法供合法用户使用。DoS 攻击针对 CIA 三元组中的可用性。单一来源的 DoS 相对容易阻止,只需限制源 IP 的速率即可;但是,许多现代攻击会同时使用多个来源,因此缓解起来困难得多。

分布式拒绝服务(DDoS)

DDoS 攻击利用数千或数百万台遭到入侵的设备(即僵尸网络),同时从许多不同的源地址向目标发起流量洪泛,因此无法实际通过源 IP 进行阻止。DDoS 攻击可分为流量型(耗尽带宽,例如 UDP 洪泛)、协议型(耗尽有状态资源,例如 SYN 洪泛)或应用层(通过看似有效的 HTTP 请求耗尽服务器容量,例如 Slowloris)。Cloudflare、Akamai 和 AWS Shield 等缓解服务会在流量到达源站之前吸收流量型攻击。

# Types of DDoS attacks:
# Volumetric:  UDP flood, ICMP flood, DNS amplification
# Protocol:    SYN flood, Ping of Death, Smurf attack
# Application: HTTP flood, Slowloris, R.U.D.Y

# SYN flood defense: SYN cookies
# sysctl -w net.ipv4.tcp_syncookies=1

放大与反射攻击

放大攻击利用能够产生远大于初始请求的响应的协议。DNS 放大利用一个很小的 UDP 查询生成最多大 70 倍的响应,并将所有响应指向受害者。NTP monlist 放大的放大倍数可达到 4,000 倍。攻击者将受害者的 IP 欺骗为源地址,使数千个反射器将大响应发送给受害者——这也是它被称为反射攻击的原因。缓解措施包括 BCP38(ISP 级别的源地址验证)和禁用放大服务。

# DNS amplification example:
# Attacker sends 40-byte query for 'ANY example.com'
# Spoofed source: victim's IP (1.2.3.4)
# Open DNS resolver replies with 3000-byte response to victim
# With 1000 reflectors: 40KB request -> 3GB response to victim

# Disable NTP monlist (amplification mitigation):
# ntpdc -c 'disable monitor'

IP 欺骗

IP 欺骗是指构造带有伪造源 IP 地址的数据包。欺骗可用于 DoS/DDoS 反射攻击、绕过基于 IP 的访问控制列表,以及隐藏攻击者的真实位置。要发送欺骗数据包,需要具备原始套接字权限。防御措施包括入口过滤(BCP38),它要求 ISP 和路由器丢弃从某个接口进入、且其源 IP 不可能合法来自该网络的数据包。有状态防火墙也能提供帮助,方法是拒绝与已建立会话不匹配的非请求入站数据包。

# BCP38 ingress filtering on a router:
# If a packet arrives on the Internet-facing interface
# with a source IP from the internal RFC1918 range,
# it is clearly spoofed and should be dropped.

ip access-list extended ANTI-SPOOF
  deny ip 10.0.0.0 0.255.255.255 any
  deny ip 172.16.0.0 0.15.255.255 any
  deny ip 192.168.0.0 0.0.255.255 any
  permit ip any any

ARP 欺骗(ARP 中毒)

ARP 欺骗(也称为 ARP 中毒)会发送未经请求的 ARP 响应,将攻击者的 MAC 地址与合法 IP 地址关联起来。接收到虚假 ARP 更新的主机会更新其 ARP 缓存,并将发往该 IP 的流量发送到攻击者的 MAC 地址。这使攻击者能够在本地分段上发动中间人攻击。Arpspoof、Ettercap 和 Bettercap 等工具可以自动执行此类攻击。防御措施包括在受管交换机上启用动态 ARP 检查(DAI),根据受信任的 DHCP 侦听绑定表验证 ARP 数据包。

# Attack: ARP spoof (attacker poisons victim and gateway)
# arpspoof -i eth0 -t 192.168.1.10 192.168.1.1

# Defense: Dynamic ARP Inspection on a Cisco switch
ip arp inspection vlan 10
ip dhcp snooping vlan 10

# Verify DAI:
show ip arp inspection vlan 10

中间人(MitM)攻击

当攻击者秘密转发并可能篡改双方之间的通信,而双方都以为是在直接通信时,就发生了中间人(MitM)攻击。攻击者可以通过 ARP 欺骗、DNS 欺骗、恶意 Wi-Fi 接入点或 BGP 路由劫持实现中间人攻击。一旦处于通信双方之间,攻击者就可以窃听、注入内容、剥离加密(SSL 剥离)或重放凭据。关键防御措施是双向身份验证和加密——带有有效证书的 TLS 可以防止大多数 MitM 攻击,因为客户端能够验证服务器的身份。

# SSL stripping attack flow:
# 1. Victim requests http://bank.com
# 2. Attacker intercepts, upgrades to HTTPS with bank.com
# 3. Attacker maintains HTTP connection with victim
# 4. Victim sees HTTP; attacker sees plaintext credentials

# Defense: HTTP Strict Transport Security (HSTS)
# Strict-Transport-Security: max-age=31536000; includeSubDomains

DNS 欺骗与缓存中毒

DNS 缓存中毒会将恶意 DNS 记录注入解析器的缓存,使合法域名解析到由攻击者控制的 IP 地址。经典的 Kaminsky 攻击(2008 年)利用可预测的事务 ID,大规模污染解析器。当用户所使用的解析器中毒后,用户会被重定向到虚假网站,这些网站可能窃取凭据或传播恶意软件。DNSSEC(DNS 安全扩展)会对 DNS 记录进行数字签名,使解析器能够验证其真实性;基于 HTTPS 的 DNS(DoH)则可以防止查询在传输路径上被拦截。

# Check if a domain has DNSSEC enabled:
dig +dnssec example.com

# Valid DNSSEC response includes RRSIG records
# If DNSSEC is enabled and signatures are invalid,
# a validating resolver will return SERVFAIL (rejects poisoned records)

路径上与路径外的攻击者

路径上(路径内)攻击者处于能够查看和修改传输中流量的网络位置,也就是说,他们在两个通信端点之间,可能是处于物理位置上,也可能是处于逻辑位置上。ARP 欺骗会在本地分段上建立路径上位置。路径外攻击者无法看到流量,但可能尝试盲攻击,例如注入伪造的 TCP RST 数据包,利用猜测的序列号拆除连接。TLS 可以缓解这两种情况,因为即使流量被拦截,没有私钥也无法解密或伪造流量。

BGP 劫持

BGP(边界网关协议)劫持发生在恶意或配置错误的自治系统公布更具体的 IP 前缀,以吸引原本发往其他组织的流量时。这可能会将全球互联网范围内的流量重定向到攻击者的网络。BGP 劫持曾被用于拦截加密货币交易、窃取电子邮件以及重定向银行流量。防御措施包括RPKI(资源公钥基础设施),它可以通过密码学验证路由来源授权;此外,还应监控 BGP 公告是否发生意外变化。

SYN 洪泛攻击与防御

SYN 洪泛利用 TCP 三次握手机制,发送大量带有伪造源 IP 的 SYN 数据包,导致服务器为半开放连接分配状态,并等待永远不会到达的 ACK。服务器的连接表会被填满,因而无法接受新的合法连接。防御措施包括SYN cookie(服务器将状态编码到 SYN-ACK 的序列号中,只有收到 ACK 后才分配资源)、缩短 SYN 超时时间,以及限制每个源地址发送 SYN 数据包的速率。

# Enable SYN cookies on Linux:
sysctl -w net.ipv4.tcp_syncookies=1

# Reduce SYN-RECEIVED timeout:
sysctl -w net.ipv4.tcp_synack_retries=2

# Rate-limit SYN packets with iptables:
iptables -A INPUT -p tcp --syn -m limit --limit 10/s -j ACCEPT
iptables -A INPUT -p tcp --syn -j DROP

检测和响应网络攻击

检测 DoS、欺骗和 MitM attacks 需要在多个位置获得可见性。NetFlow/IPFIX 数据可以揭示来自许多来源的流量突然激增。SIEM 关联规则可以针对异常的 ARP 活动(一个 MAC 声称拥有多个 IP)或 TTL 异常短的可疑 DNS 响应发出警报。IDS/IPS 特征可以检测 SYN 洪泛和 ARP 欺骗工具。响应措施包括在边缘路由器上限制速率、启用 DDoS 清洗服务、隔离受影响的网段,以及重新启用动态 ARP 检查或刷新遭到投毒的缓存。

# Detect ARP poisoning:
arp -n | awk '{print $3}' | sort | uniq -d
# Duplicate MACs for different IPs = possible ARP spoofing

# Monitor for SYN flood:
netstat -n | awk '/SYN_RECV/ {count++} END {print count}'

# Check NetFlow for DDoS:
# Look for high packet-per-second rates from diverse source IPs

快速检查

测试您对本课 CompTIA Security+ (SY0-701) 概念的理解。

课程回顾

在本课中,您学习了:DDoS attacks 使用僵尸网络从多个来源压垮目标,并分为容量型、协议型和应用层;ARP 欺骗会毒化本地网络缓存,从而实现 MitM attacks,可通过动态 ARP 检查加以缓解;SYN 洪泛会耗尽服务器的连接状态,可通过 SYN cookies 和速率限制进行防御。接下来,我们将探索从 WEP 到 WPA3 的 Wi-Fi 安全协议。

常见问题解答

「常见网络攻击:DoS、欺骗与 MITM」课时是免费的吗?

是的 — 「常见网络攻击:DoS、欺骗与 MITM」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Security+ Academy 课程的其余内容,请升级到 CoddyKit PRO。 Security+ Academy 课程共包含 4 节课。

「常见网络攻击:DoS、欺骗与 MITM」这节课中我会学到什么?

识别拒绝服务、IP/ARP 欺骗和中间人攻击,并了解用于检测或防御这些攻击的网络控制措施。 你通过在浏览器中直接运行的动手代码来练习 Security+ Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。

学习 Security+ Academy 需要有经验吗?

无需任何先前经验。CoddyKit 上的 Security+ Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 4 节课,共 4 节。

「常见网络攻击:DoS、欺骗与 MITM」课时需要多长时间?

大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。

我能在这节 Security+ Academy 课中编写并运行代码吗?

能。每节 Security+ Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。

此课程中的所有课时

  1. TCP/IP 模型与常见端口
  2. 防火墙:数据包过滤与下一代防火墙
  3. 网络分段与 VLAN
  4. 常见网络攻击:DoS、欺骗与 MITM
← 返回 Security+ Academy