サーバ上の動的なソフトウェア更新は、ドリフトイベント ([処理] ページ) やセキュリティイベント ([アプリケーションコントロールイベント] ページ) を数千件引き起こす可能性があります。これはアプリケーションコントロールの使用において課題を呈し、事後に何を承認すべきかを知ることが難しくなります。Deep
Security Agent 20.0.0.5761以降を使用して状況を緩和するために、異常なドリフトおよびセキュリティイベントのみを表示する信頼ルールを作成することができます。これにより、サーバをロックダウンして、許可されていないソフトウェアの実行を防ぐことも可能になります。
ドリフトイベントはプロセス名とターゲットパスに基づいて集約されます。セキュリティイベントはSHA256ハッシュとターゲットパスに基づいて集約されます。例えば、同じプロセスが同じパスで10,000のドリフトアイテムを作成した場合、ドリフトは
processName
とpaths
属性を持つ単一の信頼ルールに集約されます。エージェントの診断が要求されると、集約されたドリフトイベントとセキュリティイベントが信頼ルール形式で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
に記載された任意のパスでソフトウェアを作成するプロセスを信頼します。"trustrules": [{ "trustType":"1", "processName":"/opt/IBM/WebSphere/AppServer/java/jre/bin/java", "paths":"/opt/IBM/WebSphere/AppServer/profiles/devmiesAppSrv/installedApps/devdmrhx01-cell02/IESHSRIDEVM.ear/" }]
ドリフトイベントを処理して信頼ルールを作成することは、多対一の操作になることがあります。例えば、
/opt/IBM/WebSphere/AppServer/java/jre/bin/java
という名前のプロセスがパス/opt/IBM/WebSphere/AppServer/profiles/devmiesAppSrv/installedApps/devdmrhx01-cell02/IESHSRIDEVM.ear/
に数千のJARファイルを作成する場合、前述の信頼ルールはこれらすべてのJARファイルのドリフトを排除し、信頼ルールがドリフトを集約する際に効率的になります。信頼ルールは、ルールの配列で構成されており、各ルールには一意のプロセスが含まれています。各信頼ルールは、その
paths
属性に複数のパスを定義できます。例えば、process1
という名前のプロセスが3つの異なる場所path1
、path2
、path3
でドリフトを作成した場合、1つの信頼ルールでprocess1
がこれらすべての場所で作成したドリフトをキャプチャできます。"trustrules": [{ "trustType":"1", "processName":"process1", "paths":"path1;path2;path3" }]
hitcount
という追加属性があり、その目的はプロセスヒット数です。この属性を使用して、特定の信頼ルールが何回ヒットされたかを判断できます。拡張子のヒットカウントもあります: 拡張子は、プロセスが特定の拡張子を持つファイルを更新するたびに増分することで追跡されます。
"trustrules": [{ "trustType":"1", "processName":"process1", "paths":"path1;path2;path3", "hitcount":12342, ".jar":1234, ".py":323, ".":456 }]
前述の例では、JARファイルが1234回、piファイルが323回、拡張子のないファイルが456回更新されたプロセスを示しています。
セキュリティイベント
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\
に設定されています。セキュリティイベントの信頼ルール
セキュリティイベントのドリフトを自動承認するための信頼ルールを作成できます。このルールでは、
trustType
を2に設定し、paths
に記載された任意のパスでSHA256ハッシュに基づいて信頼されたターゲットを定義できます。"trustrules": [{ "trustType":"2", "sha256":"62EFB22F6853D73374761A0B8ED2CE40BF09AA401EC7D4AAAA0CE4D5C3380EEA", "paths":"C:\\Windows\\System32\\" }]
セキュリティイベントを処理して信頼ルールを作成することは複雑な操作です。信頼ルールは、各ルールに一意のSHA256を持つルールの配列で構成されます。各信頼ルールは、その
paths
属性に複数のパスを定義することができます。例えば、ファイルが異なる場所からsha256
コンテンツハッシュAAAAAAAABBBBBBBBCCCCCCCCDDDDDDDDD
で実行された場合、path1
、path2
、path3
として、1つの信頼ルールで次のように表すことができます:"trustrules": [{ "trustType":"2", "sha256":"AAAAAAAABBBBBBBBCCCCCCCCDDDDDDDDD", "paths":"path1;path2;path3" }]
追加属性として
hitcount
があります。この属性の目的はSHA256ヒットカウントです。この属性を使用して、特定の信頼ルールが何回ヒットされたかを判断できます。ファイル名ヒット数もあります: 異なる名前のファイルが同じSHA256コンテンツハッシュを持つことがあります。この属性を使用して、特定の名前のファイルが同じSHA256を実行するために使用された回数を数えることができます。次の例では、SHA256
AAAAAAAABBBBBBBBCCCCCCCCDDDDDDDDEEEEEEEE
が12342回実行され、filename1
が2342回使用され、filename2
が10000回使用されています。filename1
とfilename2
は同じコンテンツハッシュを持っています。異なる名前のプロセスが同じSHA256コンテンツハッシュを持つ同じターゲットを実行できるため、プロセス名が同じSHA256を実行するために使用された回数を数えることもできます。次の例では、SHA256
AAAAAAAABBBBBBBBCCCCCCCCDDDDDDDDEEEEEEEE
が12342回実行され、filename1
が2342回使用され、filename2
が10000回使用されています。filename1
とfilename2
は同じコンテンツハッシュを持っています。プロセス名/opt/process1
はターゲットを12000回実行するために使用され、/opt/process2
はターゲットを342回実行するために使用されました。"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
というファイルに送られます。このファイルには、追加のヒット数属性と拡張ヒット数属性を持つ信頼ルール形式が含まれています。"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
オブジェクトに含まれ、カウントが最も多い上位10のSHA256がevent_analysis
オブジェクトに保存されます。"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
ファイルに表示されます)。