科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网安全频道移动安全崩溃的Android:问题出在交叉证书上

崩溃的Android:问题出在交叉证书上

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

交叉证书会导致Android设备崩溃,并且这并不是第一次出现这样的问题。那么,这一问题存在着怎样潜在的安全风险?

来源:TechTarget中国 2015年6月24日

关键字: Android 移动设备安全 安全漏洞 交叉证书

  • 评论
  • 分享微博
  • 分享邮件

据报道,交叉证书会导致Android设备发生问题。这些问题背后的漏洞是什么呢?攻击者可以利用这些漏洞吗,如果是这样,是否有办法来缓解这些问题?

Michael Cobb:交叉证书提供了一种方法,从单一的受信任的根或者从属证书颁发机构,为多个其他根或从属CA创建信任链。一个CA颁发的交叉数字证书用来为另一个CA的根证书签发公钥,允许在两个CA层次结构之间使用和信任证书。例如,在微软Windows中,交叉证书允许操作系统内核有单个受信任的微软根授权,同时扩展信任链到多个商业CA,这些CA签发证书用于代码签名软件,以在Windows机器中分发和安装软件。

在所有交叉证书机制中,单个证书会链接到不同的根CA,这取决于哪个企业的计算机在验证该证书。例如,假设有一个Key Supplies公司以及其客户Big Builders公司,为了在他们运行的从属和根CA之间配置完全的信任,每个企业的根CA需要与另一个公司的从属企业CA进行交叉认证。这使得由任何CA颁发的证书链接到每个企业信任的根。如果证书颁发给Key Supplies的员工,当由该Key Supplies网络内的其他计算机验证时,这将会验证到Key Supplies的CA,但如果由Big Builders网络中计算机验证的话,这将会验证到该客户的CA。

交叉签名可以创建非常长的证书链,并且,相同的证书有不同的证书链。这让证书验证在处理时间和网络流量方面更加昂贵,并增加了额外的复杂性。

这些可能是为什么Android设备处理交叉签名证书出现问题的原因。趋势科技公司研究人员发现,当在Android设备安装新应用或者导入特质钥匙串时引入特殊构造的恶意证书(当两个证书在连续循环中交叉签名时创建),设备可能会减慢或者死机。这个漏洞是由Android框架中两个常用类造成:JarFile和KeyStore类。JarFile类用于验证jar数据包的证书和签名文件,但当尝试验证交叉签名证书链时它会陷入无限循环中;这个过程会不断使用系统资源直到它耗尽,而这会导致设备重新启动。KeyStore类用于为遭遇相同问题的Android KeyStore处理PKCS#12文件。这个漏洞出现在所有Android版本中,并且,直接或间接使用这两种类任何代码都可能面临风险。

但是,这个漏洞并没有任何直接的安全问题;几年前在Firefox中发现了类似的漏洞。在未来的研究可能会找到一种方法,在当设备的系统资源被耗尽以及在重启前变得不稳定时注入或运行任意代码。

谷歌已经意识到这个漏洞,但并没有给出任何补丁时间表。在此期间,管理员应该关注该漏洞补丁的安全新闻或者攻击者可利用该漏洞的证据。而用户则应该从受批准的商店下载应用,并且,当他们的设备运行缓慢或意外重启时立即报告。

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章