アプリケーションコントロールによるソフトウェアのロックダウン

Deep Security Agent 10.0以上を実行しているコンピュータのアプリケーションコントロールを有効にできます。アプリケーションコントロールがサポートされるOSのリストについては、各プラットフォームでサポートされている機能を参照してください。

アプリケーションコントロールは、保護対象サーバのソフトウェア変更を継続的に監視します。ポリシー設定に基づいて、アプリケーション制御は、許可されていないソフトウェアが明示的に許可されるまで実行されないようにしたり、許可されていないソフトウェアが明示的にブロックされるまで許可したりしないようにします。選択するオプションは、使用環境に必要なコントロールレベルに応じて異なります。

アプリケーションコントロールは、ソフトウェアが頻繁に変更されるワークステーションまたはサーバではなく、頻繁にはアップデートされない安定したサーバで使用することを想定しています。

主な概念

対象となる保護の状態: アプリケーションコントロールの設定時に必要な主な決定事項の1つに、対象となる保護の状態の決定があります。新規または変更されたすべてのソフトウェアについて、許可するように手動で指定するまで実行されないようにしますか。または、明示的にブロックするまで初期設定で実行しますか。はじめてアプリケーションコントロールを有効にしたときに、承認されていないソフトウェアが大量にある場合、承認されていないソフトウェアを最初に許可する方法があります。アプリケーションコントロールルールを追加して、承認されていないソフトウェアの量を減らすと、ブロックモードに切り替えることができます。

アプリケーションコントロールルール: ルールは、特定のコンピュータでのソフトウェアの許可またはブロックを指定します。

インベントリ:コンピュータにインストールされているソフトウェアの初期リストです。許可するソフトウェアのみをコンピュータにインストールするようにしてください。アプリケーション制御を有効にすると、現在インストールされているすべてのソフトウェアがコンピュータのインベントリに追加され、実行が許可されます。コンピュータがメンテナンスモードの場合、コンピュータに対するソフトウェアの変更がコンピュータのインベントリに追加され、実行されるようになります。コンピュータのソフトウェアインベントリリストはDeep Security Agentに保存され、 Deep Security Managerには表示されません。

認識されないソフトウェア:コンピュータのインベントリに登録されていないソフトウェアで、アプリ制御ルールで保護されていないソフトウェアです。アプリケーションコントロールで検出されるソフトウェア変更を参照してください。

メンテナンスモード: ソフトウェアのインストールまたはアップデートを予定している場合は、メンテナンスモードをオンにすることをお勧めします。メンテナンスモードでは、アプリケーションコントロールは、アプリケーションコントロールルールによって特にブロックされたソフトウェアをブロックし続けますが、新しいソフトウェアまたはアップデートされたソフトウェアを実行して、コンピュータのインベントリに追加します。変更の計画時にメンテナンスモードをオンにするを参照してください。

アプリケーションコントロールの仕組み

