リファレンス・モニターとは、コンピュータセキュリティにおいて、システム内のリソース(データ、ファイル、プロセスなど)へのアクセスを制御するための概念またはメカニズムです。
具体的には、ユーザーやプロセスからのアクセス要求が発生した際に、そのアクセスが許可されているかどうかを判断し、許可されたアクセスのみを実行するように監視・管理します。
リファレンス・モニターは、特定の「セキュリティポリシー」に基づいてアクセス権限を評価するため、システムのセキュリティを高める重要な役割を担っています。
リファレンス・モニターの考え方は、1972年にアメリカ国防総省の研究機関であるRAND Corporationが策定した「Anderson Report」で提唱されたもので、現在も多くのセキュリティシステムやセキュリティモデルに応用されています。リファレンス・モニターは、アクセス制御を確実に実行するための信頼できるセキュリティコンポーネントとして設計されており、セキュリティ機構の重要な一部となります。
リファレンス・モニターの役割と仕組み
リファレンス・モニターは、アクセス制御の観点からシステム内の全てのアクセス要求を監視し、アクセスが許可される条件(セキュリティポリシー)を満たしているかどうかを判断します。リファレンス・モニターの基本的な役割は次のとおりです。
- アクセス要求の監視
プロセスやユーザーがリソースにアクセスしようとした際に、リファレンス・モニターはそのリクエストを監視し、アクセス権限を確認します。 - アクセス制御の適用
監視対象のアクセス要求が、システムのセキュリティポリシー(アクセス制御リストや認証情報など)に基づいて適切かどうかを判断します。許可されたアクセスのみを通し、不正なアクセスは拒否します。 - ログと監査
リファレンス・モニターは、アクセス制御の結果を記録・監査する機能も備えており、後のセキュリティ監査や不正アクセスの追跡に活用されます。
リファレンス・モニターが適切に機能するためには、以下の「リファレンス・モニターの要件」を満たす必要があります。
リファレンス・モニターの要件(セキュリティカーネル)
リファレンス・モニターは「セキュリティカーネル」としても知られており、以下の3つの要件を満たす必要があります。
- 完全仲介性(Complete Mediation)
全てのアクセス要求を確実に監視し、許可されるアクセスのみが実行されるようにする。リファレンス・モニターが通らないアクセスは発生しないことが求められます。 - 隔離性(Isolation)
リファレンス・モニター自体が外部からの改ざんや侵害を受けないように、隔離された状態を保つことが必要です。信頼できる独立したセキュリティ機構として機能することが要求されます。 - 検証可能性(Verifiability)
リファレンス・モニターがセキュリティポリシーに従って正確にアクセス制御を実行していることを検証可能である必要があります。検証可能であれば、システムのセキュリティが保たれていることを保証できます。
リファレンス・モニターの実装例
リファレンス・モニターは、以下のようなアクセス制御の仕組みやセキュリティモデルに実装されています。
1. マルチレベルセキュリティ(MLS)システム
マルチレベルセキュリティ(MLS)システムでは、リファレンス・モニターはユーザーやプロセスのセキュリティクリアランス(アクセス権限レベル)に応じてアクセスを制御します。たとえば、軍事機関で用いられるBell-LaPadulaモデルに基づくMLSでは、「トップシークレット」レベルのデータにはそれに応じたクリアランスを持つユーザーのみがアクセス可能となります。
2. SELinux(Security-Enhanced Linux)
SELinuxは、リファレンス・モニターを基盤とした強力なアクセス制御機構を提供するLinuxのセキュリティモジュールです。SELinuxは「強制アクセス制御(MAC)」を採用し、システム上の全てのアクセス要求に対して、セキュリティポリシーに基づいたアクセス制御を適用します。これにより、特権ユーザーやプロセスも厳密にアクセス制限されます。
3. Windowsのアクセス制御機構
Windowsオペレーティングシステムにもリファレンス・モニターに基づいたアクセス制御機構が備わっています。Windowsでは、アクセス制御リスト(ACL)を使用してファイルやプロセスごとのアクセス権を管理し、リファレンス・モニターが各要求を監視し、許可されたアクセスのみを許可します。
リファレンス・モニターのメリット
リファレンス・モニターは、システムのセキュリティと信頼性を向上させるために重要な役割を果たしています。以下はリファレンス・モニターの主なメリットです。
1. システムの安全性向上
リファレンス・モニターはアクセス要求を監視・制御するため、不正アクセスや不正な操作を防ぐことが可能です。システムの安全性を確保するために不可欠な要素です。
2. データの保護
リファレンス・モニターによって、特定のリソースに対して権限を持つユーザーのみがアクセスできるため、データの機密性や整合性が保たれます。企業や公共機関における重要なデータの保護に役立ちます。
3. セキュリティポリシーの適用と統一
リファレンス・モニターを通じてセキュリティポリシーが厳密に適用されるため、システム全体で統一的なアクセス制御が実現できます。これにより、複雑なシステムでも一貫したセキュリティ管理が可能になります。
リファレンス・モニターの課題
リファレンス・モニターの導入にはいくつかの課題もあります。主な課題は以下の通りです。
1. パフォーマンスへの影響
リファレンス・モニターは全てのアクセス要求を監視するため、システムのパフォーマンスに影響を及ぼす可能性があります。特にアクセス頻度が高いシステムでは、パフォーマンス低下を引き起こすことがあります。
2. 複雑な設定と管理
リファレンス・モニターを適切に機能させるためには、厳密なアクセス制御ポリシーの設定と管理が必要です。特に大規模なシステムでは、ポリシーの設計やメンテナンスが複雑になり、管理の手間が増えることが考えられます。
3. 隔離と検証の難易度
リファレンス・モニターは隔離性や検証可能性が求められますが、実際にこれを実装するには高度な技術が必要です。設計や開発段階で高いセキュリティ基準が求められるため、コストや開発期間が増加する可能性があります。
まとめ
リファレンス・モニターは、システムやデータの安全性を確保するために、ユーザーやプロセスからのアクセス要求を監視し、セキュリティポリシーに基づいてアクセスを制御する重要なセキュリティ機構です。完全仲介性、隔離性、検証可能性という要件を満たすことによって信頼性を確保し、システムの保護を実現します。
リファレンス・モニターは、マルチレベルセキュリティシステムやSELinux、Windowsのアクセス制御などに実装され、システムのセキュリティ強化に貢献しています。セキュリティがますます重要視される現代において、リファレンス・モニターは堅牢なセキュリティシステムを構築するために欠かせないコンポーネントとして、今後も多くのシステムに応用され続けるでしょう。