标题 简介 类型 公开时间
关联规则 关联知识 关联工具 关联文档 关联抓包
参考1(官网)
参考2
参考3
详情
[SAFE-ID: JIWO-2024-101]   作者: banana 发表于: [2017-07-20]

本文共 [520] 位读者顶过

     最近, 系统中的高危漏洞被用来制造一些对各组织机构有重大影响的全球勒索攻击。这些类型的漏洞以前已经修补过, 并且可能在修补之前就被利用发动攻击。 [出自:jiwo.org]

     在2016年晚些时候, Talos披露了 memcached数据库缓存系统软件中的一系列漏洞 。在公开漏洞后, 他们一直在监视易受攻击的系统数量以及修补速度。本文将快速概述这些漏洞, 并讨论他们在过去六月中进行的互联网扫描,结果不太理想。

什么是 memcached?

      memcached 是一个高性能的对象缓存服务器, 旨在加速动态 web 应用程序, 很受一些主流网站推崇。它有两个版本的协议, 用于存储和检索任意数据, 一个是基于 ascii ,另一个是基于二进制。二进制协议针对size进行了优化。

它的预期用途是由 web 应用程序服务器访问, 而且在任何情况下都不应暴露在不受信任的环境中。较新版本的服务器包括基于 sasl 的基本身份验证支持, 根据我们的发现, 这是很少使用的。

审计和漏洞

      去年 10月, 我们对 memcached 服务器进行了源代码审核, 并确定了三个不同但相似的漏洞。所有的三个漏洞都是基于二进制协议。在处理添加和更新缓存对象的代码中存在两个漏洞, 第三个漏洞存在于前面提到的 sasl 身份验证机制中。所有的三个漏洞都是由于整数溢出从而导致控制堆缓冲区溢出, 并且由于协议的性质, 可引发敏感内存泄漏, 从而导致直接和可靠的开发。

      供应商得到通知, 并及时发布了一个补丁, 我们已经证实是可行的。新版补丁的公开发布是在10月31日。分配给此漏洞的 cve id 为 CVE-2016-8704。在公开发布之后, 主要的 linux 发行版发布了他们自己的更新和通报。要注意的一个关键问题是, 主要发行版 (ubuntu、fedora...) backport 补丁, 从而不增加服务器的版本号。

2017年1月的mongodb 攻击

      在12月末/1月初的某个时候 , 对 mongodb 服务器的大规模攻击的消息浮出水面 。mongodb 是一个内存 nosql 数据库。类似于 memcached, 它不应该暴露在不受信任的环境中。然而开发人员却经常忽略它,使得生产服务器被暴露在互联网上公开访问。

      众所周知的是, 成千上万的 mongodb 服务器在互联网上曝光。一些犯罪集团决定将这作为一种武器来盈利, 因为这些服务器没有任何形式的认证或访问控制。在几天之内, 数以千计的可访问的 mongodb 主机被勒索攻击。

本质上, 攻击者连接到服务器, 抽取所有的数据, 并留下一张纸条, 要求一定数量的比特币作为恢复数据的赎金。很快,多个相互竞争的攻击团伙开始攻击相同的服务器, 这就导致了这样的结论: 指望真正恢复数据是不可能的了。

这些攻击被媒体大量报道, 这也引发了大众对这个问题的更高认识,希望减少服务器的暴露。

memcached 会面临类似的命运吗?

     这整个 mongodb 的混乱,让我们考虑到对 memcached 的类似攻击会有什么影响。诚然, 与 mongodb 不同的是, memcached 不是一个数据库, 但仍然可以包含敏感信息, 而服务可用性的中断肯定会导致依赖服务的进一步中断。此外, 我们可以评估已发现的漏洞的潜在攻击面, 以及如何广泛地应用修补程序。

因此, 我们决定扫描互联网看看..。

扫描

