开发者社区> boxti> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

事件还原 | 苹果iOS 10系统“激活锁”绕过漏洞,丢失保护功能形同虚设?

简介:
+关注继续查看
   想必读者们已经在雷锋网(公众号:雷锋网)(公众号:雷锋网)看到了关于iOS 10.1.1 系统“激活锁”被绕过漏洞的报道(见于雷锋网昨日报道:《iOS 10.1发现新漏洞:可绕过“激活锁”强行进入主屏》

本着求真和好奇的心态,此次宅客频道将带领读者们讲述此次事件的来龙去脉、破解流程以及相关细节,试图将完整的故事呈现给读者们,让读者了解到:

  • 漏洞是什么,可导致何种后果?

  • 这个漏洞最早是如何被发现的?

  • 复现漏洞的具体步骤是怎样的?

  • 我们是否会受影响,该怎么做?

该漏洞有何后果?

从iOS 7开始,苹果设备就具有一项“激活锁”功能, 当用户的设备不慎被偷,只要激活"丢失模式”(Lost mode),盗窃者在没有得到合法机主许可就无法激活设备到正常工作状态,这使得丢失的苹果设备很难被直接转卖,不仅提高安全性还降低了失窃率。

这也是许多人在丢失苹果设备后都收到钓鱼短信及邮件的原因——盗窃者试图骗取APPID账号密码来解锁设备。

然而,此漏洞的出现,意味着任何人都可以绕过“激活锁”直接重置该设备,让丢失模式形同虚设!盗窃者可以利用该漏洞将一些非法获得的设备直接解锁后重新售卖或自行使用。简而言之,当你的设备丢失,你更难将它找回了。

那么这个漏洞是如何被发现的呢?

据外媒报道,该漏洞最早是由印度安全专家赫门特·约瑟夫(Hemant Joseph)发现的,于是宅客频道(公众号:宅客频道)通过博客了解到破解的全部操作流程。

iOS 10.1漏洞发现,源于被坑的购物经历

赫门特给朋友网购了一个iPad,哪知设备刚到手,却发现被开启了“丢失模式”,发现连接WiFi之后,设备会要求输入之前机主的APPID账号密码。赫门特这才知道,自己花了许多时间挑选iPad,最后却买回来一块“砖头”——他觉得自己被彻头彻尾地耍了,简直不能忍!

“自己动手,丰衣足食”,作为安全专家的赫门特决定发挥自己的聪明才智对iPad进行破解,他立刻想到了让设备缓冲区溢出的方法。

以下为赫门特个人博客中对破解过程的描述:

我在WiFi网络选项中,选择“连接另一个网络”。


事件还原 | 苹果iOS 10系统激活锁绕过漏洞,丢失保护功能形同虚设?


跳转到一个要求输入用户名的登录框。


事件还原 | 苹果iOS 10系统激活锁绕过漏洞,丢失保护功能形同虚设?


以上只有一个输入字段,如果有字符限制的话,比较难引发内存缓冲区溢出。但如果点击“安全选项”,选择安全协议WEP,就有另一个WPA WPA2企业版的选项出现。


事件还原 | 苹果iOS 10系统激活锁绕过漏洞,丢失保护功能形同虚设?


我选择WP2企业版,这时会出现三个输入框:名称、用户名和密码,然后我很惊奇地发现,这里居然没有限制字符长度,可以肆无忌惮地输入,真是太适合用来造成内存缓冲区溢出的情况了!


一直复制粘贴输入字符,直到设备卡住。


事件还原 | 苹果iOS 10系统激活锁绕过漏洞,丢失保护功能形同虚设?


我等了一会儿,看看是恢复正常还是软件崩溃,结果既没有崩溃也没有恢复,一直卡着。又等了一会,我按下了解锁按钮,结果它把我带回到一开始的欢迎屏幕了 :( 


WTF ?(心中一万头羊驼奔过)

第一次尝试破解失败后,赫门特没有放弃,开始第二次尝试:

思考了一会如何诱发程序崩溃让它跳到主屏幕上,我想到了利用iPad外壳(iPad smart Case)的自动唤醒功能来试试,因为可以利用它的这个特性:当我们用盖上外壳盖来关闭屏幕,再打开外壳盖,它会重现之前关闭之前的屏幕,继续刚才的工作请求。


于是我重复了刚才的操作,在最后一步iPad卡死的时候,盖上外壳盖子,然后过一会儿再打开。


事件还原 | 苹果iOS 10系统激活锁绕过漏洞,丢失保护功能形同虚设?


过了大概20~25秒,iPad出现了软件崩溃,然后把我带到了主屏幕,从而绕过了所谓的“激活锁”,成功!


事件还原 | 苹果iOS 10系统激活锁绕过漏洞,丢失保护功能形同虚设?

由此可以看出,这里出现的漏洞的主要原因在于:连接WiFi时的输入框限制输入字符的长度而在实际使用当中,没有人会使用一个超过1000个字符来当账号或密码。

看到这里,可能有些读者已经想找一台iPad来亲身体验一把了,不过你们可能不会成功,因为发现该漏洞的印度专家赫门非常耿直,发现漏洞后立马写邮件告诉了苹果官方,并很快得到了苹果官方的回复。

事件还原 | 苹果iOS 10系统激活锁绕过漏洞,丢失保护功能形同虚设?

苹果很快推出了iOS 10.1.1 的版本更新,修复了该漏洞,因此该漏洞只可能在iOS 10.1 或者更早的版本中复现。

然而,“绕过风波”并没有就此结束。

研究员不依不挠,新版本仍能被破解

Vulnerability Lab实验室的研究人员也对此问题进行分析后,发现利用屏幕旋转和Night Shift(自动调整屏幕色温)功能可在iOS 10.1.1系统中重现这个漏洞。

他们提供了一段成功破解的视频:

宅客频道发现,在视频演示中,主要区别于破解iOS 10.1绕过漏洞的地方主要在于:

  • 输入的字符使用了emoji表情等特殊字符

  • 在最后一个中反复使用了智能外壳和屏幕旋转功能

  • 需要很精准地把握好关键操作的时间点:在某个瞬间设备会出现不到一秒的主屏幕,这时需要适时按下Home键才可以完全绕过激活锁,这一时机很难把握。

宅客频道编辑找来了一个装载iOS 10.1.1系统的iPad mini 2 , 尝试复现该漏洞,但不知是由于没有把握好时机,尝试多次后并没有成功解锁设备。然而在国外社交媒体上有网友表示自己按照视频演示,成功破解了iPad mini 2(同样尝试了好几次)。

目前,宅客频道还没有发现任何成功利用此方式破解iPhone设备的案例。在国外一名研究员安德鲁·坎宁安的报道中,他也发现了相同的情况:

根据这个视频,我们能够在运行iOS 10.1.1的iPad Mini 2上重现该问题,然而在我们的测试中,我们无法在运行iOS 10.1.1 的iPhone 5设备中重现这个bug,在实验中,iPhone没有向iPad那样旋转为横屏模式,也没办法用智能外壳来控制屏幕的开关。

由此看来,该漏洞在iPad上也需要一定的技巧才能复现,而在iPhone上几乎无法实现,因此人们其实并不必为这个漏洞太过担心,并且相信苹果公司也将会在接下来推出的iOS 10.2的版本更新中修复该问题。

我们该怎么做?

针对此问题,国外相关安全机构给出了一些建议:

  • 当苹果为这个错误提供了一个补丁后,尽快安装它。

  • 日常苹果设备丢失,对方可能不会去恶意破解,但尽可能为之设置一个安全的PIN码或锁屏密码,以确保安全。

不过对于此次“激活锁”绕过漏洞,宅客频道有个更直接有效的终极建议:看好你的机器设备,别把它弄丢了。

事件还原 | 苹果iOS 10系统激活锁绕过漏洞,丢失保护功能形同虚设?

   
  
  本文作者:谢幺

本文转自雷锋网禁止二次转载,原文链接

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
iOS调用系统通讯录
iOS调用系统通讯录
60 0
用HTML5/CSS3/JS开发Android/IOS应用
现在人人都想成为安卓/IOS应用开发工程师。其实,安卓/IOS应用可以用很多种语言来实现。由于我们前端开发工程师,对HTML5/CSS/JavaScript的网络编程已经相当熟悉了。所以,今天大家将会认识到一些利用前端语言来开发安卓/IOS应用的工具。
989 0
iPhone与iPad开发实战——精通iOS开发--视频
<p><a href="http://v.51work6.com/courseInfoRedirect.do?action=courseInfo&amp;courseId=240566"><span style="font-size:24px;color:#FF0000;"><strong>iPhone与iPad开发实战——精通iOS开发</strong></span></a></p> <p>
1937 0
iOS开发笔记 8、真机调试和发布软件
首先根据需要缴纳$99/299的费用加入成员计划。 按照如下的不同角色和操作界面即可完成代码的调试和发布   概括起来: 申请人Team Agent角色加开发管理员和申请软件的发布 Team Admin开发管理员可以自己调试和加人   过程涉及:证书,apple ID,机器ID等系列的...
790 0
iOS开发笔记 7、数据【Preferences、文件、库、Core Data】
程序开发中根据要使用各种各样的数据,如配制、文件系统、数据库等,iOS对这个有很好的支持 Preferences If you’re going to create a program that has built-in preferences, you should do so using the Utility Application template.
904 0
iOS开发笔记 5、开发工具Xcode,Inteface Builder
开发工具使用Mac的安装盘或从apple站点下载 Xcode 开发代码使用 扩展名的分类 application delegate 需要处理的内容 ƒAt launch time, it must create an application’s windows and display them to the user.
655 0
+关注
boxti
12535
文章
问答
来源圈子
更多
+ 订阅
文章排行榜
最热
最新
相关电子书
更多
移动 App 性能监测实践(iOS篇)
立即下载
聚划算iOS平台动态化方案LuaView
立即下载
深入剖析 iOS 性能优化
立即下载