三名网络安全研究人员发现,谷歌用于托管数据库、云计算和应用程序开发的平台 Firebase 的错误配置实例在公共互联网上暴露了近 1900 万个明文密码。
他们扫描了 500 多万个域名,发现有 916 个网站没有启用安全规则或安全规则设置错误。
另外,他们还发现了超过 1.25 亿条敏感用户记录,包括电子邮件、姓名、密码、电话号码以及包含银行详细信息的账单。
研究人员( Logykk、xyzeva/Eva 和 MrBruh )开始在公网上寻找因不安全的 Firebase 实例而暴露的个人可识别信息(PII)。
Eva向BleepingComputer 透露,他们找到了一些 Firebase 实例,这些实例要么完全没有设置安全规则,要么配置不当,从而允许对数据库的读取权限。
而且大部分网站还开放了写入权限,这非常不妥。在这些网站中,他们甚至发现了一家银行。
对于每一个暴露的数据库,Eva 的脚本 Catalyst 会检验哪些类型的数据是可获取的,并抽取了 100 条记录作为样本进行分析。
包含已曝光用户记录样本的数据库 来源: xyzeva
所有详细信息都整理在一个私人数据库中,该数据库提供了公司因安全设置不当而暴露的用户敏感信息的数量概览:
密码的问题更加严重,因为 98% 的密码,准确地说是 19867627 个(约 1900 万)密码都是纯文本。
Eva 解释说,这些公司必须进行了额外操作才会以明文形式存储密码,因为 Firebase 提供了一个称为 Firebase 认证的端到端身份验证方案,这个方案专为安全登录流程设计,不会在记录中泄露用户的密码。
在 Firestore 数据库中,如果管理员设置了一个名为 ‘password’ 的字段,并将密码数据以明文形式存储在其中,那么用户的密码就有可能暴露。
在对样本数据进行分析后,研究人员尝试向所有受影响的公司发出警告,提醒它们注意安全不当的 Firebase 实例,13 天内共计发送了 842 封电子邮件。
其中,有 1%的网站所有者回复了邮件,四分之一收到通知的网站管理员修复了 Firebase 平台中的错误配置。
研究人员还从两个网站所有者那里获得了漏洞悬赏,不过,他们没有透露赏金的具体数额,只表示他们接受了这些赏金,金额并不大。
另外,研究人员通过客户支持渠道联系了一些机构,但得到的回应并不专业。在一个管理着九个网站的印尼赌博网络的案例中,当研究人员报告问题并提供修复指导时遭到了嘲讽。
研究人员在报告Firebase问题时遭遇嘲讽 来源:xyzeva
巧合的是,同一家公司的银行账户记录(800 万条)和纯文本密码(1000 万条)被曝光的数量最多。
据其中一名研究人员称,该公司位于印度尼西亚,年利润为 400 万美元。
扫描互联网、解析原始数据和整理工作耗时约一个月,整个过程从开始到结束并不顺利。
起初,他们使用 MrBruh 制作的 Python 脚本进行扫描,以检查网站或其 JavaScript 捆绑程序中的 Firebase 配置变量。
该脚本消耗大量内存,不适合执行任务,因此被 Logykk 用 Golang 编写的变种脚本取代,该脚本花了两个多星期才完成互联网扫描。
新脚本扫描了五百多万个连接到谷歌 Firebase 平台的域名,用于后端云计算服务和应用程序开发。
为了自动检查 Firebase 中的读取权限,研究小组使用了 Eva 的另一个脚本,该脚本会抓取网站或其 JavaScript,以便访问 Firebase 集合(Cloud Firestore NoSQL 数据库)。
研究人员在配置错误的数据库中发现的记录总数为 223172248 条(约 2.23 亿条)。其中,124605664 条(约 1.24 亿)记录与个人用户有关;其余记录代表与组织及其测试相关的数据。
上述暴露的记录数量已经很多了,但研究人员警告说这个数字可能偏低,实际的数量很可能更高。
在互联网上扫描配置错误的 Firebase 实例所暴露的 PII 是研究人员两个月前开展的另一个项目的后续行动,当时由于配置错误问题,他们获得了人工智能招聘软件解决方案 Chattr 所使用的 Firebase 实例的管理员和 "超级管理员 "权限。
美国许多大型快餐连锁店,如肯德基、温迪、塔可钟、Chick-fil-A、Subway、Arby's、Applebee's 和 Jimmy John's 都使用 Chattr 来招聘员工。
虽然 Chattr 的 Firebase 面板中的管理员角色允许查看与试图在快餐连锁店获得工作的个人相关的敏感信息,但 "超级管理员 "职位允许访问公司账户,并代表公司执行某些任务,包括招聘决策。
研究人员还负责任地向 Chattr 披露了该漏洞,后者修复了漏洞,之后就再也没有回复进一步的电子邮件。
参考来源:https://www.bleepingcomputer.com/news/security/misconfigured-firebase-instances-leaked-19-million-plaintext-passwords/