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