以下の手順に対応するアプリケーションコントロールのフローチャート

  1. ポリシーでアプリケーションコントロールを有効にして、Deep Security Agentで保護されているコンピュータにこのポリシーを割り当てます (アプリケーションコントロールを有効にするを参照)。
  2. エージェントはポリシーを受信すると、コンピュータにインストールされているすべてのソフトウェアのインベントリを作成します。インベントリに記載されているすべてのソフトウェアは安全であるとみなされ、そのコンピュータで実行できるようになります。このインベントリリストはDeep Security Managerからは表示されません。つまり、アプリケーション制御を有効にするコンピュータに適切なソフトウェアのみがインストールされていることを確認する必要があります。
  3. インベントリの作成後、アプリケーションコントロールでコンピュータのあらゆるソフトウェア変更が認識されます。ソフトウェア変更により、新しいソフトウェアがコンピュータに表示されたり、既存のソフトウェアに変更が加えられたりします。
  4. コンピュータがメンテナンスモードの場合、 Deep Security Agentはインベントリにソフトウェアを追加し、実行を許可します。この変更はDeep Security Managerでは表示できません。変更の計画時にメンテナンスモードをオンにするを参照してください。
  5. 信頼されたインストーラによって変更が行われた場合、 Deep Security Agentはそのソフトウェアをインベントリに追加して実行します。たとえば、Microsoft Windowsがコンポーネントアップデートを自己始動する場合、数百の新しい実行可能ファイルがインストールされます。アプリケーションコントロールは、既知のWindowsプロセスによって作成された多くのファイル変更を自動認証しますが、Deep Security Managerにはこの変更は表示されません。想定されるソフトウェア変更に関連する「ノイズ」を削除すると、注意が必要な変更を明確に確認できます。

    信頼済みのインストーラ機能はDeep Security Agent 10.2以上で利用可能です。

  6. コンピュータのルールセットに適切なソフトウェアのルールが含まれる場合、ソフトウェアは実行されるルールに従って許可またはブロックされます。アプリケーションコントロールで検出されるソフトウェア変更を参照してください。
  7. ソフトウェアがコンピュータのインベントリにない場合に、既存のルールで保護されていないソフトウェアは、認識されないソフトウェアとみなされます。コンピュータに割り当てられたポリシーでは、承認されていないソフトウェアの処理方法を指定します。ポリシー設定に応じて、実行が許可またはブロックされます。ソフトウェアがブロックされ、OSにエラーメッセージを表示できる場合、そのソフトウェアの実行が許可されない、またはアクセスが拒否されたことを示すエラーメッセージが保護対象のコンピュータに表示されます。

    承認されていないソフトウェアは、Deep Security Managerの [アプリケーションコントロール - ソフトウェア変更] 画面に表示されます。この画面で、管理者は [許可] または [ブロック] をクリックし、特定のコンピュータに対して該当のソフトウェアの許可ルールまたはブロックルールを作成できます。許可ルールまたはブロックルールは、ポリシーで指定された初期設定アクションよりも優先されます。新規および変更済みソフトウェアを監視するを参照してください。

アプリケーションコントロールインタフェースの紹介

Deep Security Managerには、アプリケーションコントロールに関連する変更を確認できる場所があります。

アプリケーションコントロール: ソフトウェア変更 ([処理])

[アプリケーションコントロール: ソフトウェア変更]画面は、Deep Security Managerの [処理] をクリックすると表示されます。すべての認識されないソフトウェア(コンピュータのインベントリにないソフトウェアで、対応するアプリケーション制御ルール).がないソフトウェアが表示されます。ソフトウェア変更はコンピュータレベルで許可またはブロックされるため、特定のソフトウェアを50台のコンピュータにインストールすると、この画面に50回表示されます。ただし、特定のソフトウェアをすべての場所で許可またはブロックする必要がある場合は、[処理] 画面をフィルタしてファイルハッシュ別に変更をソートし、[すべて許可] をクリックしてソフトウェアがインストールされているすべてのコンピュータで許可します。

コンピュータに適用されるポリシーでは、承認されていないソフトウェアの実行を初期設定で許可またはブロックするかを指定しますが、[処理] 画面で [許可] または [ブロック] をクリックするまで、明示的なアプリケーションコントロールルールは作成されません。[許可] または [ブロック] をクリックすると、対応するルールがコンピュータのルールセットに表示されます。ルールセットは [アプリケーションコントロールルールセット] 画面に表示されます。

アプリケーションコントロールルールセット

アプリケーションコントロールルールセット

コンピュータのルールセットを確認するには、[ポリシー]→[共通オブジェクト]→[ルール]→[アプリケーションコントロールルールセット] に移動します。ルールセットに含まれるルールを確認するには、ルールセットをダブルクリックして [ルール] タブに移動します。[ルール] タブには、ルールが関連付けられたソフトウェアが表示され、許可ルールをブロックルールに変更したり、ブロックルールを許可ルールに変更したりすることもできます。

