Microsoftは、Linuxカーネルに新たなセキュリティモジュール「Hornet」を提案した。これはeBPFプログラムの署名検証を行うLSMであり、pkcs#7署名を用いてコードの整合性を確保する。Hornetは、bpf_prog_load時に実行ファイルから署名を取得し、ユーザースペース経由でないプログラムの信頼性を担保する設計となっている。
同時に、eBPFプログラムを署名するツール「sign-ebpf」もLinuxカーネルソースツリー内に提案された。Microsoftは長年にわたりeBPFの普及と強化に取り組んでおり、今回の提案はLinuxカーネル内でのeBPFの安全な実行環境整備に向けた一歩と位置づけられる。
HornetがもたらすeBPF実行環境のセキュリティ強化

MicrosoftがLinuxカーネルに提案した新モジュール「Hornet」は、eBPFプログラムの署名検証に特化したLinuxセキュリティモジュール(LSM)である。Hornetは、pkcs#7署名を実行ファイルの末尾に付加する形式を採用し、bpf_prog_loadの呼び出し時にその署名を抽出。bpf命令および関連マップとの整合性を確認する機構を備える。
これにより、カーネル内で実行されるすべてのコードが署名されたものであるという前提を維持しつつ、安全性を担保する。また、Hornetはカーネル内部から読み込まれるプログラムを暗黙的に信頼する設計となっており、ユーザースペースからの任意コード実行に対してより厳格な制御を可能とする。
このアプローチは、事前に署名された信頼できるプログラムのみを許可することで、改ざんや不正コード注入のリスクを低減する狙いがある。さらに、light-skeletonベースのローダーや静的生成されたプログラムとの高い互換性を保持している点も特徴的である。
Hornetの提案には、eBPFプログラム署名用ツール「sign-ebpf」の導入も含まれており、Linuxカーネルソースツリー内での一体運用を前提とした包括的なセキュリティ強化策となっている。
MicrosoftによるeBPF基盤整備の継続とその背景
MicrosoftはeBPF技術の推進において長年にわたり積極的な姿勢を貫いてきた。Linuxカーネルへの貢献のみならず、eBPFをWindowsへ導入し、クロスプラットフォームな実行環境を整備するなど、その取り組みは一貫している。
eBPF Foundationの創設にも関与し、技術面だけでなくエコシステム構築にも注力している。Hornetの提案は、こうした一連の流れの中で、Linux側における信頼性と整合性の高いeBPF運用の一環と位置づけられる。
特に、セキュリティ分野においてeBPFの活用が拡大する中で、信頼されたコードの実行を制度的に保証する手段は不可欠である。Hornetは、実行前に署名を検証し、実行時に整合性をチェックすることで、より堅牢な防御構造を形成する。
これにより、システム管理者や開発者は、eBPFを用いたセキュリティ制御やネットワーク最適化を、より安心して展開できる環境を得ることになる。Microsoftの今回の提案は、単なる技術貢献に留まらず、Linuxカーネルにおけるセキュリティポリシーの設計思想にも影響を及ぼす可能性を持つ。
Source:Phoronix