このページのトピック
アプリケーションコントロールの信頼エンティティ
信頼エンティティは、信頼ルールセットに割り当てられた信頼ルールのプロパティに一致するソフトウェア変更を自動承認します。各信頼ルールには、ソフトウェア変更の自動承認のパラメータを定義する1つ以上のプロパティが含まれます。
エンティティの信頼機能を使用すると、Agentでのソフトウェアの変更を事前に自動承認できるため、 Workload Securityに送信されるソフトウェア変更イベントの数を減らすことができます。たとえば、OSを定期的にアップデートするAgentは、パッチが適用されるたびに新しいソフトウェアの変更をいくつか作成します。適切な信頼ルールを構成してそれらのAgentに適用することにより、Agentのソフトウェア変更を自動承認し、 Workload Security処理 タブから、または アプリケーションコントロール セキュリティイベントとして手動で管理する必要をなくすことができます。
信頼エンティティを使用してソフトウェアの変更を自動承認するには、信頼ルールを設定し、それらを信頼ルールセット に割り当て、そして ルールセットの割り当てをポリシーまたはコンピュータに割り当てる必要があります。
エンティティの信頼機能で自動認証されないソフトウェアの変更を許可またはブロックする方法については、「 アプリケーションコントロールソフトウェアのルールセットを表示および変更する」を参照してください。
信頼ルールセットのAPIドキュメントを参照できます。
このドキュメント全体で、「ソース」はソフトウェア変更を作成するプロセスを指し、「ターゲット」はソフトウェア変更自体を指す場合に使用します。
信頼ルールセット
信頼ルールセットは、1つ以上のユーザ設定の 信頼ルールで構成されます。場合信頼ルールセットを割り当てるのポリシーまたはコンピュータにWorkload Security、そのルールセットに含まれるルールが関連するワークロードに適用され、そのルールプロパティの要件を満たすソフトウェアの変更が自動的に承認されます。
信頼ルールセットを作成する
新しい信頼ルールセットを作成するには、次のいずれかを実行します。
Workload Security Policies タブで次の操作を実行します。
- [共通オブジェクト]→[ルール]→[アプリケーションコントロールルール]→[信頼エンティティ]の順に選択します。
- [ Trust ]セクションで、[ New]を選択します。
- [ New ]ウィンドウで、新しいルールセットの名前を入力し、必要に応じて説明を入力します。
- リストから1つ以上の信頼ルールを選択して、信頼ルールセットに割り当てます。
- [ OK]をクリックします。
割り当てたルールを含む信頼ルールセットが作成されます。
Workload Security Computers または[ Policies ]タブで、次の操作を実行します。
- コンピューターまたはポリシーをダブルクリックします(または右クリックして[ 詳細]を選択します)。
- [ アプリケーションコントロール ] に移動し、[設定] が[ オン ]または[ 継承 (オン)] に設定されていることを確認します。
- [信頼ルールセット] リストで [新規] を選択します。
- [ 新しいルールセット ]ウィンドウで、新しいルールセットの名前を入力し、必要に応じて説明を入力します。 {.zoom}
- リストから1つ以上の信頼ルールを選択して信頼ルールセットに割り当て、 [保存 ] をクリックして、割り当てたルールを含む信頼ルールセットを作成します。
- 必要に応じて、[ 保存] をクリックして、新しい信頼ルールセットをコンピュータまたはポリシーに割り当てます。
信頼ルールセットを最初から作成する代わりに、[信頼エンティティの管理] 画面 ([ポリシー]→[共通オブジェクト]→[ルール]→[アプリケーションコントロールルール]→[信頼するエンティティ])の [複製] をクリックして既存のルールセットのコピーを作成し、必要に応じて設定できます。
信頼ルールセットの割り当てまたは割り当て解除
信頼ルールセットを割り当てるには
- Workload Securityの Computers または [Policies] タブで、コンピュータまたはポリシーをダブルクリックします(または右クリックして [詳細] を選択します)。
- [ アプリケーションコントロール ] に移動し、 [ 設定 ]が[ オン ]または[ 継承 (オン)] に設定されていることを確認します。
- リストから 信頼ルールセット を選択します。 {.zoom}
- [ 保存] をクリックします。
これで、選択した信頼ルールセットがコンピュータまたはポリシーに割り当てられました。
信頼ルールセットの割り当てを解除するには:
- [共通オブジェクト]→[ルール]→[アプリケーションコントロールルール]→[信頼エンティティ] の順に選択し、信頼ルールセットを選択します。
- 右側に表示される[信頼ルールセットのプロパティ]画面で、[割り当て]の横にある数字を選択します。
- [割り当て先]画面で、コンピュータまたはポリシーを選択します。
- コンピュータまたはポリシー画面の[ アプリケーションコントロール ]タブで、[信頼するルールセット]ドロップダウンリストから[なし]を選択してルールセットの割り当てを解除します。
- [ 保存] をクリックします。
信頼ルールセットがコンピュータまたはポリシーに割り当てられていません。
信頼ルールセットを削除する
- [共通オブジェクト]→[ルール]→[アプリケーションコントロールルール]→[信頼エンティティ]の順に選択します。
- [ 信頼ルールセット ]セクションで、削除するルールセットを選択し、[ 削除] を選択します。
-
[ルールセットの削除] 確認ダイアログで、[ OK ] をクリックします。
信頼ルールセットが削除されます。
信頼ルールセットがコンピュータまたはポリシーに継承されているか、割り当てられている場合、そのルールセットは削除できません。削除する前に、信頼ルールセットの割り当てを解除 する必要があります。
信頼ルール
信頼ルールには、 アプリケーションコントロールによって自動承認されるソフトウェアの変更を決定する1つ以上のプロパティが含まれます。信頼ルールのプロパティに一致するソフトウェアの変更は自動承認され、 Workload Securityにイベントは作成されません。
空の信頼ルールプロパティはすべてワイルドカードとして扱われます。これにより、信頼ルールをカスタマイズする方法が自由になりますが、システムのセキュリティに影響する可能性もあります。システムのセキュリティを最大化し、不要なソフトウェアの変更が許可されないようにするには、信頼ルールを作成するときにできるだけ多くのプロパティを入力してください。信頼ルールがセキュリティに与える影響がよくわからない場合は、システムのセキュリティについて十分な知識がある人に確認するか、信頼ルールセットに追加する前にトレンドマイクロに問い合わせてください。
現在、一部の信頼ルールプロパティはサポートされるWindowsプラットフォームのAgentにのみ適用され、Linuxではまだ使用できません。詳細については、「 信頼ルールのプロパティのLinuxの制限」を参照してください。
信頼ルールの種類
-
[ソースから許可] ルールは、信頼されたアップデータまたはインストーラプロセスがシステムに新しいソフトウェアをインストールすることを許可します。信頼できるアップデータによって作成された承認済みの実行可能ファイルは、自動的に承認されます。このルールを使用するには、プロセスやインストーラなどのソースのプロパティをルールで指定する必要があります。さらに、パス 属性を使用して、指定したディレクトリに許可されたソフトウェアのみを作成するようにプロセスを制限する必要があります。このルールを適用すると、[処理] 画面のソフトウェア変更イベントが最小限に抑えられます。
[ソースから許可] ルールはソフトウェアの作成時に評価されるため、インストーラを実行する前に設定する必要があります。
-
[対象別に許可] ルールは、指定されたプロパティに一致する実行可能ファイルの実行を許可します。ルールで指定するプロパティは、実行可能ファイルなど、対象のプロパティと一致する必要があります。このルールは実行時に評価されるため、[アラート] 画面でファイルのセキュリティイベントが検出された後に適用できます。
-
[対象別にブロック] ルールは、指定されたプロパティに一致する実行可能ファイルを実行しないようにします。ルールで指定するプロパティは、実行可能ファイルなど、対象のプロパティと一致する必要があります。このルールは実行時に評価されるため、[アラート] 画面でファイルのセキュリティイベントが検出された後に適用できます。
[対象別にブロック] ルールは、 Deep Security Agent 20.0.0-3288以降でサポートされます。 {: .note }
- [ソースから無視] ルールはプロセス除外を設定します。これにより、指定されたプロセスは、アプリケーションコントロールによって監視されることなく、指定されたディレクトリでソフトウェアを実行または作成できます。除外ルールが削除されると、除外はただちに解除されます。[ソースルールで無視] でパスのみを指定した場合、すべてのプロセスは、アプリケーションコントロールによる監視を受けることなく、それらのディレクトリでソフトウェアを実行または作成できます。このオプションは、アプリケーションコントロール検索によって一部のプロセスまたはパスとの互換性の問題 (パフォーマンスの問題や共有違反など) が発生している場合にのみ使用してください。ソースから無視ルールは、 Workload Security APIを使用して作成されたすべてのグローバルルールよりも優先されます。グローバルルールの詳細については、「共有ルールセットとグローバルルールセットを作成するためのAPIの使用」を参照してください。
[ソースから許可] ルールによってソフトウェアの変更が自動承認されるたびに、変更が発生したAgentのローカルインベントリにエントリが追加されます。これは、ソースからの無視ルールには適用されません。
信頼ルールを作成する
- [共通オブジェクト]→[ルール]→[アプリケーションコントロールルール]→[信頼エンティティ]の順に選択します。
- [信頼ルール] セクションで、[新規] を選択し、リストから信頼ルールの種類 のいずれかを選択します。
- [ 新しいルール ]ウィンドウで、新しいルールの名前と (オプションで) 説明を入力します。
-
[プロパティの追加] リストからプロパティを選択して、新しいルールに追加します。
-
表示されたフィールドにプロパティの値を入力します。
-
必要に応じて、手順4と5を繰り返して、この信頼ルールにプロパティを追加します。
- [ OK]をクリックします。
新しい信頼ルールが作成され、信頼ルールセットに割り当てる準備ができました。
信頼ルールのプロパティ値の設定については、信頼ルールのプロパティの種類を参照してください。
信頼ルールを選択し ([ポリシー]→[共通オブジェクト]→[ルール]→[アプリケーションコントロールルール]→[信頼エンティティ])、[割り当て/割り当て解除] を使用して、この信頼ルールを含める信頼ルールセットを定義します。これは、多数のルールセットに新しいルールをすばやく割り当てたり割り当て解除したりする場合に特に便利です。 { .tip }
信頼ルールのプロパティを変更する
-
[Workload Security] の [信頼するエンティティ] タブ ([ポリシー]→[共通オブジェクト]→[ルール]→[アプリケーションコントロールルール]→[信頼するエンティティ]) でルールを選択し、[編集] を選択 (またはルールをダブルクリック) します。
-
[ルールの編集] ウィンドウで、次のいずれかを実行します。
- 新しいプロパティを追加するには、 [プロパティの追加] リストからプロパティを選択し、その値を入力します。
- 既存のプロパティを編集するには、そのフィールドの値を変更します。
- 既存のプロパティを削除するには、[ 削除]を選択します。
- [ OK]を選択します。
信頼ルールを削除する
- Workload Security [信頼エンティティ ]タブ([[Policies]→[共通オブジェクト]→[ルール]→[アプリケーションコントロールルール]→[信頼エンティティ]])でルールを選択し、[ 削除の削除]を選択します。
-
[ ルールの削除 ] ダイアログで [OK] をクリックして、削除を確定します。
いずれかの信頼ルールセットに現在割り当てられている信頼ルールを削除すると、警告プロンプトが表示された後、自動的に割り当てが解除されます。
{.zoom}
信頼ルールのプロパティの種類
信頼ルールに含まれるプロパティと値は、そのルールによって自動承認されるソフトウェア変更を定義します。次のセクションでは、信頼ルールの設定に使用できる信頼ルールのプロパティの種類について、プロパティ値の設定に必要な情報を見つけるための手順を含めて説明します。
プロセス名
このプロパティは、ソフトウェア変更を作成するプロセスの名前を指定します。プロセス名には、ファイル名を含むプロセスの絶対パスを使用する必要があります。
ソフトウェア変更のプロセス名を確認するには
- Workload Securityの[ 処理 ]タブに移動します。
- ソフトウェア変更を検索して選択します。
プロセス名は、他の詳細とともに [プロセスによる変更] の下の右側に表示されます。
Deep Security Agentでは、プロセス名にワイルドカードを使用します。プロセス名にプロセスへのフルパスが含まれる場合、パスでglobstar **
を使用するとプロセス名内の任意の数の追加文字に一致し、単一のアスタリスクまたはスター*
は現在のディレクトリ内の任意の数の追加文字に一致します。のみであり、?
は1文字に一致します。*
文字はディレクトリパス区切り文字(/
と\
)で検索を停止します。?
文字は、一致するディレクトリパス区切り文字に一致しません。ドライブ文字は、対象パス内の他の文字と同様に扱われ、照合する際の特別な意味はありません。
ソースから無視 ルールで使用する場合、プロセス名プロパティはDeep Security Agent 20.0.0-3165以降でのみサポートされます。
パス
このプロパティは、信頼ルールに適用される対象パスを指定します。すべてのサブディレクトリを含む、このプロパティに入力されたパス内で発生したソフトウェアの変更は、アプリケーションコントロールによって自動的に承認されます。セミコロンで区切って複数のパスを設定できます。例: C:\Windows\;C:\Program Files\
パスの値を入力するときは、パスの最後のスラッシュ(\
または /
)がどのディレクトリに含まれるかを考慮してください。
- 末尾がスラッシュのパスは、そのフルパスの下にあるすべてのサブディレクトリに一致します。たとえば、
C:\Windows\System\
would match any sub-directories in theSystem
ディレクトリです。 - 最後のスラッシュの後に指定された値は、正規表現のワイルドカードとして扱われ、特定のディレクトリおよび同じ値で始まる他のディレクトリに一致します。たとえば、
C:\Windows\System
には、「C:\Windows\System\」、「C:\Windows\System32\」、「C:\Windows\SystemApps`」など、「C:\Windows\System*」に一致するすべてのディレクトリとサブディレクトリが含まれます。
Deep Security Agentバージョン20.0.0-5137以降では、パスでグロブスター (**
) ワイルドカードを使用できます。パスでグロブスター **
を使用すると、現在のディレクトリとそのサブディレクトリ内の任意の数の追加文字と一致し、単一のアスタリスク *
は現在のディレクトリ内の任意の数の追加文字とのみ一致し、疑問符 ?
は単一の文字と一致します。 *
文字は、ディレクトリパスの区切り文字 (/
および \
) で検索を停止します。 ?
文字はディレクトリパスの区切り文字と一致しません。ドライブ文字は、ターゲットパス内の他の文字と同じように扱われ、照合に特別な意味はありません。
SHA-256
[ソースから許可] ルールで使用する場合、ソフトウェア変更を作成するソースプロセスのチェックサム (SHA-256) を指定します。 [対象別に許可] または [対象別にブロック] ルールで使用された場合は、ソフトウェア変更自体のチェックサム (SHA-256) になります。
SHA256を見つけるには、次のいずれかを実行します。
Windows PowerShellから(ソースまたはターゲットの場合):
Windows PowerShellコマンドのGet-FileHashの手順に従います。
Workload Securityから(対象のみ):
Workload Securityの[ 処理 ]タブで、ソフトウェア変更を見つけて選択します。
SHA256が右側の[SHA256]の下に、その他の詳細とともに表示されます。
ベンダ
このプロパティは現在Windowsでのみサポートされており、ソフトウェアのベンダを指定します。
ベンダを見つけるには、次のいずれかを実行します。
ファイルエクスプローラから:
- プロセスまたはファイルを含むディレクトリから、ファイルエクスプローラーの上部に表示されるプロパティ(名前、変更日など)のいずれかを右クリックし、[ 詳細]を選択します。
- [ 会社名 ]を選択し、[ OK]をクリックします。
ベンダーが[ファイルエクスプローラ]ウィンドウに表示されます。
Workload Security:
Workload Securityの[ 処理 ]タブで、ソフトウェア変更を見つけて選択します。
ベンダは、右側の[ベンダ]の下にその他の詳細とともに表示されます。
製品名
このプロパティは現在Windowsでのみサポートされており、ソフトウェア製品名を指定します。
製品名を確認するには、次のいずれかを実行します。
ファイルのプロパティから:
- ファイルを含むディレクトリで、プロセスまたはファイルを右クリックし、[ プロパティ]を選択します。
- [詳細 ]タブで、「製品名」の値を確認します。
ファイルエクスプローラから:
- ファイルを含むディレクトリから、ファイルエクスプローラーの上部に表示されるプロパティ(名前、変更日など)のいずれかを右クリックし、[ 詳細]をクリックします。
- [製品名] を選択して、[OK] をクリックします。
[製品名]列に製品名が表示されます。
Workload Security:
Workload Securityの[ 処理 ]タブで、ソフトウェア変更を見つけて選択します。
製品名は、右側の [製品名] の下にその他の詳細とともに表示されます。
署名者名
[ソースから許可] ルールで使用する場合、ソフトウェア変更を作成するソースプロセスの署名者名を指定します。 [対象別に許可] または [対象別にブロック] ルールで使用する場合は、対象ファイルに署名した証明書の署名者名になります。
このプロパティは現在Windowsでのみサポートされており、ソフトウェア証明書に署名した会社の名前を指定します。
証明書署名者名を確認するには
- プロセスまたはファイルを右クリックし、[プロパティ] を選択します。
- [デジタル署名] タブの [署名リスト] テーブルで署名者の名前を探します。
署名者名は、 [署名者名]の下に表示されます。
ソフトウェア変更イベントまたはセキュリティイベントの最大数を除外するには、署名者名ルールプロパティを使用して、特定の署名者からのすべてのイベントを照合します。
発行者の一般名
このプロパティは現在Windowsでのみサポートされており、署名するソフトウェア証明書の発行者の共通名 (CN) を指定します。
発行者の一般名を確認するには、次の手順に従います。
- プロセスまたはファイルを右クリックし、[プロパティ] を選択します。
- [ デジタル署名 ] タブで、署名リストに最初に表示される証明書を選択します。
- 証明書を選択し、[ 詳細] をクリックします。
- [ 証明書を表示]を選択します。
- [ 詳細] タブに移動し、[ 発行者] を選択します。
証明書に発行者のCNが含まれている場合は、 発行者の下に表示されます。
発行者の組織単位
このプロパティは現在Windowsでのみサポートされており、ソフトウェア証明書の発行者の組織単位 (OU) を指定します。
発行者の組織単位を見つけるには
- プロセスまたはファイルを右クリックし、[ プロパティ ]を選択します。
- [ デジタル署名 ]タブで、署名リストに表示される最初の証明書を選択します。
- 証明書を選択し、[ 詳細] をクリックします。
- [ 証明書を表示]を選択します。
- [ 詳細] タブに移動し、[ 発行者] を選択します。
証明書に含まれている場合は、発行者のOUが表示されます。
発行者の組織
このプロパティは現在Windowsでのみサポートされており、ソフトウェア証明書の発行者組織 (O) を指定します。
発行元の組織を確認するには
- プロセスまたはファイルを右クリックし、[ プロパティ ]を選択します。
- [ デジタル署名 ]タブで、署名リストに表示される最初の証明書を選択します。
- 証明書を選択し、[ 詳細] をクリックします。
- [ 証明書を表示]を選択します。
- [ 詳細] タブに移動し、[ 発行者] を選択します。
証明書に含まれている場合は、発行者Oが表示されます。
発行者の地域
このプロパティは現在Windowsでのみサポートされており、ソフトウェア証明書の発行者の地域 (L) を指定します。
発行元の場所を確認するには
- プロセスまたはファイルを右クリックし、[ プロパティ ]を選択します。
- [ デジタル署名 ]タブで、署名リストに表示される最初の証明書を選択します。
- 証明書を選択し、[ 詳細] をクリックします。
- [ 証明書を表示]を選択します。
- [ 詳細] タブに移動し、[ 発行者] を選択します。
証明書に含まれている場合は、発行者Lが表示されます。
発行者の都道府県
このプロパティは現在Windowsでのみサポートされており、ソフトウェア証明書の発行者の都道府県 (S) を指定します。
発行者の都道府県を確認するには
- プロセスまたはファイルを右クリックし、[ プロパティ ]を選択します。
- [ デジタル署名 ]タブで、署名リストに表示される最初の証明書を選択します。
- 証明書を選択し、[ 詳細] をクリックします。
- [ 証明書を表示]を選択します。
- [ 詳細] タブに移動し、[ 発行者] を選択します。
証明書に含まれている場合は、発行者Sが表示されます。
発行国
このプロパティ(現在Windowsでのみサポート)は、ソフトウェア証明書の発行元の国(C)を指定します。
発行国を確認するには:
- プロセスまたはファイルを右クリックし、[ プロパティ ]を選択します。
- [ デジタル署名 ]タブで、署名リストに表示される最初の証明書を選択します。
- 証明書を選択し、[ 詳細] をクリックします。
- [ 証明書を表示 ]を選択します。
- [ 詳細] タブに移動し、[ 発行者] を選択します。
証明書に含まれている場合は、発行者Cが表示されます。
アプリケーションコントロールイベントの集約と分析
サーバでの動的なソフトウェアアップデートにより、何千ものドリフトイベント ([処理] ページ) やセキュリティイベント ([アプリケーションコントロールイベント]) が発生する可能性があります。これは、事後に何を承認するかを判断するのが難しいため、アプリケーションコントロールを使用する際の課題となります。 Deep Security Agent 20.0.0.5761以降を使用している場合にこの状況を軽減するには、異常なドリフトイベントとセキュリティイベントのみを表示する信頼ルールを作成します。これにより、サーバをロックダウンして、不正なソフトウェアの実行を防ぐこともできます。
変更イベントは、プロセス名とターゲットパスに基づいて集計されます。セキュリティイベントは、SHA256ハッシュと対象パスに基づいて集計されます。たとえば、同じプロセスで同じパスに10,000個の変更アイテムが作成された場合、その変更は、 processName
属性と paths
属性を持つ単一の信頼ルールに集約されます。
エージェントの診断が要求されると、集約された変更イベントとセキュリティイベントが信頼ルール形式でJSONファイルに保存され、診断に含まれます。次に、 [信頼ルール] エディタでJSONファイルを使用して、サーバの信頼ルールを追加できます。
変更イベント
JSON形式の変更イベントには、次の属性があります。
```json
{
"time":1615999592250,
"eventType":"ApplicationControl",
"uid":1063,
"gid":1064,
"operationType":"create",
"user":"ribapp",
"group":"ribapp",
"md5":"57579EF7681147B84774F69F44783A67",
"sha256":"90B0418DCB3B29440EE6F69FEE05BD54265CEE3BCFABDA8ED355E257FECC2939",
"processName":"/opt/IBM/WebSphere/AppServer/java/jre/bin/java",
"type":4,
"rdev":0,
"lastModificationTime":1615999090000,
"mode":33188,"size":3984617,
"sha1":"B226BDB9DB39AD38C4BEB6FE4F1C1C7151207848",
"nlink":1,
"procUser":"ribapp",
"isAuthorized":1,
"pid":10223,
"fileExtension":"jar",
"operationDate":1615999591534,
"procUid":1063,
"procGroup":"ribapp",
"path":"/opt/IBM/WebSphere/AppServer/profiles/devmiesAppSrv/installedApps/devdmrhx01-cell02/IESHSRIDEVM.ear/",
"fileName":"DC.jar",
"recordTime":1615999592215,
"fileSystemType":"ext4",
"procGid":1063,
"dev":64775,
"source":4,
"ino":3801778
}
```
processName
は、対象ファイルを作成またはアップデートしたプロセスの名前です。前の例では、/opt/IBM/WebSphere/AppServer/java/jre/bin/java
に設定されています。path
は、プロセスが実行可能ファイルをアップデートまたは作成した場所です。前の例では、/opt/IBM/WebSphere/AppServer/profiles/devmiesAppSrv/installedApps/devdmrhx01-cell02/IESHSRIDEVM.ear/
に設定されています。
変更イベントの信頼ルール
イベントの変更を自動承認する信頼ルールを作成できます。このルールに対して trustType
を1に設定することで、信頼できる paths
を定義できます:
```json
"trustrules": [{
"trustType":"1",
"processName":"/opt/IBM/WebSphere/AppServer/java/jre/bin/java",
"paths":"/opt/IBM/WebSphere/AppServer/profiles/devmiesAppSrv/installedApps/devdmrhx01-cell02/IESHSRIDEVM.ear/"
}]
```
信頼ルールを作成するための変更イベントの処理は、多対1の操作になる場合があります。たとえば、 /opt/IBM/WebSphere/AppServer/java/jre/bin/java
というプロセスがパス /opt/IBM/WebSphere/AppServer/profiles/devmiesAppSrv/installedApps/devdmrhx01-cell02/IESHSRIDEVM.ear/
に数千のJARファイルを作成する場合、前述の信頼ルールによってこれらすべてのJARファイルの変更が排除されるため、信頼ルールは変更を効率的に集約します。
信頼ルールは、ルールごとに1つの一意のプロセスを含むルールの配列で構成されます。各信頼ルールでは、 paths
属性で複数のパスを定義できます。たとえば、 process1
というプロセスが3つの異なる場所 path1
、 path2
および path3
で変更を作成した場合、1つの信頼ルールにより process1
がすべての場所で作成したすべての変更を取得できます:
```json
"trustrules": [{
"trustType":"1",
"processName":"process1",
"paths":"path1;path2;path3"
}]
```
プロセスヒット数を目的とする hitcount
という追加の属性があります。この属性を使用して、特定の信頼ルールにヒットした回数を確認できます。
拡張子のヒットカウントもあります: 拡張子は、プロセスが特定の拡張子を持つファイルを更新するたびに増分することで追跡されます。
```json
"trustrules": [{
"trustType":"1",
"processName":"process1",
"paths":"path1;path2;path3",
"hitcount":12342,
".jar":1234,
".py":323,
".":456
}]
```
前述の例では、JARファイルが1234回、piファイルが323回、拡張子のないファイルが456回更新されたプロセスを示しています。
セキュリティイベント
JSON形式のセキュリティイベントには、次の属性があります。
```json
{
"time":1492100772165,
"eventType":"ApplicationControl",
"sha1":"066A02D230F3B16439396B049DC912DB376B96CE",
"fileName":"svchost.exe",
"operationType":"detectOnly",
"blockReason":2,
"size":311544,
"sha256":"62EFB22F6853D73374761A0B8ED2CE40BF09AA401EC7D4AAAA0CE4D5C3380EEA",
"type":1,
"path":"C:\\Windows\\System32\\",
"pid":1832,
"operationDate":1492100772149,
"processName":"\\device\\harddiskvolume2\\windows\\system32\\cmd.exe",
"md5":"5F7B8544F7A20800069107FC93384F0E"
},
{
"time":1492100772165,
"eventType":"ApplicationControl",
"blockReason":2,
"sha256":"62EFB22F6853D73374761A0B8ED2CE40BF09AA401EC7D4AAAA0CE4D5C3380EEA",
"size":311544,
"processName":"\\device\\harddiskvolume2\\windows\\system32\\cmd.exe",
"sha1":"066A02D230F3B16439396B049DC912DB376B96CE",
"operationType":"detectOnly",
"pid":1832,
"md5":"5F7B8544F7A20800069107FC93384F0E",
"path":"C:\\Program Files\\Trend Micro\\Deep Security Agent\\",
"operationDate":149210077
}
```
前述の例では、 sha256
が 62EFB22F6853D73374761A0B8ED2CE40BF09AA401EC7D4AAAA0CE4D5C3380EEA
に設定され、 path
が C:\Windows\System32\
に設定されています。
セキュリティイベントの信頼ルール
セキュリティイベントの変更を自動承認する信頼ルールを作成できます。paths
にリストされている任意のパスで、SHA256ハッシュに基づいて、このルールの trustType
を2に設定することで、信頼できる対象を定義できます:
```json
"trustrules": [{
"trustType":"2",
"sha256":"62EFB22F6853D73374761A0B8ED2CE40BF09AA401EC7D4AAAA0CE4D5C3380EEA",
"paths":"C:\\Windows\\System32\\"
}]
```
セキュリティイベントを処理して信頼ルールを作成する作業は複雑です。信頼ルールは、ルールごとに一意のSHA256を持つルールの配列で構成されます。各信頼ルールでは、paths
属性で複数のパスを定義できます。たとえば、ファイルが sha256
コンテンツハッシュ AAAAAAAABBBBBBBBCCCCCCCCDDDDDDDDD
を使用して別の場所 ( path1
、 path2
および path3
) から実行される場合、1つの信頼ルールで次のように表すことができます:
```json
"trustrules": [{
"trustType":"2",
"sha256":"AAAAAAAABBBBBBBBCCCCCCCCDDDDDDDDD",
"paths":"path1;path2;path3"
}]
```
SHA256ヒット数を目的とした hitcount
という追加の属性があります。この属性を使用して、特定の信頼ルールにヒットした回数を確認できます。
ファイル名ヒット数もあります: 異なる名前のファイルが同じSHA256コンテンツハッシュを持つことができます。この属性を使用して、特定の名前のファイルが同じSHA256を実行するために使用された回数を数えることができます。次の例では、SHA256 AAAAAAAABBBBBBBBCCCCCCCCDDDDDDDDEEEEEEEE
が12342回実行され、filename1
が2342回、filename2
が10000回使用されています。filename1
と filename2
のコンテンツハッシュは同じです。
異なる名前のプロセスで同じSHA256コンテンツハッシュを使用し同じターゲットを実行できるため、プロセス名が使用されて同じSHA256が実行された回数もカウントできます。次の例では、SHA256 AAAAAAAABBBBBBCCCCCCCCDDDDDDDDEEEEEEEE
が12342回実行され、filename1
が2342回、filename2
が10000回使用されています。 filename1
と filename2
のコンテンツハッシュは同じです。プロセス名 /opt/process1
を使用してターゲットを12000回、/opt/process2
を使用してターゲットを342回実行しました。
```json
"trustrules": [{
"trustType":"2",
"sha256":"AAAAAAAABBBBBBBBCCCCCCCCDDDDDDDDEEEEEEEE",
"paths":"path1;path2;path3",
"hitcount":12342,
"filename1":2342,
"filename2":10000
"/opt/process1":12000,
"/opt/process2":342
}]
```
プロセスは絶対パスで表され、ファイル名はいずれかのパスへの相対パスで表されることに注意してください。
イベント分析出力
アプリケーションコントロールイベント分析出力は、ac_event_analysis.txt
というファイルに送信されます。このファイルには、追加のヒット数属性と拡張子ヒット数属性を含む信頼ルール形式があります:
```json
"trustrules": [{
"trustType":"1",
"processName":"process1",
"paths":"path11;path12;path13",
"hitcount":12342,
".jar":12342
},
{
"trustType":"1",
"processName":"process2",
"paths":"path21;path22;path23",
"hitcount":23232,
".py":23232
},
{
"trustType":"1",
"processName":"process3",
"paths":"path31;path32;path33",
"hitcount":34332,
".exe":34322
},
{
"trustType":"1",
"processName":"process4",
"paths":"path41;path42;path43",
"hitcount":12312,
".":12312
}]
```
ファイルの場所は次のとおりです:
- Windowsの場合:
C:\ProgramData\Trend Micro\Deep Security Agent\diag\ac_event_analysis.txt
- Linuxの場合:
/var/opt/ds_agent/diag/ac_event_analysis.txt
- 診断で:
agent/ac/ac_event_analysis.txt
分析は再起動時にこのファイルからロードされるため、エージェントの再起動後もその状態が維持されます。アプリケーションコントロールを無効から有効にすると、分析はクリアされます。ac_event_analysis.txt
ファイルを表示するには、 JQ または オンラインJSONフォーマッタ を使用します。
信頼ルールのデバッグ
信頼ルールは次のようにデバッグできます:
-
Deep Security Managerに新しい信頼ルールを適用します。
-
Deep Security Agentを停止します。
-
ac_event_analysis.txt
ファイルを削除します。 -
Deep Security Agentを起動します。
-
しばらく待ってから、
ac_event_analysis.txt
ファイルが再表示されるか確認します:-
ファイルが表示されなくなった場合、信頼ルールが機能しており、イベントの生成が抑制されています。
-
ファイルが引き続き表示される場合は、
ac_event_analysis.txt
ファイルで新しいイベント情報を調べ、必要に応じて新しい信頼ルールを追加します。信頼タイプ1のルールは、ドリフトイベントを自動承認するためのソースルールによる許可であり、信頼タイプ2のルールは、対象ファイルの実行を許可するための対象ルールによる許可です。
-
-
新しい信頼ルールを設定するには、手順1からの手順を繰り返します。
信頼ルールがヒットする頻度を確認するには、エージェントで次のように sendCommand
を実行します:
- Linux:
/opt/ds_agent/sendCommand --get TrustRules
- Windows:
\program files\trend micro\deep security agent\sendCommand --get TrustRules
コンサルト指標
変更分析とイベント分析がアプリケーションコントロールメトリクスに追加され、ヒット数の多い上位10件のプロセスが drift_analysis
オブジェクトに含まれ、件数の多いSHA256の上位10件が event_analysis
オブジェクトに格納されます:
```json
"AC": {
"eventReportInQueue":"0",
"evtPreCreateProcessHandled":"17",
"acProcessHashCount":"0",
"acProcessBlockUnrecognized":"0",
"engFlushDbBufferError":"0",
"acFileProcessImgPath":"0",
"evtFilePostClose":"249",
"acFileErrorHash":"0",
"acFileAllowImportingRuleset":"0",
"evtFilePreCreateFromContainer":"0",
"evtFilePostChmodFromContainer":"0",
"engStopError":"0",
"evtFilePreCreateHandled":"0",
"ctrlInterpreterMatched":"0",
"importCount":"0",
"inventoryAdsVisited":"0",
"engGetInventory":"1",
"acFileAllow":"5",
"acFileAllowBuilding":"0",
"engSetConfigError":"0",
"ctrlMsiInstallationMatched":"0",
"ctrlDropProcessEvtReportQueueFull":"0",
"importFail":"0",
"eventReportDropped":"0",
"evtFilePostChmod":"3",
"acFileBlock":"0",
"acFileDrift":"3",
"engGetMetricsError":"0",
"ctrlDropFileEvtReportQueueFull":"0",
"inventoryFolderVisited":"0",
"engStartError":"0",
"evtFileCloudFileIgnore":"0",
"engSetConfig":"1",
"engFlushDbBuffer":"0",
"engPurgeDbError":"0",
"inventoryBytesInventoried":"433695822",
"evtPreCreateProcessWithCmdLine":"0",
"inventoryDriveVisited":"0",
"importSuccess":"0",
"engSetRuleset":"0",
"eventReportSent":"3",
"drift_analysis": [{
"trusttype":"1",
"processName":"/usr/bin/bash",
"paths":"/im1"
},
{
"trusttype":"1",
"processName":"/usr/bin/cp",
"hitcount":1,
"paths":"/im1"
}],
"event_analysis": [{
"trusttype":"2",
"sha256":"AAAAAAAABBBBBBBBCCCCCCCCDDDDDDDDEEEEEEEE",
"hitcount":2,
"paths":"/im1"
},
{
"trusttype":"2",
"sha256":"EEEEEEEEEDDDDDDDDDCCCCCCCCBBBBBBBBAAAAAAAA",
"hitcount":1,
"paths":"/im1"
}]
}
```
署名者情報の表示
信頼ルールを有効にすると、変更イベント分析の信頼ルールにファイル署名者情報とプロセス署名者情報の両方が含まれます。セキュリティイベント分析のために、ファイル署名者情報が含まれます。 信頼エンティティルールセットがホストに適用されると、信頼ルールが有効になります (ファイル署名者情報とプロセス署名者情報は ac_event_analysis.txt
ファイルに表示されます)。
Linuxの信頼ルールプロパティの制限
次の信頼ルールのプロパティは、現在Linuxでは現在サポートされていません
- 署名者名
- 製品名
- 発行者の一般名
- 発行者の組織単位
- 発行者の組織
- 発行者の地域
- 発行者の都道府県
- 発行国
- ベンダ
Linuxでは現在、次の信頼ルールのプロパティのみがサポートされています。
- プロセス名
- パス
- SHA-256
Linuxで現在サポートされていない信頼ルールを追加すると、ルールはソフトウェアの変更に適用されなくなります。 { .warning }