
我不想写有关Spectre的文章,但我必须:上周,这是迄今为止最重要的新闻。 与原始漏洞一样,Spectre的新漏洞已被学者发现。 麻省理工学院的研究人员弗拉基米尔·基里恩斯基(Vladimir Kiryansky)和独立专家卡尔·沃尔德斯普格(Karl Waldspurger)展示了对Spectre的两个新改进,称为Spectre 1.1和Spectre 1.2,没有任何徽标或徽标(
新闻 ,原始的
科学著作 )。
在这两种情况下,与原始Spectre漏洞的重要区别是使用了推测记录机制。 在Spectre 1.1的情况下,从理论上讲,攻击可使您引起(也是推测性的)缓冲区溢出并读取内存的“禁止”部分。 Spectre 1.2提供了覆盖只读信息的功能,并且在理论上允许sanbox逃逸攻击绕过硬件保护系统。 为了发现该漏洞,研究人员从英特尔的bug bugunt计划中获得了十万美元的奖励,如今已成为最大的一笔付款。 漏洞会受到Intel,ARM处理器甚至AMD处理器的影响。
这组作者说,这项研究的主要发现之一就是“推测性缓冲区溢出”的新概念。 溢出会导致写操作-在正确的时间和正确的位置执行,不可避免地会被视为不正确而被丢弃,但即使在此之前,它也有可能读取攻击进程不应该访问的存储区。
这个想法的一个关键说明:边界检查不像原始Spectre中那样使用读操作,而是使用写操作。在实践中可以实现一个新漏洞的条件列表所花费的空间几乎比对攻击机制的描述要大。 这就是此类硬件漏洞的复杂性:攻击必须重合才能成功。 但是,当发生攻击时,在最坏的情况下,它使您可以窃取有价值的信息,而通常甚至无法事后了解确切发生的情况。 最重要:即使无法进行Spectre 1.0攻击,也可以创建Spectre 1.x条件。
研究人员认为,无法通过代码分析或编译工具来检测像Spectre 1.1这样的漏洞。 此外,可以从根本上解决此漏洞。 还应注意,降低成功的Spectre攻击风险的责任通常是软件开发人员的责任。 考虑到自从首次公开展示带有缓冲区溢出的攻击以来已经过去了30年,软件中的漏洞已变得越来越少,因此作者预测对“数十年”相关的推测性代码执行机制的攻击。
尽管有上述规定,但作者认为,安全软件和硬件的结合在理论上可以防止投机执行机制的好处。 在实践中仍然需要执行此操作,如果一类漏洞影响了硬件,则可能需要数年或数十年的时间。 我想知道有关Spectre / Meltdown及其衍生产品的故事是否不会成为朝着软件和硬件开发实践的重大转变迈出的一步?
免责声明:本摘要中表达的观点可能并不总是与卡巴斯基实验室的官方立场相符。 亲爱的编辑们通常建议以健康的怀疑态度对待任何观点。