漏洞概述
研究人员发现苹果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/如若转载,请注明原文地址。