一種有效應對側通道記憶體攻擊的新方法
如今,共享計算裝置是一種非常普遍的行為,尤其是當使用者在雲端或移動裝置進行計算時。但是這種資源共享行為很可能會無意間洩露使用者的隱私資訊。由於同一臺計算機上執行的多個程式可能共享相同的記憶體資源,因此它們中存放的隱私資料(例如儲存在計算機記憶體中的加密金鑰或使用者密碼)可能會被惡意程式透過“記憶體時序(memory-timing)側通道攻擊(side-channel attacks)”竊取。
側通道記憶體攻擊目前在現實中並不常見,原因在於,這種攻擊通常具有高度的複雜性,不僅需要定製攻擊程式,還要對電訊號(electric signaling)的工作原理以及操縱模式非常瞭解。但是,研究人員發現,一些高階攻擊者已經開始利用該技術對高價值目標發起針對性攻擊。值得一提的是,北卡羅來納州立大學研究人員不久前正是透過側通道攻擊,實現了對同態加密技術的繞過。攻擊方僅透過監聽執行同態加密編碼操作的裝置功耗,就成功以明文形式提取了同態加密中的資料。這件事情也為行業敲響了警鐘,警示我們即便是下一代加密技術也同樣需要針對側通道攻擊的有效防護機制。
阻止這種攻擊的傳統方法是,一次只允許一個程式使用記憶體控制器,但這會大大降低計算速度。麻省理工學院的研究團隊目前成功設計出了一種新方法,該方法允許記憶體共享繼續存在,同時提供針對此類側通道攻擊的安全防護能力。這種新方法,將程式的記憶體請求“塑造”成預定義的模式,並混淆程式實際需要使用記憶體控制器的時間,從而擾亂攻擊者的視線。
在一個程式可以訪問記憶體控制器之前,它必須透過一個“請求塑造器”(request shaper)來“塑造”記憶體請求。這種“請求塑造器”使用圖形結構來處理請求並按照固定的時間表將它們傳送到記憶體控制器。這種型別的圖稱為有向無環圖(DAG),而這種創新安全方案稱為 DAGguise。
使用這種嚴格的時間表,有時DAGguise會將程式的請求延遲到下一次允許訪問記憶體(根據固定的時間表),或者有時如果程式不需要訪問記憶體,它會提交一個假請求排程間隔。總之,透過這種非常結構化的模式,使用者可以向攻擊者隱藏實際行為。
DAGguise會將程式的記憶體訪問請求表現為一個圖,其中每個請求都儲存在一個“節點”中,連線節點的“邊”是請求之間的時間依賴關係。(請求A必須在請求B之前完成。)節點之間的邊——每個請求之間的時間是固定的。程式可以在需要時向DAGguise提交記憶體請求,DAGguise將調整該請求的時間以始終確保安全。無論處理記憶體請求需要多長時間,攻擊者看到的都只是請求實際傳送到控制器的時間。
這種圖結構使記憶體控制器能夠動態共享。如果有許多程式試圖一次使用記憶體,DAGguise可以適應並相應地調整固定時間表,從而更有效地使用共享記憶體硬體,同時仍然保持安全性。研究人員稱,“我們的解決方案就是將受害者對記憶體控制器的訪問請求轉移到動態隨機存取儲存器(Dynamic Random Access Memory,簡稱DRAM),然後‘塑造’請求。這樣一來,無論攻擊者透過何種方式,都很難竊取到隱私資料。對此,我們進行了模擬驗證,結果顯示DAGguise這一方案非常有效。”
研究人員承認,DAGuise會對系統效能產生一定影響,但與其他安全解決方案相比,DAGguise 對計算裝置效能的影響大幅降低。當然,除了在實現更快計算的同時提供更好的安全性之外,該技術還可以應用於一系列針對共享計算資源的不同側通道攻擊。
來自 “ 安全牛 ”, 原文作者:aqniu;原文連結:https://www.aqniu.com/industry/81563.html,如有侵權,請聯絡管理員刪除。
相關文章
- 幾乎所有AMD Ryzen晶片都易受側通道SQUIP攻擊晶片UI
- 幾種常見的DDOS攻擊應對策略
- 網路攻擊盯上民生領域,應對DDoS和APT攻擊,如何有效防禦?APT
- RowHammer 攻擊:記憶體的隱形威脅記憶體
- intel:spectre&Meltdown側通道攻擊(五)—— DRAM address mappingIntelAPP
- 雲解析DNS如何有效應對頻發的DDoS攻擊?(中科三方)DNS
- 【原創】Java記憶體攻擊技術漫談Java記憶體
- 應對UDP反射放大攻擊的五種常用防護思路UDP反射
- 五種常見的DNS攻擊型別及應對方式DNS型別
- Memcached筆記——(四)應對高併發攻擊筆記
- 一種針對Microsoft Office的自動化攻擊方式ROS
- 面對境外網路的攻擊,該如何有效防禦?
- .NET 記憶體管理兩種有效的資源釋放方式記憶體
- 綜述論文:對抗攻擊的12種攻擊方法和15種防禦方法
- 議題解析與復現--《Java記憶體攻擊技術漫談》(一)Java記憶體
- CC攻擊的原理和應對的策略
- 一種利用EXCEL的BazarLoader攻擊Excel
- 如何應對app或者網站常見的幾種攻擊型別APP網站型別
- 路由器防禦Dos攻擊的新方法路由器
- 【譯】 沙箱中的間諜 - 可行的 JavaScript 快取記憶體區攻擊JavaScript快取記憶體
- 一種避免 iOS 記憶體碎片的方法iOS記憶體
- 記憶體對映檔案詳解-----C++實現(即一塊記憶體和一個檔案相對映對應)記憶體C++
- 攻擊面分析及應對實踐
- XXE攻擊是什麼?如何有效防禦XXE攻擊?
- 應對網路攻擊減少資料丟失的3種關鍵方法
- WiFi攻擊的三種方式WiFi
- 記憶體條一邊4g一邊8g可以嗎 雙通道記憶體條要一模一樣嗎記憶體
- 【網路安全】如何有效地防禦DDOS攻擊和CC攻擊?
- Linux 記憶體管理:記憶體對映Linux記憶體
- 【網路安全分享】APT攻擊常用的4種攻擊手段!APT
- 簡易有效Api介面防攻擊策略API
- 瞭解cc攻擊才能對應解決
- 記憶體對映記憶體
- 記憶體對齊記憶體
- JavaScript對記憶體的使用JavaScript記憶體
- RMAN 對記憶體的使用記憶體
- 記一次被黑客攻擊黑客
- RxJava記憶體洩漏的一種解決方案RxJava記憶體