更多硬编码凭证的出现,马虎的编码是罪魁祸

GitHub 与移动应用程序的秘密泄露

关键要点

  • 安全领域的研究者在 BSides Las Vegas 安全会议上揭示,许多 web 和移动应用程序中存在安全凭证、密钥及其他“秘密”被暴露的现象。
  • GitGuardian 的研究指出,在公共 GitHub 提交中泄露了超过 1000 万个秘密,比 2021 年增长了 67%。
  • 移动应用程序在存储敏感信息上也存在问题,近一半的 Android 应用程序暴露了明文凭据。
  • 采取适当的安全措施可以显著减少秘密泄露的风险。

在最近于拉斯维加斯举行的 BSides 安全会议上,GitGuardian 的两位研究员麦肯齐·杰克逊(MackenzieJackson)和德维恩·麦克丹尼尔(Dwayne McDaniel)指出,web和移动应用程序中嵌入安全凭证和其他“秘密”的情况频繁发生,这主要源于糟糕的安全实践。

GitHub 上的秘密之海

根据他们公司的最新,公共 GitHub 提交中至少曝光了 1000万个秘密,比 2021 年增加了 67%。他们将“秘密”定义为“任何可以让你访问另一个系统或解密数据的东西”——包括、API令牌、数据库连接 URL 和浏览器会话 cookie。

麦克丹尼尔提到,之所以会出现这种情况,是因为人们在上传代码到 GitHub 时并未检查其中是否包含秘密。他引用了一名丰田开发者的案例,此人在 GitHub上,这一泄露事件竟然长达五年都未被发现。优步也曾遭遇过类似的,连制药巨头也未能幸免。

“在 2022 年,十分之一的 GitHub 作者曝光了秘密,” 麦克丹尼尔说。“每 1000 次提交中就有 5.5 次包含秘密,比前一年增加了 50%。”

2022 年被泄露的具体秘密中,最常见的是 Google API 密钥,占总泄露的 9.7%。

秘密不翼而飞

杰克逊集中讨论了移动应用的凭证泄露问题,引用了 GitGuardian 的研究,显示出从 Google Play 商店反编译的 50,000 个 Android 应用中,近一半的应用暴露了明文凭据。

“那么秘密应该存储在哪里?”杰克逊向听众提问。“不应该存储在面向用户的 Android APK 或 Apple IPA文件中。相反,秘密应该存放在后端秘密管理器中。但实际上,通常会很粗心大意。”


杰克逊指出,现代移动应用程序被设计得功能繁多。他以一家银行的移动应用为例,该应用不仅可以显示余额和存款,还能让用户进行转账、联系客服,甚至可以通过拍照存入支票。这意味着需要不同技能的开发者共同合作,容易导致问题的出现。

他提到 Buddobot 的首席信息安全官杰森·哈迪克斯(Jason Haddix)对于一款主要美国银行的 iOS银行应用进行了拆解。他发现,支票图像未经加密存储在手机的共享文件夹中;有两百万张未加密的支票图像存储在一个不安全的 AWS服务器上;此外,移动应用中的一个硬编码的 plist 文件包含了该银行 Apache Tomcat 网络服务器的管理凭证。

如何检查移动应用的秘密

杰克逊解释了检查移动应用中硬编码秘密其实非常简单。首先需要将移动应用下载到计算机,可以使用类似于[GPlayDL](https://github.com/rehmatworks

Leave a Reply

Required fields are marked *