正常情况下应用程序没有权限读取系统的其他内存部分,而Meltdown和Spectre这两组漏洞在阻止应用程序访问其他内存的那面“墙”上打了几个洞,因此熟练的攻击者可以找出敏感信息的存储位置,例如密码和加密秘钥。尽管许多公司发布的安全补丁修复了部分缺陷,但他们也承认长期有效的解决方案是对计算机处理器的工作方式进行核心再设计。
现在,MIT计算机科学与人工智能实验室(CSAIE)的研究团队声称他们找到了一种未来可以防止类似Meltdown和Spectre一系列漏洞的方法。
当某个应用程序要储存数据到内存时,由处理器确认存储的位置。因为直接搜索内存的速度较慢,处理器通常会利用“推测执行”的捷径来执行任务,而找到存储器插槽的同时还有其他多项任务在运行,攻击者正是利用这个过程允许应用程序读取本被禁止读取的其他内存部分。
MIT的CSAIE研究团队表示他们研究的技术能分割内存,使数据不存储在同一个位置,他们称这项技术为DAWG(Dynamically Allocated Way Guard),尽管这听起来有些滑稽,不过他们坦言这是为了与英特尔的缓存分配技术CAT(Cache Allocation Technology)相对应。根据他们的研究,DAWG的工作原理与CAT类似,不需要设备的操作系统做任何改变,这意味着DAWG像Meltdown的微码修复工具那样方便在受感染的电脑上下载。
根据研究论文的作者之一Vladimir Kiriansky的说法,这项新技术“为数据共享划定了清晰的界限,保证了包含敏感信息的项目的数据安全”。
这项技术不仅能保护普通计算机,还能被应用于保护易受攻击的云端基础架构。
虽然目前DAWG不能防御所有的投机攻击,但研究人员正致力于改进这项技术来扩大它的防御范围。
研究团队还表示,如果这项技术能被英特尔或者其他芯片制造商采用,此类技术将“恢复人们对公共云端基础架构的信心,硬件与软件的共同设计将有助于将性能开销减到最小。”