一种缓解 Android SSL 漏洞的应用包配置方法
密码学与安全
2014-10-29 v1
摘要
智能手机等计算平台通常通过许多独立的应用程序而非单一的 Web 浏览器应用程序来访问 Web 内容。这些应用程序经常处理敏感的用户信息(如财务数据或密码),并使用安全套接层(SSL)来保护这些信息免受未经授权的窃听。然而,最近的研究证实,应用程序中普遍存在 SSL 验证配置错误的问题。本文探讨了 Android 应用程序开发者在修改 SSL 代码以使用常见功能(如证书绑定或使用自签名 SSL 证书)时面临的困难。例如,开发一个访问带有自签名证书的测试 Web 服务器的应用程序需要额外的代码来移除 SSL 验证;然而,这段代码并不总是在应用程序的生产版本中被移除。为了缓解因 Android 应用程序中定制 SSL 代码的复杂性而引入的漏洞,我们建议在应用程序的包清单(package manifest)中指定通用的 SSL 配置。我们提供两个具体建议:1) 将应用程序的调试状态与 SSL 验证关联起来;2) 在清单中绑定证书和证书颁发机构(CAs)。我们在 Google Play 商店的超过 13,000 个应用程序上评估了这两项建议的适用性,其中 3,302 个在非广告代码中使用了 SSL,研究发现其中 1,889 个(57.20%)SSL 应用程序将从中受益。
引用
@article{arxiv.1410.7745,
title = {An Application Package Configuration Approach to Mitigating Android SSL Vulnerabilities},
author = {Vasant Tendulkar and William Enck},
journal= {arXiv preprint arXiv:1410.7745},
year = {2014}
}
备注
In Proceedings of the Third Workshop on Mobile Security Technologies (MoST) 2014 (http://arxiv.org/abs/1410.6674)