今天小編分享的科技經驗:微軟貢獻開源 Hornet LSM 模塊,強化 Linux 内核 eBPF 安全,歡迎閱讀。
IT 之家 3 月 22 日消息,科技媒體 phoronix 昨日(3 月 21 日)發布博文,報道稱微軟向 Linux 内核社區提交了新的開源貢獻 -- Hornet,這是一個用于驗證 eBPF 程式籤名的 Linux 安全模塊(LSM)。
IT 之家注:eBPF 全稱 Extended Berkeley Packet Filter,是一種在 Linux 内核中運行程式的技術。在無需修改内核源代碼或加載内核模塊的情況下,eBPF 支持開發者在 Runtime 安全、高效地擴展内核功能。
微軟長期以來一直是 eBPF 技術的積極推動者,該技術能夠在 Linux 内核中安全高效地運行定制程式。Hornet 的推出标志着微軟在 eBPF 領網域的進一步深耕,旨在提升 eBPF 程式的安全性。
Hornet 采用與内核模塊類似的籤名驗證機制。具體來說,它會在可執行檔案的末尾附加一個 pkcs#7 籤名。在調用 bpf_prog_load 時,Hornet 會從當前任務的可執行檔案中提取籤名,并利用該籤名驗證傳入内核的 bpf 指令和映射的完整性。
此外,Hornet 默認信任從内核内部加載的程式,而非用戶空間的程式。這一設計讓 BPF_PRELOAD 程式和 BPF_SYSCALL 程式能順利輸出。Hornet 還支持輕量級加載器和靜态生成程式,确保所有在内核中運行的代碼都經過籤名驗證。
除了 Hornet LSM 模塊,微軟還提議在 Linux 内核源碼樹中引入一個新的工具 —— sign-ebpf,用于籤名 eBPF 程式。開發者可以通過查看 RFC 補丁系列了解 Hornet LSM 的詳細實例。