Memcached 安全漏洞集
2018-03-09 13:10:18 阿炯


-------------------------------
不止用于攻击 Memcached 漏洞可窃取服务器数据

2018年03月08日,据外媒消息,Corero 网络安全公司近日披露,在上周引起 GitHub DDoS 攻击的 Memcached 漏洞比最初报道的更为糟糕。现在发现,该漏洞可用于窃取或修改 Memcached 服务器中的数据。

Memcached 是一个开源系统,可将数据存储在内存中以加快访问速度。目前曝出的漏洞是攻击者通过设置 Memcached 的最大值,欺骗 UDP 数据包发起请求,利用 Memcached 发送的大量庞大的 UDP 响应数据包进行攻击行为。


据 Corero 的说法,任何可用于 DDoS 攻击的 Memcached 服务器也可用于收集从本地网络或主机缓存的用户数据。该公司表示,除了窃取用户数据外,攻击者还可以在让所有者不知情的情况下,修改数据并将其重新插入缓存中。

Corero 首席执行官 Ashley Stephenson 表示,“ Memcached 此漏洞代表了 DDoS 攻击的新篇章。在此之前,最新的破纪录攻击是由相对低带宽的物联网(IoT)设备组织的。相比之下,这些 Memcached 服务器通常连接到更高带宽的网络,并且由于高放大因素,容易造成数据雪崩等严重影响。除非 Memcached 服务器的运营商采取行动,否则这些攻击将继续。”

美国东部时间2月28日下午12点15分左右,GitHub 遭遇了可能是迄今为止最大的 DDoS 攻击,最高访问量为 1.35Tbps。GitHub 经历了两次间歇性不可访问,但其强调开发者数据依然安全。攻击发生 10 分钟后,GitHub 向 CDN 服务商 Akamai 请求协助,访问 GitHub 的流量已经由后者接管。这家专门减轻 DDoS 攻击的公司接管了 GitHub 的所有流量。据释,它的服务器能够承受比普通站点大得多的流量,并且能够过滤不需要的流量来减轻负载。

由于 Memcached 协议旨在不需要身份验证就可以使用,因此用户向易受攻击的 Memcached 服务器添加的任何内容都可能被互联网上的其他人盗用,而不会留下审计跟踪。

Memcached 近日发布了 1.5.6 版本,以默认禁用 UDP 协议。其开发者社区也发布了多个有关安全风险的警告,不过仍然有大量用户使用的是之前的版本,以及操作系统和云服务的默认配置。该公司还宣布了针对该攻击的“kill switch”对策,通过发送一个命令回攻击服务器来抑制 DDoS 攻击并使服务器的缓存失效。并表示该对策已在经过测试,似乎 100% 有效。

Memcache UDP 反射放大攻击技术分析

本篇技术blog,由360信息安全部0kee Team、360网络安全研究院、360-CERT共同发布。Memcache UDP 反射放大攻击(以下简称 Memcache DRDoS)在最近的一周里吸引了安全社区的较多注意,以下介绍我们对该类型攻击观察到的情况。

在PoC 2017 会议上的原始报告

Memcache DRDoS,由360信息安全部0kee Team在2017-06 附近首先发现,并于 2017-11 在 PoC 2017 会议上做了公开报告。会议报告在此处,其中详细介绍了攻击的原理和潜在危害。

在这份文档中,作者指出这种攻击的特点:
    memcache 放大倍数超高,至少可以超过50k;
    memcache 服务器(案例中的反射点)数量较多,2017-11时估算全球约有 60k 服务器可以被利用,并且这些服务器往往拥有较高的带宽资源。

基于以上特点,作者认为该攻击方式可以被利用来发起大规模的DDoS攻击,某些小型攻击团队也可能因此获得原先没有的大流量攻击能力。

在 DDoSMon 上观察到的现网趋势

自批露以来,我们就一直利用 DDoSMon 的统计页面 持续监控Memcache DRDoS在实际现网中的情况。在过去的几个月中,这种类型攻击的频率和单次破坏性都不大,但是自2018-02-24开始,这种情况发生了较大变化。

近期,Memcache DRDoS 的攻击频率上升到了平时的10+倍,从每天小于50件,上升到每天300~400件。

需要指出,当前 Memcache DRDoS 仍然还不是DDoS的主流。即使在反射类DDoS中,也只占 1% 以下(按攻击事件计),排在 DNS、CLDAP、NTP、SSDP、CharGen、L2TP、BitTorrent、Portmap、SNMP的后面。


我们在现网中对 Memcache DRDoS 攻击方式的测试结果

我们对现网实际环境做了测试,结合分析我们捕获的实际攻击载荷,有以下内容值得关注:
    这种反射攻击的放大比率,在理想的测试环境中,可以稳定的测得 1k~60k之间的放大倍数;
    在现网实际环境中, 60k 的放大倍数,也是可以稳定的测得的;
    上述实测结果,与最初报告者0kee team的估计、US-CERT安全通告中的提法,基本是一致的;
    此外我们分析了现网实际发生的攻击负载。到目前为止,部分负载的构造是有问题,可能会导致memcache服务崩溃,并不能稳定的打出最大放大倍数。但是这里涉及的技术改进并不困难,攻击者容易做出响应调整。

另外,我们对将放大倍数调整到 60k 以上做了一些初步分析。我们怀疑这个比例是可以继续显著提高的,但具体技术细节不会在这里讨论。

当前已知 Memcache DRDoS 攻击的案例

2月27日,Qrator Labs 在 medium.com 上 批露 了一次DDoS攻击。按照文章的说法,这次攻击确信就是 UDP 11211 端口上的 memcache DRDoS,攻击流量峰值达到 480Gbps。

除了这个案例以外,我们确认有更大的攻击已经实际发生,但并未被公开报道。

当前已知各国运营商、安全社区的应对措施

目前已经有多个相关安全通告,部分列出如下:
    通告类:多个主要设备厂商、安全厂商、CERT已经发布通告,例如 CloudFlare、Qrator Labs、Arbor Networks、US-CERT,等等
    预防和防御类:包括 NTT 在内的多个ISP 已经对 UDP 11211 采取限速措施。

应对建议方面,ISP、网络管理员、企业用户可以从很多渠道获得应对建议,例如 这里 。我们建议:
    各运营商 ISP、云服务厂商,考虑在自己的网络内对UDP 11211 采取限速措施
    各开发者和 memcache 管理者,考虑自查 memcache 设定ACL

总体而言,一方面,我们开始担忧1Tbps以上的DDoS攻击案例今后会比较频繁的出现,DDoS攻击开始从 G 时代进入 T 时代(Gbps vs Tbps);另一方面,我们必须指出至少在当前 Memcache DRDoS 还不是DDoS 攻击的主流,比例还在 1% 以下(按次数统计)。