2019年5月14日,Intel官方披露了一系列推测性执行侧信道漏洞,统称为“Microarchitectural Data Sampling”(MDS)。该系列漏洞影响了一大批Intel处理器,漏洞允许攻击者直接窃取CPU缓冲区中的用户级和系统级秘密信息,包括用户秘钥、密码和磁盘加密秘钥等重要信息。
漏洞名称:Intel Processor MDS系列漏洞预警
威胁等级:严重
影响范围:
软件:目前为止所有操作系统的所有版本、所有虚拟机管理程序、所有容器解决方案以及为保护关键数据使用了安全SGX的相关代码
CPU:Intel酷睿和至强
漏洞类型:信息泄露漏洞
利用难度:困难
推测执行(Speculative execution)是当今主流处理器(包括AMD、ARM、Intel)中广泛采用的一项优化技术。其基本思路是利用处理器的空闲时间提前执行一些将来“可能用得上,但也可能被放弃”的计算(包括分值预测、预读内存和文件数据),从而极大提升系统的整体运行速度。
在推测执行期间,处理器会验证一下假设:如果成立,则继续之前执行的操作;如果不成立,则回滚之前执行的操作,并根据实际情况转向正确的执行路径。这种运行机制可能存在分支解除时没有回滚CPU状态而产生副作用,并导致信息泄露。
MDS推测执行漏洞列表:
1. CVE-2018-12126
微架构存储缓冲区数据采样(Microarchitectural Store Buffer Data Sampling,MSBDS),也称为Fallout,利用推测执行将缓冲区存储在某些微处理器上可允许经过身份验证的用户通过具有本地访问权限的辅助通道启用信息泄露。
2. CVE-2018-12127
微架构负载端口数据采样(Microarchitectural Load Port Data Sampling,MLPDS),也是RIDL类攻击的一部分,利用推测执行在一些微处理器上加载端口可允许经过身份验证的用户通过具有本地访问的辅助信道启用信息泄露。
3. CVE-2018-12130
微架构填充缓冲区数据采样(Microarchitectural Fill Buffer Data Sampling,MFBDS),也称为Zombieload,或RIDL(Rogue In-Flight Data Load),利用推测执行在某些微处理器上填充缓冲区可允许经过身份验证的用户通过具有本地访问权限的辅助通道启用信息泄露。
4. CVE-2019-11091
微架构数据采样不可缓存内存(Microarchitectural Data Sampling Uncacheable Memory,MDSUM),也是RIDL类攻击的一部分,利用推测执行在某些微处理器上填充缓冲区可允许经过身份验证的用户通过具有本地访问权限的辅助通道启用信息泄露。
MDS是处理器的不同相关组件中的一系列漏洞,涉及与1级数据缓存之外的Intel处理器的微体系结构相关的问题。受影响问Intel处理器中受影响的微架构师数据采样不可缓存内存、存储缓冲区、填充缓冲区和加载端口。
与Meltdown不同,MDS不允许攻击者直接想要泄露数据的目标的内存地址,它是一种“采样”攻击形式,攻击者能够利用缓存侧信道分析来重复测量某些小型内部处理器缓冲区的陈旧内容,这些缓冲区用于存储数据,然后将被加载到缓存或写回内存。通过负责的统计分析,可以重建原始数据。
目前受影响的软件版本:
1. Microsoft Windows, Linux, MacOS, BSD等目前为止的操作系统
2. VMWare, Microsoft HyperV, KVM, Xen, Virtualbox等虚拟机管理程序
3. Docker, LXC, OpenVZ等容器解决方案
目前受影响的CPU:
Intel酷睿和至强
1. 及时安装各大厂商发布的安全更新补丁或按照厂商建议进行漏洞防范:
Intel官方安全通告地址:
https://www.intel.com/content/www/us/en/security-center/advisory/intel-sa-00233.html
Intel Microcode 更新地址:
https://www.intel.com/content/dam/www/public/us/en/documents/corporate-information/SA00233-microcode-update-guidance_05132019.pdf
Microsoft官方安全补丁下载地址:
https://portal.msrc.microsoft.com/en-us/security-guidance/advisory/adv190013
Apple官方安全通告地址:
https://support.apple.com/en-us/HT210107
Ubuntu官方安全通告地址:
https://blog.ubuntu.com/2019/05/14/ubuntu-updates-to-mitigate-new-microarchitectural-data-sampling-mds-vulnerabilities
Red Hat官方安全通告地址:
https://access.redhat.com/security/vulnerabilities/mds
Oracle官方安全通告地址:
https://blogs.oracle.com/security/intelmds
VMWare官方安全通告地址:
https://blogs.vmware.com/vsphere/2019/05/which-vsphere-cpu-scheduler-to-choose.html
其他厂商平台的用户,需要根据自己使用的产品到对应的产品官网进行安全更新,具体可参考对应厂商的补丁升级说明。
2. 缓解措施(在无法及时安装安全更新的情况下作为临时性解决方案)
有效的缓解措施需要关闭SMT(同时多线程,即超线程)或确保可信代码和不可信代码不会发生物理核心共享。
该漏洞目前部分攻击细节已披露,某公司千里目安全实验室将持续关注此次漏洞进展。
https://www.intel.com/content/www/us/en/security-center/advisory/intel-sa-00233.html
2019/5/14
Intel发布安全更新公告并披露漏洞
2019/5/16
某公司千里目安全实验室发布漏洞预警