漏洞修复八个月后，仍有超过七万台 memcached 服务器面临危险
============================================================

![](https://cdn.thenewstack.io/media/2017/07/261d7153-business-841174_640.jpg)

在开源缓存软件 memcached 修复了三个关键漏洞的八个月之后，仍有超过 70000 台未打补丁的缓存服务器直接暴露在互联网上。安全研究员警告说，黑客可能会在服务器上执行恶意代码或从其缓存中窃取潜在的敏感数据。

[memcached][1] 是一个实现了高性能缓存服务的软件包，用于在内存中存储从数据库和 API 调用中获取的数据块。这有助于提高动态 Web 应用程序的响应速度，使其更加适合大型网站和大数据项目。

虽然 memcached 不是数据库的替代品，但它存储在内存中的数据包括了来自数据库查询的用户会话和其他敏感信息。因此，该服务器在设计上并不能直接暴露在互联网等不受信任的环境中，其最新的版本已经支持了基本身份验证。

去年 10 月份，memcached 的开发者修复了由 [思科 Talos 部门][5] 安全研究员发现并报告的三个远程代码执行漏洞（[CVE-2016-8704][2]、[CVE-2016-8705][3] 和 [CVE-2016-8706][4]）。所有这些漏洞都影响到了 memcached 用于存储和检索数据的二进制协议，其中一个漏洞出现在 [Simple Authentication and Security Layer ][6]（SASL）的实现中。

在去年 12 月到今年 1 月期间，成队的攻击者从数万个公开的数据库中擦除数据，这包括 MongoDB、CouchDB、Hadoop 和 Elasticsearch 集群。在很多情况下，攻击者勒索想要恢复数据的服务器管理员，然而没有任何证据表明他们的确对所删除的数据进行了复制。

Talos 的研究人员认为， memcached 服务器可能是下一个被攻击的目标，特别是在几个月前发现了漏洞之后。所以在二月份他们决定进行一系列的互联网扫描来确定潜在的攻击面。

扫描结果显示，大约有 108000 个 memcached 服务器直接暴露在互联网上，其中只有 24000 个服务器需要身份验证。如此多的服务器在没有身份验证的情况下可以公开访问已经足够糟糕，但是当他们对所提交的三个漏洞进行测试时，他们发现只有 200 台需要身份验证的服务器部署了 10 月的补丁，其它的所有服务器都可能通过 SASL 漏洞进行攻击。

总的来说，暴露于互联网上的 memcached 服务器有大约 80%，即 85000 个都没有对 10 月份的三个关键漏洞进行安全修复。

由于补丁的采用率不佳，Talos 的研究人员决定对所有这些服务器的 IP 地址进行 whois 查询，并向其所有者发送电子邮件通知。

本月初，研究人员决定再次进行扫描。他们发现，虽然有 28500 台服务器的 IP 地址与 2 月份时的地址不同，但仍然有 106000 台 memcached 服务器暴露在因特网上。

在这 106000 台服务器中，有大约 70%，即 73400 台服务器在 10 月份修复的三个漏洞的测试中仍然受到攻击。超过 18000 个已识别的服务器需要身份验证，其中 99% 的服务器仍然存在 SASL 漏洞。

即便是发送了成千上万封电子邮件进行通知，补丁的采用率也仅仅提高了 10%。

Talos 研究人员在周一的[博客][7]中表示：“这些漏洞的严重程度不能被低估。这些漏洞可能会影响到小型和大型企业在互联网上部署的平台，随着最近大量的蠕虫利用漏洞进行攻击，应该为全世界的服务器管理员敲响警钟。如果这些漏洞没有修复，就可能被利用，对组织和业务造成严重的影响。”

这项工作的结论表明，许多网络应用程序的所有者在保护用户数据方面做得不好。首先，大量的 Memcached 服务器直接暴露在互联网上，其中大多数都没有使用身份验证。即使没有任何漏洞，这些服务器上缓存的数据也存在着安全风险。

其次，即使提供了关键漏洞的补丁，许多服务器管理员也不会及时地进行修复。

在这种情况下，看到 memcached 服务器像 MongoDB 数据库一样被大规模攻击也并不奇怪。

--------------------------------------------------------------------------------

via: https://thenewstack.io/70000-memcached-servers-can-hacked-using-eight-month-old-flaws/

作者：[Lucian Constantin][a]
译者：[firmianay](https://github.com/firmianay)
校对：[wxy](https://github.com/wxy)

本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译，[Linux中国](https://linux.cn/) 荣誉推出

[a]:https://thenewstack.io/author/lucian/
[1]:https://memcached.org/
[2]:https://www.talosintelligence.com/reports/TALOS-2016-0219/
[3]:https://www.talosintelligence.com/reports/TALOS-2016-0220/
[4]:https://www.talosintelligence.com/reports/TALOS-2016-0221/
[5]:https://www.talosintelligence.com/
[6]:https://tools.ietf.org/html/rfc4422
[7]:http://blog.talosintelligence.com/2017/07/memcached-patch-failure.html
