热门健身应用 Fitify 曝光 13.8 万张用户进度照片
HackerNews 编译,转载请注明出处: Fitify公开可访问的谷歌云存储桶暴露了数十万个文件。其中部分文件是用户上传的进度照片,用于追踪身体随时间的变化。在Cybernews联系该公司后,未受保护的实例被关闭。 5月初,Cybernews研究团队发现了一个Fitify拥有且公开可访问的谷歌云存储桶。虽然该未受保护实例中暴露的大部分文件是锻炼计划和指导视频,但研究人员也注意到用户与应用的“AI教练”分享的照片以及他们的身体扫描图。 该应用的目标用户是希望减肥、塑形或以其他方式改善体态的人群。身体扫描允许用户根据健身计划锻炼或节食后追踪身体随时间的变化。Fitify在Google应用商店的描述中明确声明“数据在传输中加密”,向用户保证他们的私人照片不会被泄露。 然而,Cybernews团队或任何其他人,无需任何密码或安全密钥即可访问该云存储。 “值得注意的是,‘进度照片’和‘身体扫描’通常穿着较少的衣物拍摄,以便更好地展示减肥和增肌的进展。因此,大多数泄露的图像可能是用户通常希望保持私密、不与互联网上任何人分享的类型。”研究团队表示。 Fitify Workouts(该应用背后的公司)在收到Cybernews研究人员的联系后作出回应,关闭了暴露的实例,将其从公开访问中移除。 Fitify数据泄露的范围有多大? 现已关闭的谷歌云存储桶总共包含37.3万个文件。其中20.6万是用户个人资料照片,另有13.8万被标记为进度照片。1.3万个文件是通过应用AI教练消息附件共享的,还有6000个被标记为“身体扫描”数据,包括图片和AI元数据。 身体扫描功能允许用户进行身体的3D扫描,应用会提供其瘦体重、体脂、姿势及其他他们可能希望改善或追踪方面的详细分析。 “此次泄露表明,应用实施的数据访问控制不足以保护用户数据,而该数据无需任何密码或密钥即可被访问的事实,证明用户数据在静态时未加密。”研究团队解释道。 在发现暴露的实例后,研究人员交叉核对了Fitify的名称是否包含在他们用来调查苹果应用商店应用实际安全性的随机选取数据集中。 Cybernews研究人员下载了15.6万个iOS应用(约占苹果应用商店所有应用的8%),发现开发者经常在应用代码中留下任何人都可访问的明文凭证。 调查结果显示,71%的被分析应用至少泄露一个机密凭证,平均每个应用代码暴露5.2个机密凭证。事实证明,Fitify也不例外。 “在调查了暴露的凭证后,我们发现了可能用于访问更多客户数据和应用后端基础设施的凭证。”该团队解释道。 “这也表明,配置错误的云存储桶访问控制并非应用开发者的唯一失误,因为许多API密钥和敏感端点位置也被硬编码在应用前端中。” Fitify应用暴露了哪些硬编码机密凭证? 开发者硬编码机密凭证有多种原因。虽然有时是应用正常运行所必需的,但某些凭证和密钥不应保持可访问状态,因为它们会让攻击者深入应用内部,并可能访问私人用户数据。 研究团队注意到开发环境和生产环境之间存在不同类型的机密凭证。Fitify的开发环境暴露了以下硬编码凭证: 安卓客户端ID (Android Client ID) 谷歌客户端ID (Google Client ID) 谷歌API密钥 (Google API Key) Firebase URL 谷歌应用ID (Google App ID) 项目ID (Project ID) 存储桶 (Storage Bucket) 攻击者可以利用ID和密钥访问谷歌和Firebase基础设施组件,收集信息,然后深入挖掘应用,可能获取敏感用户数据。 例如,暴露谷歌客户端ID和安卓客户端ID可能使恶意行为者能够冒充合法的应用实例,从而可能获得用户账户的访问权限。同时,存储桶可能使攻击者能够注入恶意文件或修改现有内容。 与此同时,Fitify的生产环境暴露了以下硬编码凭证: 安卓客户端ID (Android Client ID) 谷歌客户端ID (Google Client ID) 谷歌API密钥 (Google API Key) Firebase URL 谷歌应用ID (Google App ID) 项目ID (Project ID) 存储桶 (Storage Bucket) Facebook应用ID (Facebook App ID) Facebook客户端令牌 (Facebook Client Token) Firebase动态自定义域名 (Firebase Dynamic Custom Domains) Algolia API密钥 (Algolia API Key) 结合先前泄露的信息,硬编码的凭证可能使攻击者能够通过Fitify访问用户的社交媒体数据。与谷歌凭证结合使用,这为影响健身数据和社交媒体档案的多种攻击场景创造了多个攻击途径。 该团队声称,虽然Fitify在解释他们使用的第三方供应商及其用途方面比大多数应用做得更好,但其隐私政策并未提及使用Algolia。 “Algolia仅以软件即服务(SaaS)模式提供,没有自托管选项,这意味着数据库中的数据由Algolia或其第三方供应商托管。”研究人员表示。 如何修复易泄露的应用? 我们的研究人员认为,要有效缓解此问题,最好分别处理暴露的实例和硬编码的凭证。为了解决云存储桶相关问题,团队建议: 配置云存储桶内置的身份验证功能,将访问权限限制在仅限应访问存储数据的员工和系统。 同时,为防止应用机密凭证落入错误的人手中,团队建议采取以下措施: 泄露的凭证需要撤销,新凭证应在公司控制的服务器内安全地生成和存储,需要对暴露端点的访问控制设置进行审查,并建议执行审计以确定这些漏洞和错误配置是否已被恶意行为者利用。应用需要更新以兼容新的、更安全的基础设施。 消息来源: cybernews; 本文由 HackerNews.cc 翻译整理,封面来源于网络; 转载请注明“转自 HackerNews.cc”并附上原文