2300个Firebase数据库安全验证不当导致超1亿敏感信息泄漏,3000款以上移动app受影响
0x01 漏洞描述
近日白帽汇安全研究院关注到,一个由于安全验证不当引发Firebase大量数据泄漏的漏洞,此漏洞导致Firebase中大量数据信息可直接被公开访问。Firebase是Google提供的一款构建后端架构的完整解决方案BaaS云服务,据统计有27,227个Android和1,275个iOS移动应用依靠此平台构建,截至目前不完全统计,Firebase平台上存在此安全问题的移动应用数量约3,046个,其中2,446个Android和600个iOS应用,分别将数据保存在2,271个Firebase数据库中,有超1亿条敏感信息记录,113 GB的数据泄露。受影响的App中仅Android版的下载量就超过6.2亿次。受影响App波及行业众多,其中电信行业、金融行业、加密货币、邮政服务,教育机构,酒店,生产,健康,健身,工具等众多行业都有涉及,相关企业厂商如有应用涉及,应加以重视。3,000多款iOS和Android应用受到影响,虽然此安全问题出现的表层原因在于app开发者没有对数据进行授权访问,以笔者观点,根本原因在于Google对Firebase用户信息安全没有做到强有力的保障,在默认情况下没能有效保护好使用者的数据,并且没有提供一套可以供用户进行安全授权的验证框架和信息进行加密使用的机制,作为一个全球知名巨头,为广大用户提供从零到一构建App的平台,表面上不需要用户提供基础设施及后端框架,却在安全机制上如此甩锅,未免太拘泥于形式而置用户核心利益于不顾了。
截至发稿时仍有大量应用未修复此问题:
0x02 背景介绍
Firebase是一款构建后端架构的完整解决方案,它能帮助开发者很快的写出Web端和移动端的应用。于2014年10月被Google收购,用户可以在更方便地使用Firebase的同时,结合Google的云服务快速从零到一的构建应用。通过Firebase框架服务体系就可以简单地开发一个App,无需服务器以及基础设施。但是,Google的Firebase服务不提供安全访问控制机制。
0x03 漏洞详情
Google的Firebase服务是最受欢迎的云数据库托管服务和后端即服务(BaaS)之一,它可供开发人员存储移动应用程序使用的用户身份验证详细信息和其他数据信息。Firebase提供客户端组件以简化与Android,iOS,Javascript,Java,Objective-C,Swift和Node-j的集成。它可以通过REST API使用HTTP连接来接收来自服务器的任何推送通知。但Google不提供安全访问控制机制也不提供可供识别潜在攻击的安全规则信息。开发人员必须为所有数据库的表和行明确他们自己的用户验证机制,以保护其数据库免受未经授权的访问。如果没有额外的安全设置,攻击者可以轻松找到开放的Firebase应用程序数据库并访问其移动应用程序使用中存储的敏感数据。Android和iOS应用程序均会受到影响。
攻击者通过观察应用访问“firebaseio.com“服务器的网络连接,很容易找到开放的Firebase应用程序数据库。Firebase为应用程序开发人员提供了一个API服务器,firebaseio.com,用来访问其服务托管的数据库。攻击者可以通过在主机名末尾添加一个空白数据库名称的“/.json”来访问不受保护的数据。这个过程不需要特殊的工具来成功,只需在传统的浏览器上进行剪切和粘贴即可。
API URL:https:// <Firebase project name>.firebaseio.com/ <database.json>
Payload:https:// <Firebase project name>.firebaseio.com/.json
通过应用此payload模型分析检测,有3,046(10/69%)个由于身份验证设置不当(与HospitalGown(2017)类似的攻击矢量)导致潜在风险的应用程序,超过270万个Android和iOS应用连接到“*.firebaseio.com “Firebase数据库主机。这种不当的身份验访问会导致超过3,046个应用程序,超过113 GB的数据泄露(2,3,446个为Android版占80.3%,600为IOS 占19.7%),从2,300个不同的数据库中超过1亿条记录可以公开给任何人访问。这仅仅在Android应用上的统计,显示到的下载量已超过6.2亿次。
0x04 漏洞影响
受影响的移动应用程各行各业均有,如电信,加密货币,金融服务,邮政服务,教育机构,酒店,生产,健康,健身,工具等。具相关报告显示,975(40%)易受攻击的应用程序与业务相关,安装在活跃的客户群体中,企业私钥和访问凭据(可能允许攻击者泄露敏感的知识产权),私人商业对话和销售信息将泄露。
据相关研究报告统计:
60万明文(是的,你看到的是正确的)密码和用户登录ID。
400万+ PHI(受保护的健康信息)记录(聊天消息和处方详情)。
2500万个GPS位置记录。
50,000个财务记录,包括银行业务,付款和加密货币交易。
450万+ Facebook,LinkedIn,Firebase和企业数据存储用户令牌。
0x05 总结分析
基于以上信息,我们可以看到这个漏洞影响的数据可分为三组。
第一组是受监管的数据,这是受HIPAA,PCI和GDPR等监管要求约束的高度敏感的私人信息。该类下的数据是医疗信息,原始个人数据(全名,电子邮件地址,电话号码,地理位置,包括Facebook OAuth令牌),车牌号码和信用卡号码。
第二组是个人数据,可能不受监管要求的限制,但可能会暴露私人或财务信息。该组下的数据是来自网络应用,语音录制和加密货币钱包应用泄露交易历史的私人消息以及用户拥有的加密货币总量。
此外,最后一组是敏感企业数据,这可能会导致组织丧失知识产权(IP),破坏其可行性和竞争力。在最后一个数据组中有975个易受攻击的应用程序,大约有40%。到目前为止,结果表明,具有开放(可访问)后端Firebase数据库服务器的应用程序是频繁且严重的数据泄露威胁,暴露了大量Android和iOS应用程序中的多种受监管的、个人和企业敏感数据以及数百万用户信息。
无论以上哪组信息泄露带来的影响都是难以估量的,在目前网络安全威胁日益严重的环境下,无论从应用开发者,还是平台服务提供者,都应对安全问题加以重视。
0x06 修复建议
1. 对访问进行访问控制验证及配置规则授权。
参考
[1] https://www.helpnetsecurity.com/2018/06/20/unsecured-firebase-databases/
最新评论