扫码打开虎嗅APP
今年5月,苹果修复了有史以来最令人震惊的iPhone漏洞之一:iOS内核中的内存损坏错误。这个漏洞使得攻击者可以通过Wi-Fi,无需任何接触即可远程访问设备中的所有信息。通过漏洞甚至也很容易实现蠕虫程序,病毒可以利用无线电从一个设备向其他设备传播。攻击者可以通过该漏洞直接获取设备上的照片、邮件、密码,甚至可以通过麦克风和摄像头直接监视监听用户。
本文来自微信公众号:环球科学(ID:huanqiukexue),作者:王昱,原文标题:《无需接触即可窃取iPhone照片,英国黑客揪出苹果致命漏洞》,题图来自:视觉中国
来自谷歌信息安全团队Project Zero的研究人员伊恩·比尔(Ian Beer)开发并公布了这个漏洞。Project Zero是谷歌公司在2014年公开的一个信息安全团队,专门负责找出各种软件的安全漏洞,特别是零日漏洞(Zero-day),即还没有补丁的安全漏洞。该团队在发现安全漏洞后,会立即通知软件开发者,在漏洞被修复前,不会对外公布。但是90天后,不论漏洞是否已被修复,都会自动公开。
Project Zero的创始人克里斯·埃文斯(Chris Evans)在接受采访时说:“(这个漏洞的发现)是一项了不起的工作。该漏洞十分严重,无需接触手机就能发动攻击这一点非常可怕。当你走在路上,手机在包里时这种攻击就能发生,Wi-Fi数据包随时都能入侵你的设备。”
伊恩·比尔是英国著名的计算机安全专家,有人认为他是最好的iOS黑客之一。他曾发现大量iOS漏洞,也曾制作iOS的越狱版本。在其12月1日发布的3万字的帖子中,详细描述了他花费6个月独自开发和验证漏洞的过程。其攻击是通过AWDL驱动程序中的缓冲区溢出(buffer overflow)完成的。
演讲中的伊恩·比尔(图片来源:cyberwire)
关于AWDL
AWDL协议全称为Apple Wireless Direct Link,是隔空投送和随航等功能的底层协议。隔空投送是苹果设备之间互相传输文件的一种方式,而随航可以将iPad变成苹果笔记本的扩展显示屏。
在日常生活中,当我们通过无线方式在不同设备间传输文件时,可能较多使用微信,QQ,电子邮件等方式。这种情况下,数据包会从设备通过电磁波信号发向路由器,再由网线传输到光猫,之后就通过光纤传入运营商,到达相应服务器后,再将数据包原路返回,传输给另一个设备。
大多数应用程序在不同设备间传输文件的方式(图片来源:flaticon)
或者是在同一Wi-Fi环境下,进行投屏或其他操作,数据包至少也会经过路由器的中转。
但是Wi-Fi所用的电磁波波长不短(常见的2.4GHz和5GHz波长分别为12.5cm和6cm),电磁波并不会严格沿着一条直线传播,它会向四面八方传播。同时,由于Wi-Fi设备都同时拥有接收和发射Wi-Fi信号的能力,理论上不需要经过路由器的中转,设备和设备之间可以直接通信。而AWDL协议正是这样做的。
使用AWDL传输数据的方式 图片来源:flaticon
悄无声息的攻击
漏洞产生的原因是缓冲区溢出,即向缓冲区写入超出其容量的数据。缓冲区溢出是安全漏洞产生的重要原因之一,实际上,1988年第一个通过互联网传播的蠕虫病毒——莫里斯蠕虫(Morris worm)——就利用了缓冲区溢出。
比尔在帖子中写到:“想象一下拥有这种能力的攻击者所感受到的力量。当我们越来越多的将心血放进这些设备,攻击者可以轻易地从毫无戒心的目标上获得大量信息。”
比尔开发了几种攻击方式。其中最先进的一种向被攻击设备安装了一个植入程序,可以获得用户的所有个人信息,包括邮件、照片、信息、密码等。攻击者可以用一台笔记本,一个树莓派和一些Wi-Fi适配器进行攻击。植入程序大约需要2分钟的安装时间,但是比尔表示,如果写出一个更高效的攻击程序,那么攻击过程可能在几秒钟内就能完成。攻击并不需要你的设备开启隔空投送的功能,比尔甚至想出了强制开启对方设备AWDL的办法。
比尔还制作了演示视频,在视频中,受害者的iPhone 11 Pro与攻击者隔开。其间攻击者没有接触过手机,但是两分钟后,攻击者轻易获得了手机刚刚拍摄的照片。
攻击者可以无需操作远程获取手机中的照片(图片来源:Ian Beer)
除了获取数据之外,攻击者利用其他攻击方法,还能远程操控手机打开应用程序,甚至开关机。攻击者可以通过这种方式来监听监视受害者。
攻击者无需接触即可控制手机(图片来源:Ian Beer)
攻击可以在攻击者的Wi-Fi覆盖范围之内进行。使用定向天线,更高功率的发射器,可以将攻击范围提升到很远的距离。
苹果公司在今年5月的更新中修复了这个漏洞,在其更新日志中也提到了比尔。
图片来源:关于 iOS 13.5 和 iPadOS 13.5 的安全性内容/苹果
如何避免漏洞威胁
计算机漏洞一直是威胁信息安全的重大威胁。2018年,Project Zero发现了著名的“熔断”和“幽灵”漏洞,影响了几乎整个个人电脑市场。
这两个漏洞存在于大部分英特尔x86/x86-64处理器中,在微软发布针对漏洞的补丁后,2015年及之前生产的intel处理器出现了较为明显的性能下降,有些测试中降幅甚至达到30%。而对于Intel的处理方式,Linux之父林纳斯·托瓦兹(Linus Torvalds)强烈表达了他的不满,并称其处理方式为“全然的垃圾”(COMPLETE AND UTTER GARBAGE)。
幽灵和熔断漏洞(图片来源:Wikipedia)
而为了避免漏洞再次出现,以及尽快发现未知的漏洞并将其修复,Beer在帖中提出了3项重要建议。
首先,对于如何现代化核心遗留代码,应该有一个长期的策略和计划。此次漏洞中涉及的重要文件vm_map.c,其最初版本写于1985年,而至今还在使用。
其次,对于如何快速提高新代码的质量,应该制定短期策略。例如进行广泛的自动化测试,对关键的、对安全敏感的代码进行审查,以及创作高质量的内部文档,以便开发人员可以了解其代码在整体安全框架中的位置。
最后,对安全性测试应该有新的尝试,不能局限于模糊测试。这不仅意味着要尝试进行更多样化的分析,还要付出大量努力,了解攻击者的工作方式,并比他们做得更好来击败他们。
当然,这些都是科技公司的任务。至于消费者,保持设备进行系统更新,形成健康的上网习惯即可。好消息是,苹果也表示,大部分iPhone和iPad用户都会定期更新设备。
参考文献
https://googleprojectzero.blogspot.com/2020/12/an-ios-zero-click-radio-proximity.html
https://arstechnica.com/gadgets/2020/12/iphone-zero-click-wi-fi-exploit-is-one-of-the-most-breathtaking-hacks-ever/
https://arstechnica.com/information-technology/2015/08/how-security-flaws-work-the-buffer-overflow/
本文来自微信公众号:环球科学(ID:huanqiukexue),作者:王昱