危險(xiǎn)的外圍設(shè)備:Windows和Linux系統(tǒng)的計(jì)算機(jī)內(nèi)部安全隱患研究
WIFI適配器、USB集線器、觸控板、筆記本電腦攝像頭、網(wǎng)絡(luò)接口卡中的未簽名固件為惡意攻擊者入侵筆記本電腦和服務(wù)器提供了多種途徑。
在最新研究中,Eclypsium在來(lái)自Lenovo,Dell,HP和其他主要制造商的計(jì)算機(jī)中使用的WiFi適配器,USB集線器,觸控板和相機(jī)中發(fā)現(xiàn)了未簽名的固件。然后,我們展示了通過(guò)網(wǎng)絡(luò)接口卡對(duì)服務(wù)器的成功攻擊,該網(wǎng)絡(luò)接口卡具有三大服務(wù)器制造商各自使用的未簽名固件。當(dāng)這些組件上的固件被感染時(shí),惡意軟件并不會(huì)被任何軟件安全控制程序檢測(cè)到。盡管以前有野蠻攻擊,但外圍制造商針對(duì)固件簽名的動(dòng)作一直很慢,因此數(shù)百萬(wàn)個(gè)Windows和Linux系統(tǒng)面臨固件攻擊的風(fēng)險(xiǎn),這些固件可能遭遇數(shù)據(jù)泄露、操作破壞、勒索軟件等問(wèn)題。
未簽名固件的問(wèn)題
自從方程式組織(Equation Group)的 HDD植入被發(fā)現(xiàn)已經(jīng)過(guò)去了五年,它使業(yè)界體會(huì)到固件黑客入侵的能力以及外圍設(shè)備中未簽名的固件所帶來(lái)的潛在危險(xiǎn)。盡管最近幾年取得了一些進(jìn)步,但我們的研究表明,許多行業(yè)仍對(duì)未簽名固件的風(fēng)險(xiǎn)視而不見。在四項(xiàng)單獨(dú)的新研究中,我們?cè)诟鞣N企業(yè)設(shè)備的WiFi適配器,USB集線器,觸控板和相機(jī)中都發(fā)現(xiàn)了未簽名的固件。
不幸的是,這些問(wèn)題可能會(huì)嚴(yán)重破壞設(shè)備的安全性和操作,并且往往很難修復(fù)。破壞諸如網(wǎng)卡,驅(qū)動(dòng)器和其他外圍設(shè)備之類的組件會(huì)導(dǎo)致設(shè)備完全禁用,或者使攻擊者能夠竊取數(shù)據(jù),傳輸勒索軟件,并且躲避安全管理。Eclypsium的這項(xiàng)新研究表明,這些弱點(diǎn)在筆記本電腦和服務(wù)器的各個(gè)組件中普遍存在,為惡意攻擊提供了多種途徑。
固件:多數(shù)組件的大腦
在安全性方面,大多數(shù)注意力都集中在系統(tǒng)的最可見組件上,例如操作系統(tǒng)和應(yīng)用程序。然而,為了應(yīng)對(duì)日益增長(zhǎng)的威脅,許多組織已開始把固件的管理納入其漏洞管理和威脅防御模型中。
在許多情況下,這些努力僅限于系統(tǒng)固件(位于設(shè)備主板上的UEFI或BIOS)。但是,實(shí)際上設(shè)備中的每個(gè)組件都有自己的固件和潛在的風(fēng)險(xiǎn),包括網(wǎng)絡(luò)適配器、顯卡、USB設(shè)備、相機(jī)、觸摸板、觸控板等。您可以參考我們的在線“ 了解您自己的設(shè)備 ”資源(超鏈接:https://eclypsium.com/know-your-own-device/),以瀏覽當(dāng)今設(shè)備中一些常用的支持固件的組件。
這些組件幾乎都由固件控制。固件可以刻錄到設(shè)備本身的集成電路中,或者組件有自己的閃存,用于存儲(chǔ)固件。此外,固件還可以在啟動(dòng)時(shí)由操作系統(tǒng)動(dòng)態(tài)提供。無(wú)論固件如何存儲(chǔ),它都可以像微型計(jì)算機(jī)一樣操作,以控制該特定組件的低等級(jí)行為。正如我們將看到的那樣,從筆記本電腦到服務(wù)器再到網(wǎng)絡(luò)設(shè)備,此代碼通常很容易受到攻擊。
未簽名固件的風(fēng)險(xiǎn)
問(wèn)題在于,外圍設(shè)備通常缺乏安全最佳實(shí)踐,這在操作系統(tǒng)和其他更可見的組件(例如UEFI或BIOS)中是理所當(dāng)然的存在的最佳實(shí)踐。特別是,許多外圍設(shè)備在運(yùn)行代碼之前不會(huì)驗(yàn)證固件是否已使用高質(zhì)量的公鑰/私鑰正確簽名。這意味著這些組件無(wú)法驗(yàn)證設(shè)備加載的固件是否可靠,是否值得信賴。攻擊者可能只是插入惡意或易受攻擊的固件映像,組件就會(huì)盲目地信任并運(yùn)行該固件映像。
此外,正如我們之前的《Screwed Drivers》研究和最近的“陸上攻擊”所表明的那樣,可以使用易受攻擊的驅(qū)動(dòng)程序繞過(guò)保護(hù),并使勒索軟件不受干擾地進(jìn)行攻擊。許多組件無(wú)需特殊特權(quán)就可以更新,一種非常簡(jiǎn)單而強(qiáng)大的攻擊方案出現(xiàn)了:
- 攻擊者可以通過(guò)任何方法訪問(wèn)設(shè)備,例如通過(guò)電子郵件或惡意網(wǎng)站傳遞的惡意軟件,或邪惡女仆攻擊。在擁有基本的用戶特權(quán)后,攻擊者/惡意軟件可以將惡意固件寫入易受攻擊的組件。
- 如果該組件不需要正確簽名固件,則攻擊者的代碼將由該組件加載并運(yùn)行。
- 然后,攻擊者可以使用該組件的獨(dú)特功能和特權(quán)來(lái)發(fā)起進(jìn)一步攻擊。
攻擊者濫用固件的方式會(huì)因組件而異。例如,網(wǎng)絡(luò)適配器上的惡意固件可能允許攻擊者嗅探、復(fù)制、重定向或更改流量,從而導(dǎo)致數(shù)據(jù)丟失、中間人攻擊和其他攻擊?;赑CI的設(shè)備可以啟用直接內(nèi)存訪問(wèn)(DMA)攻擊,可以輕松竊取數(shù)據(jù)或完全控制受害系統(tǒng)。攝像頭可用于從用戶環(huán)境中捕獲數(shù)據(jù),而受損的硬盤驅(qū)動(dòng)器可使攻擊者隱藏代碼和工具,而不會(huì)被操作系統(tǒng)發(fā)現(xiàn)。然而,總結(jié)下來(lái)就是一個(gè)意思:如果某個(gè)組件不要求驗(yàn)證固件,則攻擊者通??梢詿o(wú)需特殊特權(quán)即可輕松地控制該組件。
最新研究:外圍設(shè)備中不安全固件的示例
1. 聯(lián)想筆記本電腦中的觸摸板和小紅帽(TrackPoint)固件
Eclypsium的研究人員最近分析了聯(lián)想ThinkPad X1 Carbon第六代筆記本電腦。當(dāng)我們使用該特定設(shè)備進(jìn)行分析時(shí),我們覺得許多其他型號(hào)甚至其他供應(yīng)商的產(chǎn)品也存在相同的問(wèn)題。具體地說(shuō),聯(lián)想將Synaptics用作其觸摸板的ODM,使用這組件的其他制造商也可能同樣容易受到攻擊。
在設(shè)備內(nèi)部,我們特別關(guān)注了以下固件:
- 觸摸板固件:pr2812761-tm3288-011-0808.img
- 小紅帽固件:PSG5E5_RANKA_fv06.bin
我們發(fā)現(xiàn)觸摸板和小紅帽使用了不安全的固件更新機(jī)制。具體來(lái)說(shuō),是在應(yīng)用固件更新之前,不需要在設(shè)備級(jí)別進(jìn)行加密簽名驗(yàn)證。由于缺乏這方面的限制,攻擊者可以通過(guò)軟件修改固件映像,在這些組件中運(yùn)行任意惡意代碼。
聯(lián)想表示,ODM在當(dāng)前產(chǎn)品中沒有解決此問(wèn)題的機(jī)制。
2. 惠普筆記本電腦中的HP Wide Vision FHD相機(jī)固件
Eclypsium研究了惠普Spectre x360 Convertible 13-ap0xxx筆記本電腦中的HP Wide Vision FHD攝像機(jī)的固件更新。我們發(fā)現(xiàn)固件更新未加密,并且缺少真實(shí)性檢查。攻擊者可以使用惠普提供的更新工具對(duì)固件進(jìn)行修改,以更改USB描述符。
HP Wide Vision FHD攝像機(jī)是SunplusIT生產(chǎn)的USB攝像機(jī)模塊?;萜諡槠銱P Spectre x360 Convertible 13-ap0xxx筆記本電腦上使用的相機(jī)提供了固件更新(sp93170.exe)。該固件更新程序包括SunplusIT的基于Windows的固件更新工具以及固件映像。
固件映像沒有任何形式的加密簽名或其他真實(shí)性信息?;赪indows的固件更新工具為了調(diào)整適應(yīng)USB描述符內(nèi)容,可以接受被修改過(guò)的固件文件。人們可以利用這種修改USB描述符的功能來(lái)禁用該設(shè)備或使該設(shè)備被識(shí)別為其他類型的USB設(shè)備。一旦處理器體系結(jié)構(gòu)的其他詳細(xì)信息被發(fā)掘,就可以使用USB HID設(shè)備(例如Rubber Ducky)將攝像頭模塊的行為更改為惡意軟件。
我們確認(rèn)了該漏洞的存在,方式是把使用過(guò)該工具更新的設(shè)備上的USB描述符修改掉。特別要注意的是,即使是普通用戶,SunplusIT固件更新程序也可以成功更新設(shè)備。固件更新原本應(yīng)該要求管理員訪問(wèn)權(quán)限。
惠普表示,他們正在更新固件,預(yù)計(jì)下一代相機(jī)的型號(hào)中會(huì)有認(rèn)證的固件。
惠普已在HP Security Bulletin存檔中發(fā)布了帶有緩解措施的安全公告。
3. 戴爾XPS筆記本電腦上的WiFi適配器
Eclypsium的研究人員還展示了一項(xiàng)能力,他們?cè)谶\(yùn)行Windows 10的戴爾 XPS 15 9560筆記本電腦上修改了WiFi適配器固件。這個(gè)存在問(wèn)題的適配器是Killer Wireless-n / a / ac1535。Windows10會(huì)檢查確認(rèn)驅(qū)動(dòng)程序已正確簽名,并且在設(shè)備管理器中查看時(shí),驅(qū)動(dòng)程序旁邊會(huì)顯示一個(gè)小證書圖標(biāo),如下所示。
當(dāng)我們修改WiFi適配器的固件映像時(shí),就會(huì)看到該圖標(biāo)消失了。
如我們所見,證書圖標(biāo)不再顯示。而且,盡管圖標(biāo)不見了,我們?nèi)匀荒軔阂庑薷墓碳?,并且?qū)動(dòng)程序仍然可以成功將其加載到設(shè)備中。
我們向高通和微軟報(bào)告了這個(gè)問(wèn)題。高通是為Killer Wireless網(wǎng)卡提供芯片組和驅(qū)動(dòng)程序,而微軟則負(fù)責(zé)檢查這些驅(qū)動(dòng)程序已簽名。高通公司回應(yīng)說(shuō),他們的芯片組從屬于處理器,應(yīng)該是運(yùn)行在CPU上的軟件來(lái)負(fù)責(zé)驗(yàn)證固件。他們表示,目前沒有為這些芯片添加簽名驗(yàn)證的計(jì)劃。但是,微軟回應(yīng)說(shuō),應(yīng)由設(shè)備供應(yīng)商來(lái)驗(yàn)證加載到設(shè)備中的固件。
這就產(chǎn)生了一個(gè)有趣的問(wèn)題:誰(shuí)來(lái)負(fù)責(zé)確保驅(qū)動(dòng)程序和固件是已簽名的?特權(quán)攻擊者可以輕松替換驅(qū)動(dòng)程序文件并繞過(guò)所有假想檢查,這就使得驅(qū)動(dòng)程序看起來(lái)如此不堪一擊。此外,就是設(shè)備和操作系統(tǒng)。在這兩種可能中,責(zé)任仍然不明確,問(wèn)題常常不會(huì)被完全解決。
4. USB集線器固件
作為未簽名固件廣泛使用的另一個(gè)例子,我們將目光轉(zhuǎn)向Linux Vendor Firmware Service,這是一個(gè)允許硬件供應(yīng)商上傳固件更新的安全門戶。通過(guò)此資源,我們可以更有針對(duì)性的關(guān)注更新協(xié)議,并輕松查看已簽名和未簽名的協(xié)議。我們發(fā)現(xiàn),某些更新協(xié)議與傳輸有關(guān),但還有許多是用于實(shí)際更新過(guò)程的。
例如,VLI USB集線器固件未簽名。
固件攻擊演示
接下來(lái),讓我們看一下未簽名的固件是如何被濫用于真實(shí)攻擊中的??刂仆鈬M件的攻擊者不僅可以將組件的功能用于惡意攻擊,而且還可能獲得新的特權(quán),甚至可以控制整個(gè)系統(tǒng)。
在這個(gè)演示中,我們攻擊了網(wǎng)絡(luò)接口卡(NIC)芯片組中的未簽名固件。對(duì)NIC的惡意攻擊可能會(huì)對(duì)服務(wù)器產(chǎn)生很深的影響:遠(yuǎn)程破壞操作系統(tǒng)、提供遠(yuǎn)程后門、窺探和泄露原始網(wǎng)絡(luò)流量、繞過(guò)操作系統(tǒng)防火墻來(lái)提取數(shù)據(jù)、提供勒索軟件等。此類攻擊會(huì)根據(jù)某信號(hào)斷開服務(wù)器與網(wǎng)絡(luò)的連接,從而破壞整個(gè)數(shù)據(jù)中心的連接。
眾多研究人員強(qiáng)調(diào)了NIC中未簽名固件的危險(xiǎn),例如Arrigo Triulzi的Project Maux演說(shuō),LoïcDuflot撰寫的《您是否仍可以信任網(wǎng)卡》等。
我們所攻擊的NIC中的Broadcom BCM5719芯片組目前用于多家制造商的服務(wù)器中,并且不會(huì)對(duì)主機(jī)上傳的固件執(zhí)行簽名驗(yàn)證。目前有許多開源項(xiàng)目正致力于逆向工程和重新實(shí)現(xiàn)此NIC固件,例如
https://github.com/meklort/bcm5719-fw和https://github.com/hlandau/ortega,這些項(xiàng)目進(jìn)一步降低了攻擊門檻。
服務(wù)器的基板管理控制器(BMC)是用來(lái)進(jìn)行設(shè)備帶外管理的,大多數(shù)服務(wù)器都能將BMC配置成與主機(jī)系統(tǒng)共享NIC。在這種安排下,你的物理網(wǎng)絡(luò)連接到外部設(shè)備時(shí),就仿佛有兩個(gè)不同的網(wǎng)絡(luò)適配器,每個(gè)適配器都有自己的MAC地址。根據(jù)設(shè)計(jì),主機(jī)軟件(即使在內(nèi)核級(jí)別)也看不到任何BMC通信。但是,如果將自己的固件加載到上述配置的NIC中,就能訪問(wèn)一般情況下無(wú)法單獨(dú)從主機(jī)訪問(wèn)的流量。
用這種方法,我們可以檢查BMC網(wǎng)絡(luò)數(shù)據(jù)包的內(nèi)容,將這些內(nèi)容提供給主機(jī)上運(yùn)行的惡意軟件,甚至即時(shí)修改BMC流量。也可以用來(lái)阻止從BMC發(fā)送到中央日志記錄服務(wù)器的警報(bào),選擇性地將它們重定向到其他服務(wù)器,將流量復(fù)制并發(fā)送到遠(yuǎn)程位置進(jìn)行分析,以及直接用NIC將網(wǎng)絡(luò)連接給到遠(yuǎn)程命令和控制的服務(wù)器上,而主機(jī)或BMC卻不知道發(fā)生了什么事。
更糟糕的是,由于該卡已連接到PCI總線,攻擊者可能會(huì)使用DMA攻擊來(lái)完全控制服務(wù)器。如我們先前的研究,DMA攻擊使?jié)撛诘墓粽呖梢岳@開主CPU和OS,直接從受害系統(tǒng)讀取和寫入內(nèi)存。通過(guò)覆蓋內(nèi)存,攻擊者可以控制內(nèi)核執(zhí)行,以執(zhí)行幾乎任何形式的惡意活動(dòng)。因此,攻擊者可以利用網(wǎng)卡中的漏洞來(lái)完全控制整個(gè)服務(wù)器的內(nèi)核。
固件安全問(wèn)題涉及整個(gè)行業(yè)
外圍設(shè)備中固件無(wú)簽名是很廣泛的問(wèn)題,這涉及眾多品牌及其ODM供應(yīng)商。在披露了Equation Group的驅(qū)動(dòng)器植入物之后,許多HDD和SSD供應(yīng)商進(jìn)行了更改,以確保其組件僅接受有認(rèn)證的固件。但是,許多其他外圍組件尚未效仿。而且鑒于組件供應(yīng)商經(jīng)常與各種設(shè)備供應(yīng)商合作,單個(gè)易受攻擊的組件就很容易出現(xiàn)在多個(gè)產(chǎn)品中。
同樣重要的是,這些問(wèn)題幾乎適用于所有類別的Windows和Linux設(shè)備,從筆記本電腦到服務(wù)器。Apple會(huì)在每次將驅(qū)動(dòng)程序包中的所有文件(包括固件)加載到設(shè)備之前,對(duì)其進(jìn)行簽名驗(yàn)證,以減輕這種攻擊。相反,Windows和Linux僅在最初安裝該軟件包時(shí)才執(zhí)行這種類型的驗(yàn)證。設(shè)備本身則需要在允許固件更新之前執(zhí)行簽名驗(yàn)證,而不是取決于操作系統(tǒng)來(lái)執(zhí)行此任務(wù)。
不幸的是,未經(jīng)簽名的固件帶來(lái)的問(wèn)題解決起來(lái)并不容易。如果該組件并非旨在檢查簽名的固件,則通常無(wú)法通過(guò)固件更新進(jìn)行修復(fù)。在許多情況下,設(shè)備或產(chǎn)品線中的根本問(wèn)題完全無(wú)法解決,這意味著該產(chǎn)品線中的所有設(shè)備在其整個(gè)生命周期中都暴露在被攻擊的危險(xiǎn)中。
結(jié)論
外圍設(shè)備中未簽名的固件仍然是網(wǎng)絡(luò)安全性的一個(gè)被忽視的方面。根據(jù)組件的功能,未簽名的固件可能會(huì)導(dǎo)致數(shù)據(jù)丟失、完整性被破壞、隱私被暴露,并使攻擊者能夠獲得特權(quán)并躲避傳統(tǒng)的安全控制。鑒于未簽名固件使用的廣泛性,企業(yè)應(yīng)掃描其設(shè)備中是否有易受攻擊的組件,并應(yīng)在采購(gòu)過(guò)程中評(píng)估新設(shè)備的固件狀態(tài)。