什么是 Denial of Service (DoS)?
Denial of Service (DoS) 是一种攻击,试图通过用垃圾流量或高成本请求淹没网站、API 或节点,使其不可用。想象有人不停地打你电话,让别人无法接通。令人恼火、嘈杂,当防护薄弱时非常有效。
“Denial of Service (DoS) 意味着我被黑了,资金被盗了。” 不完全正确。DoS 针对的是可用性,不是你的私钥。它可以阻止访问或拖慢你的操作,但通常窃取资金需要其他类型的漏洞。
Denial of Service (DoS) 如何运作
想象在一次热度事件中,一个受欢迎的交易所接口。某个行为者发送大量请求,或触发耗费资源的代码路径,使普通用户陷入等待。简单流程:
- 步骤 1: 攻击者选定目标,例如 RPC 网关、验证器或 API 路由。
- 步骤 2: 他们发送大量垃圾流量,导致目标的 网络带宽 和计算资源被耗尽。
- 步骤 3: 真实用户会遇到超时、请求失败和费用上升,因为队列堆积。
- 步骤 4: 在链上,交易可能需要更长时间才能获得 确认,这会干扰交易或铸造。
- 步骤 5: 防御方会通过限流、过滤、缓存和更智能的路由来维持服务可用性。
不华丽,但这确实是常见做法。
为什么 Denial of Service (DoS) 重要
遭到攻击时你会感受到影响,即使你的钱包没有被动。以下是你应该关心的原因:
- 好处: 识别这些征兆能帮助你在流量激增时避免错误成交、错过铸币或兑换失败。
- 视角: 僵尸网络成本低廉,热门事件吸引大量流量,攻击者偏好利用空投或热门发布等拥堵事件。
- 相关性: 你会在钱包、节点和 去中心化应用 (dApps) 遇到这种情况,尤其是在所有人同时涌入时。
在大型发布前,选择宣称拥有 可扩展基础设施 的服务商,设置合理的滑点和超时,并准备好备用 RPC。
Denial of Service (DoS) 的主要特征
与其他攻击的区别:
- 饱和: 它淹没有限资源,如计算、内存和流量队列。
- 可用性: 其目的是使服务变慢或不可用,而不是窃取数据。
- 规模: 可以来自单一来源,也可以是协调的巨大群体,分布在多台机器上。
- 连带影响: 在该路径上的所有人都会受到影响,而不仅仅是单个目标用户。
变种
Denial of Service (DoS) 有多种形式。在链上,它甚至可以通过轰炸高成本调用来影响 智能合约。
- 体量型: 用大量流量淹没通道,淹没真实请求。
- 协议型: 利用网络协议的漏洞或异常,使服务器忙于处理无用工作。
- 应用型: 触发诸如搜索或账户历史等高消耗端点,消耗 CPU 和内存。
- DDoS: 分布式版本,来源众多,更难快速过滤。
在铸币或上架期间出现宕机并非总是漏洞利用。有时只是流量过载,从外部看起来相同。
示例
在一次热度很高的 NFT 铸造中,交易所 API 和公共 RPC 被击垮,兑换停滞,你的交易处于待处理状态,而费用飙升。
趣闻
上世纪九十年代的经典 SYN 洪泛事件登上新闻头条,因为几乎不需要大量带宽就能让大型服务器离线,这也解释了为何更智能的过滤手段不断更新换代。
总结
简短结论:Denial of Service (DoS) 是堵住门,而不是撬锁,所以在人潮到来前考虑如何控制流量。
