2.2 拒绝服务与中间人攻击


2.2 拒绝服务与中间人攻击

本节摘要:拒绝服务(DoS/DDoS)用海量流量或畸形请求耗尽目标资源,破坏可用性;中间人攻击(MITM)潜伏在通信双方之间截获或篡改数据,破坏机密性与完整性。两者是第 2 章里仅有的不以"入侵系统"为前提的手法——一个从外面压垮你,一个从中间架桥骗你。本节拆解两者的运作机理、典型工具特征与防御对应。承接 2.1 节的感染链视角,本节把镜头转向"不进门也能伤人"的两个展品。

不进门,照样伤人

前两节看过的手法都要先"进去":恶意软件要落地,注入要提交载荷。本节的两种攻击打破这个预期。拒绝服务压根不打算进门——它的全部目的就是让门堵死,正常客人进不来;中间人攻击甚至不攻击你任何一方的机器,它只是在你们的通话线路中间架了一座桥。理解这两种"非入侵"形态的攻击,是理解"边界之外也有战场"的第一课。

验明正身:拒绝服务的两个变种

DoS(Denial of Service):单一来源发起的拒绝服务。目标是耗尽对方的三类资源之一:带宽(把管道塞满)、连接(占满并发队列)、计算(用昂贵的请求吃光处理器)。单点 DoS 在今天更多出现在理论里——一台机器对现代服务的压制力有限。

DDoS(Distributed DoS):分布式版本。攻击者控制成千上万台失陷设备(肉鸡/僵尸网络)同时发包,单点防御彻底失效。DDoS 的经济学很有意思:租一次攻击按小时计价,比防守方买清洗带宽便宜几个数量级——攻防成本不对称到这个程度,决定了它是最常见的勒索载体之一。

按攻击层分类更贴近工程:耗带宽的洪水类(UDP 反射放大、ICMP 洪水)打在网络层;耗连接的(SYN 洪水)卡在协议握手;耗计算的(HTTP 慢速攻击、重资源接口轰炸)顶到应用层。层次越高,单包的破坏效率越高,识别难度也越大——应用层攻击的请求看起来和正常用户一模一样。

一个 SYN 洪水的最小示意,三行命令就能看到握手的异常堆积:

$ netstat -an | grep SYN_RECV | wc -l 41273 # 半连接队列被塞爆, 正常用户握手失败 $ tcpdump -nn 'tcp[tcpflags] & tcp-syn != 0 and tcp[tcpflags] & tcp-ack == 0' | head 02:11:03.771203 IP 198.51.100.7.43211 > 10.0.0.8.443: Flags [S], seq 889912 02:11:03.771301 IP 198.51.100.7.43211 > 10.0.0.8.443: Flags [S], seq 889912 # 同源同序号重发, 且永不来第三次握手 → 典型 SYN 洪水特征

SYN 洪水的原理值得记住:TCP 三次握手要求服务端收到 SYN 后为半连接分配资源等待,攻击者发 SYN 却永远不回最后的 ACK,资源就空耗到超时。这个"用协议规则的善意换攻击资源"的思路,在后面 2.3 节的注入攻击里还会再见到。

图 2-2 DDoS 反射放大攻击拓扑

图 2-2 DDoS 反射放大攻击拓扑

验明正身:中间人攻击的三种架桥方式

中间人攻击的精髓是"双方都没撒谎,只是都在跟第三个人说话"。攻击者要架桥,先要让流量经过自己,常见路径有三条:

局域网 ARP 欺骗:局域网里主机靠 ARP 协议把 IP 地址解析成物理地址,而这个解析没有任何验证。攻击者持续向网关和受害者互发伪造 ARP 应答,让双方都把对方地址指向自己的网卡——流量自然全经过它。同网段攻击,门槛最低。

恶意 Wi-Fi 热点:架一个与咖啡店同名同密码的热点,等用户连上来。所有流量天然经过攻击者,这就是"免费 Wi-Fi 风险"的技术本质。

DNS 劫持:把域名解析指向攻击者控制的服务器。用户访问的"银行网站"在 DNS 层就已经是假的了,5.2 节的 DNSSEC 就是冲着这个来的。

流量过来之后,攻击者有三种玩法,烈度递增:只窃听(被动记录明文内容);转发加录制(加密流量也先录下来,等将来密钥泄露再解);篡改(往下载的安装包里塞私货、往转账请求里改收款账号)。第三种对完整性的破坏最隐蔽——双方看到的都是"正常的"服务,只是内容被调了包。

