TOP比較データ> LKM(Loadable Kernel Module)方式




個人情報保護法から見るセキュアOSの必要性
個人情報保護法から見るセキュアOSの必要性

第2回:セキュアOSとは

著者:日立ソフトウェアエンジニアリング  才所 秀明   2005/3/2
前のページ  1  2  3  4
LKM(Loadable Kernel Module)方式

   LKMを簡単に説明すると、OSのカーネルに新しいモジュールを後付けで組み込むことを実現するものです。

   LKM方式では、下の図4に示すように、システムコールで呼ばれる関数Aに対応する関数A'を実装します。そして、(2)のプロセスが呼び出すシステムコールをフックし、関数Aへの呼び出しがあった場合、関数A'が呼び出されるようにします。関数A'には、セキュリティチェックと、関数Aを呼び出す処理が実装されていて、セキュリティチェックが通れば、従来どおりの処理(関数A)が行われるようになっています。

   関数A'は関数Aと同じインターフェイスで実装されます。また、実際の処理自体は元の関数のものを利用します。そのため、従来のOSとの互換性は保たれます。

LKM方式
図4:LKM方式



Linux以外のOSでの強制アクセス制御

   ここまではLinuxを例に説明してきましたが、UNIXでもLSM方式を除いてほぼ同じです。一方Windowsにおいては、カーネルパッチ方式やLSM方式は利用できませんが、Windows APIをフックすることが可能です。そこで、Windows用のセキュアOSでは、LKM方式に似たような方法で、セキュリティチェックを入れ込む方法がとられています。


実装方式の選択について

   このように、強制アクセス制御にはいくつかの実装方式がありますが、どの方式でも従来のOSとの互換性が保たれています。したがって、従来のOS上で動作していたアプリケーションは基本的に動作するはずです。また、これらの実装方式は、適用できるOSや環境が異なり、それぞれ長所や短所があります。システムのOS環境や必要なセキュリティに応じて、導入するセキュアOS製品を選択することが重要です。


最小特権は?

   「最小特権」については、製品ごとに違いが大きいため一概に紹介できません。TE(Type Enforcement)モデルや、RBAC(Role Based Access Control)モデルなど、さまざまなセキュリティモデルをベースとして、さまざまな形で実装されています。また、これに伴いアクセス制御設定の方法や考え方も異なります。詳細については、次回以降のセキュアOS製品紹介を参考にしていただきたいと思います。

   ただ、セキュアOSではシステムコールレベルのアクセス制御を行っているため、従来のOSに比べて詳細な権限設定が可能になっています。

   たとえば、Linuxのパーミッションチェックでは、ファイルに対して設定できるアクセス権限は、read(読み込み)、write(書き込み)、execute(実行)の3つのみでした。しかしセキュアOSでは、append(追記)などの様々な権限を設定できるようになっています。たとえばログを出力するサーバアプリケーションにappendのみの権限を与えれば、サーバアプリケーションが乗っ取られても追記しかできないため、ログの改ざんや消去を防ぐことができます。


セキュアOSの効果

   かなり技術的な話が続きましたが、ここからはセキュアOSの効果などの話に移りたいと思います。とはいっても、セキュアOSでは「強制アクセス制御」と「最小特権」によって、様々なユーザやプロセスに必要最小限の権限を与えることが可能です。そのため、セキュアOSの効果を網羅的に書くことはできません。ここでは、個人情報保護の観点から、いくつか例を挙げてみたいと思います。


個人情報が入ったデータへのアクセス権限最小化

   従来のOSでは、特権ユーザに対してアクセス制限ができないため、個人情報などのデータを格納しているファイルに対して、参照・改ざん・破壊が自由にできていました。

   しかし、セキュアOSでは特権ユーザに対してもアクセス制限をかけることができます。このため「2. 個人データへのアクセス制御」に即した制限をかけることができます。


侵入攻撃の防御と被害の限定

   特権ユーザを奪おうとする侵入攻撃は、通信を行うサーバアプリケーション(Webサーバなど)のセキュリティホールを利用して侵入し、特権ユーザの権限を奪おうとします。

   セキュアOSでは、サーバアプリケーションのプロセスに対しても「最小特権」を適用できます。このため、多くの攻撃に使われるツールは、権限が足りないため実行できず失敗します。また、仮に侵入に成功したとしても、侵入に利用したプロセスと同等の権限しか得られないので、被害を最小限に抑えられます。

   この防御や被害の限定はアクセス制御によって行っているため、未知・未対策のセキュリティホールへの攻撃に対しても有効です。


ログの保護

   従来のOSでも、アプリケーションやシステムのログを監査に利用していると思います。しかし、特権ユーザで改ざんが可能であるため、完全に信用することはできません。また、ログを消去されてしまうと、不正が行われたことしかわかりませんでした。

   セキュアOSでは、個人情報の入ったデータと同様にログを守ることができます。これにより、改ざんされていない信頼できるログを監査に利用できます。


監査ログの取得

   セキュアOSの中には、アプリケーションや従来のOSで取得できるログの他に、監査ログを取得することが可能な製品もあります。これは、強制アクセス制御のしくみをログ取得に利用することで実現しています。非常に詳細なログの取得が可能で、たとえば個人情報へのアクセスが許されたユーザが、コマンドやログ機能が十分でないアプリケーションを利用してアクセスした場合でも、監査のためのログを取得することができます。

   したがって、ログの保護とあわせて利用することで、「8. 個人データを取り扱う情報システムの監視」を実施することができます。


おわりに

   以上、いくつか挙げましたが、他にも数多くの効果があります。ただし、セキュアOSの効果は、セキュリティ管理者が設定したアクセス制御設定に依存します。このアクセス制御設定をしっかり行うことが必要です。

前のページ  1  2  3  4


才所 秀明
著者プロフィール
日立ソフトウェアエンジニアリング株式会社  才所 秀明
技術開発本部研究部にて、セキュリティ関連研究に従事。現在セキュアOS「SELinux」の調査研究を担当。セキュアOS「SELinux」の普及推進を目指し、講演、執筆、WG活動などにおいて活動中。
Linuxコンソーシアム セキュリティ部会リーダー
日本オープンソース推進機構 SELinux専門委員会メンバー


INDEX
第2回:セキュアOSとは
  はじめに
  セキュアOSとは?
  強制アクセス制御のしくみ
LKM(Loadable Kernel Module)方式