冷啟動攻擊

密碼學中,冷啟動攻擊(在程度較輕時稱平台重置攻擊)是一種旁路攻擊,具有計算機物理訪問許可權的攻擊者能夠在使用冷啟動重新啟動計算機後從運行的作業系統中檢索加密密鑰。攻擊依賴於DRAMSRAM的數據殘留特性檢索斷電後數秒至數分鐘內記憶體中的可讀內容。

基本介紹

  • 中文名:冷啟動攻擊
  • 提出者:Halderman 等人
  • 提出時間:2008 年
  • 別稱:平台重置攻擊
  • 屬性旁路攻擊
  • 學科密碼學
背景,攻擊定義,攻擊原理,攻擊過程,晶片轉移,數據轉儲,數據分析,

背景

冷啟動攻擊最先由 Halderman 等人於 2008 年的 USENIX Security 會議上作為一種有效的攻擊方式提出並進行攻擊展示,成功地破解了多個開源和商業的磁碟加密系統。實際上,動態記憶體的數據剩餘現象在低溫下會被大大延長的特性的 發現可以追溯到20 世紀70 年代,被液氮冷卻的記憶體晶片中的 數據可以保持一周而不發生變化。而 Chow 等人則在實 驗中發現了記憶體中的數據會在計算機重啟後保持的現象。 Pettersson受到此前工作的啟發,提出記憶體的數據剩餘導致 的計算機重啟後記憶體中的數據繼續保持的現象可以被攻擊者
用來獲取記憶體快照這個想法,但並沒有真正通過實驗進行驗 證。除動態記憶體外( DRAM) ,靜態記憶體( static random access memory,SRAM) 也被證明存在明顯的記憶體剩餘現象。 Carbone 等人在更廣泛的軟硬體環境下重複了冷啟動 攻擊的實驗,並驗證了冷啟動攻擊被用來進行數字取證( digital forensics) 的可行性。Gruhn 等人也驗證了冷啟動攻擊的 實用性,並且發現即使只是將記憶體晶片輕微地冷卻到10℃左 右,也能顯著地延長記憶體中數據保持的時間。而 Müller 等 人成功地在一台 Nexus 智慧型手機上執行了冷啟動攻擊,將 冷啟動攻擊的適用範圍從 PC、筆記本電腦擴展到智慧型設備 領域。

攻擊定義

冷啟動攻擊是一種新型的旁路攻擊( side channel attack) 。 利用冷啟動攻擊,攻擊者可以對其進行物理訪問的正在運行的 計算機執行冷啟動操作以繞過其軟硬體防護機制,獲取正在運 行的計算機的記憶體快照,並進一步從快照中提取出密鑰等敏感信息。

攻擊原理

計算機動態記憶體晶片是由記憶體單元( DRAM cell) 陣列構 成。每個記憶體單元本質上是一個電容,利用電容的充電態 ( charged state) 和基態( ground state) 兩種狀態來表示一個比特 位的數據信息。如果沒有外接電源,處於充電態的電容將 逐漸放電,並最終轉換為基態。這個過程通常需要毫秒級的時 間才會完成狀態轉換,這個現象被稱為數據剩餘( data remanence) ,這個過程被稱為數據退化( decay) 。所以記憶體晶片並 不會持續為記憶體單元充電,而是定期將記憶體單元的狀態讀出再 根據其狀態重新對其充電或放電以維持其狀態,以降低記憶體的 耗電量,這是動態記憶體動態性( dynamic) 的由來。這個時間被 稱為刷新間隔( refresh interval)。正是由於記憶體單元的這種 性質,當記憶體晶片斷電後,記憶體單元的狀態仍然會保持一段時 間;如果將記憶體晶片置於低溫下,這個時間將會大大延長。隨 著記憶體晶片所處的溫度和記憶體晶片製造工藝的不同,當記憶體芯 片斷電幾分鐘甚至幾十分鐘以後,其中可能也只有少部分記憶體 單元的狀態會發生變化; 而當記憶體晶片被重新加電,記憶體單元 會被重新刷新,其狀態也隨即固定下來。目前,幾乎所有的動 態記憶體都利用了記憶體單元的這種性質進行設計、實現。甚至退 化時間隨溫度降低而延長的性質已經被用做最佳化記憶體能耗的 一種手段,當檢測到記憶體晶片溫度降低時,可以在保證數據不 會丟失的前提下降低記憶體的刷新頻率,以節省能耗。另一方 面,這種性質為對目標計算機具有物理訪問能力的攻擊者提供 了攻擊的可行性。

攻擊過程

利用記憶體的數據剩餘特性,如果攻擊者對正在運行的目標 計算機具有物理訪問能力,則其可以首先將記憶體晶片冷卻,再 將記憶體轉移到事先準備好的用於執行攻擊的計算機上以繞過 目標計算機的軟硬體防護措施,通過特定的引導程式將記憶體中 的數據轉儲到磁碟等永久存儲介質上,最後從記憶體快照中恢復 提取出密鑰等密碼信息。

晶片轉移

為了防止目標計算機上可能存在的防護機制,比如 BIOS 可能在啟動時清零記憶體,需要先將工作中的內 存晶片冷卻後斷電,將晶片轉移到另一台提前準備好的計算機 上再執行後續攻擊過程。Halderman 等人在實驗中驗證了 罐裝空氣( canned air) 是一種高效、低成本的冷卻劑,可以快速 將記憶體晶片的溫度降低到約 -40℃。在這個溫度下,實驗用的 記憶體晶片斷電1 min 後數據退化率往往不超過0.1%。Gruhn 等人重複了前者的實驗,並發現即使只將記憶體晶片冷卻到 0℃左右,攻擊也可以成功。

數據轉儲

當記憶體晶片在用於執行攻擊的計算機上加電後,晶片中的數據鎖定為在目標計算機上斷電時的狀態。之 後可以利用一個精簡的、自定義的引導程式將此時記憶體中的數 據完整地轉儲到磁碟等永久存儲介質中以備後續分析。Halderman 等人在其項目網站上提供了可用的引導程式。

數據分析

記憶體快照中包含了使用者的大量私人信 息,尤其是用戶的私鑰和磁碟加密密鑰等,具有極為重要的價 值。需要注意的是,在分析提取信息時需要考慮攻擊過程中因 數據退化現象而導致的一定比率的數據翻轉。

相關詞條

熱門詞條

聯絡我們