GitHub 与移动应用程序的秘密泄露
关键要点
安全领域的研究者在 BSides Las Vegas 安全会议上揭示,许多 web 和移动应用程序中存在安全凭证、密钥及其他“秘密”被暴露的现象。GitGuardian 的研究指出,在公共 GitHub 提交中泄露了超过 1000 万个秘密,比 2021 年增长了 67。移动应用程序在存储敏感信息上也存在问题,近一半的 Android 应用程序暴露了明文凭据。采取适当的安全措施可以显著减少秘密泄露的风险。在最近于拉斯维加斯举行的 BSides 安全会议上,GitGuardian 的两位研究员麦肯齐杰克逊Mackenzie Jackson和德维恩麦克丹尼尔Dwayne McDaniel指出,web 和移动应用程序中嵌入安全凭证和其他“秘密”的情况频繁发生,这主要源于糟糕的安全实践。
GitHub 上的秘密之海
根据他们公司的最新年度公共 GitHub 提交扫描,公共 GitHub 提交中至少曝光了 1000 万个秘密,比 2021 年增加了 67。他们将“秘密”定义为“任何可以让你访问另一个系统或解密数据的东西”包括用户名/密码对、API 令牌、数据库连接 URL 和浏览器会话 cookie。
麦克丹尼尔提到,之所以会出现这种情况,是因为人们在上传代码到 GitHub 时并未检查其中是否包含秘密。他引用了一名丰田开发者的案例,此人在 GitHub 上错误地发布了近 300000 个客户电子邮件地址,这一泄露事件竟然长达五年都未被发现。优步也曾遭遇过类似的问题,连制药巨头阿斯利康也未能幸免。
“在 2022 年,十分之一的 GitHub 作者曝光了秘密,” 麦克丹尼尔说。“每 1000 次提交中就有 55 次包含秘密,比前一年增加了 50。”
2022 年被泄露的具体秘密中,最常见的是 Google API 密钥,占总泄露的 97。
秘密不翼而飞
杰克逊集中讨论了移动应用的凭证泄露问题,引用了 GitGuardian 的研究,显示出从 Google Play 商店反编译的 50000 个 Android 应用中,近一半的应用暴露了明文凭据。

“那么秘密应该存储在哪里?”杰克逊向听众提问。“不应该存储在面向用户的 Android APK 或 Apple IPA 文件中。相反,秘密应该存放在后端秘密管理器中。但实际上,通常会很粗心大意。”
阅读更多关于 Black Hat 2023 的报道。
杰克逊指出,现代移动应用程序被设计得功能繁多。他以一家银行的移动应用为例,该应用不仅可以显示余额和存款,还能让用户进行转账、联系客服,甚至可以通过拍照存入支票。这意味着需要不同技能的开发者共同合作,容易导致问题的出现。
下载旋风加速器他提到 Buddobot 的首席信息安全官杰森哈迪克斯Jason Haddix对于一款主要美国银行的 iOS 银行应用进行了拆解。他发现,支票图像未经加密存储在手机的共享文件夹中;有两百万张未加密的支票图像存储在一个不安全的 AWS 服务器上;此外,移动应用中的一个硬编码的 plist 文件包含了该银行 Apache Tomcat 网络服务器的管理凭证。
如何检查移动应用的秘密
杰克逊解释了检查移动应用中硬编码秘密其实非常简单。首先需要将移动应用下载到计算机,可以使用类似于[GPlayDL](https//githubcom/rehmatworks