必須整合性コントロール


必須整合性コントロール (MIC) の概要



必須整合性コントロール(Mandatory Integrity Control、MIC)は、Windows Vistaから導入された重要なセキュリティ機能です。これは、システム内のセキュリティ保護可能なオブジェクトへのアクセス管理を行い、特にプロセス間通信の安全性を確保することを目的としています。この機能の導入により、異なる整合性レベルを持つプロセス間での通信が厳密に制御されるようになりました。

アーキテクチャと機能



MICの基本的な動作は、親プロセスが持つ整合性レベルに基づいて新たに作成される子プロセスにも整合性レベルを付与するというものです。整合性レベルは、プロセスのアクセストークンに格納され、このトークンを参照してセキュリティ参照モニタ(Security Reference Monitor、SRM)がアクセスの可否を判断します。もしプロセスがセキュリティ保護可能なオブジェクトにアクセスしようとした場合、そのプロセスの整合性レベルとオブジェクトに設定された最小整合性レベルの比較が行われます。

具体的には、対象のオブジェクトのセキュリティ記述子内に設定されたシステムアクセス制御リスト(SACL)を参照し、プロセスの整合性レベルがそれよりも低い場合、アクセスは拒否されるのです。この場合、エラーコード(ERROR_ACCESS_DENIED、0x5)が返されています。

整合性レベルの設定



整合性レベルは、セキュリティ識別子(SID)という形式で表現されますが、Windowsではあらかじめ定義された6つの整合性レベルが存在します。これらの整合性レベルは、システムのセキュリティを保つために重要な役割を果たしています。特に注目すべきは、高い整合性レベルを持つプロセスオブジェクトが、低い整合性レベルのプロセスからの読み取りアクセスを禁止している点です。

そのため、高い整合性レベルを持つプロセスは、同時に低い整合性レベルのプロセスと直接かかわることができません。この機能によって、より高いセキュリティが確保され、未許可の情報漏洩や不正な操作を未然に防ぐことが可能になります。

プロセス間通信の制約



この整合性モデルにより、プロセスは CreateRemoteThread() や WriteProcessMemory() といったAPI関数を通じて、高い整合性レベルのプロセスに対するDLLインジェクションやデータ送信を行うことができません。これにより、悪意のあるプログラムがセキュリティクリティカルなプロセスに対して不正にアクセスするリスクが低減されます。

関連リンクと情報



MICは、ユーザーインターフェイス特権の分離(UIPI)や、アクセスタイプを管理するicacls、さらには強制アクセス制御というセキュリティ機能とも関連しています。これらの知識は特にIT業界に従事する者にとって重要であり、セキュリティを強化するために欠かせないものとなっています。

さらに、MicrosoftのTechNetやその他の技術文献が、MICに関する詳細な情報やその実装方法を提供しています。

今後のWindowsシステムにおいても、このような整合性コントロールの知識はますます重要になっていくでしょう。

もう一度検索

【記事の利用について】

タイトルと記事文章は、記事のあるページにリンクを張っていただければ、無料で利用できます。
※画像は、利用できませんのでご注意ください。

【リンクついて】

リンクフリーです。