过去一个月内,多家 VoIP(基于 IP 的语音通话)提供商遭受到自称 REvil 的实体发动的分布式拒绝服务(DDoS)攻击。这些多手段攻击同时使用针对关键 HTTP 网站和 API 端点的 L7 攻击,以及针对 VoIP 服务器基础设施的 L3/4 攻击。在某些情况下,这些攻击对目标的 VoIP 服务和网站/API 可用性造成重大影响。
Cloudflare 的网络覆盖全球,拥有复杂的流量过滤套件,以及对攻击模式和威胁情报的独特视角,能够有效地保护和加速语音和视频基础设施。
如果您或您的组织已成为 DDoS 攻击、赎金攻击和/或勒索企图的目标,立即寻求帮助来保护您的互联网资产。我们建议不要支付赎金,并向当地执法机构报告。
基于 IP 的语音(和视频、表情符号、会议、猫表情包和远程教学)
基于 IP 的语音(VoIP)用于描述一组实现通过互联网进行多媒体通信的技术。这些技术让您通过 Facetime 与朋友通话,通过 Zoom 参加远程学习,甚至从您的手机拨打一些“常规”电话。
VoIP 背后的原理类似于电路交换网络上的传统数字电话呼叫。主要区别在于,编码后的媒体(如语音或视频)被分割成小的比特单位,按照特别定义的媒体协议,作为 IP 数据包的有效负载通过互联网传输。
这种语音数据的“分组交换”,与传统的“电路交换”相比,可以更有效地利用网络资源。因此,通过 VoIP 呼叫的成本效益远远高于普通老式电话业务(POTS)。切换到 VoIP 能为企业减少 50% 以上的电信成本,因此三分之一的企业已经采用了 VoIP 技术。VoIP 灵活且可扩展,对于在疫情期间让人们远程聚集在一起,这种技术特别有用。
大多数 VoIP 呼叫幕后的一个重要协议是会话初始协议 (SIP)。SIP 最初在 RFC-2543 (1999)中定义,旨在作为在两方或多方之间发起语音或视频呼叫(“会话”)的一种灵活的模块化协议。
速度是 VoIP 的关键
人与人之间的实时通信需要让人感觉自然、即时和反应迅速。因此,作为一个优秀的 VoIP 服务,最重要的功能之一就是速度。用户体验到的是自然的音频和高分辨率的视频,没有任何延迟或卡顿。用户对通话质量的感受通常可以使用各种指标来密切衡量和跟踪,例如语音质量的感知评估(PESQ)和平均主观得分(MOS)。虽然 SIP 和其他 VoIP 协议可使用 TCP 或 UDP 作为底层协议来实施, 因路由器和服务器处理 UDP 的速度更快,一般会选择 UDP。
UDP 是一种不可靠的、无状态的、没有服务质量 (QoS) 保证的协议。这意味着路由器和服务器通常使用更少的内存和计算能力来处理 UDP 包,因此每秒可处理更多的包。处理数据包速度越快,数据包有效负载(编码媒体)的组装就越快,因此通话质量就越好。
按照_越快越好_的原则,VoIP 服务器将尝试按照先来先服务原则尽快处理数据包。由于 UDP 是无状态的,服务器不知道哪些包属于当前通话,哪些包尝试发起新的通话。那些细节以请求和响应的形式存在 SIP 标头中,直至网络堆栈的更高层级才会被处理。
当数据包的秒速率超过路由器或服务器的处理能力时,_越快越好_的原则实际上变成了一个缺点。传统电路交换网络系统会在达到容量时拒绝新的连接并尝试在不损害质量的情况下维持原有连接。但对 VoIP 服务器而言,为了处理尽可能多的数据包,在超过其容量时将无法处理所有包或通话。这就会导致进行中的通话发生延迟和中断,以及发起或接受新呼叫失败。
在没有部署适当保护措施的情况下,提供卓越通话体验的竞赛是以牺牲安全为代价的,给攻击者提供了可乘之机。
对 VoIP 服务器发动 DDoS 攻击
攻击者可利用 UDP 和 SIP 协议,发送大量特制的 UDP 包来压垮未受保护的 VoIP 服务器。攻击者压垮 VoIP 服务器的一种方法是假装发起呼叫。每次收到恶意的呼叫发起请求时,服务器就会使用计算能力和内存来验证请求。如果攻击者能产生足够多的呼叫发起请求,目标服务器就会被压垮,无法处理合法呼叫。这是应用到 SIP 的典型 DDoS 技术。
这一技术的一种变体是 SIP 反射攻击。和前一种技术一样,攻击者也是使用恶意呼叫发起请求。但在这种变体中,攻击者不是向目标直接发送恶意流量。取而代之,攻击者将恶意流量随机发送到互联网中成千上万毫无警觉的 SIP 服务器,并将恶意流量的来源伪装成目标受害者的来源。这导致数以千计的 SIP 服务器开始向受害者发送不请自来的回应,后者必须使用其计算资源来识别这些回应是否合法。这个过程也会严重消耗受害服务器处理合法通话所需的资源,导致广泛的拒绝服务事件。如果缺乏适当的保护措施,VoIP 服务极易受到 DDoS 攻击。
下图显示最近发生的一次多手段 UDP DDoS 攻击,目标是受 Cloudflare Magic Transit 服务保护的 VoIP 基础设施。攻击峰值略高于 70 Gbps 和 1600 万个数据包/秒。虽然这不是我们见过的最大型攻击,如此规模的攻击可对未受保护的基础设施产生巨大影响。这次攻击持续了 10 个多小时,被自动检测到并予以缓解。
下面的两张图显示上周另外两次针对 SIP 基础设施的类似攻击。在第一张图中,我们看到攻击使用了多种协议,大部分流量来自(欺骗)DNS 反射和其他常见的放大和反射手段。这些攻击的峰值超过 130 Gbps 和 1740 万 pps。
保护 VoIP 服务,性能毫发无损
提供高质量 VoIP 服务最重要的因素之一是速度。延迟越低越好。Cloudflare Magic Transit 服务可帮助保护关键 VoIP 基础设施,但不会影响延迟和通话质量。
Cloudflare 的 Anycast 架构与网络的庞大规模相结合,可最大程度降低甚至改善通过 Cloudflare 路由的流量的延迟。欢迎查看 Cloudflare 最近在 Speed Week 期间发布的博文 ,其中详细介绍了工作原理,还包含测试结果,显示一个真实客户的网络使用 Magic Transit 时,全球性能改善了 36%。
此外,对接收的每一个数据包,Cloudflare 数据中心都会使用多层路径外检测来分析是否存在 DDoS 攻击,从而避免了延迟。一旦检测到攻击,边缘就会产生一个匹配该攻击数据包特性的实时指纹。然后,Linux 内核 eXpress Data Path (XDP) 会利用该指纹来匹配并瞬间丢弃攻击数据包,但不会对合法数据包产生任何影响。我们最近还部署了额外的特定缓解规则来检测 UDP 流量,以确定是否为有效的 SIP 流量。
检测和缓解是在 Cloudflare 的每一台边缘服务器上自主进行的——不存在容量有限、部署范围有限的“清洗中心”。此外,威胁情报会自动在我们的网络上实时共享,将有关该攻击的信息“教给”其他边缘服务器。
边缘监测也是完全可配置的。Cloudflare Magic Transit 客户可使用 L3/4 DDoS 托管规则集 来微调和优化其 DDoS 保护设定,也可使用 Magic Firewall 来定制数据包级别(包括深度包检测)防火墙规则,从而实施积极的安全模型。
将人们远程聚集在一起
Cloudflare 的使命是帮助建立一个更好的互联网。这个使命的一个重要部分就是,确保世界各地的人们能不受干扰地与朋友、家人和同事沟通——尤其是疫情当下。我们的网络处于帮助世界保持联系的有利位置,不管是帮助开发者构建实时通信系统,还是帮助 VoIP 提供商保持在线。
我们的网络速度,加上我们始终启用的自主 DDoS 保护技术,能帮助 VoIP 提供商继续服务其客户,无需牺牲性能或不得不屈服于赎金 DDoS 或勒索者。