为了正确地获取所需的数据, 必须进行特殊扫描。我们需要几个数据点:

  • ·有多少服务器可以通过互联网直接访问
  • ·有多少服务器仍然有漏洞
  • ·有多少服务器使用了身份验证
  • ·有多少启用了身份验证的服务器仍然易受攻击

     我们不能依赖服务器报告的版本, 因为正如前面提到的, 许多发行版 backport 安全修补程序, 因此版本字符串并不总是反映修补程序级别。因此, 我们设计了一个特殊的测试, 它将发送一个单一的数据包到服务器, 并可以从回复中看出该服务器是否有漏洞。

     第一系列扫描是在2月下旬进行的。第一个数据集导致了对启用身份验证的服务器进行另一轮扫描, 具体是在3月初完成的。

扫描结果

     收集的所有数据都显示出大部分预期结果。超过10万个可访问的服务器, 几乎80% 仍然易受攻击, 只有大约22% 启用了身份验证。有趣的是, 几乎所有启用了身份验证的服务器仍然被发现容易受到我们专门测试的 CVE-2016-8706 的攻击。

具体数字如下:

  • ·具有有效响应的服务器总数: 107786
  • ·总服务器仍然易受攻击: 85121 (约 79%)
  • ·总服务器不受攻击: 22665 (约 21%)
  • ·需要认证的服务器总数: 23907 (约 22%)
  • ·需要身份验证的易受攻击的服务器总数: 23707 (约 99%)

按国家划分的数字也符合预期:

所有服务器

  1. 36937-美国
  2. 18878-中国
  3. 5452-英国
  4. 5314-法国
  5. 3901-俄罗斯
  6. 3698-德国
  7. 3607-日本
  8. 3464-印度
  9. 3287-荷兰
  10. 2443-加拿大

易受攻击的服务器

  1. 29660-美国
  2. 16917+1820-中国(含香港)
  3. 4713-英国
  4. 3209-法国
  5. 3047-德国
  6. 3003-日本
  7. 2556-荷兰
  8. 2460-印度
  9. 2266-俄罗斯

从这一点可以得出一些结论。

  • 首先, 在互联网上有大量容易访问的 memcached 服务器。
  • 其次, 不到四分之一的人启用了身份验证, 即使在没有可利用的远程代码执行漏洞的情况下, 其余部分也完全开放。
  • 第三, 人们对现有的服务器进行的修补过程很漫长, 这导致大量的服务器处于威胁中。
  • 第四, 启用了身份验证的服务器的数量也寥寥无几, 这也导致了系统管理员认为身份验证足够, 补丁程序不需要更新。

所有的四点都是不乐观的。

及时的通告

      在扫描完成并得出结论后, 我们对所有的 ip 地址进行查询, 以便获取责任机构的电子邮件联系方式, 并通过简单的解释和建议来发送通知以解决此问题。然而,约3.1万封电子邮件 还在pending中。

重做扫描

      在发送通知后, 我们在六月后重复扫描, 查看通知是否有任何重大影响。总的来说, 结果是令人失望的, 看来大家对这些通知基本上都充耳不闻。正如你所看到的, 只有很小的百分比, 10%的系统被修补。此外, 仍然有大量的服务器易受攻击, 并且仍然不需要身份验证。更令人不安的是, 最初发现的服务器中有26% 已经不再在线, 但是我们发现的系统的数量仍然大致相同。这意味着, 要么是系统刚刚更改了 ip 地址, 要么还有大量的新系统部署在易受攻击的 memcached 版本中。

结果: 6 月后

  • 具有有效响应的服务器总数: 106001
  • 仍然易受攻击的服务器总数: 73403 (约 69%)
  • 不受攻击的服务器总数: 32598 (约 30%)
  • 需要身份验证的服务器总数: 18173 (约 17%)
  • 需要身份验证且易受攻击的服务器总数: 18012 (约 99%)

结果: 原始服务器 (107786) 更新的结果

  • 总计: 85121
  • 仍然易受攻击: 53621
  • 不再易受攻击: 2958
  • 不在线: 28542 (~ 26%)

结论

      这些类型的漏洞的严重性不能低估。这些漏洞可能会影响小型和大型企业在互联网上部署的平台。最近一连串的蠕虫攻击利用了漏洞, 这应该给世界各地管理员一个警告。如果不解决这些漏洞, 攻击者则可能会利用这些漏洞来影响全球组织并严重影响业务。强烈建议立即修复这些系统, 以帮助减轻组织的风险。

评论

暂无
发表评论
 返回顶部 
热度(520)
 关注微信