Microsoftはこのほど、Linuxカーネルの強化に向けて同社が取り組んできた、ある新規プロジェクトの詳細を明らかにした。
このプロジェクトの成果物は、「Integrity Policy Enforcement」(IPE)と名付けられたLinuxのセキュリティモジュール(LSM)だ。LSMは、Linuxカーネルのセキュリティ強化を可能にするアドオンだ。
米国時間4月6日に公開されたドキュメントページによると、IPEはLinux環境におけるコードの完全性に関する問題を解決するためのMicrosoftの取り組みだという。なお、同社はパブリッククラウド「Microsoft Azure」でLinuxを幅広く利用している。
IPEを有効化したLinuxシステムの場合、システム管理者は実行可能なバイナリーのリストを作成しておくとともに、「verification」(検証)属性を追加しておくことで、各バイナリーが実行される前にカーネルによるチェックが実施されるようになる。バイナリーが改ざんされていると判断された場合、IPEは悪意あるコードと判断し、その実行を抑止する。
一般的なLinuxユーザー向けのものではない
Microsoftによると、IPEは汎用目的のコンピューター向けに開発した機能ではないという。IPEは非常に特殊なユースケース、すなわちセキュリティが最優先事項となっており、システム管理者が管理対象システム上で実行されるもの全てを完全に制御する必要のある環境を想定して設計されている。
IPEは、組み込みシステム(データセンター内で稼働しているネットワークファイアーウォール機器など)、すなわち全てのソフトウェアや設定がその所有者によって構築/提供されている特定用途のデバイスでの使用を想定して設計されている。
Microsoftは「IPEでは『SELinux』と同様に、『permissive』(寛容)モードと『enforce』(強制)モードという2種類の運用モードが用意されている」と述べた。
「permissiveモードは、enforceモードと同じチェックを実行し、ポリシー違反をログに出力するものの、ポリシー自体を強制することはない。これにより、ユーザーはポリシーの強制に先立って、当該ポリシーをテストできるようになる」(Microsoft)
Microsoftは同日、IPEのモジュール仕様を公開した。IPEは現在、RFC(Request for Comments:コメント受け付け)という状態に置かれている。このため、実際にLinuxカーネルに搭載されるまでにはしばらく時間がかかるはずだ。
Linuxカーネルには、コードの完全性を保証するための「Integrity Measurement Architecture」(IMA)というLSMが既に搭載されている。しかしMicrosoftによると、IPEは「ファイルシステムのメタデータに依存しない」点と、「カーネル内にのみ存在している決定的な属性」に基づいているため、IMAのようにIMAシグネチャーを追加コードとして指定する必要がない点で、IMAとは異なっているという。
この記事は海外CBS Interactive発の記事を朝日インタラクティブが日本向けに編集したものです。