強制アクセス制御のしくみ
強制アクセス制御のしくみ
強制アクセス制御の実装方式には、以下の3つ(Windows用を別と考えれば4つ)があります。
- カーネルパッチ方式
- LSM(Linux Security Module)方式
- LKM(Loadable Kernel Module)方式
それぞれの方式を従来のOSの図(図1)とからめて説明します。
カーネルパッチ方式
OS(カーネル)にパッチを当てて、図2のようにシステムコールで呼ばれる関数内部にセキュリティチェック処理を入れ込む方法です。恐らく最も直感的な方法でしょう。関数Aのインターフェイスの部分には手を加えていないため、従来のOSとの互換性は保たれています。

図2:カーネルパッチ方式
LSM(Linux Security Module)方式
LSMは、Linux Kernel 2.6から標準導入された、強制アクセス制御を実装するためのフレームワークです。
LSMが導入されたOSでは、システムコールで呼ばれる関数内部に、あらかじめ図3の(4)のようなLSMチェック呼び出しが入っています。セキュ アOSはセキュリティモジュールとして実装されます。(4)LSMチェック呼び出しの際に、セキュリティモジュール内の(5)セキュリティチェックが行わ れます。カーネルパッチ方式と同様に、インターフェイスの部分には手を加えていないため、従来のOSとの互換性は保たれます。

図3:LSM方式
バックナンバー
この記事の筆者
日立ソフトエンジニアリング(株) 技術開発本部研究部にて、セキュリティ関連研究に従事。現在セキュアOS「SELinux」の調査研究を担当。セキュアOS「SELinux」の普及推進を目指し、講演、執筆、WG活動などにおいて活動中。
日本オープンソース推進機構 SELinux専門委員会メンバー
Linuxコンソーシアム理事兼セキュリティ部会リーダー
Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。