苹果|苹果IOS被曝致命漏洞 可无接触窃取手机文件和照片

12月1日 , 来自谷歌信息安全团队Project Zero的研究人员伊恩·比尔发布了一篇长达3万字的文章 , 详细描述了他是如何发现并验证了一个iOS系统的严重漏洞——iOS内核中的内存损坏错误 。
据了解 , 这个漏洞让攻击者可通过Wi-Fi远程控制被入侵设备 , 还能通过被入侵手机的AirDrop功能任意发送本地文件和照片 , 与其他iOS设备共享屏幕 , 甚至可以通过麦克风和摄像头直接监听和监视用户 。 可以说 , 这是苹果有史以来最令人震惊的漏洞之一 。
谷歌信息安全团队此前已经向苹果方面提交了报告 , 该漏洞已于今年5月被修复 。
AWDL协议为攻击者提供机会
比尔指出 , 这个漏洞攻击是通过苹果无线直接链接(AWDL)驱动程序中的缓冲区溢出完成的 。
AWDL协议是隔空投送和随航等功能的底层协议 , 隔空投送是苹果设备之间互相传输文件的一种方式 , 而随航可以将iPad变成Mac笔记本的扩展显示屏 。
在日常生活中 , 当用户通过无线方式在不同设备间传输文件时 , 可能较多使用微信、QQ、电子邮件等方式 。 这种情况下 , 数据包会从设备通过电磁波信号发向路由器 , 再由网线传输到光猫 , 之后通过光纤传入运营商 , 到达相应服务器后 , 再将数据包原路返回 , 传输给另一个设备 。 如果投屏或其他操作是在同一Wi-Fi环境下进行 , 数据包也至少会经过路由器的中转 。
由于Wi-Fi设备(如笔记本电脑、平板电脑、手机等)都同时拥有接收和发射Wi-Fi信号的能力 , 所以设备之间具备了直接点对点通信的可能 。 AWDL协议正是基于这样的原理 , 实现了让苹果公司的设备无需外部网络就能直连 。
由于AWDL由蓝牙激活 , 所以理论上来说 , 用户在使用蓝牙时 , 能够激活周边范围内所有苹果设备的AWDL接口 , 这就给攻击者利用漏洞控制设备提供了机会 。 不过 , 并非所有人都会一直开启设备的蓝牙功能 。 所以要实现攻击 , 需要先想办法强制开启AWDL 。
代码错误让系统溃不成军
向缓冲区写入超出其容量的数据造成缓冲区溢出 , 是安全漏洞产生的重要原因之一 。 利用缓冲区溢出攻击 , 可以导致程序运行失败、系统宕机、重新启动等后果 。 更为严重的是 , 可以利用它执行非授权指令 , 甚至可以取得系统特权 , 进而进行各种非法操作 。
2018年 , 比尔在分析某个当年更新的苹果操作系统时发现 , 苹果开发人员在苹果操作系统OS X的XNU内核的代码中出现了编程错误 , 内核解析不可信数据的代码时就会出现缓冲区溢出 。
比尔建立了一个远程任意内存读写基元来激活AWDL接口 , 成功激活后 , 可利用AWDL缓冲区溢出来访问设备 , 并以root用户(可理解为管理员用户)身份运行植入程序 , 在启动后的几秒钟就可获得内核内存的读写权限 。 到了这一步 , 可以说基本上已经实现了攻击 。
在比尔制作的演示视频中可以看到 , 受害者的iPhone 11 Pro与攻击者没有出现任何物理接触 , 但是攻击发起两分钟后 , 攻击者轻易获得了手机刚刚拍摄的照片 。
经过测试 , 比尔发现 , 攻击可以顺利在攻击者设备的Wi-Fi信号覆盖范围之内进行 。 如果使用定向天线 , 更高功率的发射器 , 可以将攻击范围提升到很远的距离 。
值得庆幸的是 , 目前还没有证据表明这个漏洞曾被黑客非法使用过 。 而谷歌信息安全团队将漏洞报告给苹果公司后 , 苹果公司已经在今年5月的更新中修复了这个漏洞 。
威胁解除但警钟长鸣
为了避免漏洞再次出现 , 以及尽快发现未知的漏洞并将其修复 , 比尔提出了3项重要建议 。
首先 , 对于如何更新升级核心代码 , 应该有一个长期的策略和计划 。 此次苹果的漏洞中涉及的重要文件“vm_map.c” , 其最初版本写于1985年 , 至今仍在使用 。
其次 , 对于如何快速提高新代码的质量 , 应该制定短期策略 。 例如进行广泛的自动化测试 , 对关键的安全代码进行严格审查 , 以及创作高效的内部工作日志 , 以便开发人员了解其代码在整体安全框架中的位置 。
最后 , 安全性测试不能局限于模糊测试 。 这不仅意味着要尝试进行更多样化的分析 , 还要付出大量努力去了解攻击者的工作方式 , 比攻击者做得更好才能击败他们 。
【苹果|苹果IOS被曝致命漏洞 可无接触窃取手机文件和照片】当然 , 比尔认为 , 这些都是科技公司的任务 。 至于普通用户 , 保持设备进行系统更新 , 形成健康的上网习惯即可 。 好消息是 , 苹果方面的数据显示 , 大部分iPhone和iPad用户都会定期更新设备 。

    推荐阅读