2011 年(nian)以后制造的(de)所(suo)有英(ying)特爾芯片都存(cun)在該問(wen)題。”近日,一則簡(jian)短的(de)消息震驚了整(zheng)個科技界。全球最大(da)的(de)芯片廠商英(ying)特爾爆出重大(da)安全漏(lou)洞,一款名為“ ZombieLoad ”(僵尸(shi)負載)的(de)芯片漏(lou)洞被奧地(di)利(li)格拉茨(ci)理工大(da)學(Graz University of Technology)的(de)研究人員發現。
據安全(quan)人士透(tou)露,“僵尸負載(zai)”及其(qi)三個附屬(shu)漏洞(dong),會導致最近(jin)八年使用英(ying)特爾(er)芯片的設備(bei)面(mian)臨數據泄露的風險,黑客可利(li)用該漏洞(dong)讀取設備(bei)內存,獲得密碼、密鑰等敏(min)感信(xin)息。英(ying)特爾(er)芯片占據全(quan)球 85% 以上的桌面(mian) CPU 市場,這次“僵尸負載(zai)”一經(jing)曝(pu)光(guang),便(bian)在(zai)全(quan)球信(xin)息行業(ye)引發廣泛(fan)關注,所有的 MacBook,大(da)(da)多(duo)數 Windows PC ,大(da)(da)多(duo)數 Linux 服(fu)務器(qi)甚至許多(duo) Chromebook 都將(jiang)受到不小的影響。
何為“僵尸負載”
“僵尸負載”實際上由四個漏洞組成,根源在于“預測執行”(speculative execution)和“亂序執行”(out-of-order execution)。所謂“預測執行”,其實就是 CPU 推測它接下來會接受到哪些操作請求,同時在接到請求之前執行這些操作,以便在實際發出請求時節省時間。說的簡單點,這個操作有點類似于我們常說的, CPU 通(tong)過收集用戶數據,分(fen)析得出用戶的操作習慣,這樣就(jiu)可(ke)以在(zai)我(wo)們發出指(zhi)令前提(ti)前行(xing)動。
問題(ti)在(zai)于(yu), CPU 在(zai)“預(yu)(yu)測(ce)執(zhi)行(xing)(xing)”過程中,將(jiang)大量用戶(hu)數(shu)據放在(zai) CPU 內存緩存中。緩存中的數(shu)據一(yi)般不會收到重(zhong)重(zhong)保(bao)護,一(yi)旦黑客通過某種特定的操(cao)作(zuo),比如引導用戶(hu)安裝帶有(you)(you)惡意代(dai)碼的軟(ruan)件(jian),該(gai)軟(ruan)件(jian)就能(neng)造成英特爾 CPU “預(yu)(yu)測(ce)執(zhi)行(xing)(xing)”崩潰(kui),從(cong)而讀(du)取此刻(ke)位于(yu)英特爾 CPU 待(dai)執(zhi)行(xing)(xing)命令緩沖區的所有(you)(you)當前運行(xing)(xing)的應(ying)用數(shu)據。如此一(yi)來,我們極有(you)(you)可能(neng)在(zai)完(wan)全不知(zhi)情的情況下,被(bei)黑客輕(qing)松竊(qie)取賬號(hao)密碼、支付密碼、家庭住址、聯系電話等(deng)重(zhong)要信息(xi)。
在(zai)漏洞(dong)測試過程(cheng)中,研究人(ren)員還發現(xian),黑(hei)客可(ke)以(yi)(yi)利(li)用(yong)(yong)“僵尸負載”漏洞(dong)來查看一個人(ren)實(shi)時訪問哪些網站,這樣(yang)就可(ke)以(yi)(yi)很容易地獲(huo)取用(yong)(yong)于用(yong)(yong)戶在(zai)線(xian)輸入的密碼(ma)或加密文(wen)檔。“在(zai)這里,我們將 CPU 視為一個網絡,可(ke)以(yi)(yi)隨意竊聽他們之間的流量,”阿姆斯特丹自由(you)大學的研究員克(ke)里斯蒂亞諾如此解釋到。
史詩級芯片漏洞的延續
事(shi)實上(shang),“僵尸負載”并不是第一個利用 CPU 內存(cun)緩(huan)存(cun)的(de)漏(lou)洞(dong)。早在一年多以前,“崩潰” (Meltdown)和(he)“幽靈” (Spectre) 漏(lou)洞(dong),幾乎席卷了整個計算(suan)機(ji)行(xing)業。“崩潰” 是英特爾(er)特有的(de)漏(lou)洞(dong),由于英特爾(er)處理器設(she)計中(zhong)允許猜測性非法訪問的(de)嚴重錯誤,“崩潰”漏(lou)洞(dong)很(hen)容(rong)易(yi)被(bei)利用。
“幽靈” 漏洞(dong)則(ze)是利(li)用所(suo)(suo)(suo)謂間接分叉預測,英特爾、AMD 以(yi)及(ji) ARM 架構的(de)(de)芯片都存在(zai)(zai)此(ci)缺陷。眾所(suo)(suo)(suo)周知(zhi),桌面(mian)級 CPU 只(zhi)有英特爾、AMD 兩家,所(suo)(suo)(suo)有的(de)(de)手機 CPU ,包括蘋果 A 系(xi)列、華為麒麟(lin)系(xi)列、高通驍龍系(xi)列在(zai)(zai)內(nei),全都使用低能耗的(de)(de) ARM 架構,所(suo)(suo)(suo)以(yi)“幽靈” 漏洞(dong)直接影響(xiang)了所(suo)(suo)(suo)有 PC、筆記本電(dian)腦(nao)和手機。好(hao)在(zai)(zai)“幽靈”漏洞(dong)存在(zai)(zai)許(xu)多不確定因素,黑客利(li)用起來(lai)相對困難許(xu)多,各大芯片廠商又及(ji)時推出了系(xi)統(tong)補丁,這才(cai)沒引起大的(de)(de)安全災(zai)難。
然(ran)而,當(dang)芯片廠商們還在慶(qing)幸這兩個漏(lou)(lou)洞(dong)沒造成大的(de)損失時,就有研究人員警(jing)告說:“無(wu)論如何,這些漏(lou)(lou)洞(dong)不(bu)是故事的(de)結局,而是開始,它們代表了一種全新的(de)安全漏(lou)(lou)洞(dong)類(lei)別,可能會一次又一次地浮出(chu)水面。”事實果(guo)真如此(ci),一年(nian)多以后,“僵尸負載”曝光(guang),再度將廣大用戶置于安全陰影之下(xia)。
不僅僅是電腦
對于(yu)普(pu)通用(yong)戶(hu)(hu)來(lai)說,大(da)家可能(neng)一(yi)時難以明白這個(ge)漏洞的(de)危(wei)害有多大(da),有些人甚至會(hui)想,既然(ran)(ran)這次的(de)漏洞僅(jin)僅(jin)針(zhen)對英特(te)爾芯片,那么手(shou)機用(yong)戶(hu)(hu)和使用(yong) AMD 芯片的(de)電(dian)腦用(yong)戶(hu)(hu)自然(ran)(ran)就不(bu)用(yong)擔心(xin)這個(ge)問(wen)題了。
不過,事情并沒(mei)有這么簡(jian)單。雖然在(zai)個人電腦 CPU 領域,英(ying)特爾僅占據 85% 的市(shi)場(chang)份額,可在(zai)服(fu)務(wu)器領域,英(ying)特爾 CPU 的市(shi)場(chang)份額高達 97%。也就是說,幾乎(hu)所有的服(fu)務(wu)器,都(dou)在(zai)使用英(ying)特爾 CPU。
這次(ci)“僵尸負載(zai)”漏洞引起(qi)(qi)的安全危機,也將(jiang)經由(you)使(shi)用(yong)(yong)(yong)英特爾 CPU 的服務器傳導到手(shou)機用(yong)(yong)(yong)戶(hu)中(zhong)。我們平常在玩手(shou)機時都會(hui)發現,隨著使(shi)用(yong)(yong)(yong)時間的增加(jia),手(shou)機 APP 會(hui)產(chan)生(sheng)大量(liang)的用(yong)(yong)(yong)戶(hu)數據。這些用(yong)(yong)(yong)戶(hu)數據,APP運營者都得將(jiang)其保存起(qi)(qi)來,以便用(yong)(yong)(yong)戶(hu)隨時調用(yong)(yong)(yong)。
大部分 APP 運(yun)營者并沒有實力擁有自己的(de)獨立服(fu)務(wu)器,所以他們一般會租用阿里云(yun)等公司的(de)超大型物(wu)理服(fu)務(wu)器集群(qun),再通過軟件切割出“虛(xu)擬(ni)服(fu)務(wu)器”存(cun)儲數(shu)據。偏偏“僵(jiang)尸(shi)負載”屬于芯片設計缺陷(xian),它可以在(zai)虛(xu)擬(ni)機(ji)中(zhong)觸發(fa),并打破虛(xu)擬(ni)機(ji)與其他虛(xu)擬(ni)系統及其主機(ji)設備之間原有的(de)隔離狀(zhuang)態。因此(ci),那些將數(shu)據寄(ji)存(cun)在(zai)虛(xu)擬(ni)服(fu)務(wu)器中(zhong)手機(ji) APP 也會因此(ci)受到影響。
如何應對
本質(zhi)上,這(zhe)次曝光的“僵尸(shi)負載”漏洞與“崩(beng)潰”、“幽靈”并沒(mei)(mei)有(you)什么(me)不同,它們同樣都是芯片(pian)設計缺(que)陷引起的漏洞。一旦攻(gong)(gong)(gong)擊真的發(fa)生,現有(you)的安全軟件(jian)很難對其進(jin)行(xing)抵御。因為它們利用(yong)芯片(pian)設計缺(que)陷發(fa)起側(ce)信(xin)道攻(gong)(gong)(gong)擊,并沒(mei)(mei)有(you)使用(yong)病毒,攻(gong)(gong)(gong)擊不會留下(xia)痕跡,往往攻(gong)(gong)(gong)擊都結(jie)束了,受(shou)害(hai)者還一無所(suo)知。
好在英特爾官方在黑客們發起攻擊之前就已經做出應對措施,英特爾已發布微碼以修補易受攻擊的處理器,包括 Intel Xeon,Intel Broadwell,Sandy Bridge,Skylake 和 Haswell 芯片,目前還沒有任何“僵尸負載”被惡意使用的案例發生。個人(ren)電腦生(sheng)產廠商(shang),比如蘋果(guo)、微軟和谷歌(ge)都已(yi)經分別發(fa)布補丁(ding),作為抵御可(ke)能(neng)攻擊的第一道(dao)防線(xian)。