5
雷锋网按:本文来自硬创公开课 | FBI与苹果之间的安全攻坚战专场,内容整理自Song的演讲实录。
分享嘉宾:李嵩Song,西雅图Newsky Security公司联合创始人兼CTO,先后毕业于上海交通大学,西雅图华盛顿大学(University of Washington),专注移动和物联网安全。2002年独立设计制作CAN-bus reader破解车载计算机通信,2015年参与成立Newsky Security,15分钟破解美国最大智能锁厂家kevo产品;业内知名防病毒专家,黑客。
(Song大牛在电脑前准备公开课的演讲)
1、FBI是如何破解苹果的?有哪些可能的方式?
首先我来讲讲破解iPhone的可能形式。iPhone锁屏密码关系到设备存储的数据,这是FBI真正的目标。如果锁屏密码输入错误超过10次,iOS就会销毁设备上面的数据。所以FBI为了拿到数据,一种做法是直接获得密码,可以找嫌疑人要(撬出来,骗出来,老虎凳辣椒水不行就上美人计),或者利用以前的跟踪拍摄记录看到嫌疑人输入密码的过程,当然还可以根据屏幕上面的手印来猜。
先介绍一下背景,这次事件是因为FBI之前获得一台苹果5C,型号很重要,不同苹果手机跟配套软件不同破解方式不一样,这次是在美国一次枪击事件中拿到,基本确认这就是疑犯的手机,FBI就理直气壮找苹果来破解。那么问题来了:为什么FBI要找苹果获取?获取数据会有几种方式,下面我们就分析一下常见得获取数据的几种方式。
获取数据的几种方式
是这样的,传统来说,作为FBI这样的执法机关主要有三大类获取数据的方法,第一种就是传统的做法,比如说他可以把嫌疑人抓起来,问他你交不交出来?威逼利诱。第二种通过法律手段去找苹果公司,让公司提供数据。第三种是去找黑客,通过技术手段获取相关数据。
在这个情况下,因为手机的主人已经被FBI干掉了,苹果在这件事情抓住机会,不合作,大肆公关,,做了一次很好的PR行为,我们只好找黑客,进行数据的提取。
2、从技术层面来说,最可能的破解方式是什么?
从技术层面来说,对于数据的破解,软件也好,硬件也好,一般都是通过系统本身的漏洞来做。在历史上,苹果的设备手机、PAD都出现过漏洞,当然对其他手机来说,苹果的漏洞相对来说是很少的。有的是说,通过界面读取器获得数据;还有的说把系统打开来,用硬件读出来。这里我给大家看张图:
大家可以看到,图片上是一个硬件。它能快速模拟人工的输入,然后进行暴力的密码破解。大家在ebay上也能买到,很便宜的,淘宝上估计更便宜,应该是一种很好的破解方式。那么为什么这次大家不看好这种方式呢?因为苹果对无限输入密码这种方式做了防护,如果你多次输错密码,那么苹果手机里的数据就会被永远擦除。
现在上的这张图,是一个对闪存处理器进行读取的图,苹果手机内部也是用的类似芯片,大家可以看到非常暴力,把闪存芯片各个引脚完全接起来,在苹果防护面前只能读取苹果5c或更低端更早期的产品的能力,后面的5S、6S之类就没有办法读取,详情我后面再跟大家介绍一下。
跟大家说一下,这次在安全圈子里(包括中国和美国的顶级黑客)讨论的结果,应该是上面两张图的配合。就是说,大家利用苹果5c这个设备,对于输错密码的这种防护机制本身不够。大家比较公认这次黑客的做法是用后面这张图的做法,把苹果手机里面的状态全部复制,用类似于第一张图的方式进行输入,当多次输入错误后,设备将自动清除数据时,用第二张图里的设备将手机里面的状态恢复,然后继续输入密码。
可能有的听众要问了,看第一张图蛮土的 ,为什么要这种做法。从苹果的安全体系架构,安全链条来说, 最薄弱的一点就是四位锁屏密码, 因为他的组合一共就是一万种,但是如果没有第二张图的做法,只有10次机会。有这个设备就可以帮助实现用上面类似细节输入1万次密码,而不被苹果擦除整个设备里的信息。
3、历史上类似的事件从未停止
在计算机整个历史上,黑客和工程师之间的攻防战从来没有停止过,iPhone也不例外。特别是像苹果公司这样,iPhone拥有一个巨大的生态体系,里面有无数的金钱利益在里面。历史上曾经发生过几个比较著名黑客攻击事件,我这里给大家列一下。
比如说黑客比较推崇的高科技的攻击方式,以前苹果里面叫bootrom漏洞。
把苹果操作系统启动起来,苹果手机就像普通unix机器一样,我们可以获得命令行的界面,像电影一样,黑客输入秘密行,就可以获得shell,在获得shell后,我们就能给苹果手机发送命令码,让他们把秘密告诉我们。
说到输入命令,在早期的IOS7里面,在手机上接入键盘,然后正常接入密码,IOS7似乎不会在意你输入多少次,我们就可以一直尝试输入。IOS8也有类似的事情,IOS8还发生过比如说你把密码输入错了,但是它不会马上计数,就是说你把它马上断电,等到再次开机时,IOS8会忘记你之前输错的记录。就是说我可以无限次地输入,这也就是前面那张图(eBay或者淘宝上可以买到的设备)可以进行无限次攻击的基本原理。
前面这些都是黑客较推崇的。事实上,在苹果手机历史上出现不那么复杂不那么高端却一样很有效果的方法 。比如最近刚出的IOS9.3.1,就有很简单用Siri 操作的方法,可以用语音把APP调出来。通过对Siri的操作,绕过锁屏密码,对苹果手机进行攻击。
苹果系统究竟有多安全,为什么FBI要如此费尽心思?我们来讲讲iOS的数据加密机制。
我先给大家上一张图,这个是从盘古盗来的一张图,它非常好地解释了苹果iOS里面的加密体系:
这张图看起来结构比较复杂,现在给大家解释一下。
首先苹果IOS系统把整个储存芯加密。加密的密钥是通过锁屏密码,加上一些其他输入,通过一个算法,生成一个伪随机数,伪随机数跟设备和锁屏密码,加密的密钥通过存储芯片,对所有数据进行加密。
这个除了你的全盘加密以外,对于你的每个文件还要有一个单独的密钥,可以想象每个文件都要有自己的密钥,这是一个相当严格的加密方式。但是苹果觉得这样还不够,因为文件加密后,当系统打开文件以后,你的文件就被解密了,因为要读取数据,那么等到数据读完以后,这个文件还要不要继续加密呢?所以苹果就引入了第三种加密方式。
这要说到这张图的右上部分,叫加密级别的问题,为什么要分加密级别呢?可以这么说,每个人的的加密需求是不一样。比如说我们大家是平民老百姓普通人,加密需求没有那么强,大家都知道陈冠希,冠希哥手机上的敏感信息蛮多的,所以他的加密需求要比我们高不少。
既然说到了冠希哥,那我们就本着看热闹不嫌事大的原则继续往上走。这几天美国大选闹得纷纷扬扬的,大家也都看到了。这就要说到希拉里了,希拉里阿姨手里拿着不少关系到美国国家安全的东西。然后她把这些数据都放到一个服务器里,这个服务器又放在哪呢?说出来可能吓大家一跳,她把服务器放在自己家的车库里,确实是蛮神奇的一件事。
继续说加密。希拉里如果她的手机上有美国国运相关讯息,那她的加密可是非常非常小心。每个人加密级别配合每个人不同的需求,加密越复杂,手机运行越慢。数据是安全了,可是用户觉得不爽。普通人加密级别低一点,日常照片万一被黑客拿去,可能不会有太大的事,如果是冠希哥,可能就是上百万美元的事了。
最难破解的部分是哪里?
其实是这样的,通常加密我们是把它们作为一个体系来说的。对于最难破解的部分,我想应该是锁屏密码产生的一个全局密钥。因为在苹果的iOS9里面,如果你的锁屏密码输错了,那么它会把所有的数据擦除,这可以说是一个灾难性的结果。
锁屏密码会作为iOS设备(iPhone,iPad)全盘加密密钥算法输入方式。如果输入不同锁屏密码,对同一设备会产生完全不同的密钥,对全盘数据进行加密的时候,也会产生完全不同的加密结果,解密方式也完全不同,下面我们说一下全盘加密的密钥的存放问题。
全盘加密的密钥怎么存放?
这个全盘加密的密钥,在最新的iPhone手机里,它是存放在一个内部闪存一个非常特殊的空间里面,这个空间是可以被安全的擦除的,就是说你写进去以后,它可以被擦除,甚至可以被远程擦除。
我们讲一个例子,比如说希拉里的手机被人偷走了,这里面可能有非常非常关键的信息。那么希拉里说没关系,只要我手机里的数据不被拿走就好,我其他地方反正都有备份(比如说五角大楼里面有备份),那么大家可以远程地把手机里的数据擦除掉,让黑客拿不到数据。
这就是锁屏密码如何保护手机里的数据,并不是一个简单的密码,而是一个通过相当复杂的算法计算出来的一个密钥来保护大家的。
那么,苹果的锁屏密码保护机制怎么样,相对于安卓来说,优势在哪?
苹果的锁屏密码保护是如何进行工作的?
苹果的锁屏密码保护机制 ,从表面看跟安卓的锁屏密码看起来差不多,但具体实现却是天壤之别。跟安卓相比,苹果最大的优势是软硬件一体的体系,乔布斯我们黑客叫乔教主,乔教主生前对软硬件一体有一种近乎偏执的坚持。现在来看,从安全性来说,软硬件一体是一种非常有见地的做法。
软硬件一体让苹果面对硬件设备类型相当少,操作系统完全是苹果控制。一旦发现安全问题,苹果能让大家快速升级到最新的软件系统,把以前发现的软件漏洞进行修补,大家看看自己手上的苹果手机,应该是iOS9以上的版本。如果你还是老版本,苹果就会不停地催你升级。美国这边的调研显示,只有百分之二十设备是没有锁屏密码的。一旦有了锁屏密码,就会启动全盘加密。
苹果的设备,大家都是统一的iOS系统,机型也相对较少。
相对安卓来说,苹果有什么厉害之处?
安卓这边可以说是五花八门了,我们专业叫碎片化。因为有各种各样的厂商可以做各种各样的机型,可以把安卓开源系统做各种各样的裁剪,裁剪完后就放到系统上去。至于以后什么时候升级,什么时候打补丁,怎么样做应用商店,在上面要不要做root神器,以及各种各样软件的发布渠道我就不详细说了,这些东西都损害了安卓的安全性。
安卓因为打中低端市场,各个安卓厂商也不太会像苹果一样,用心地加入各种各样最新的硬件来保护大家数据安全。相对于苹果而言,安卓的安全性一直是业界特别担心的问题。 这也就是我们公司 Newsky Security(点击可查看网站,中文叫青天科技)为什么把安卓安全作为我们主要的努力方向。
苹果的破解锁屏密码的手段有哪些?
传统手段就是说找手机的主人来要,或者通过社会工程的方法来骗。技术手段主要还是通过找苹果锁屏密码最薄弱的地方进行破解。
前面提到了锁屏密码,作为非常复杂的算法输入,会生成全盘加密的密钥,破解密钥是非常非常复杂的,计算量非常大。不管你再有钱有权,用世界上最强大的计算机来计算密钥,在有生之年也算不出来这个密钥。相对来说,锁屏密码就容易多了,最多一万种组合,猜这个密码本身就是最薄弱的环节了。
这次帮助FBI破解iPhone5c的情况,在业界推测,最有可能的是利用iPhone5c对锁屏密码输入错误计数上的一个漏洞,也就是说没有记住一共输错了几次。通过这个漏洞限制了iPhone5c记录输错密码的次数,从而达到尝试所有密码,最终破解iPhone的目的。
雷锋网:也就是说,一旦绕开输错密码次数这个限制,剩下的破解就是自动遍历所有密码可能性了。
是这样的,如果苹果设备不记得你输错多少次密码,就可以随便的试,毕竟组合就一万种。
(其实苹果的安全方面可以谈很多,这里只提到了其中的一些,也欢迎大家踊跃留言评论,相关的问题可以反馈给嘉宾解答)。
苹果系统的弱点在哪里?
苹果系统的弱点在哪里,我前面讲了很多苹果系统的优势,但是毫无疑问任何一个系统都是有弱点的,在计算机系统攻防之中,天平永远倾向攻击一方。因为攻击可以攻破一个点,防护需要防护一座城。
苹果的弱点,为了给用户提供方便使用,有意或者无意牺牲部分安全性。我举个例子,这次最新版本iOS9.3.1,语音助手Siri为大家开了新的破解的门。
这次的最新版本iOS9.3.1可以呼出Siri,比如说让它搜索推特或者邮件,如果说邮件里有图片,推特里有发推的人,可以长按图片,把图片加入相册,或把联系人加入“我的联系人”里面,这时候可以开始执行加入联系人APP或加入相册APP,不需要锁屏密码,绕过了锁屏密码。(这个漏洞苹果已经修复)
所以说呢,苹果系统也还是经常会出现这样或者那样的漏洞,好在苹果公司是认真负责地在不断更新系统,大家要记得看苹果公司的公告,如果没空看公告或者觉得公告太难,那么保持系统更新就好了。
对安全业内人士有什么启示呢?
说实话,这次FBI事情,作为一个从业人员,特别是自己有个初创公司,还是很开心的。因为苹果领着大家跟美国政府机构FBI搞的这次巨大的“PR活动”,引起全球对安全问题的关注。对于苹果公司来说,更大的价值各就是个公关活动品牌价值,提高大家对安全的重视意识。
从技术角度来说呢,我们可以看到即使是像苹果这样一个实力雄厚,并且对于硬件和软件的完美结合有着近乎偏执的坚持的公司,依然时不时出现一些安全问题。这也让我们意识到安全本身的难度到底有多大。同时,我们也可以看到,很多给用户便利的行为往往是通过牺牲安全为代价的。当然,我们也看到了一些新的安全方面研究方向,比如说对于iOS安全方面的新的审视。
对于苹果来说,又有哪些需要改进的地方?或者说,对iOS本身的安全性会产生什么影响?
苹果呢,我想这件事情产生的影响基本是在他们公司软硬件路线图里面的,iPhone5c本来就是苹果公司相对低端的产品,对安全性的保护也会比较弱一些。我相信苹果公司还是会一如既往的走高端路线,用最先进的硬件,最先进的软件来配合,来最好的保护用户数据,同时尽量减小对用户体验的影响,毕竟用户体验是他们安身立命之本的。对于低端的设备,他们可能会用成本相对更低的办法。
作为普通用户,如何正确看待这个事件?
这件事情本身对于普通用户来说,更多的是新闻事件而不是安全威胁。
从破解的角度来说,手机被人拿到,用这么复杂的手段,是一件相当费时费力的事情。据说这次事件破解的费用是几十万美元。如果你的手机有高度敏感的数据注意不要放在手机上,普通用户从成本上来说,不用太担心。
也就是说,攻击成本太高,普通用户还是可以放心的。
(公开课内容结束,为提高阅读体验以下节选2个精彩问答分享)
精彩问答:
1、问:对于IP盒的快速破解5c,FBI和苹果都沉默了,IP盒到底是什么?靠什么破解的?
Song:这个IP盒我头一次听说,看来是国内的翻译,据我了解通过这种IP盒的没办法对苹果5c进行攻击。5c已经修改了断电、不记入多少次输错密码的漏洞。
这里面详细地说一点,IP盒可以模拟屏幕上人手输入,辨别所有密码。输错9次的话进行断电,不记得之前输错多少次密码。这种情况对于iOS7可以,但现在是iOS9的操作系统。FBI和苹果对这件事情沉默,是因为记者谈的跟他们谈的不是一码事,没搞清楚状况,不至于回复一下让这个记者出名。
2、问:我想提问的是,目前水平,指纹识别是不是比密码识别有漏洞?所以更推荐复杂组合的密码?
Song:看一个密码体系或防护体系是否容易被攻击是要看最薄弱的攻击点,现在看下来,指纹识别比密码识别更容易攻击。指纹是新的技术,需要时间检验。获取指纹有各种各样的方法,比如说给你个酒杯啊,电影大家也看到过。在美国是有指纹数据库的。复杂的组合密码经过时间检验,攻击成本更高一些。密码会更推荐一些吧。
雷峰网原创文章,未经授权禁止转载。详情见转载须知。