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