使用 IP 数据报和 TTL 进行 Dos 攻击的可能性

使用 IP 数据报和 TTL 进行 Dos 攻击的可能性

所以我最近学习了整个 IP 数据报及其报头。我们学习了 TTL 字段,该字段之所以存在是因为有时来自某个网​​络 ID 的数据包会被发送到另一个路由器,但在另一个路由器中,它会被发送回第一个路由器,从而导致无限循环,给系统带来负担。因此,TTL 是为了限制数据包可以传输的次数,从而结束循环。

所以我想到的是,你可以向一个与另一个路由器有环路连接的路由器发送一个 TTL 设置为 256 的数据报,这意味着每次处理请求时,每个路由器都会处理 256 次(发送和接收),这使得非常容易受到 Dos 攻击,因为路由器占用的计算能力是你的 256 倍,因此很容易发送大量数据包导致系统过载。

所以我发现肯定有人在我之前想到了这一点,并且想知道什么可以阻止这种情况发生?是否有一个功能可以阻止这种情况发生?也许是某种防御机制?我尝试用谷歌搜索,但找不到合适的措辞方式。谢谢!

答案1

生存时间 255 不会导致消息被发送 255 次。它只意味着数据报将沿着最大长度为 255 跳的路由转发。

路由上的每个路由器都会接收数据报一次,并只发送一次,同时减少计数。一旦 255 用尽或路由逐渐消失,就会向原始发送者发送错误。

TTL 不能用于创建 拒绝服务攻击

答案2

所以我想肯定有人在我之前想到了这一点,并且想知道如何阻止这种情况发生?是否有一个功能可以阻止这种情况?也许是某种防御机制?

是的,一般来说,不产生路由循环首先。它们不是您在正常运行中会看到的东西。自动路由协议(例如 OSPF 或 BGP)是专门为生成无环路网络而构建的。

循环确实会发生,并且这种 DoS担心(尤其是没用过网络范围内很容易创建一个不被注意的路由循环),但主要的缓解措施是修复配置,以便彻底消除路由循环——而不是在复杂的防御上浪费资源。

(例如,路由器之间经常使用点对点链接。可以将链接配置为使用 /24 或类似的子网掩码,这似乎可以正常工作,但是,一旦联系到该 /24 中未使用的地址,两个路由器都会将数据包从链接的一端反弹到另一端。常见的缓解方法是将网络掩码更改为尽可能小的掩码,即 /31 或 /127,这样就不会有未使用的地址,路由循环也会消失。

再举一个例子,假设路由器 A 具有一条通向路由器 B 的整个 /16 的广泛“聚合”路由,但路由器 B 只识别几个较小的范围,而其他所有内容都沿着默认路由返回路由器 A。换句话说,正在使用的子网工作正常,但不是正在使用的路由器上存在一个等待触发的循环。缓解措施还是要彻底移除循环,只需在路由器 B 上为整个 /16 添加“丢弃”路由即可。)

相关内容