[关闭]
@ensis 2016-09-30T17:08:37.000000Z 字数 1607 阅读 1273

iOS 10安全漏洞,备份密码更容易被破解

雷锋网投稿


大家好,今天跟大家说一个“我很快但是我不安全的故事”。假设在一个地方有两个办事柜台,它们都会接收你提交的文件信息来进行审核,并在结束后给你一个通过或拒绝的回单,拿到通过的回单,你就可以去你的账户里提取想要的任何东西。然而若拿到拒绝的回单,它们则不会告诉你拒绝的原因,也不会对你曾经被拒绝过的状态进行记录。这两个柜台提供的功能基本相同,你能感受到的唯一也是巨大的差别就是——办事速度。其中一个柜台里的办事员是标准的树懒型,在你提交文件后需要等5min才能拿到结果,而另一个柜台的办事风格则是闪电型,1min立等可取。它们办事的准确度都是一样的,那么在这种情况下哪个柜台会更受欢迎呢,想必在现实中所有的人都更喜欢去闪电型的柜台。但不幸的是,心怀不轨的人更是如此。一个坏人可以霸占这个闪电型柜台,不断的向柜台提交你的信息文件,尽管里面有一些你的信息他不知道,但通过不断的尝试,他最终可以试出正确的版本,拿到通过的回单,去你的账户里随意提取。

那我们今天要说的iOS 10备份安全问题,导致这个问题的原因,就是iOS 10系统中的备份机制里有类似这样的”闪电型柜台“的存在。更具体一点来说,就是原本你输入的用于保护备份的密码要经过10000次的哈希运算(KBKDF2)后,再去验证你输入的密码是否正确,而在ios 10中,密码只需要经过一次哈希运算(SHA256)的情况与原本10000次哈希的情况同时存在。或许苹果引入这个“闪电型柜台”的原因是考虑到想要节省用户备份一次的时间,让每次备份完成地更快,这或许也是用户想要的,但这种做法同时也为攻击者打开了攻击的窗口。通过这个窗口,攻击者可以比攻击ios 9快2500倍。攻击的直观后果是攻击者可以解密开备份文件,看到手机里的通讯录、短信、通话记录、照片等那些你拿到一个已经解锁的手机可以看到的内容,除此之外,保存在手机里的密码记录,比如访问网页时记住密码的那些信息,都可以被攻击者看到。

但攻击的条件还是稍微有些高的。因为只有备份机制里存在“闪电型柜台”问题,并且攻击者判断尝试是否成功的依据又需要拿到备份文件,因此攻击者只有通过iTunes获取到手机的备份才能开展攻击。这里强调通过iTunes是因为通过iCloud获取备份要要绕过其账户名密码的保护,而直接从电脑里获取备份文件则容易得多,因此苹果在发表的声明中提到,建议用户给电脑设一个比较强的密码并且只有授权的用户才能访问,此外,还可以考虑使用FileVault全磁盘加密软件来给备份文件多一层保护。截至本文完稿时,苹果还没有放出相应的安全更新,那么对于使用了iTunes备份iOS 10的用户,一定要保护好你电脑里的备份文件。其实通过上面的描述,我们可以发现这个安全问题的影响还是有限的。发现这个问题的Elcomsoft公司(俄罗斯一家颇有名气的公司,2014年的好莱坞艳照事件就跟其有关)的CEO也表示,苹果手机是安全的,iOS也仍是安全的。

最后想展开讨论的一点是,对于密码的攻击,暴力破解是很常见的一种方式,尽力增加攻击者的攻击代价是比较有效的一种对抗此类攻击的方式。然而实际应用中,特别是安卓应用对密码的保护强度较差,除去很多会将密码不加保护地发送到网络上的这种安全性极其低的应用,还有一大部分应用只会对密码进行一次简单的MD5哈希。这样的保护强度对于攻击者的能力要求是很低的,因此强烈推荐应用开发者在客户端使用PBKDF2对密码进行保护后再发送到服务器。一来服务器存储经过PBKDF2运算后的结果而不是直接存储密码是一个推荐的做法,在客户端算好这个结果又可以分担服务器的计算压力,二来仅一次PBKDF2运算对客户端来说并不会带来可观的额外计算压力,但对于要尝试很多次的攻击者来说累计起来的计算量却是很大的,保证了攻击者拿到计算后的结果后也不能轻易地暴力破解出原本的密码。

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注