摘要

  • 定向广播先按目标前缀正常路由,只有掌握目标网络边界的末跳路由器才把它转换成链路层广播。
  • Smurf 攻击再伪造受害者的源地址,使收到请求并作出响应的主机把回复送往无辜第三方。
  • RFC 2644 将“默认接收并转发”改成“默认阻断”;BCP 38 另从源网络边界约束地址伪造,两者不可相互替代。

一个目的地址里藏着许多接收者

定向广播不需要列出主机名单。IPv4 地址的前半部分标识网络,剩余本地位全部置一,便可表示该前缀内的集体目标。沿途大多数路由器只需照常查表转发。直到连接目标网络的路由器,地址的集体含义才变成实际动作:把一个 IP 数据报封装成链路层广播。

它与 255.255.255.255 不同。后者是受限广播,只属于当前链路,不得越过路由器。定向广播则可以奔赴远方。一个看似单一的目标,把“抵达那里之后让大家都听见”压缩进了地址结构。

RFC 919 在 1984 年解释了这种能力的价值。主机无需事先知道哪台邻居能提供服务,可以向本地集合发问;网关可以宣告自身;服务发现不必依赖僵硬名单。它也早早写下代价:广播会让每一个听见它的主机付出处理成本。

在同一条由共同规则管理的链路上,这可能是合理交换。问题在于,定向广播让远端发件人也能触发这笔集体支出。

子网把最后一跳变成裁决点

子网划分使一个 IP 网络可以包含多条物理链路。RFC 922 将广播模型扩展到这种结构:数据报按普通方式前往远端硬件网络,接在该网络上的网关再把它作为链路广播发出。

最后一跳因而不只是转发位置,也是作用域转换位置。进入路由器前,网络中只有一个沿路径移动的数据报;离开路由器后,多台本地主机都可能获得处理机会。

CIDR 又让判断依赖前缀知识。相同的比特序列究竟是普通主机地址还是前缀定向广播,不能脱离掩码回答。RFC 1812 明确指出,这项决定按定义只能在末跳路由器做出。掌握分类信息的设备,恰好也是能够执行扇出的设备。

然而 1995 年的规则给它设定了宽松起点。路由器必须提供关闭转发的选项,却要求接收和转发网络前缀定向广播的选项默认允许。没有覆盖策略时,转发是规定动作。

这个默认值保护的是互操作与发现便利。它同时把“不做配置”变成了一项可能影响远方第三方的政策。

被借用的回信地址补齐了攻击链

路由器依据目的地址搬运数据报;请求—响应协议则通常依据源地址寄回答案。IPv4 本身并不证明源地址所有者真的发出了请求。攻击者可以把受害者地址写进源字段。

再把这枚数据报寄往另一网络的定向广播地址。末跳路由器在本地广播请求,收到请求且选择响应的主机,把回复发送给表面上的请求者,也就是受害者。

这构成反射,因为回复没有回到真正的发送者;也构成放大,因为一份获准进入的请求可能召集多个响应者。规范没有给出固定倍数,实际结果取决于在线主机、响应行为、协议和包大小。结构优势在于,攻击者不必逐一联系所有被调动的设备。

RFC 2644 将允许外部定向广播进入的网络称为 “Smurf Amplifiers”。“放大器”准确标出了连接环节。单台主机也许只是照常回应本地广播;让远端流量获得本地集体响应机会的,是路由器政策。

每一步都寻常,合计结果却落在局外人身上

末跳路由器看到已知前缀,主机看到链路内广播,回复看到可路由的返回地址。任何单一步骤都可能显得普通。异常只在合计后出现:攻击者支付一份请求,放大网络提供多台响应者和出口容量,受害者接收自己从未索取的总量。

控制权与主要损失分属不同主体。受害者可以限速,却只能在扇出之后处理洪流;放大网络入口处看到的请求量可能并不惊人。最有效的决策点,是把一份请求变成许多份本地工作的那一刻。

早期规范关于“每位听众都付费”的提醒没有错,只是不够完整。经过路由的广播还可能让一个从未听见原始请求的第三方支付聚合账单。

RFC 2644 改的是默认权利

1999 年 8 月发布的 RFC 2644 同时成为 BCP 34。它没有新增 IPv4 字段,也没有删除定向广播地址,而是替换 RFC 1812 中两组规范性要求。

路由器仍可提供接收定向广播的配置项,但它必须默认关闭,只有最终用户明确配置后才能接收。设备也可以按接口提供接收或转发网络前缀定向广播的选项,但两者都必须以阻断为初始状态。

“默认”一词改变了责任分配。旧规则要求运营者主动发现遗留能力并关闭;新规则要求确有需求的人主动开启。新设备不会仅因无人检查某个开关,就自动成为公开放大器。

标准保留显式例外,也就保留了特殊环境中的合理使用空间。但例外从继承而来的事故,变成可以追问责任、用途与边界的管理行为。

这是一种控制面修复:包格式没有变,远端发送者的环境许可却被撤回。

关闭扇出并不能证明源地址真实

Smurf 组合还依赖伪造的受害者地址。目标网络关闭定向广播,可以去掉这一处放大表面,却不能阻止其他数据报冒用源地址。反过来,源网络做好地址过滤,也不等于目标网络应当接受来自互联网的集体投递请求。

RFC 2827 即 BCP 38,把控制放在接近来源的客户接入边界。提供商知道下游网络合法拥有的前缀,可以拒绝那些声称来自范围之外的包。

该文档清楚承认边界:来自合法前缀的恶意流量不会因此消失;许可范围内的一台主机也可能冒充同范围内的另一台。它验证的是源地址与网络拓扑授权的一致性,增强可追溯性,并非对个人或设备的密码学认证。

因此两项控制必须分别测量。源边界决定谁可以填写何种回信地址;目标末跳决定远端请求是否有权召集本地链路。关闭其中一扇门,不会自动锁上另一扇。

互联网没有废除本地广播

把历史概括成“广播太危险,所以被禁用”会丢掉最重要的作用域。受限广播继续服务于链路内的配置与发现,也继续不可路由。RFC 2644 撤销的是远端主体默认在他人网络内部制造广播的资格。

它也没有终结所有反射与放大。其他协议仍可能回应伪造来源,新的服务仍会形成不同放大面。RFC 2644 的成就更窄也更可靠:一项已经暴露出外部性的问题能力,不再是路由器应当自动提供的起始状态。

例外必须比“整台路由器”更小

若某个遗留场景确需定向广播,批准对象不应只是一个总开关。运营者需要写明允许的入口接口、源前缀、目标接口、目标前缀、协议、时限和服务负责人,并说明为何本地发现或更有选择性的机制无法满足需要。

监控应区分默认阻断、例外放行和实际生成的链路广播,同时观察返回流量的数量与体量。一次掩码或路由变更可能悄然扩大被召集的主机集合,所以例外必须跟随作用域复核。

安全默认值不是完整政策。它的价值是迫使政策在扇出发生之前出现。

来源与证据边界

封闭来源集为 RFC 919、RFC 922、RFC 1812、RFC 2644 与 RFC 2827。它们证明广播机制、路由器要求、默认值翻转与源地址过滤模型;不证明统一放大倍数、所有主机行为、当前部署比例、所有厂商合规性或当代攻击频率。