第8章 カーネル整合性サブシステムによるセキュリティーの強化
8.1. カーネル整合性サブシステム
整合性サブシステムは、システムのデータの整合性を維持するカーネルの一部を設定します。このサブシステムは、ユーザーが特定のシステムファイルに望ましくない変更を行うことを防ぎ、システムを初期状態に維持するのに役立ちます。
カーネル整合性サブシステムは、2 つの主要なコンポーネントで設定されています。
- Integrity Measurement Architecture (IMA)
- ファイルのコンテンツの測定を、それが実行され、開かれるたびに実行します。ユーザーは、カスタムポリシーを適用してこの動作を変更できます。
- カーネルのメモリー領域内に測定値を配置すると、システムのユーザーが変更できなくなります。
- ローカルおよびリモートのユーザーが測定値を検証できるようにします。
- Extended Verification Module (EVM)
- IMA 測定や SELinux 属性など、システムのセキュリティーに関連するファイルの拡張属性 (xattr としても知られている) を保護するには、対応する値を暗号でハッシュ化します。
IMA と EVM のどちらにも、追加機能を備えた多くの機能拡張が含まれます。以下に例を示します。
- IMA-Appraisal
- 現在のファイルの内容を、カーネルメモリー内の測定ファイルに先に保存した値に対してローカルで検証します。現在の測定が以前の測定に一致しない場合、この拡張機能は特定のファイルで操作が実行されることを禁止します。
- EVM デジタル署名
-
カーネルのキーリングに保存されている暗号鍵を使用して、デジタル署名を使用できるようにします。EVM デジタル署名は、コンテンツハッシュ (
security.ima
) が含まれるファイルの xattr 値の送信元および整合性を確認します。
-
カーネルのキーリングに保存されている暗号鍵を使用して、デジタル署名を使用できるようにします。EVM デジタル署名は、コンテンツハッシュ (
機能拡張は相互に補完しますが、それぞれを独立して設定し、使用することができます。
カーネル整合性サブシステムは、TPM (Trusted Platform Module) を使用して、システムセキュリティーをさらに強化できます。TPM は、重要な暗号化機能についての TNC (Trusted Computing Group) による仕様です。TPM は通常、プラットフォームのマザーボードに接続される専用ハードウェアとして実装され、ハードウェアチップの保護された改ざん防止領域から暗号化機能を提供することで、ソフトウェアベースの攻撃を防ぎます。TPM 機能の一部は次のとおりです。
- 乱数ジェネレーター
- 暗号化キーのジェネレーターと安全なストレージ
- ハッシュジェネレーター
- リモート認証