正常情况下,英特尔处理器不会出问题,但是,就怕有人故意带节奏!
编写一段循环程序,按照英特尔处理器的逻辑,那肯定是重复执行的,前面的执行没有问题,直至第N条!
这一条在进入处理器之前,并没有权限审核,就被指令预测给送到了某个对应的位置,然后,这第N条并不是预判中的重复执行的程序,而是其他的……这个时候,指令预测功能出错,会把这第N条根据需要跳转到其他地方!
什么地方?
那就得按照这条指令来了,比如说,这条指令要求读取内存某个模块的数据,例如键盘缓冲区,是否就意味着能读取到用户之前输入的密码?
在原本的设计中,用户是不能读取这些模块的,但是只要利用这个乱序执行和指令预测功能,就可以非法读取到内存核心的数据!
至于数据返回?
处理器在返回数据的时候,是要进行检查的,非法读取的核心数据,并不会返回到处理器外部,但是……这个完全可以在N+1条指令上做手脚,给这N+1条指令下达的命令,就是把这些数据输出出去!
等到指令执行完毕才会检查,但是这个时候,数据已经出去了!
所以,英特尔在95年为了提升处理器效率而增加的两种功能,导致了一个庞大的漏洞,不,一系列庞大的漏洞!
在后世,这些处理器的漏洞反复被利用,构成了大量的恶意攻击,比如恶意数据缓存载入漏洞,名称熔毁,绕过边界检查漏洞,名称幽灵一号,分支目标注入漏洞,又叫做幽灵二号……
这些漏洞无穷尽,因为这是处理器基本架构缺陷带来的漏洞,所以,根本就不可能防止,只能是发现什么堵塞什么,如果把所有的都堵住,就意味着这两个功能彻底失效!
杜兰特的脸彻底失去了曾经骄傲的光彩,此时的他,身体抖动,脑袋出汗,说不出一句话来。
“哼,这些都是你们的猜测!”柳忠烈已经破罐子破摔了,现在,哪怕就算是诋毁倪老他们,也要坚定地和英特尔站在一起,只有这样,才有希望赢!
“猜测?”倪老笑了笑:“我们随时都可以给大家伙演示一下,如何利用这个漏洞来获得用户密码……王工!”