セキュリティイベント

[イベント]→[レポート]→[イベント]→[アプリケーションコントロールイベント]→[セキュリティイベント] には、コンピュータで実行された承認されていないソフトウェア、またはブロックルールにより実行されないようにした承認されていないソフトウェアがすべて表示されます。このリストは、期間および他の基準によってフィルタできます。

イベント (集約イベント以外) ごとに、[ルールの表示] をクリックすると、ルールの許可とブロックを切り替えることができます。Deep Security Agent 10.2以上には、同じイベントが繰り返し発生した場合にログの量を減らすためのイベント集約ロジックがあります。

アプリケーションコントロールで検出されるソフトウェア変更

すべてのファイルを監視する変更監視とは異なり、アプリケーションコントロールで初期インストールの調査時と変更の監視時に確認されるのはソフトウェアファイルのみです。

ソフトウェアには次のものも含まれます。

  • Windowsアプリケーション (.exe、.com、.dll、.sys)、Linuxライブラリ (.so)、およびその他のコンパイルされたバイナリやライブラリ
  • Javaの.jarファイルと.classファイル、およびその他のコンパイルされたバイトコード
  • PHP、Python、シェルスクリプト、およびその他の実行時に変換またはコンパイルされるWebアプリやスクリプト
  • Windows PowerShellスクリプト、バッチファイル (.bat)、およびその他のWindows専用スクリプト (.wsf、.vbs、.js)

たとえば、WordPressとそのプラグイン、Apache、IIS、nginx、Adobe Acrobat、app.war、/usr/bin/sshは、いずれもソフトウェアとして検出されます。

アプリケーションコントロールは、ファイルの拡張子を確認してスクリプトかどうかを判定します。またLinuxでは、実行権限のあるファイルはスクリプトとみなされます。

Windowsコンピュータでは、アプリケーションコントロールがローカルファイルシステム上の変更を追跡しますが、ネットワーク上の場所、CD/DVDドライブ、USBデバイスの変更は追跡しません。

アプリケーションコントロールはカーネル (Linuxコンピュータ) およびファイルシステムに統合されているため、ルートまたは管理者アカウントでインストールされたソフトウェアを含め、コンピュータ全体を監視する権限があります。監視対象は、ソフトウェアファイルに対するディスク上の書き込みアクティビティとソフトウェアの実行です。

Deep Security Agent 10.xと11.xにおけるファイルの比較方法の相違点

Deep Security 10.x Agentは、新規のソフトウェアやソフトウェアの変更を判定するために、最初にインストールされていたソフトウェアのSHA-256ハッシュ、ファイルサイズ、パス、およびファイル名を比較します (これらには「ファイルベース」のルールセットが使用されています)。Deep Security 11.xエージェント(Deep Security 11.0 Update 1以降)は、ファイルのSHA-256ハッシュとファイルサイズのみを比較します(「ハッシュベース」のルールセット).を使用します)。Deep Security 11.x Agentで作成されたルールでは、一意のハッシュおよびファイルサイズのみを比較するので、ソフトウェアファイルの名前変更または移動が実行された場合にも、ルールは引き続き適用されます。そのため、Deep Security 11.x Agentを使用すると、処理の必要なソフトウェア変更の数が削減されます。

Deep Security 10.xエージェントは、Deep Security 11.0 Update 1以上にバージョンアップされるまで、引き続きファイルベースのルールセットを使用します。エージェントをバージョン11.0 Update 1以上にバージョンアップすると、そのルールセットはハッシュベースのルールを使用するように変換されます。同じハッシュ値に対するファイルベースのルールが複数ある場合、それらのルールは1つのハッシュベースのルールに統合されます。統合されるルールが相互に競合する場合 (1つのルールがファイルをブロックし、もう1つがそのファイルを許可する場合)、新しいハッシュベースのルールは「許可」ルールになります。