MongoDB 远程命令执行漏洞:噩梦还是开眼?


3月24日公开披露的 MongoDB 零日漏洞 (CVE-2013-1892) 已经引起了人们的关注,IT 安全和开发人员已经开始在热议这个话题。

相关链接:MongoDB 2.4.1 紧急发布

为什么这个问题会引起关注,我们认为主要原因有 3 点:

  1. 一些开发者认为类似 MongoDB 这样的 NoSQL 数据库要比关系型数据库更加安全,因为不存在 SQL 注入问题
  2. MongoDB 的使用人数在不断的增长,越来越多的人认为它是 NoSQL 数据库的领跑者
  3. 披露的漏洞影响非常之大,而且漏洞可利用来做很多破坏性的攻击,该漏洞被披露出来几天就已经有人发布攻击脚本

关于这个问题给开发者和架构师带来最大的教训是:out-of-sight/out-of-mind 特性是此漏洞的根本原因:如果它不是一个文档,那么就不应该被访问!

而通用和强大的接口(如nativeHelper接口)就像是野兽。不管你多么自信你可以驯服它,但有被咬的时候。保护你自己的唯一方法就是将它们锁起来,除非需要的时候否则不予接触。

需要指出的是我们在二月份讨论过的 Rails YAML vulnerability 有着非常相似的原因,因为默认可以访问通用而强大的接口。

从另外一方面来说,该接口可能导致的代码执行问题由来已久,可能因为没有一个概念验证连接到它,因此没引起注意。有人可能要问还有多少没有被暴露出来的潜在问题,如果这些问题被黑客利用会导致什么严重的后果。

译者注:eye opener 是“令人惊异的” 的意思,但我发现直译更能非常形象的表达这个词的意思。

via sdelements

相关内容