?

保護待機狀態下的內存數據

2017-01-27 13:02趙連瑩
中國教育網絡 2017年4期
關鍵詞:鑒權敏感數據待機

文/趙連瑩

保護待機狀態下的內存數據

文/趙連瑩

留在計算機內存中的敏感數據,在系統處于待機狀態(ACPI S3)時極易通過旁路攻擊(side-channel attacks)被竊取。這類敏感數據包括但不限于全盤加密秘鑰(如TrueCrypt) 以及正在被查看的保密文件 (盡管它們在磁盤上已加密) 。當計算機被偷盜或丟失以及機主被威脅時,由于攻擊者得到幾乎不受限制的物理便利,他有條件利用系統DMA 漏洞直接訪問內存數據或者冷起動內存映像攻擊 (cold boot attack) 等旁路攻擊來竊取數據。

應對這類威脅的一個挑戰是由于計算機不能直接運行加密指令,系統內存中無論待機中或系統蘇醒時敏感數據已經明文存在,操作系統提供的重新鑒權保護無法奏效。一些解決方案選擇將秘鑰暫存在CPU寄存器等特殊位置以躲避攻擊,但一方面這種方案只能處理極少量的敏感數據(如只針對數個字節大小的加密秘鑰) ,另一方面在系統蘇醒時或者不對用戶重新鑒權 (被攻擊者直接獲取) 或者鑒權受限于用戶密碼的有限的entropy (可被字典攻擊)。另一些產品如BitLocker雖然可以解決這個問題但是是通過強制計算機進入休眠狀態 (hibernation, 即ACPI S4) 來實現,由于硬盤性能的瓶頸嚴重影響可用性,即使SSD通常也要接近十秒左右。

鑒于待機狀態的普遍性,我們提出data-in-sleep的概念,來區分于data-atrest,data-in-transit以及data-in-use等已經被廣泛關注的問題。我們解決data-insleep問題的兩個原則是:一是在整個待機期間沒有敏感數據以明文形式暴露于內存中;二是當系統蘇醒時對用戶的重新鑒權必須可以承受字典攻擊且不可繞開。

基于這兩個原則,我們設計并實現了Hypnoguard,以保護data-in-sleep為目的的工具。它利用現代CPU的AES-NI硬件加速指令集、多核并行處理以及合適的AES工作模式,在進入待機前實現高速的完全內存加密 (對于8GB內存加密或解密只需要一秒左右) 。而在系統蘇醒時,我們整合CPU的可信計算運行環境(如Intel TXT)和TPM安全芯片來達到綁定系統硬件平臺的用戶重鑒權。Hypnoguard的核心特性即這種不可繞開的系統硬件平臺綁定:正確的軟硬件運行環境決定正確的秘鑰被釋放(而不是完全取決于相對較弱的用戶密碼),錯誤的環境(即繞開Hypnoguard)無論密碼猜測正確與否都無法得到正確秘鑰。

在系統部署時,一對公鑰和私鑰被生成(足夠的長度),其中公鑰被明文保存在公共區域。而私鑰直接被封存(Seal)在TPM的NVRAM中,綁定于正確的Hypnoguard運行環境以及用戶密碼。每次待機前,一個足夠強的隨機對稱秘鑰(如128bit以上,只一次性使用) 被用來加密整個內存。而后此對稱秘鑰立即被上述公鑰加密存放于公共區域。系統進入待機。

至此,整個系統內存為加密狀態,攻擊者無法直接竊取。由于我們選擇的秘鑰長度適當(和用戶的密碼強度無關),繞過Hypnoguard進行字典攻擊通常是不現實的。如果他進入正確的Hypnoguard環境,雖然此時的保護只取決于用戶密碼,但猜測密碼會以很高概率觸發對TPM中的私鑰的永久性刪除。我們可以配置特定的策略(如錯誤次數) 來決定對刪除秘鑰的觸發;也可以設置一定范圍的密碼為刪除密碼 (deletion passwords) ,既可用于提高攻擊者觸發刪除的概率也可用于用戶在被脅迫時提供給攻擊者。

在系統從待機狀態恢復時,Hypnoguard進入TXT環境,并提示用戶輸入密碼。此密碼和當前正確的軟硬件環境一起用于釋放上述私鑰。私鑰解密對稱秘鑰后立即被從臨時內存中刪除。隨即,對稱秘鑰解密整個內存并將控制權交回操作系統?;謴蜁r的用戶密碼輸入可以取代操作系統的用戶密碼輸入來完全保持現有的用戶體驗:待機時無需密碼,喚醒時輸入一次。這種優勢得益于公鑰系統的引入,即進入待機時無需密碼和TXT環境釋放秘鑰 (使用公鑰即可),而只在喚醒時需要。

在此項目中,我們開創性地解決了一些技術問題,如系統喚醒狀態下的顯示和輸入(一直存在但未被解決的問題);同時也依據Hypnoguard的特定需求提出了改進版的AES GCM解密過程。

(責編:楊潔)

趙連瑩

現就讀于Concordia University (加拿大) 。畢業于天津大學并獲得通信與信息系統碩士學位。此前的工作領域包括嵌入式系統軟硬件以及大型主機(Mainframes),在業內從事相關工作6年 (IBM China) 。當前主要研究方向為信息系統安全,包括硬件/系統相關的安全問題,基于密碼的鑒權,可信計算等。并發表多篇文章于ACM CCS, NDSS, NSPW以及IEEE TIFS。

論文鏈接: Hypnoguard: Protecting Secrets across Sleep-wake Cycles

http://dl.acm.org/citation.cfm?id=2978372

猜你喜歡
鑒權敏感數據待機
關機不斷電 電表悄悄走——防止待機能耗成“隱藏的浪費”
干擾條件下可檢索數字版權管理環境敏感數據的加密方法
“超長待機”的余震
基于大數據的智能數據脫敏系統
實現虛擬機敏感數據識別
漫“話”抗疫·人與自我:“超長待機”的假期,你收獲了什么?
Nginx-rtmp-module流媒體服務器鑒權應用研究
一種通過遠程通信輔助實現SIM卡共享的方法
基于位置跳變的閃存數據安全存儲方法
提醒待機插座
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合