三大惡意軟件的絕密藏身之地:固件、控制器與BIOS
20世紀早期,心理學先驅弗洛伊德和皮埃爾引入了“無意識”和“潛意識”這兩個革命性的概念。具體含義就是:我們有一個“意識中的意識”,一個潛藏的意識,記錄我們意識層面下無處存放的所有東西,或者說在我們醒著的時候不想去承認的東西。這個潛藏的地下意識,常成為各種各樣問題和弊端的替罪羔羊。
Illuminated back door and stairs in the dark of night.
計算機科學中也存在類似卻切實存在的地下世界,盡管文檔完善,這仍然是現代信息安全中最脆弱的領域。用“意識中的意識”做類比,也存在計算機中的計算機。這些隱藏的計算機活躍在安全范圍之外,卻控制著我們自以為對這設備所知的一切。
我們筆記本上的基本輸入輸出系統(BIOS),驅動硬盤的硬件控制器,我們服務器中的基板管理控制器(BMC),都是操作系統底下的小計算機,某些情況下還能獨立于核心CPU自行運作。這些就是我們計算機的后門,一旦被侵入,能顛覆我們從操作系統所知的所有東西。
去往BIOS
Rootkit是攻擊者軍火庫中的強力工具,能讓攻擊者避過主機上安裝的殺毒軟件或其他安全產品的檢測,隱秘獲取受害系統的控制權。通常,這一惡意軟件要和殺毒軟件競爭對操作系統的最底層最受信訪問權。然而,隨著攻擊者越來越老練,他們認識到:通過去往BIOS,他們可以進到比操作系統更底層的地方。
BIOS是惡意軟件的理想藏身地,因為那里不僅被大多數殺毒軟件產品無視,甚至即使操作系統被抹掉重裝都對其毫無影響。鑒于很多企業都只簡單地鏡像恢復受感染系統,BIOS rootkit 可以很容易地挺過鏡像恢復過程。而且BIOS不僅運行在操作系統之下,其中的固件還幾乎不升級更新。意味著BIOS的任何漏洞都很可能為攻擊者所用,安裝到其上的任何代碼都不會被覆蓋。
驅動你硬盤的小小電腦
我們通常都認為硬盤就是一大塊存儲空間,再無其他。然而,只要你觀察筆記本硬盤底部,你會發現,這塊存儲空間竟然還有電路板。那就是硬盤控制器,有自己的內存和固件,控制著硬盤的低級操作。
如果攻擊者侵入了硬盤控制器的固件,那他就有可能用連操作系統都不可見的方式控制硬盤。去年年初,就發現了有攻擊者這么干了。這讓攻擊者可以將文檔以不用加密的方式隱藏起來,甚至在硬盤里操作系統都不會報告的地方開辟出一片隱藏區域。同樣重要的是,固件也能挺過軟件和操作系統更新。
數據中心里的硬連線后門
BMC不是“校園風云人物”,但這基板管理控制器確實在服務器上扮演者極端重要的角色。對服務器硬件而言,BMC就是實際意義上的“計算機中的計算機”,有自己的處理器、內存和網絡堆棧。它獨立于主服務器硬件,甚至比BIOS還底層。它執行著極其重要的任務,監控這系統的基本監控,比如內部溫度、風扇速度,以及操作系統本身。
但是,BMC僅僅是半個解決方案。管理員需要管理大量服務器,不可能每次需要檢查服務器的時候都用控制臺線纜一臺臺物理連接上。這就是智能平臺管理接口(IPMI)登場的地方了。IPMI是管理員用以遠程管理帶外服務器的協議。每個硬件廠商都有自己品牌版本的IPMI,不過大體類似。
IPMI的危險性來自于其能力。IPMI可被用于掛載幾乎任何硬盤鏡像,如果必要的話還能替換掉操作系統。為做到這一點,IPMI和BMC可以在主服務器處理器沒運行的時候工作,甚至服務器都關機了也能運作。完全禁用的唯一方法,是直接拔掉服務器的電源線。
雖然IPMI對服務器有著神一樣的控制力,卻通常沒被很好地保護和監視起來。默認口令眾所周知,還常常就這么不修改地沿用了,而且IPMI訪問基本是不記入日志的。意味著攻擊者能在不被檢測的情況下,快速猜到或暴力破解出口令。一旦攻擊者訪問到BMC,他就能控制每一個抽象層,包括主機操作系統、任何客戶虛擬機和他們的工作負載。
某種程度上似乎有點諷刺——人們在保護虛擬化環境上投注了如此多的關注和努力,最大的漏洞之一竟然就在物理硬件自身。不僅僅數據中心是這樣,我們的個人筆記本電腦也是這樣。我們平時看不到的固件、控制器、BIOS,能顛覆我們自以為對給定設備的認知。“計算機中的計算機”正越來越成為攻擊者實際行動的發生地。