危机:大厦将倾?
2018-03-26邱元阳
邱元阳
计算机程序有一个特点,那就是存在漏洞。程序是人设计和编写的,人的思维缺陷在所难免。于是,软件在更新和完善过程中,会不断地修补发现的漏洞。对于操作系统来说,因为不能要求用户随时重装系统,有了漏洞就只能采用补丁的形式来补救。
常见的漏洞绝大多数都是软件的漏洞,如操作系统、浏览器、办公软件和设计软件等,但是极少数情况下,硬件也可能有设计缺陷。当硬件存在漏洞时,要修补起来就不是那么容易了。而现在,在电脑的核心硬件CPU上,却爆出了惊天漏洞。
1月4日,Intel发布声明,对CPU芯片的漏洞问题进行了解释。简单地说,Intel几乎所有的CPU都存在两个漏洞,是CPU硬件设计上考虑不足造成的,理论上可能泄露这台电脑上的任何关键信息。
这两个漏洞的代号,分别是“熔毁”(Meltdown)和“幽灵”(Specter),其根源在于芯片硬件层面执行加速机制时存在可被利用的逻辑漏洞。“熔毁”漏洞可以利用CPU对内存的预测引用(Speculative References)技术而获取用户信息,从而熔毁硬件的安全边界。有人用学校食堂来形象地比喻这个漏洞的作用机制:把CPU比作食堂,黑客是两个男生A和B,用户则是女神。A和B为了获取女神买饭的信息,各自想法,A在女神后面跟食堂大妈说:给我来一份跟她一样的!后面的厨房大叔听到了,就提前准备好了另一份跟女神一样的饭菜。但是食堂大妈表示不能这样让A知道女神买了什么饭,让A走開。然而,这时男生B来了,他说,随便给我来份什么,哪个最快就给我哪个!于是,厨房大叔提前准备好的那份跟女神一样的饭菜,就被大妈递到了男生B手上……关键信息就这么被泄露了,CPU的安全防线一下子就塌方了!
这样的漏洞在20年前就已存在,要解决这样的A级硬件漏洞,要么重新设计CPU,修补好漏洞再更换CPU,要么让电脑上运行的所有大型软件如操作系统和浏览器等都打上相应补丁——前提是已经做好了有效的补丁。让所有用户更换CPU是不可能的,那就只能让电脑上运行的各种软件都打补丁了。Intel其实早就发现了这个漏洞,但并没有好的解决方案,只能秘密地通知各大软件厂商加紧研制补丁。但是对于这样史诗级的硬件漏洞,用软件方法修补谈何容易,很多补丁并不完美,而且造成电脑性能明显下降。
虽然这两个漏洞被意外地提前泄露,并且相当危险,但是到目前为止还没有被黑客直接利用。基于CPU的PC系统的大厦仍然在战战兢兢中完好地矗立。
当文明和科技发展到一定程度,创新的思想得到充分应用时,常常会出现旧事物的危机。如无理数出现时造成的数学史上的第一次危机,量子力学出现时造成的经典力学的危机等,这些危机在当时都对相应的科学大厦产生了严重的威胁,但最终都被解决了。在今后,我们还将面临更多的危机,如AI危机、战争危机、核危机、星体演化危机以及文明的消亡——这是最大的灾难,也是人类最大的危机。
漏洞并不可怕,如果这漏洞是故意留置的后门,才更可怕。