1.11. セキュリティ制御

1. 概要

 オペレーティングシステム(OS)のセキュリティ制御は、コンピュータシステムの安全性と信頼性を確保するための重要な機能です。OSには、アクセス制御、フロー制御、推論制御、暗号化制御などの様々なセキュリティ制御機能が実装されており、これらの機能によって、外部セキュリティと内部セキュリティの両方が維持されます。

 セキュリティ制御の重要性は、日々増大するサイバー脅威や情報漏洩リスクに対応するために、ますます高まっています。OSのセキュリティ機能を理解することは、情報システムの設計、運用、管理に携わる技術者にとって不可欠な知識となっています。

2. 詳細説明

2.1. セキュリティ制御の種類

2.1.1. アクセス制御

 アクセス制御は、ユーザーやプロセスがシステムリソースにアクセスする際の権限を管理する機能です。主な方式には以下があります:

  • ディスクリショナリ・アクセス制御(DAC): 各ユーザーに対し、個別にアクセス権を設定する方式です。ファイルのオーナーがアクセス権限を設定できるため柔軟性が高いですが、設定ミスによるセキュリティリスクも存在します。
  • マンダトリ・アクセス制御(MAC): 中央管理者がアクセス権限を一元管理する方式で、システム全体のセキュリティポリシーに従います。例として、SELinuxやAppArmorがあり、より厳格な制御が可能です。
  • ロールベース・アクセス制御(RBAC): 役割(ロール)に基づいてアクセス権限を設定する方式です。特定の業務に必要な権限のみを割り当てることで、運用管理の効率化とセキュリティ向上が図られます。例えば、Linuxのsudoコマンドで特定の管理タスクを指定したユーザーにのみ許可することが可能です。

2.1.2. フロー制御

 フロー制御は、情報の流れを制御し、機密情報が不適切に漏洩することを防ぐ機能です。多重レベルセキュリティモデルの一つであるBLP(Bell-LaPadula)モデルは、フロー制御の代表的な例です。

  • BLPモデルのルール:
    1. 単純セキュリティ性質(No Read Up): 主体(ユーザーやプロセス)は、自身のセキュリティレベル以下の客体(データ)のみ読み取ることができます。
    2. 性質(No Write Down): 主体は、自身のセキュリティレベル以上の客体にのみ書き込むことができます。

2.1.3. 推論制御

 推論制御は、複数の情報を組み合わせることで機密情報が推測されることを防ぐ機能です。データベースシステムなどで重要な役割を果たします。

  • 具体例:統計的データベースのクエリ制御: クエリ結果を制御し、特定の条件に合致するレコード数が少ない場合には、クエリ結果を返さないようにすることで、個人の特定を防ぎます。

2.1.4. 暗号化制御

 暗号化制御は、データを暗号化・復号化する機能を管理します。ファイルシステムの暗号化やネットワーク通信の暗号化などに利用されます。

  • 具体例:ファイルシステムの暗号化: LinuxではeCryptfsLUKS(Linux Unified Key Setup)などのツールを用いて、データを暗号化して保護することができます。
  • 具体例:ネットワーク通信の暗号化: TLS/SSL(Transport Layer Security / Secure Sockets Layer)プロトコルは、インターネット上での安全なデータ通信を保証します。

2.2. セキュリティカーネルの特徴

 セキュリティカーネルは、OSの中核部分にセキュリティ機能を組み込んだものです。主な特徴は以下の通りです:

  1. 完全性: カーネル自体が改ざんされないよう保護されています。
  2. 隔離: プロセス間の干渉を防ぎ、リソースの保護を行います。
  3. 認証: ユーザーやプロセスの身元を確認します。
  4. 検証可能性: セキュリティ機能の動作を検証できるよう設計されています。

 これらの特徴は、システムのセキュリティを維持するために不可欠であり、OSの安定性と信頼性を支えます。

2.3. セキュリティ監査機能

 OSには、セキュリティに関する事象を記録し、分析するための機能が実装されています:

  • ロギング機能: システムの動作やセキュリティイベントを記録します。例として、Linuxのsyslogauditdがあり、Windowsではイベントビューワーが使用されます。
  • オーディット機能: ログを分析し、異常を検出します。SELinuxの監査機能などが代表的です。
  • アカウンタビリティ: ユーザーの行動を追跡し、責任の所在を明確にします。LinuxlastコマンドやWindowsのアカウント監査ログ機能がこれに該当します。

3. 応用例

3.1. 企業の情報システムセキュリティ

 企業の情報システムでは、従業員の役職や部署に応じてアクセス権限を設定し、機密情報の保護を行います。また、ログ分析により、不正アクセスの早期発見に努めます。例えば、Active Directoryを用いて統合されたユーザー管理とセキュリティ監査を実施します。

3.2. クラウドサービスのセキュリティ

 クラウドサービスプロバイダーは、多重レベルセキュリティを実装し、顧客データの保護と分離を行います。暗号化制御により、データの機密性を確保します。例えば、AWS Key Management Service(KMS)を用いたデータ暗号化の実装があります。

3.3. IoTデバイスのセキュリティ

 IoTデバイスのOSでは、リソースの制約を考慮しつつ、軽量な暗号化やアクセス制御を実装し、デバイスとネットワークの安全性を確保します。例として、MQTTプロトコルを用いたセキュアな通信が挙げられます。

4. 例題

例題1

Q: BLP(Bell-LaPadula)モデルの2つの主要なルールを説明してください。

A: BLPモデルの2つの主要なルールは以下の通りです:

  1. 単純セキュリティ性質(No Read Up): 主体は、自身のセキュリティレベル以下の客体のみ読み取ることができる。
  2. 性質(No Write Down): 主体は、自身のセキュリティレベル以上の客体にのみ書き込むことができる。

例題2

Q: OSのセキュリティ制御機能の一つである「推論制御」について、その目的と具体的な方法を1つ挙げてください。

A: 推論制御の目的は、複数の非機密情報を組み合わせることで機密情報が推測されることを防ぐことです。具体的な方法の一つとして、統計的データベースにおけるクエリ制御があります。例えば、特定の条件に合致するレコード数が少ない場合にはクエリ結果を返さないようにすることで、個人の特定を防ぎます。

例題3

Q: 「信頼プロセス」とは何か、またその重要性について説明してください。

A: 信頼プロセスとは、OSによって特別な権限を与えられ、セキュリティに関する重要な操作を実行できるプロセスのことです。その重要性は、システムの核心的な部分やセキュリティ機能を保護し、一般のプロセスがシステムに危害を加えることを防ぐ点にあります。信頼プロセスは最小限に抑え、厳密に管理されることが重要です。

5. まとめ

 OSのセキュリティ制御は、コンピュータシステムの安全性と信頼性を確保するための重要な機能です。アクセス制御、フロー制御、推論制御、暗号化制御などの機能により、外部からの脅威と内部からの不正アクセスの両方に対処します。

 セキュリティカーネルは、これらの機能を効果的に実装し、システム全体の保護を行います。また、ロギングやオーディット機能により、セキュリティイベントの追跡と分析が可能となります。

 情報技術の進化に伴い、OSのセキュリティ制御機能も常に進化しています。技術者は、これらの概念と実装方法を深く理解し、適切なセキュリティ対策を講じることが求められます。