2011 年以后制造的所有英特爾芯片都存在該問題?!苯?,一則簡(jiǎn)短的消息震驚了整個(gè)科技界。全球最大的芯片廠商英特爾爆出重大安全漏洞,一款名為“ ZombieLoad ”(僵尸負(fù)載)的芯片漏洞被奧地利格拉茨理工大學(xué)(Graz University of Technology)的研究人員發(fā)現(xiàn)。
據(jù)安全人士透露,“僵尸負(fù)載”及其三個(gè)附屬漏洞,會(huì)導(dǎo)致最近八年使用英特爾芯片的設(shè)備面臨數(shù)據(jù)泄露的風(fēng)險(xiǎn),黑客可利用該漏洞讀取設(shè)備內(nèi)存,獲得密碼、密鑰等敏感信息。英特爾芯片占據(jù)全球 85% 以上的桌面 CPU 市場(chǎng),這次“僵尸負(fù)載”一經(jīng)曝光,便在全球信息行業(yè)引發(fā)廣泛關(guān)注,所有的 MacBook,大多數(shù) Windows PC ,大多數(shù) Linux 服務(wù)器甚至許多 Chromebook 都將受到不小的影響。
何為“僵尸負(fù)載”
“僵尸負(fù)載”實(shí)際上由四個(gè)漏洞組成,根源在于“預(yù)測(cè)執(zhí)行”(speculative execution)和“亂序執(zhí)行”(out-of-order execution)。所謂“預(yù)測(cè)執(zhí)行”,其實(shí)就是 CPU 推測(cè)它接下來會(huì)接受到哪些操作請(qǐng)求,同時(shí)在接到請(qǐng)求之前執(zhí)行這些操作,以便在實(shí)際發(fā)出請(qǐng)求時(shí)節(jié)省時(shí)間。說的簡(jiǎn)單點(diǎn),這個(gè)操作有點(diǎn)類似于我們常說的人工智能, CPU 通過收集用戶數(shù)據(jù),分析得出用戶的操作習(xí)慣,這樣就可以在我們發(fā)出指令前提前行動(dòng)。
問題在于, CPU 在“預(yù)測(cè)執(zhí)行”過程中,將大量用戶數(shù)據(jù)放在 CPU 內(nèi)存緩存中。緩存中的數(shù)據(jù)一般不會(huì)收到重重保護(hù),一旦黑客通過某種特定的操作,比如引導(dǎo)用戶安裝帶有惡意代碼的軟件,該軟件就能造成英特爾 CPU “預(yù)測(cè)執(zhí)行”崩潰,從而讀取此刻位于英特爾 CPU 待執(zhí)行命令緩沖區(qū)的所有當(dāng)前運(yùn)行的應(yīng)用數(shù)據(jù)。如此一來,我們極有可能在完全不知情的情況下,被黑客輕松竊取賬號(hào)密碼、支付密碼、家庭住址、聯(lián)系電話等重要信息。
在漏洞測(cè)試過程中,研究人員還發(fā)現(xiàn),黑客可以利用“僵尸負(fù)載”漏洞來查看一個(gè)人實(shí)時(shí)訪問哪些網(wǎng)站,這樣就可以很容易地獲取用于用戶在線輸入的密碼或加密文檔?!霸谶@里,我們將 CPU 視為一個(gè)網(wǎng)絡(luò),可以隨意竊聽他們之間的流量,”阿姆斯特丹自由大學(xué)的研究員克里斯蒂亞諾如此解釋到。
史詩級(jí)芯片漏洞的延續(xù)
事實(shí)上,“僵尸負(fù)載”并不是第一個(gè)利用 CPU 內(nèi)存緩存的漏洞。早在一年多以前,“崩潰” (Meltdown)和“幽靈” (Spectre) 漏洞,幾乎席卷了整個(gè)計(jì)算機(jī)行業(yè)?!氨罎ⅰ?是英特爾特有的漏洞,由于英特爾處理器設(shè)計(jì)中允許猜測(cè)性非法訪問的嚴(yán)重錯(cuò)誤,“崩潰”漏洞很容易被利用。
“幽靈” 漏洞則是利用所謂間接分叉預(yù)測(cè),英特爾、AMD 以及 ARM 架構(gòu)的芯片都存在此缺陷。眾所周知,桌面級(jí) CPU 只有英特爾、AMD 兩家,所有的手機(jī) CPU ,包括蘋果 A 系列、華為麒麟系列、高通驍龍系列在內(nèi),全都使用低能耗的 ARM 架構(gòu),所以“幽靈” 漏洞直接影響了所有 PC、筆記本電腦和手機(jī)。好在“幽靈”漏洞存在許多不確定因素,黑客利用起來相對(duì)困難許多,各大芯片廠商又及時(shí)推出了系統(tǒng)補(bǔ)丁,這才沒引起大的安全災(zāi)難。
然而,當(dāng)芯片廠商們還在慶幸這兩個(gè)漏洞沒造成大的損失時(shí),就有研究人員警告說:“無論如何,這些漏洞不是故事的結(jié)局,而是開始,它們代表了一種全新的安全漏洞類別,可能會(huì)一次又一次地浮出水面。”事實(shí)果真如此,一年多以后,“僵尸負(fù)載”曝光,再度將廣大用戶置于安全陰影之下。
不僅僅是電腦
對(duì)于普通用戶來說,大家可能一時(shí)難以明白這個(gè)漏洞的危害有多大,有些人甚至?xí)?,既然這次的漏洞僅僅針對(duì)英特爾芯片,那么手機(jī)用戶和使用 AMD 芯片的電腦用戶自然就不用擔(dān)心這個(gè)問題了。
不過,事情并沒有這么簡(jiǎn)單。雖然在個(gè)人電腦 CPU 領(lǐng)域,英特爾僅占據(jù) 85% 的市場(chǎng)份額,可在服務(wù)器領(lǐng)域,英特爾 CPU 的市場(chǎng)份額高達(dá) 97%。也就是說,幾乎所有的服務(wù)器,都在使用英特爾 CPU。
這次“僵尸負(fù)載”漏洞引起的安全危機(jī),也將經(jīng)由使用英特爾 CPU 的服務(wù)器傳導(dǎo)到手機(jī)用戶中。我們平常在玩手機(jī)時(shí)都會(huì)發(fā)現(xiàn),隨著使用時(shí)間的增加,手機(jī) APP 會(huì)產(chǎn)生大量的用戶數(shù)據(jù)。這些用戶數(shù)據(jù),APP運(yùn)營(yíng)者都得將其保存起來,以便用戶隨時(shí)調(diào)用。
大部分 APP 運(yùn)營(yíng)者并沒有實(shí)力擁有自己的獨(dú)立服務(wù)器,所以他們一般會(huì)租用阿里云等公司的超大型物理服務(wù)器集群,再通過軟件切割出“虛擬服務(wù)器”存儲(chǔ)數(shù)據(jù)。偏偏“僵尸負(fù)載”屬于芯片設(shè)計(jì)缺陷,它可以在虛擬機(jī)中觸發(fā),并打破虛擬機(jī)與其他虛擬系統(tǒng)及其主機(jī)設(shè)備之間原有的隔離狀態(tài)。因此,那些將數(shù)據(jù)寄存在虛擬服務(wù)器中手機(jī) APP 也會(huì)因此受到影響。
如何應(yīng)對(duì)
本質(zhì)上,這次曝光的“僵尸負(fù)載”漏洞與“崩潰”、“幽靈”并沒有什么不同,它們同樣都是芯片設(shè)計(jì)缺陷引起的漏洞。一旦攻擊真的發(fā)生,現(xiàn)有的安全軟件很難對(duì)其進(jìn)行抵御。因?yàn)樗鼈兝眯酒O(shè)計(jì)缺陷發(fā)起側(cè)信道攻擊,并沒有使用病毒,攻擊不會(huì)留下痕跡,往往攻擊都結(jié)束了,受害者還一無所知。
好在英特爾官方在黑客們發(fā)起攻擊之前就已經(jīng)做出應(yīng)對(duì)措施,英特爾已發(fā)布微碼以修補(bǔ)易受攻擊的處理器,包括 Intel Xeon,Intel Broadwell,Sandy Bridge,Skylake 和 Haswell 芯片,目前還沒有任何“僵尸負(fù)載”被惡意使用的案例發(fā)生。個(gè)人電腦生產(chǎn)廠商,比如蘋果、微軟和谷歌都已經(jīng)分別發(fā)布補(bǔ)丁,作為抵御可能攻擊的第一道防線。