Asayomu Tech
注目★★★★★Lobsters

Linux sandbox設計、namespace依存を避ける理由

30秒で把握

  • 1Emilua開発者がLinux namespaceを汎用sandboxに使う設計を批判
  • 2Seccomp・Landlockとプロセス分離で権限削減を実装
  • 3actor modelとfile descriptorをcapabilityとして資源を限定

要約

Emiluaの開発者は、ソフトウェアsandboxをLinux namespace中心で設計するのは不適切だと論じた。sandboxは管理者権限なしにプロセスの権限をプログラムから減らす仕組みであり、LinuxではSeccompやLandlockの利用が適している。Linux namespaceはユーザーnamespace内で管理者権限を与え、カーネル攻撃面を拡大し得るため、Emiluaでもcontainerization向けに用途を限定した。実装はプロセスを分離し、actor modelとUNIX domain socketで通信し、file descriptorをcapabilityとして必要な資源だけ渡す構成を取る。ただしioctlは権限確認を迂回し得るため危険で、Boost.AsioではBoost 1.86以降が必要になる。

あなたへの影響

security境界を設計する日本のエンジニアは、Linux namespaceだけに依存せず、Seccomp・Landlock・プロセス分離とfile descriptor継承を検証する必要がある。

推奨:ioctl経由の操作は特に監査し、Boost.Asio利用時はBoost 1.86以降を確認すべきだ。

詳細を読む → 元記事へ※ 本文は元記事をご確認ください (asayomu は要約のみ提供)

関連する記事

※ 外部記事の権利は原著作者に帰属します。著作権削除要請は copyright@asayomu.jp までご連絡ください(受領確認 24h・実処理 72h 以内)。