Linux 5.14 將支持創建秘密內存區域
繼 Linux 5.13 后,Linux 5.14 也將支持創建秘密內存區域。
該功能通過 memfd_secret() 實現。memfd_secret() 是一個專門的系統調用,而不是 memfd_create() 的擴展,其目的是允許用戶創建更安全的內存映射,而不是簡單地允許基于文件的內存訪問。根據描述,memfd_secret() 創建的秘密內存區域僅擁有進程可見,而不會映射到其他進程或內核頁表。因此其可用于在 Linux 上為用戶空間中的 OpenSSL 存儲私鑰,并減少私鑰不受任何其他硬件加密保護時在系統內存中暴露的可能性。
這項工作起源于 IBM 工程師 Mike Rapoport,他在 2019 年為 Linux 內核內存管理代碼提出了一個 "MAP_EXCLUSIVE" 標志,以支持只有擁有進程才能看到的映射,而 memfd_secret() 的秘密內存支持是對同一概念的進化。
目前,memfd_secret() 支持已于周五合并為 Andrew Morton 補丁的一部分。不過,該版本仍默認禁用對 memfd_secret() 的訪問,需要在啟動內核時打開 secretmem_enable 選項才能啟用此功能。
本文轉自OSCHINA
本文標題:Linux 5.14 將支持創建秘密內存區域
本文地址:https://www.oschina.net/news/149982/linux-5-14-support-secret-memory