固件安全的三大盲區(qū)
5G、物聯(lián)網(wǎng)、工業(yè)互聯(lián)網(wǎng)、智能制造、智能家居…當(dāng)下信息技術(shù)革命幾大熱門(mén)領(lǐng)域,都在顯著擴(kuò)大一個(gè)攻擊面:固件安全。
因?yàn)椋瑤缀跛杏布O(shè)備都內(nèi)置了一種確保設(shè)備正常運(yùn)行的底層軟件——固件。
安全“下移”
在過(guò)去的二十年中,隨著軟件安全性得到顯著加固,黑客的攻擊路徑開(kāi)始沿著技術(shù)堆棧“下移”,聚焦在固件入口點(diǎn)。作為攻擊目標(biāo),固件不像軟件,可以被基本安全控件輕松地訪(fǎng)問(wèn)或掃描,因此固件的安全漏洞生命周期往往比較長(zhǎng),給攻擊者提供了足夠的時(shí)間窗口來(lái)利用或者施展各種攻擊手段。
面對(duì)黑客攻擊的“下移”,過(guò)去十年業(yè)界通過(guò)固件安全解決方案和最佳實(shí)踐提升了固件安全。但是,依然有許多組織仍在遭受固件安全盲區(qū)的困擾,這些盲區(qū)給企業(yè)系統(tǒng)和數(shù)據(jù)的安全管理留下諸多隱患。
導(dǎo)致固件安全隱患的原因有很多,從簡(jiǎn)單的平臺(tái)錯(cuò)誤配置、更新滯后,到普遍缺乏對(duì)固件安全重要性的認(rèn)知和相關(guān)安全意識(shí)等。
簡(jiǎn)而言之,許多人(包括很多安全專(zhuān)家)不知道當(dāng)前存在哪些固件安全隱患。以下,我們列舉了每個(gè)企業(yè)都應(yīng)考慮解決的三個(gè)固件安全盲點(diǎn),以提高整體安全性:
1. 固件安全意識(shí)
固件無(wú)處不在,我們每天使用的設(shè)備上幾乎都運(yùn)行著固件,其安全性已成為整個(gè)安全界研究人員的新焦點(diǎn)。由于太多設(shè)備運(yùn)行著五花八門(mén)的固件,因此固件安全問(wèn)題往往讓人感到無(wú)處下手,不知所措。對(duì)于企業(yè)安全主管來(lái)說(shuō),第一步工作是將固件識(shí)別為組織威脅模型中的一項(xiàng)資產(chǎn),并建立針對(duì)機(jī)密性、完整性和可用性(CIA)的安全性目標(biāo)。以下是CIA模型與固件安全的映射:
- 機(jī)密性:固件中可能包含需要保護(hù)的秘密。例如,BIOS密碼可以使攻擊者能夠訪(fǎng)問(wèn)固件內(nèi)容,從而繞過(guò)攻擊者的身份驗(yàn)證。
- 完整性:確保系統(tǒng)上運(yùn)行的固件是正確的固件,并且沒(méi)有被破壞或修改。安全啟動(dòng)和可信硬件等功能支持對(duì)正在運(yùn)行的固件進(jìn)行測(cè)量和驗(yàn)證。
- 可用性:確保設(shè)備可以訪(fǎng)問(wèn)其固件并正常運(yùn)行是企業(yè)的頭等大事。攻擊者可能會(huì)通過(guò)永久拒絕服務(wù)(PDoS)攻擊的形式來(lái)破壞固件安全,這將需要手動(dòng)刷新系統(tǒng)組件(有時(shí)是昂貴且麻煩的解決方案)。
總之,增強(qiáng)固件安全性的第一步是充分意識(shí)到固件作為資產(chǎn)在企業(yè)威脅模型中的重要性,以及固件安全的 CIA(機(jī)密性、完整性和可用性)三要素的定義。
2. 固件更新
底層技術(shù)安全研究的興起,意味著更多的漏洞被發(fā)現(xiàn)和修補(bǔ),從而有助于產(chǎn)品/平臺(tái)彈性的逐步提高。產(chǎn)品供應(yīng)商通常通過(guò)其漏洞賞金計(jì)劃,內(nèi)部研究團(tuán)隊(duì)與安全研究人員合作,并在世界各地的會(huì)議上介紹他們的工作,以協(xié)調(diào)披露固件安全漏洞。該行業(yè)在實(shí)現(xiàn)協(xié)作,實(shí)現(xiàn)流程和加快響應(yīng)時(shí)間方面朝著一個(gè)共同的目標(biāo)走了很長(zhǎng)的路要走:改善計(jì)算機(jī)系統(tǒng)的整體健康狀況和彈性。
固件更新過(guò)程可能很復(fù)雜且很耗時(shí),涉及多方參與者,包括研究人員、設(shè)備制造商、OEM等等。例如,一旦UEFI的EDK II源代碼更新了補(bǔ)丁,供應(yīng)商就必須采用并將更改推送給最終客戶(hù)。供應(yīng)商發(fā)行固件更新的原因有很多,但是一些最重要的補(bǔ)丁往往是“計(jì)劃外”的,為了應(yīng)對(duì)突發(fā)的嚴(yán)重漏洞。
定期進(jìn)行固件更新對(duì)于增強(qiáng)安全性的重要性已經(jīng)無(wú)需多言,但是由于多種原因,許多企業(yè)都不愿引入新的補(bǔ)丁程序,例如企業(yè)擔(dān)心更新的時(shí)間或經(jīng)濟(jì)成本、平臺(tái)阻塞甚至業(yè)務(wù)停頓的風(fēng)險(xiǎn),還有很多其他顧慮都讓企業(yè)推遲甚至取消更新。但是,總的來(lái)說(shuō),延遲或放棄補(bǔ)丁更新通常會(huì)增加企業(yè)暴露在風(fēng)險(xiǎn)中的時(shí)間。
WannaCry就是一個(gè)很好的例證。盡管微軟此前已發(fā)布更新來(lái)解決該漏洞,但WannaCry勒索軟件在2017年春季對(duì)數(shù)十萬(wàn)臺(tái)未打補(bǔ)丁的計(jì)算機(jī)造成了嚴(yán)重破壞,影響了數(shù)百個(gè)國(guó)家的企業(yè),并造成數(shù)十億美元的損失。盡管問(wèn)題的根源不是固件漏洞,但WannaCry造成的巨大損失明確無(wú)誤地告訴我們,不對(duì)已知威脅應(yīng)用補(bǔ)丁程序?qū)a(chǎn)生何種嚴(yán)重后果。
可以說(shuō),定期進(jìn)行固件更新是企業(yè)安全人員可以采取的最簡(jiǎn)單、最有效的固件安全措施之一。
如果你擔(dān)心安裝固件更新可能會(huì)無(wú)意間破壞企業(yè)的關(guān)鍵業(yè)務(wù)系統(tǒng),請(qǐng)?jiān)趯?duì)整個(gè)系統(tǒng)進(jìn)行全面部署之前考慮對(duì)一小部分系統(tǒng)進(jìn)行現(xiàn)場(chǎng)測(cè)試,并記住始終備份平臺(tái)的當(dāng)前鏡像,并做好系統(tǒng)還原的預(yù)案。
3. 平臺(tái)配置錯(cuò)誤
可能導(dǎo)致固件安全風(fēng)險(xiǎn)的另一個(gè)問(wèn)題是平臺(tái)配置錯(cuò)誤。啟動(dòng)運(yùn)行后,平臺(tái)將通過(guò)一系列復(fù)雜的步驟來(lái)正確配置計(jì)算機(jī)以進(jìn)行運(yùn)行時(shí)操作。這個(gè)過(guò)程中的固件和硬件有很多基于時(shí)間和順序的交互方式,如果平臺(tái)設(shè)置不正確,可能會(huì)遭到整體安全性的破壞。
禁用的安全功能,例如安全啟動(dòng)、VT-d、端口保護(hù)(如Thunderbolt)、執(zhí)行保護(hù)等是可能造成代價(jià)高昂的平臺(tái)錯(cuò)誤配置的“事故多發(fā)地段”。如果工程師忘記了關(guān)鍵的配置步驟或未能正確配置數(shù)以百計(jì)的參數(shù)中的任何一個(gè),都可能會(huì)產(chǎn)生各種固件安全風(fēng)險(xiǎn)。
如果沒(méi)有自動(dòng)化的安全驗(yàn)證工具,大多數(shù)平臺(tái)配置錯(cuò)誤都很難發(fā)現(xiàn),因?yàn)椴煌姹镜钠脚_(tái)往往定義了不同的寄存器,檢查的對(duì)象列表很長(zhǎng),而且設(shè)置之間可能存在依賴(lài)性。累積跟蹤正確的平臺(tái)配置可能會(huì)很快變得很麻煩。
幸運(yùn)的是,一些開(kāi)源項(xiàng)目,例如英特爾主導(dǎo)的Chipsec(https://github.com/chipsec/chipsec)之類(lèi)的工具可以?huà)呙杵脚_(tái)中的配置異常,并評(píng)估固件中對(duì)安全敏感的字節(jié),以自動(dòng)識(shí)別錯(cuò)誤配置。作為一個(gè)維護(hù)積極的開(kāi)放源代碼工具,Chipsec會(huì)定期更新最新的威脅分析,從而使全球的企業(yè)都可以從不斷發(fā)展的安全行業(yè)研究中受益。Chipsec還能夠自動(dòng)檢測(cè)正在運(yùn)行的平臺(tái)并設(shè)置寄存器定義,除了掃描,它還提供了幾種固件安全工具,包括模糊測(cè)試、手動(dòng)測(cè)試和取證分析。
盡管有市場(chǎng)上還有一些商業(yè)解決方案可以檢查系統(tǒng)配置,但是運(yùn)行Chipsec掃描是一種免費(fèi)、快速的方法,可以確保將特定系統(tǒng)設(shè)置為建議值。
安全牛評(píng)
雖然IT業(yè)界流行的說(shuō)法是“軟件正在吃掉世界”、“云計(jì)算正在吃掉軟件”,但是在萬(wàn)物互聯(lián)的今天,企業(yè)數(shù)字基礎(chǔ)設(shè)施中的硬件設(shè)備和相關(guān)固件正在以驚人的速度增長(zhǎng),作為連接物理和虛擬世界最為關(guān)鍵的“固件”,正面臨著前所未有的安全威脅,如果企業(yè)對(duì)此缺乏足夠的重視,那么可以遇見(jiàn)的未來(lái)就是“安全吃掉一切”。
總之,企業(yè)在固件安全方面需要做的事情有很多,我們需要盡快走出盲區(qū),提升固件安全的防御優(yōu)先級(jí),定期安裝固件更新,致力于持續(xù)檢測(cè)潛在的平臺(tái)錯(cuò)誤配置,并啟用可用的安全功能及策略,以增強(qiáng)固件的機(jī)密性、完整性、可用性,最終提升企業(yè)的“安全彈性”。
【本文是51CTO專(zhuān)欄作者“安全牛”的原創(chuàng)文章,轉(zhuǎn)載請(qǐng)通過(guò)安全牛(微信公眾號(hào)id:gooann-sectv)獲取授權(quán)】