攻击者已经发现很多MongoDB配置存在缺陷,而这为勒索攻击打开了大门。
安全研究人员兼微软开发人员Niall Merrigan一直在追踪MongoDB勒索攻击事件,有一天,他突然看到攻击次数从12000增加到27633。与勒索软件攻击不同,其中数据被加密,在这种攻击中,攻击者可访问数据库、复制文件、删除所有内容并留下勒索字条——承诺在收到赎金后归还数据。
“这里的问题在于,人们通常会快速设置好数据库,并开始构建应用,而没有适当的安全考虑,”Merrigan称,“在很多情况下,他们并不知道他们必须设置身份验证,而在默认情况下并没有启用。”
独立安全研究人员Victor Gevers称,MongoDB配置中糟糕的身份验证政策是允许攻击者访问数据库的主要缺陷。
“这些错误配置允许(任何人)持有完全的管理权限来访问数据库,而无需身份验证,”Gevers称,“因此,这是数据库所有者的责任,他们没有为面向互联网的系统正确配置数据,当你启动漏洞扫描器时就能发现这些漏洞,这并不是多么困难的事情。”
Fidelis Cybersecurity公司威胁系统经理John Bambenek称:“主要的问题是,人们在配置面向互联网的服务时,并没有真正试图保护和维护它们。”
“在很多时候,企业开发工作的重点是快速完成,而不是确保事物在没有身份验证的情况下不被访问,”Bambenek称,“在这种情况下,很多这些MongoDB数据库是通过安装器来安装,而没有为管理员账号设置密码,这让所有人都可以访问数据库。”
ERPScan公司高级业务应用安全研究人员Vahagn Vardanyan表示,攻击者在这些攻击中并没有使用任何零日漏洞。
“在默认情况下,MongoDB安装后并不需要身份验证就可连接,”Vardanyan表示,“数据库管理员没有对其进行安全地配置,让攻击者有机可乘。”
Gevers证实MongoDB中存在已知漏洞,不过尚没有迹象表明所调查的攻击中使用了任何漏洞。
“在这种情况下,所有攻击者的攻击做法几乎相同。他们试图通过MongoDB复制该数据库,然后删除数据库,创建新的数据库,并留下勒索信息,最后在他们退出之前清除日志,”Gevers称,“由于日志保持不变,我们可以从攻击发起的时候提取相同的攻击模式和IP地址。并没有其他证据表明攻击者已经通过创建管理员用户部署了持续后门程序或者shell。”
根据Merrigan和Gevers表示,面临安全风险的MongoDB数量很难预计。通过Shodan.io,Merrigan称大约有5200台服务器可访问互联网而没有启用身份验证。而Gevers通过搜索Shodan得出的数据约为4800台,但根据ZoomEye的数据显示,可能有高达99000个糟糕的MongoDB配置。
威胁情报平台提供商Anomali公司首席威胁研究人员Aaron Shelmire称,企业拥有糟糕的MongoDB配置太常见了。
“每两年就会出现新的技术堆栈,该行业似乎花了很多时间来重新学习旧教训。但由于简单的安全问题而导致这么多安全事故,这真的非常令人惊讶,”Shelmire称,“对于企业来说,确保安全性的最佳方法是限制这些服务对公司VPN背后主机的访问,定期备份这些数据存储可减少受影响系统的影响。
” Merrigan称备份可帮助恢复“业务连续性”,但建议为MongoDB配置设置更好的身份验证政策。
“应使用最低权限概念,不要尝试锁定它;查看MongoDB指南来强化系统,特别是面向互联网的系统,当连接到互联网时,应假设每个人都在试图访问你的系统。”