アプリケーション保護ルールは、プロセス フックなどの互換性および安定性の問題の緩和に役立ちます。定義され生成されたプロセス リストに対するユーザレベルの API フックを許可またはブロックします。カーネルレベルのファイルおよびレジストリ フックには影響しません。
Host Intrusion Prevention では、許可またはブロックされたプロセスの静的リストを提供しています。このリストはコンテンツのアップデート リリースで更新されます。さらに、プロセス解析が有効な場合、フックを許可されたプロセスを動的にリストに追加できます。この解析は次の場合に毎回実行されます。
この解析では、そのプロセスがブロックされたリストに含まれるかどうかを最初に確認します。含まれない場合は、許可されたリストを確認します。含まれない場合、プロセスがネットワーク ポートを待ち受けているか、サービスとして実行されているかを解析により確認します。それにも含まれない場合は、ブロックされます。ポートを待ち受けているかサービスとして実行されている場合は、フックが許可されます。
IPS コンポーネントは、実行中のプロセスに情報キャッシュを保持しており、フック情報を追跡します。ファイアウォール コンポーネントは、プロセスがネットワーク ポートを待ち受けているかどうか判断し、IPS コンポーネントにエクスポートされた API を呼び出し、監視リストに追加される情報を API に渡します。API が呼び出されると、IPS コンポーネントは対応するエントリを実行中のプロセス リストで見つけます。まだフックされておらず静的ブロック リストの一部にもなっていないプロセスは、これでフックされます。ファイアウォールから PID (プロセス ID) が出力され、これがプロセスのキャッシュ検索のためのキーになります。
IPS コンポーネントにエクスポートされた API によっても、現在フックされているプロセスをクライアント UI で取得でき、これはプロセスがフックまたはフックを解除されるたびにアップデートされます。すでにフックされているプロセスは、今後フックできなくなることを指定したアップデートされたプロセス リストがコンソールから送信されると、フックされたプロセスはフックが解除されます。プロセス フック リストがアップデートされると、実行中のプロセスの情報キャッシュにリストされたすべてのプロセスが、アップデートされたリストと比較されます。リストにより、あるプロセスがフックされる必要があるのにフックされていないことがわかると、そのプロセスはフックされます。リストにより、あるプロセスがフックされてはいけないのにフックされていることがわかると、そのプロセスはフック解除されます。
プロセス フック リストは、[アプリケーション保護ルール] タブで表示、編集できます。IPS ルールのポリシーとは異なり、クライアント ユーザ インターフェイスには、フックされたすべてのアプリケーション プロセスのリストが表示されます。
アプリケーション保護ルールを作成するには、次の手順に従います。