交叉虛擬機邊信道攻擊:云基礎架構保衛戰
最近,一群多個大學的研究員和RSA實驗室一種隱匿的邊信道攻擊方法,即一臺虛擬機可以在一個云環境中用來對抗另外的一臺虛擬機,目標VM的加密密鑰最終被盜用。
這項研究會產生什么影響呢?任何已經用目標虛擬機(VM)密鑰加密的敏感數據將會被盜用,對于一個堅定的攻擊者,這將使一座潛在的巨大寶藏。
盡管企業云計算[注]用戶應該擔憂這項研究,但是如果有一些合適的措施還是能夠減輕并對抗這樣的邊信道攻擊的。這也正是我們這條技巧文章所要探討的內容。
交叉VM邊信道攻擊詳解
需要指出的是這項研究并不是成功的基于云的邊信道工具的第一份文檔案例。在2009年,加利福尼亞大學和MIT的研究員就已經發布了《Hey, You, Get Off of My Cloud: Exploring Information Leakage in Third-Party Compute Clouds》,這篇論文揭露了基于云的VM的映射位置,通過稱之為云制圖的網絡掃描策略實現。他們故意放置了一個惡意VM在相同的物理hypervisor平臺上,隨后訪問共享硬件和緩存位置,執行各種邊信道工具,包括拒絕服務(DoS)、硬件利用率檢測、通過定時推理進行遠程鍵入監控。這篇論文具體參考了邊信道攻擊的使用,抽取密碼關鍵字,但是指出研究員使用的這種方法那會并不能足以訪問那個目標密鑰。
快速回到現在,研究員有了新的努力,其文檔名為《In Cross-VM Side Channels and Their Use to Extract Private Keys》,已經使用類似的邊信道攻擊成功命中密碼關鍵字。為了實現這個復雜的攻擊,研究員在VM和加載滿數據的緩存之間利用一個共享的硬件緩存攻擊機器。目標VM重寫一些自己的數據,包括密碼關鍵字的信息。數據重寫的方式允許研究員最終截獲4096位蓋默爾加密密鑰,這些密鑰使用GNU Privacy Guard應用。
對于安全和運營團隊的好消息就是這種類型的攻擊盡管不切實際,除了最尖端的攻擊者。壞消息是這種類型的攻擊在正確的條件下可能發生。由于缺少技術細節,很多從云提供商接收技術和架構的企業都位于提供商環境中,真正的邊信道攻擊可能難以實現。
預防邊信道攻擊
IT安全和運營專家在這一點上要問兩個問題:“這種類型的攻擊可能出現在我的環境中嗎?”和“我怎樣做來減輕這種威脅?”第一個問題的答案是“NO”。沒有關于這個環境非常詳細的細節,部分細節和控制整個hypervisor基礎加固和這些平臺使用的VM,攻擊者很難發動邊信道攻擊,尤其是更加復雜的種類,比如密碼關鍵字劫持。然而,有一些基本的步驟企業需要關心,從而幫助減少可能的邊信道攻擊風險。
首先,盡可能鎖定操作系統(OS)圖像和應用實例。盡管這未必是預防邊信道攻擊的,但這些步驟可以協助企業對任何授權的廠商在其環境中妥協。第二,花時間協調和收集云系統本地流程監控數據和日志。特別的,密切關注任何對于本地內存的重復訪問,以及系統對于任何hypervisor流程或者共享硬件緩存的訪問。除了這些步驟,唯一且完全能阻止這種邊信道攻擊的方法就是編碼你的應用,甚至是OS組件(在可能的地方),以這樣的方式他們可以訪問共享資源,就像在一種一貫且可預測的方式中訪問內存緩存。這樣就能預防攻擊者鉆空子,比如時間統計和其他行為屬性。
邊信道攻擊潛在風險探討
邊信道攻擊很可能在共享計算環境中繼續被發現。對于云用戶,這是一種在云端執行敏感工作負載必須考慮的一種風險。我建議同你的云提供商探討這些風險和可能的對抗措施。盡管在今天這樣的環境中成功實現這種攻擊極為不可能,但是最好還是做好準備。