一个 HTTPS 降级攻击的现场:攻击者在握手阶段干扰协商,让双方以为对方不支持加密,退回明文通信:

正常协商: 客户端 → 服务器: 我支持 TLS 1.3/1.2 服务器 → 客户端: 用 TLS 1.3 被架桥后: 客户端 → 攻击者(伪称服务器): 我支持 TLS 1.3/1.2 攻击者 → 服务器(伪称客户端): 我只支持明文 # 谎报能力 服务器 → 攻击者: 好的, 用明文 # 降级达成 结果: 全部业务数据以明文在攻击者面前流过

工程实践要点

DoS 防御的本质是架构,不是设备。 单点再强也扛不住分布式洪峰,可行的组合拳是:任播架构把流量分散到全球节点、上游运营商清洗中心在流量到达前拦截、关键服务保留弹性带宽。容量规划要说实话——你的业务能承受的攻击流量上限,取决于架构里最细的那根管子。

MITM 防御的核心是身份校验,不是加密本身。 加密只保证"第三方看不懂",不保证"对面是真身"。证书校验(第 4 章 PKI)、证书钉扎、HSTS 强制加密——这些机制把"我在跟谁说话"变成密码学可验证的问题。企业内网还要防内鬼架桥:交换机端口安全、动态 ARP 检测,把 ARP 欺骗在接入层掐死。

⚠️ 常见坑:内网信任即裸奔。很多团队默认"内网流量不需要加密",ARP 欺骗恰恰只在内网有效。零信任思想(第 5 章 5.3 节)的核心主张之一就是内网不天然可信——访客 Wi-Fi 和生产网段之间如果只隔一个 VLAN 配置错误,边界防御做得再漂亮也是白搭。

💡 关键直觉:拒绝服务攻击里受害者收到的包"内容完全合法",中间人攻击里双方的每一步都"符合协议"——这两种攻击的可怕之处都在于不违反规则,只利用规则。凡是靠规则善意运转的机制,都要问一句:有人不守善意会怎样。

鉴定结论

  • DoS 与 DDoS 破坏可用性,攻防成本严重不对称,防御靠架构(任播、清洗、弹性)而非单点设备;
  • 中间人攻击破坏机密性与完整性,三条架桥路径(ARP 欺骗、恶意热点、DNS 劫持)的共同点是劫持"寻址",因此防御的关键在身份校验;
  • 两种攻击都不以入侵为前提,"边界之外"同样是战场;
  • 下一节回到"必须进门"的经典路径:构造输入欺骗程序——SQL 注入、XSS 与暴力破解三案连审。

附卷:两个对手的信号与第一动作

值班视角把两件展品的特征信号浓缩成一页速查:

观察到的现象 可能是谁 第一动作
带宽曲线打满,来源分散全球 DDoS 洪水 联系上游清洗,勿徒手封 IP
半连接队列暴涨, SYN 重发密集 SYN 洪水 开启 SYN cookie,限速源地址
页面能 ping 通但响应极慢,连接数正常 慢速应用层攻击 看并发时长分布,调超时与并发上限
同网段出现 IP 冲突告警 ARP 欺骗 启用动态 ARP 检测,定位接入端口
用户反映"网站证书警告"集中爆发 疑似中间人/劫持 立即比对证书指纹,查解析与路由
员工连了同名陌生 Wi-Fi 后账号异常 恶意热点 强制下线改密,全站核对 TLS 生效

表里所有"第一动作"都指向同一个原则:先恢复可观测,再谈处置。DDoS 场景里最贵的失误是慌乱中把正常用户一并封掉;中间人场景里最贵的失误是只改密码不查信道——信道还在攻击者手里,新密码等于亲手递过去。1.1 节的尺子在这里再次生效:拒绝服务主要砍 A,中间人主要砍 C 与 I,动作自然分岔。

还有一个值得写进值班手册的细节:两类攻击都可能出现"试探波"。真正的洪峰或架桥之前,常有低强度探测(小流量测试、零星 ARP 扫描)。把试探波当噪音忽略,就浪费了最便宜的预警;把试探波记录进基线,洪峰来时判断时间能快一个量级。


作者与出处
原作者: 灏天文库
来源:灏天文库
整理: 灏天文库整理
由灏天文库平台收录,内容或由平台用户上传,仅供学习交流
发布者: 作者: 灏天文库 转发
评论区 (0)
U