流行的Android应用程序充斥着加密漏洞

哥伦比亚大学的研究人员发布了Crylogger,这是一种开放源代码动态分析工具,可显示哪些Android应用程序具有加密漏洞。

他们还使用它测试了Google Play商店中1780个流行的Android应用程序,结果令人震惊:

  • 所有应用都破坏了至少一个 26个加密规则
  • 1775个应用使用了不安全的伪随机数生成器(PRNG)
  • 1,764个应用使用了损坏的哈希函数(SHA1,MD2,MD5等)
  • 1,076个应用程序使用CBC操作模式(在客户端-服务器方案中容易受到填充oracle攻击的影响)
  • 820个应用程序使用静态对称加密密钥(硬编码)

安卓系统应用程序的加密漏洞

关于Crylogger

每个带有测试加密库的经过测试的应用都在 低温记录仪,它记录执行期间传递给加密API的参数,然后使用加密规则列表离线检查其合法性。

安卓系统应用程序的加密漏洞

“密码(密码)算法是所有安全系统的基本组成部分:例如,密码哈希函数和加密算法可以保证诸如完整性和机密性,”研究人员解释说。

“加密滥用是对不遵守通用安全准则的加密API的调用,例如由密码学家或NIST和IETF等组织建议的准则。”

为了确认可以真正利用Crylogger标记的加密漏洞,研究人员手动对28个经过测试的应用程序进行了逆向工程,发现其中14个易于受到攻击(即使某些问题可能被开发人员认为不在范围内)因为它们需要提升权限才能有效利用)。

推荐用途

比较Crylogger(动态分析工具)的结果与 加密卫士 (一种用于检测基于Java的应用程序中的密码滥用的开源静态分析工具)在测试150个应用程序时,研究人员发现前者标记了后者遗漏的一些问题,反之亦然。

研究人员指出,对于开发人员而言,最好的办法是在将它们都提供下载之前先对它们进行测试。另外,Crylogger可用于检查提交到应用商店的应用。

“在大量应用程序上使用动态工具非常困难,但Crylogger可以改善通过静态分析发现的误用情况,因为通常,其中许多是误报,无法在大量应用程序上手动丢弃,” they 结论.

令人担忧的发现

如本文开头所述,太多的应用程序破坏了太多的加密规则。什么’而且,太多的应用程序和库开发人员选择有效地忽略这些问题。

研究人员通过电子邮件向306个违反9个或更多加密规则的Android应用程序开发人员发送了电子邮件:只有18个开发人员回覆,只有8个开发人员在第一封电子邮件后继续进行交流,并提供了有关其发现的有用反馈。他们还联系了流行的Android库的6位开发人员,并从其中2位获得了答案。

研究人员选择不透露易受攻击的应用程序和库的名称,因为他们担心信息会给攻击者带来好处,但他们分享了足够多的信息,表明这些问题会影响所有类型的应用程序:从媒体流和报纸应用程序到文件和 密码管理员,身份验证应用程序,消息传递应用程序等。

分享这个