您現(xiàn)在的位置是:首頁 >科技 > 2020-07-30 11:28:28 來源:
新的缺陷使安全啟動(dòng)無效但沒有理由驚慌
研究人員在周三說,GRUB2是全球啟動(dòng)計(jì)算機(jī)使用最廣泛的程序之一,它具有一個(gè)漏洞,可以使攻擊者更容易在啟動(dòng)過程中運(yùn)行惡意固件。這將影響數(shù)百萬甚至可能數(shù)億的計(jì)算機(jī)。雖然GRUB2主要用于運(yùn)行Linux的計(jì)算機(jī),但利用漏洞攻擊的攻擊也可以在許多運(yùn)行Windows的PC上進(jìn)行。
由安全公司Eclypsium的研究人員發(fā)現(xiàn)的該漏洞對UEFI Secure Boot構(gòu)成了又一嚴(yán)重威脅??,UEFI Secure Boot是一種行業(yè)標(biāo)準(zhǔn),使用加密簽名來確保計(jì)算機(jī)制造商信任啟動(dòng)期間使用的軟件。安全啟動(dòng)旨在防止攻擊者通過用惡意軟件替換目標(biāo)軟件來劫持啟動(dòng)過程。
更隱形,功能更強(qiáng)大且難以消毒
所謂的引導(dǎo)程序包是最嚴(yán)重的感染類型之一,因?yàn)樗鼈冊谲浖褩5淖畹图墑e運(yùn)行。這樣一來,該惡意軟件就可以比大多數(shù)惡意軟件更隱密,可以在操作系統(tǒng)重新安裝后幸存下來,并且可以規(guī)避操作系統(tǒng)中內(nèi)置的安全保護(hù)措施。
研究人員將其命名為Boot Hole漏洞,其起因于緩沖區(qū)溢出,即GRUB2解析grub.cfg(引導(dǎo)加載程序的主要配置文件)中的文本。通過在文件中添加長文本字符串,攻擊者可以使為該文件分配的內(nèi)存空間過滿,并導(dǎo)致惡意代碼溢出到內(nèi)存的其他部分,然后在其中執(zhí)行該代碼。
配置文件未進(jìn)行數(shù)字簽名,因此安全啟動(dòng)不會(huì)檢測到何時(shí)對其進(jìn)行了惡意更改。GRUB2也不使用地址空間布局隨機(jī)化,數(shù)據(jù)執(zhí)行保護(hù)以及操作系統(tǒng)中標(biāo)準(zhǔn)的其他反利用保護(hù)。這些遺漏使已經(jīng)在目標(biāo)計(jì)算機(jī)上立足于利用該漏洞的攻擊者變得微不足道。從那里開始,他們可以完全繞過許多人希望防止Bootkit受阻的保護(hù)措施。
除了Eclypsium報(bào)告外,Debian 在此還提供了詳盡的概述。
但是有一些主要問題
但是,此漏洞的嚴(yán)重性已被一些因素抵消。首先,攻擊者必須具有對計(jì)算機(jī)的管理權(quán)限或?qū)τ?jì)算機(jī)的物理訪問權(quán)。由于現(xiàn)代OS在阻止漏洞利用方面取得了重大進(jìn)步,因此越來越難獲得管理員級別的控制。在過境或用戶暫時(shí)失去對計(jì)算機(jī)的實(shí)際擁有權(quán)的類似時(shí)刻,物理訪問可能會(huì)更容易。但是在大多數(shù)其他情況下,要求很高,因此不太可能影響許多用戶。而且,物理財(cái)產(chǎn)極大地限制了攻擊的可擴(kuò)展性。
還有兩個(gè)其他因素可以使Boot Hole變得不那么令人恐懼:已經(jīng)對計(jì)算機(jī)進(jìn)行管理或物理控制的攻擊者已經(jīng)有了許多其他方法來感染高級和隱秘的惡意軟件。此外,還有其他幾種繞過安全啟動(dòng)的已知技術(shù)。
“我認(rèn)為安全啟動(dòng)并不是當(dāng)今PC安全的基礎(chǔ),因?yàn)樗苌儆行?,并且,根?jù)他們[Eclypsium]的主張,它已經(jīng)很容易繞過了一年,沒有長期修復(fù)措施。 Atredis Partners研發(fā)副總裁兼軟件開發(fā)專家HD Moore告訴我。“我不確定GRUB2中的緩沖區(qū)溢出對什么有用,因?yàn)槿绻鹓rub.cfg是未簽名的,還會(huì)有其他問題。“它可能作為惡意軟件載體很有用,但是即使那樣,當(dāng)可以使用自定義grub.cfg文件代替鏈?zhǔn)郊虞d真實(shí)操作系統(tǒng)時(shí),也沒有理由利用緩沖區(qū)溢出。”
其他研究人員似乎也同意這一評估。跟蹤漏洞后,CVE-2020-10713的嚴(yán)重等級為“中等”。
極樂世界聲稱摩爾所指的是在2月份撤銷了一個(gè)引導(dǎo)裝載程序安全公司卡巴斯基實(shí)驗(yàn)室的工作,該公司將卡盤用于啟動(dòng)用于禁用計(jì)算機(jī)的應(yīng)急磁盤。撤銷引起了很多問題,以至于負(fù)責(zé)監(jiān)督驗(yàn)證過程的Microsoft 回滾了更改。撤銷不僅強(qiáng)調(diào)修補(bǔ)Boot Boot之類的缺陷的難度(稍后會(huì)詳細(xì)介紹),而且還強(qiáng)調(diào)了繞過Secure Boot的可能性。
不可怕并不意味著不認(rèn)真
開發(fā)的障礙和局限性并不意味著該漏洞不值得認(rèn)真對待。安全啟動(dòng)是專為利用啟動(dòng)孔所需的方案而創(chuàng)建的。受影響的計(jì)算機(jī)和軟件制造商的數(shù)量加劇了風(fēng)險(xiǎn)。極樂世界列出了受影響者的完整列表。他們是:
另一個(gè)需要認(rèn)真考慮的問題是推出無法永久阻止計(jì)算機(jī)啟動(dòng)的更新程序的挑戰(zhàn),這種現(xiàn)象通常稱為“磚化”。正如卡巴斯基事件所顯示的那樣,這種風(fēng)險(xiǎn)是真實(shí)存在的,并且可能帶來可怕的后果。
修復(fù)混亂本身就是一團(tuán)糟
修復(fù)程序涉及一個(gè)多步驟的過程,該過程并不容易,在許多情況下也不是很快的。首先,必須更新GRUB2以修復(fù)該漏洞,然后再分發(fā)給大型組織的制造商或管理員。在那里,工程師將必須對其支持的每種計(jì)算機(jī)型號(hào)進(jìn)行徹底的更新測試,以確保機(jī)器不會(huì)變硬。對于必須這樣做的機(jī)器,更新必須是固定的。只有這樣,該更新才可以正常安裝。
即使那樣,對于具有上述特權(quán)的攻擊者來說,將GRUB2回滾到其易受攻擊的版本并利用緩沖區(qū)溢出也將是微不足道的。盡管Windows計(jì)算機(jī)通常沒有安裝GRUB2,但是特權(quán)攻擊者通??梢园惭b它。為了消除此漏洞,計(jì)算機(jī)制造商將必須撤銷可驗(yàn)證舊版本的加密簽名或加載舊版本的“填充”固件。
此步驟也冒著砌磚機(jī)的風(fēng)險(xiǎn)。如果在安裝GRUB2版本之前撤銷了簽名(對于Windows計(jì)算機(jī),則為其他引導(dǎo)組件的簽名),則在進(jìn)行充分的測試之前,數(shù)百萬臺(tái)計(jì)算機(jī)也有被阻塞的風(fēng)險(xiǎn)。
為了避免這種可能性,Microsoft,Red Hat,Canonical以及其他操作系統(tǒng)和硬件制造商通常分兩個(gè)步驟提供修復(fù)程序。首先,只有在經(jīng)過測試并認(rèn)為可以安全安裝后,才會(huì)發(fā)布GRUB2更新。然后,在可能持續(xù)數(shù)月的一段時(shí)間后,簽名將被撤銷。僅在完成第二步之后,才會(huì)修補(bǔ)漏洞。
Microsoft經(jīng)營著證書頒發(fā)機(jī)構(gòu),該證書頒發(fā)機(jī)構(gòu)對由制造商適當(dāng)授權(quán)的UEFI簽名進(jìn)行認(rèn)證,并發(fā)布了以下聲明:
我們知道Linux常用的GRand Unified Boot Loader(GRUB)中存在一個(gè)漏洞。要利用此漏洞,攻擊者需要在配置了安全啟動(dòng)以信任Microsoft UEFI CA的系統(tǒng)上具有管理特權(quán)或物理訪問權(quán)限。我們正在努力完成必需的Windows Update程序包的驗(yàn)證和兼容性測試。
微軟發(fā)言人表示,該公司將為急需的IT管理員提供“緩解選項(xiàng),以安裝未經(jīng)測試的更新”。發(fā)言人說,微軟將在未指定的時(shí)間發(fā)布修補(bǔ)程序,以提供一般可用性。Microsoft已在此處發(fā)布了知識(shí)庫文章。
來自其他受影響公司的建議太多,無法在本文的初始版本中提供。暫時(shí),讀者應(yīng)檢查受影響公司的網(wǎng)站。這篇文章將在以后更新以提供鏈接。
目前,沒有理由恐慌。對漏洞利用的苛刻要求使此漏洞的嚴(yán)重程度適中。就像已經(jīng)提到的,安全啟動(dòng)已經(jīng)容易受到其他旁路技術(shù)的攻擊。這并不意味著沒有理由認(rèn)真對待此漏洞。盡快對它進(jìn)行修補(bǔ),但只有經(jīng)過有經(jīng)驗(yàn)的用戶或受影響的操作系統(tǒng)和軟件制造商的全面測試之后,才能進(jìn)行修補(bǔ)。同時(shí),不要失去任何睡眠。