圖文詳解攻擊BitLocker引導過程
原創【51CTO.com 獨家特稿】日前,Fraunhofer SIT安全實驗室表示,他們已經成功破解Windows 7的磁盤加密技術BitLocker。Fraunhofer SIT研究人員稱,即使將BitLocker與基于硬件的可信賴平臺模塊(TPM)同時使用,他們也可以成功破解磁盤中的數據。而本文則以圖文方式為讀者詳細解讀破解BitLocker的完整過程。
一、加密與邪惡女服務員攻擊
當計算機被弄丟或失竊的時候,磁盤加密措施能夠很好的保護數據的機密性,從而有效地防止機會主義攻擊。然而,加密卻無法阻擋有針對性的攻擊,尤其是在攻擊者可以物理訪問計算機的情況下。術語“邪惡女服務員攻擊”所描述的就是這樣一種情形:當計算機主人離開旅館客房,而計算機無人看守時,一個邪惡的女服務生或任何其他可以進入這個房間的人,就可以隨意鼓搗這臺計算機了。這樣的話,她們就可以攻陷帶有加密與解密功能的機器,從而獲取有關的密鑰和明文數據。攻擊者可以修改計算機上的軟件乃至它的硬件,舉例來說,她可以安裝一個硬件按鍵記錄器來竊取密碼。利用這種攻擊方式,攻擊者可以以獲得機密數據的訪問權,甚至攻陷整個操作系統。
二、BitLocker 驅動加密
BitLocker 驅動加密(BDE)是Windows Vista、Windows Server 2008和Windows 7等操作系統提供的一種特性,當計算機具有可信平臺模塊的時候,該特性就可以利用可信計算技術平臺的各種功能。TPM允許軟件鎖住數據,方法是利用存儲在TPM內的密鑰對數據進行加密;要想重新打開這些數據,就需要進行解鎖,方法是利用同一個TPM以及主要組件的特定狀態來來解密數據。在系統引導期間,這些組件(例如BIOS和操作系統的引導程序)和TPM協同工作來建立一個量度系統當前狀態的檢查跟蹤系統。 如果系統當前狀態不同于鎖定數據時指定的參考狀態,那么TPM就拒絕打開數據。
當前,可信計算技術在個人電腦中的實現中不包括對鍵盤的測定,同時也沒有為鍵盤建立一個安全信道。因此,許多基于硬件的BitLocker攻擊手法,在邪惡的女服務生情形中仍然有可能得逞。同時,許多人想當然地認為,可信計算技術可以自動地保護系統免受所有針對引導過程的、基于軟件的攻擊,具體說來,他們認為使用了BitLocker并且帶有TPM的機器就能達到這種保護效果。下面,我們就會用一個具體的攻擊示例來打破這種幻像:攻擊者可以通過篡改引導程序來達到訪問機密數據的目的。
三、攻擊過程演示
在系統引導期間,BitLocker需要與用戶交互來獲得一個口令(如圖1所示),或從USB盤獲得一個密鑰文件,或者兩者兼而有之。但是,與用戶進行交互的程序代碼卻位于未加密的磁盤上。這樣的話,問題就來了:如果攻擊者能夠物理訪問計算機,那么他就能恣意修改這些代碼,例如添加在磁盤閑置區存儲用戶提供的密鑰的函數等。這樣一來,當用戶下一次引導計算機的時候,TPM就會注意到這種修改,并拒絕打開與此引導代碼的未修改狀態所綁定的所有密鑰。然而,BitLocker卻不會使用TPM提供的這個測度信息來阻止經過修改的代碼在加密分區外運行。
圖1 BitLocker要求用戶提交口令
因此,“邪惡女服務員攻擊”可以用她自己的引導代碼替換原先的BitLocker引導代碼,并欺騙用戶與她的引導代碼進行交互。經過修改的引導代碼從用戶那里獲取密鑰之后,并沒有繼續后面的引導過程。然而,它可以恢復原先的引導程序的狀態,并設法用一種用戶難以察覺的方式來重新引導系統。如果攻擊者僥幸成功地迫使用戶重新引導系統的話,她就可以再次訪問系統來竊取計算機的數據了。
下面總結一下攻擊過程:
首先,攻擊者趁計算機主人不在的時候,通過優盤引導計算機,修改引導程序并安裝木馬程序。如圖2所示。
圖2 替換引導程序,植入木馬
當計算機主人再次啟動機器時,木馬程序顯示偽造的引導畫面,并誘騙用戶輸入口令,如圖3所示:
圖3 木馬程序捕獲口令
木馬程序保存口令到磁盤,并恢復原來的引導程序,再次引導系統,如圖4所示:
圖4 木馬記錄口令,并用原來引導程序程序引導機器
這時,被攻擊者可以順利進入系統,好像一切都沒發生過一樣。當攻擊者再次接觸機器時,可以從優盤用Linux系統啟動機器,如下圖所示:
圖5 從優盤用Linux系統啟動機器
在命令行下讀取木馬寫入磁盤的口令,重新Windows引導系統,輸入剛才獲得的口令,這樣就可以堂而皇之的登錄系統了。
圖6 用截獲的口令登錄系統
這樣,攻擊者就可以訪問系統中的所有數據了。
四、結束語
這里以Fraunhofer SIT研究人員的原話作為結束語:我們在此展示攻擊方法,并非暗示 BitLocker有漏洞,或者說可信賴計算毫無是處。跟其它磁盤加密產品一樣,BitLocker仍是有效的,只不過沒有人們想象中的那么安全。通過使用TPM,BitLocker提供了我們的攻擊難度:攻擊更容易被人發覺,同時將許多其他的攻擊情形拒之門外。我們的攻擊僅適用于此處討論的平臺、應用程序、攻擊情形和攻擊目標的特定組合。
【51CTO.COM 獨家特稿,轉載請注明出處及作者!】
【編輯推薦】