Linux Security Modules: General Security Support for the Linux Kernel 米澤研究室 M1 増山隆 [email protected] 参考文献 Chris Wright et al. Linux Security Modules: General Security Support for the Linux Kernel Linux Security ModuleのWeb Page http://lsm.immunix.org/ 動機 Linuxカーネルにアクセス制御が組み込まれて いる (POSIX.1e Capabilities) 拡張したアクセス制限方法を提案しても実際 カーネルに適用するのは困難 パッチは受け入れられにくい 一方、Linuxはローダブルカーネルモジュール の機能を持つ セキュリティーモデルをカーネルモジュールで 提供できるようなframeworkをつくろう 目標 Kernelの修正をできるだけ少なくする オーバーヘッドを押さえる できるだけ多くのセキュリティーモデルをサ ポートする POSIX.1e Capabilitiesの論理をカーネルと 切り離してモジュール化する LSMが提供するもの Opaque "security" Fields Hooks "security" System Call kernel hook calls security fields security system call kernel patch = LSM security module hook functions Opaque "security" Field void*型のsecurity フィー ルドを追加し、セキュリテ ィー情報を管理させる Hooks 大域変数 security_ops にフックを登録 対象のシステムコールと同じ引数で呼ばれる 例) mkdir security_ops->inode_ops->mkdir プレフック。返値はintでerror変数に代入される。 0以外ならばmkdirは行われない security_ops->inode_ops->post_mkdir ポストフック。"security"フィールドの値を設定する ためにある。返値はvoid "security" System Call long sys_security (unsigned int id, unsigned int call, unsigned long *args) 単に security_ops->sys_securityを同じ引数で 呼ぶ 第一引数の値によって、動作、argsの解釈を決 定するようにモジュールが設計できる。 c.f.) socketcall system call 性能評価 (LMBench / Kernel Compilation) ファイルのopen / createなどシステムコール 中心の小さなベンチマーク POSIX.1e Capabilitiesモジュールで実験 selectが最悪で 5% Kernelのコンパイルは0.3%のオーバーヘッド (恐らく)POSIX.1e Capabilitiesモジュールで実験 性能評価 (Webstone) Netfilterをモジュール化 単位時間あたりの接続回数で測定 LSM 4 %ほど LSM+SMPでは 7 % SELinux 16 % LSM+SMPでは 21 % 提供されるセキュリティーモジュールの性能 に依る まとめ LSMは数々のセキュリティーモデルをモ ジュールの形で与えられるようにした SELinux DTELinux POSIX.1e Capabilities
© Copyright 2024 ExpyDoc