打开网易新闻 查看更多图片

漏洞概述

研究人员发现苹果M1芯片设计存在安全漏洞,攻击者利用该漏洞使两个应用在不使用内存、socket、文件和其他常见操作系统特征的情况下交换数据。该漏洞CVE编号为CVE-2021-30747,目前没有安全修复方案,除非有新版本的芯片设计否则无法修复。

ARM system register编码为s3_5_c15_c10_1,可以从El0访问,其中含有2个可以读写的比特位。该寄存器可以被集群内的所有核同时访问。也就是说,任意进程都可以用这个2比特的隐蔽信道来与其他合作进程交换数据。

恶意进程可以利用时钟和数据协议构造一个2比特的鲁棒的信道。2个进程可以根据CPU的开销交换任意数量的数据。CPU核心关联API可用来确保两个进程在同一CPU核心集群上。

PoC证明了该方法可以实现高速率、鲁棒的数据传输,目前实现的数据传输速率超过1MB/s,PoC参见:

https://gist.github.com/marcan/99e788db33af66c92ab1811da78ab62f

PoC demo视频参见:https://www.youtube.com/watch?v=sKEj8z4H7PM&list=PL68XxS4_ek4ab49xb5qcODWQETyC5vbHi

受影响的用户

所有苹果 M1芯片用户都受到该漏洞的影响。其中macOS v11.0及之后版本用户受到影响,Linux v5.13及之后版本受到影响。目前已经确认A14芯片也受到该漏洞的影响。

非苹果的CPU不受该漏洞的影响。

如何防护?

目前唯一的解决方案就是以虚拟机运行整个操作系统。但是以虚拟机运行可能会对性能带来影响。

更多技术细节参见:https://m1racles.com/

参考及来源:https://m1racles.com/