2018-01-05 15:59:17
英特爾再次曝出漏洞了。英特爾處理器存在一個底層設(shè)計缺陷,要解決這一芯片級漏洞問題,需要重新設(shè)計 Windows、Linux 內(nèi)核系統(tǒng)。
此次英特爾所曝出的芯片級漏洞,無法通過微代碼更新進(jìn)行彌補(bǔ),而是需要操作系統(tǒng)廠商一同來修補(bǔ)(當(dāng)然土豪可以隨意一些,直接換沒有漏洞的新處理器)。
為了補(bǔ)上漏洞,Windows、Linux 等操作系統(tǒng)也需要更新,但這會影響英特爾產(chǎn)品的性能,導(dǎo)致英特爾芯片處理速度放慢 5 % 至 30%,具體情況取決于相關(guān)任務(wù)和處理器型號。
記者發(fā)現(xiàn)這次部分蘋果用戶也要遭殃,由于這一漏洞存在于英特爾的 x86 芯片中,蘋果 64 位 macOS 等系統(tǒng)也需進(jìn)行類似更新。
目前工程師們正加緊檢修開源的 Linux 內(nèi)核虛擬內(nèi)存系統(tǒng),與此同時,微軟預(yù)計將在下周二發(fā)布的補(bǔ)丁中對 Windows 操作系統(tǒng)進(jìn)行調(diào)整。目前,這些調(diào)整已在 2017 年11、12 月提供給 Windows 內(nèi)部版本的測試員。
這是個已經(jīng)存在了 10 年以上的老洞
這一缺陷存在于英特爾過去十年生產(chǎn)的處理器中,攻擊者可通過這一漏洞深入到內(nèi)核訪問內(nèi)存內(nèi)容。要知道內(nèi)核的內(nèi)存空間中包含用戶的各種密碼,登陸密匙,磁盤緩存文件等。
試想黑客只要在 Web 瀏覽器中運(yùn)行的 JavaScript 代碼或者在公共服務(wù)器上運(yùn)行惡意軟件就能獲取這些敏感數(shù)據(jù),多么可怕。
解決方法就是,使用所謂的內(nèi)核頁表隔離(KPTI)功能,將內(nèi)核的內(nèi)存與用戶進(jìn)程完全分離開來。Linux內(nèi)核開發(fā)團(tuán)隊一度考慮過Forcefully Unmap Complete Kernel With Interrupt Trampolines(又名FUCKWIT),讓你了解這個問題對開發(fā)人員來說有多煩人。
只要運(yùn)行中的程序需要執(zhí)行任何有用的操作,比如寫入到文件或建立網(wǎng)絡(luò)連接,它就要暫時將處理器的控制權(quán)交給內(nèi)核以便執(zhí)行任務(wù)。
為了盡可能快速而高效地從用戶模式切換到內(nèi)核模式,再切換回到用戶模式,內(nèi)核存在于所有進(jìn)程的虛擬內(nèi)存地址空間中,不過這些程序看不見內(nèi)核。需要內(nèi)核時,程序進(jìn)行系統(tǒng)調(diào)用,處理器切換到內(nèi)核模式,進(jìn)入內(nèi)核。
完成后,CPU被告知切換回到用戶模式,重新進(jìn)入進(jìn)程。在用戶模式下,內(nèi)核的代碼和數(shù)據(jù)依然看不見,但存在于進(jìn)程的頁表中。
普通用戶什么時候會受影響?
據(jù)了解,關(guān)于英特爾芯片內(nèi)部這個漏洞的細(xì)節(jié)還處于秘而不宣的階段,不過,對這些細(xì)節(jié)保密的禁令會在這個月初解除。針對Linux內(nèi)核的補(bǔ)丁可供所有人查看,但是源代碼中的注釋已經(jīng)過編輯,有意對這個問題模糊化處理。
The Register 預(yù)計微軟將于下周二(即2018年1月9日)公開發(fā)布這一補(bǔ)丁。這些變化將出現(xiàn)在即將發(fā)布的Linux內(nèi)核版本中,而且蘋果可能在不久的將來也會對macOS做出類似的修改。
雖然補(bǔ)丁會對性能有所影響,但工程師們還是建議普通用戶進(jìn)行升級,畢竟,如果不是后果非常嚴(yán)重,各大廠商不會花這么大力氣進(jìn)行升級修補(bǔ)的。