Cybernews 的一项调查发现,71% 的 iOS 应用存在敏感信息泄露问题。Cybernews 研究人员下载了 15.6 万个 iOS 应用(约占苹果应用商店应用总量的 8%),发现应用开发者在代码中遗留了明文凭证,任何人都可获取。研究结果令人震惊:71% 的受分析应用至少泄露一项敏感信息,平均每个应用代码会暴露 5.2 条敏感信息。
无论是由于无意疏漏还是完全疏忽,这种现象都对毫不知情的用户构成重大安全威胁。虽然许多常见的泄露信息看似无害,但某些信息可能会让攻击者轻易获取用户最私密的数据。
这些泄露的隐私数据可能直接危及你的私人信息
开发者常将 API 密钥、密码等硬编码在应用代码中,导致攻击者可轻易获取这些明文凭证(平均每个应用暴露 5.2 条敏感信息)。尽管美国 CISA 和 FBI 已明确将其列为不良实践,但仍有大量应用在代码中暴露用于 Google 云、Firebase 等服务的认证端点和令牌。部分泄露信息虽单独无害,但常被用于组合攻击或定位目标,而十大高危泄露项中的关键数据若配合端点配置错误,可能直接导致用户数据库被非法访问。
存储桶(Storage Bucket)是泄露风险最高的敏感信息之一。在 78,343 个苹果应用商店应用中发现了这一端点标识符,它通常用于授权应用访问和操作云存储服务(如 Google 云存储或亚马逊 S3)。如果未设置正确的认证机制或凭证直接暴露在代码中,攻击者可能读取或删除云端存储的数据,导致用户隐私面临风险。
另一个高度敏感的泄露信息是数据库 URL(Database URL)。该端点明确指定了特定应用的数据库位置,超过 4.2 万个受测应用暴露了这一秘密。若 Firebase 端点未加密或认证凭证泄露,攻击者可直接访问数据库中存储的用户数据。“这些是最重要的泄露端点,因为它们直接指向用户数据的存储位置,而数据库通常包含活动日志、用户名、邮箱和密码等核心信息。”Cybernews 安全研究员 Aras Nazarovas 解释道:“云存储则常保存用户上传的文件,例如工作文档或应用内聊天发送的图片。”
攻击者如何利用你的隐私数据?
Google 项目 ID、Google 广告应用 ID 和应用 ID 是应用与 Google 服务(如 Google 地图、Google 分析、Google 广告、Firebase 或云存储)通信时所需的唯一标识符。假设攻击者在应用代码中发现了这些 ID,他们就能利用其锁定攻击目标,更轻易地定位其他暴露的凭证或可利用的脆弱端点。
若与 API 密钥等其他凭证结合使用,攻击者可能尝试访问与该应用关联的 Google 服务。他们还可能伪装成应用本身,从而越权访问服务、修改窃取隐私数据,或通过伪造请求对 API 进行恶意攻击(如流量过载)。
尽管用户认证必需的 OAuth 令牌通常不会直接暴露,但与之配套的客户端 ID 却是最常泄露的敏感信息之一。攻击者可利用泄露的客户端 ID 创建虚假 OAuth 授权页面,诱骗用户授予账户访问权限。若应用未正确验证令牌,攻击者还可能通过窃取的客户端 ID 劫持用户会话。
这些泄露的隐私数据可能帮助攻击者入侵 Facebook 账户
iOS 应用也常泄露 Facebook 应用 ID 和客户端令牌。这些信息用于在 Facebook 生态系统中识别应用,以实现 Facebook 登录、分析和分享等功能。
攻击者可利用这些凭证创建高仿钓鱼应用,进而盗取用户账户。由于客户端令牌可代表应用对 Facebook API 请求进行认证,攻击者还可能利用泄露的令牌向 Facebook Graph API 发送恶意请求。
为何我们深陷危机?
代码中暴露敏感信息的问题极为普遍。安全公司 GitGuardian 透露,整个 2024 年,开发者向 GitHub 提交的代码中,新增了超 2300 万个硬编码敏感信息。
Nazarovas 表示:“由于这类敏感信息广泛存在且易于利用,此类漏洞被视为移动应用面临的最大威胁。这向恶意行为者表明,大量应用存在漏洞,且无需耗费太多精力即可利用。这促使众多威胁行为者大规模利用这些漏洞。”网络威胁无休无止,全球安全隐患持续存在,而一个 API 密钥等单一敏感信息就可能引发严重问题。
2024 年 12 月,某技术支持提供商 BeyondTrust 泄露的 API 密钥被利用,导致美国财政部遭远程访问。Verizon 报告显示,过去十年,31% 的违规事件涉及被盗凭证。尤其棘手的是,被盗或泄露凭证引发的违规事件最难察觉。根据 IBM 报告,平均需 292 天才能发现并解决这类问题,耗时超过其他任何攻击方式。
责任编辑:石旭
小手一抖把码扫,物联消息全知晓
2025-03-25
2025-03-27
2025-03-26
2025-03-27
2025-03-28
2025-03-26
2025-03-28
2025-03-31
2025-03-31