哥伦比亚大学的研究人员最近发布了Crylogger,这是一款开源动态分析工具,可以检测安卓应用中的加密漏洞。研究人员使用Crylogger对GooglePlayStore中的1780个流行的Android应用程序进行了测试,涵盖了流行的信息流媒体、文件和密码管理器、身份验证应用程序、个人通信等应用程序,结果令人震惊,几乎所有的Android应用程序都存在加密漏洞:所有测试的应用至少违反了26条加密规则中的一条1775个应用使用了不安全的伪随机数生成器(PRNG)1764个应用使用了损坏的哈希函数(SHA1、MD2、MD5等)1076个应用使用了CBC操作模式(在客户端-服务器场景中容易受到填充oracle攻击)820个应用程序在Crylogger上使用静态对称加密密钥(硬编码)进行检测每个带有检测加密库的应用程序都在Crylogger中运行,它记录程序执行期间传递给加密API的参数然后使用加密规则列表离线检查它们的合法性。“加密(加密)算法是所有安全系统的基本构建块:例如,加密哈希函数和加密算法保证安全属性,例如完整性和机密性,”研究人员解释说。不遵守通用安全指南的加密API,例如密码学家或NIST和IETF等组织建议的API。”为了确认Crylogger实际上可用于识别和标记密码漏洞,研究人员手动对28个经过测试的applications.reverseengineered,发现其中14个确实存在漏洞(尽管有些问题可能被开发者认为是在加密范围之外,因为它们需要提升权限才能被有效利用)通过150个对比测试通过双管齐下的示例应用程序,研究人员发现Crylogger(一种动态分析工具)和CryptoGuard(一种用于检测Java应用程序加密滥用的开源静态分析工具)是互补的,前者遗漏的一些漏洞将被检测到后者.检测到,反之亦然.研究人员建议开发者同时使用以上两种在应用程序商店上架或发布之前测试应用程序的工具。正如本文开头所述,一个令人不安的发现是太多的应用程序破坏了太多的加密规则。此外,太多的应用程序和库开发人员选择忽略这些问题。研究人员向306名违反9项或更多加密规则的Android应用程序开发者发送了电子邮件:只有18名开发者做出了回应,只有8人在收到第一封电子邮件后继续沟通,并就他们的发现提供了有用的反馈。他们还联系了6个流行的Android库的开发者,并从其中2个那里得到了答案。【本文为专栏作者“安安牛”原创文章,转载请通过安安牛(微信公众号id:gooann-sectv)获得授权】点此查看作者更多好文
