聚焦源代码安全,网罗国内外最新资讯!
编译:代码卫士
研究人员扫描了500多万个域名并发现916个网站或者未启用安全规则或者对这些规则的设置不正确。他们发现了超过1.25亿条敏感的用户记录,包括邮件、姓名、密码、电话号码和含有银行详情的账单信息。
研究人员通过易受攻击的 Firebox 实例查找被暴露到公共网络中的个人可识别信息。
Eva 表示,他们发现 Firebase 实例并没有任何安全规则或者配置不当允许数据库读取权限。他提到,“大多网站还启用了写权限,这很糟糕。”对于每个被暴露的数据库,Eva 通过脚本 Catalyst 查看了可用数据类型并提取了含有100条记录作为样本。
所有详情都整理到一个私有数据库中,从中可查看因安全设置不当而导致暴露的敏感用户信息:
姓名:84,221,169个
邮箱:106,266,766个
电话号码:33,559,863个
密码:20,185,831个
账单信息(银行详情、发票等):27,487,924条
对于密码而言,情况更为糟糕,因为98%的被泄露密码都是明文形式。
Eva 表示,企业肯定“费了很大的劲”以明文形式存储密码,因为Firebase
的端对端身份解决方案 Firebase Authentication 专为安全登录流程设置,且并未暴露记录中的用户密码。将用户密码存储在 Firebase 数据库的一个方法是管理员创建用于明文存储数据的 “password” 字段。
分析了样本中的数据后,研究人员尝试提醒所有受Firebase 实例保护不当影响企业,并在超过13天内发送了842份邮件。
尽管仅有1%的站长回复邮件,但四分之一的收到通知的站长修复了 Firebase 平台中的配置不当问题。研究人员还从其中两家站长处收到了漏洞奖励。研究人员并未透露奖励数额,只是表示接受了奖励且数额不大。研究人员还通过客户支持渠道联系了一些机构,但回复远不够专业。一家管理着九个网站的印尼赌博网络在收到通知和打补丁指南时甚至愚弄研究人员。巧的是,这家公司暴露的银行账户记录(800万条)和明文密码(1000万个)数量最多。其中一名研究员表示,该公司位于印度尼西亚且年利润达到400万美元。
扫描互联网、解析原始数据和整理大概花费了研究员一个月的时间,且过程并非从始至终都是顺利的。
最初,研究人员使用由 MrBruh 构建的一个 Python 脚本进行扫描,检查网站或Firebase 配置中变量的 JavaScript 绑定。大量的内存耗尽导致脚本不合适,之后换成了 Logykk 用 Golang 编写的变体,扫描互联网花费了超过两周的时间。这个新脚本扫描了超过500万个域名,它们连接到 Firebase 平台用于后台云计算服务和应用开发。
为了自动化检查 Firebase 中的读取权限,研究员使用了 Eva 提出的另外一个脚本,爬取网站或 JavaScript 来访问 Firebase 集合(Cloud Firestore NoSQL 数据库)。
研究人员在配置不当的数据库中共发现了223,172,248条记录。其中,124,605,664条记录与用户有关,余下与组织机构及其测试有关。尽管被暴露记录数量庞大,但研究人员表示这一数字是保守计算,实际可能要更大。
扫描配置不当的 Firebase 实例中的被暴露个人可识别信息是研究员另外一个项目的一部分。两个月前,由于配置不当问题,他们获得了由AI驱动的招聘软件解决方案 Chattr 使用的一个 Firebase 实例上的管理员权限和“超级管理员”权限。
Chattr 用于位于美国的很多大型快餐连锁店,如肯德基、Wendy’s、Taco Bell、Chick-fil-A、赛百味、Arby’s、Applebee’s 和 Jimmy John’s等用它招聘人员。
Chattr 的 Firebase 仪表盘中的管理员角色可用于查看与快餐店求职人员相关的敏感数据,而超级管理员权限可访问公司的账户并以公司名义执行某些任务如招聘决策等。
研究人员负责任地将漏洞提交给 Chattr,后者修复了该问题,不过之后就不再回复研究人员的邮件。
题图:Pexels License
本文由奇安信编译,不代表奇安信观点。转载请注明“转自奇安信代码卫士 https://codesafe.qianxin.com”。
奇安信代码卫士 (codesafe)
国内首个专注于软件开发安全的产品线。
觉得不错,就点个 “在看” 或 "赞” 吧~