可无接触窃取手机文件和照片 研究人员详解苹果致命漏洞如何产生
来源: 科技日报 作者: 发布时间: 2020-12-09

       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年,至今仍在使用。

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

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

  当然,比尔认为,这些都是科技公司的任务。至于普通用户,保持设备进行系统更新,形成健康的上网习惯即可。好消息是,苹果方面的数据显示,大部分iPhone和iPad用户都会定期更新设备。(据环球科学)

地方动态

中国信息协会会长王金平一行赴北京国脉互联信息顾问有限公司调研

杜链同志追思会在京举办

赋能未来,共创数智化新纪元:中国信息协会集团企业数字化工作委员会正式成立

中国信息协会第四届信息技术服务业应用技能大赛新闻发布会在京召开

  • 协会要闻
  • 通知公告