首页 » 教育

无需接触即可窃取iPhone照片,英国黑客揪出苹果致命漏洞

2020-12-04 12:43:19
A+ A-
来自谷歌信息安全团队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)完成的。

关于AWDL

AWDL协议全称为Apple Wireless Direct Link,是隔空投送和随航等功能的底层协议。隔空投送是苹果设备之间互相传输文件的一种方式,而随航可以将iPad变成苹果笔记本的扩展显示屏。

在日常生活中,当我们通过无线方式在不同设备间传输文件时,可能较多使用微信,QQ,电子邮件等方式。这种情况下,数据包会从设备通过电磁波信号发向路由器,再由网线传输到光猫,之后就通过光纤传入运营商,到达相应服务器后,再将数据包原路返回,传输给另一个设备。

或者是在同一Wi-Fi环境下,进行投屏或其他操作,数据包至少也会经过路由器的中转。

但是Wi-Fi所用的电磁波波长不短(常见的2.4GHz和5GHz波长分别为12.5cm和6cm),电磁波并不会严格沿着一条直线传播,它会向四面八方传播。同时,由于Wi-Fi设备都同时拥有接收和发射Wi-Fi信号的能力,理论上不需要经过路由器的中转,设备和设备之间可以直接通信。而AWDL协议正是这样做的。

悄无声息的攻击

漏洞产生的原因是缓冲区溢出,即向缓冲区写入超出其容量的数据。缓冲区溢出是安全漏洞产生的重要原因之一,实际上,1988年第一个通过互联网传播的蠕虫病毒——莫里斯蠕虫(Morris worm)——就利用了缓冲区溢出。

比尔在帖子中写到:“想象一下拥有这种能力的攻击者所感受到的力量。当我们越来越多的将心血放进这些设备,攻击者可以轻易地从毫无戒心的目标上获得大量信息。

比尔开发了几种攻击方式。其中最先进的一种向被攻击设备安装了一个植入程序,可以获得用户的所有个人信息,包括邮件、照片、信息、密码等。攻击者可以用一台笔记本,一个树莓派和一些Wi-Fi适配器进行攻击。植入程序大约需要2分钟的安装时间,但是比尔表示,如果写出一个更高效的攻击程序,那么攻击过程可能在几秒钟内就能完成。攻击并不需要你的设备开启隔空投送的功能,比尔甚至想出了强制开启对方设备AWDL的办法。

比尔还制作了演示视频,在视频中,受害者的iPhone 11 Pro与攻击者隔开。其间攻击者没有接触过手机,但是两分钟后,攻击者轻易获得了手机刚刚拍摄的照片。

除了获取数据之外,攻击者利用其他攻击方法,还能远程操控手机打开应用程序,甚至开关机。攻击者可以通过这种方式来监听监视受害者。

攻击可以在攻击者的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)。

而为了避免漏洞再次出现,以及尽快发现未知的漏洞并将其修复,Beer在帖中提出了3项重要建议。

首先,对于如何现代化核心遗留代码,应该有一个长期的策略和计划。此次漏洞中涉及的重要文件vm_map.c,其最初版本写于1985年,而至今还在使用。

其次,对于如何快速提高新代码的质量,应该制定短期策略。例如进行广泛的自动化测试,对关键的、对安全敏感的代码进行审查,以及创作高质量的内部文档,以便开发人员可以了解其代码在整体安全框架中的位置。

最后,对安全性测试应该有新的尝试,不能局限于模糊测试。这不仅意味着要尝试进行更多样化的分析,还要付出大量努力,了解攻击者的工作方式,并比他们做得更好来击败他们。

当然,这些都是科技公司的任务。至于消费者,保持设备进行系统更新,形成健康的上网习惯即可。好消息是,苹果也表示,大部分iPhone和iPad用户都会定期更新设备。

责任编辑:bH_03116

关键词:

点击查看全文(剩余0%)

相关新闻