搜尋

Rust 中的遮蔽式安全記憶體管理

嗨 HN!我一直在開發一個處理高價值憑證的內部項目,我想要比僅僅在釋放時清零記憶體更穩健的方案。最近一個 Show HN 的評論[0]讓我意識到,對低階記憶體保護技術的認識可能不如我想像的普及。這裡的想法是將所有工具整合到一個 crate 中,提供相對簡單的 API。* 使用 mlock/VirtualLock 防止敏感記憶體被交換(例如 KeePass 資料洩漏)* 在 Linux 和 Android 上使用 MADV_DONTDUMP 排除核心轉儲* 使用 mprotect 最小化長時間暴露* 使用保護頁面來緩解溢位/不足溢位經過一些實戰測試,目標是為密碼管理器和加密貨幣錢包等應用提供更安全的記憶體基礎。這是一個有趣的項目,我學到了很多——歡迎任何回饋![0] - https://news.ycombinator.com/item?id=47073430

  • Android
  • MacOS
  • 金融科技
Mar 23, 2026造訪官網

AI 摘要

Shrouded 是一個 Rust 套件,旨在增強敏感資料的進程內記憶體管理安全性。它利用低階記憶體保護技術,防止資料交換、排除核心傾印、隨時間減少暴露,並減緩溢位風險。

適合誰

密碼管理器開發者, 加密貨幣錢包開發者, 處理高價值憑證的開發者

為何值得關注

透過實施進階記憶體保護技術,為處理敏感資料的應用程式提供更穩固且安全的記憶體基礎。

核心功能

  • 使用 mlock/VirtualLock 防止敏感記憶體被交換出去。
  • 在 Linux 和 Android 上透過 MADV_DONTDUMP 排除記憶體核心傾印。
  • 使用 mprotect 隨時間最小化記憶體暴露風險。
  • 利用防護頁面減緩緩衝區下溢/上溢問題。

使用場景

  • 加密貨幣錢包開發者可以使用Shrouded來保護記憶體中的私鑰,防止它們透過交換檔案寫入硬碟或包含在系統崩潰轉儲中,從而增強對物理存取攻擊的安全性。
  • 密碼管理器應用程式可以利用Shrouded來保護正在使用的用戶憑證,確保敏感資料不會透過記憶體檢查或意外記錄而暴露。
  • 注重安全的開發者在為高度敏感資訊建立記憶體資料庫時,可以整合Shrouded來實現細粒度的記憶體保護,降低透過系統漏洞導致資料洩漏的風險。