研究人员开发了一个开源工具来动态检测应用程序中的密码漏洞;他们在扫描的1780个流行的Android应用程序中的306个应用程序中发现了漏洞

2020-09-09 16:50:27

哥伦比亚大学的一组学者开发了一种定制工具,可以动态分析Android应用程序,看看它们是否以不安全的方式使用密码。

该工具名为CRYLOGGER,在2019年9月和10月被用于测试1780个Android应用程序,这些应用程序代表了33个不同Play Store类别中最受欢迎的应用程序。

研究人员表示,该工具检查了26条基本密码规则(见下表),在306个Android应用程序中发现了错误。一些应用程序违反了一条规则,而另一些则违反了多条规则。

规则#1-1764个应用程序-不要使用损坏的散列函数(SHA1、MD2、MD5等)。

这些是任何密码学家都非常了解的基本规则,但一些应用程序开发人员可能在进入应用程序开发空间之前没有学习过应用程序安全(AppSec)或高级密码学就不知道这些规则。

哥伦比亚大学的学者表示,在测试了这些应用程序后,他们还联系了被发现存在漏洞的306个Android应用程序的所有开发者。

研究小组称,所有的应用程序都很受欢迎:它们的下载量从数十万次到超过1亿次不等。不幸的是,只有18名开发人员回复了我们的第一封电子邮件请求,其中只有8人多次回复,并就我们的发现提供了有用的反馈。

虽然一些密码错误存在于应用程序的代码中,但一些常见的错误也是作为应用程序使用的Java库的一部分引入的。

研究人员说,他们还联系了六个流行的Android库的开发者,但和以前一样,他们只收到了其中两个库的答案。

由于没有一个开发者修复他们的应用程序和库,研究人员没有公布易受攻击的应用程序和库的名称,理由是可能有人试图利用这些应用程序来攻击用户。

总而言之,研究团队相信他们已经构建了一个强大的工具,Android开发人员可以可靠地将其用作CryptoGuard的补充工具。

这两个工具是互补的,因为CryptoGuard是静态分析器(在执行前分析源代码),而CRYLOGGER是动态分析工具(在代码执行时分析代码)。由于两者在不同的层面上工作,学者们认为,两者都可以用来在应用程序代码命中用户设备之前检测Android应用程序中与密码相关的总线。

有关该团队研究的更多细节可以在一本名为“CRYLOGGER:动态检测密码滥用”的预印本中找到,该书将于明年5月在2021年5月举行的IEEE安全与隐私研讨会上公布。