コンテンツにスキップ

構造化エンティティ🔗

構造化エンティティ機能は、Secureworks® Taegis™ XDR におけるエンティティの取り扱い方法を大幅に強化するものです。従来の文字列ベースのエンティティとは異なり、構造化エンティティはオブジェクトとして表現され、豊富なメタデータやプロパティを持つことができ、より高度な分析、検索、ピボット機能を実現します。

概要🔗

構造化エンティティには以下の利点があります:

  • 豊富なメタデータを保持:エンティティは単なる文字列値を超えた詳細なプロパティを含みます。
  • 高度な検索が可能:詳細検索構文を用いて特定のエンティティプロパティで検索できます。
  • 複雑なピボットをサポート:複数のエンティティプロパティでピボットし、正確な特定が可能です。
  • エンティティグラフとの統合:構造化エンティティはエンティティグラフと同じ型を使用し、一貫性を保ちます。

エンティティ構造🔗

構造化エンティティは、検出の source_entities および target_entities プロパティに存在し、その視点によって異なります。各エンティティは以下を含みます:

  • 識別子:エンティティを一意に識別するためのコア情報
  • プロパティ:エンティティの追加メタデータや特徴
  • 視点:エンティティがソースかターゲットか、またはその両方か

すべてのエンティティ型とそのプロパティの技術的詳細については、Entity v2 Protocol Buffer Reference を参照してください。

主なエンティティ型と例🔗

このセクションでは、一般的なエンティティ型とその例、プロパティを紹介します。全エンティティ型の一覧はEntity v2 Protocol Buffer Reference を参照してください。

ユーザーエンティティ🔗

ユーザーエンティティは構造化されたコンポーネントに分解され、より詳細な分析や検索が可能になりました。例えば、ユーザー foo@bar.com は以下のように表現されます:

  • user.user_name = "foo"
  • user.domain_name = "bar.com"
  • user.original_user_name = "foo@bar.com"

利用可能なプロパティは以下の通りです:

  • user_name:ユーザー名部分
  • domain_name:ドメイン部分
  • original_user_name:元の完全なユーザー文字列
  • user_is_admin:ユーザーが管理者権限を持つかどうかのブール値
  • cloud_user_type:クラウドユーザーの種類(Regular、Application、ServicePrincipal、System、Adminなど)
  • group:グループプレフィックス(例:"SYS\j.doe@scwx.com" の "SYS")
  • computer_name:関連するコンピューター名
  • host_id:関連するホスト識別子
  • user_id:一意のユーザー識別子

ファイルエンティティ🔗

ファイルエンティティは、パス、ハッシュ、メタデータなど包括的なファイル情報を提供します。例えば、ファイル /usr/bin/malware.exe は以下のように表現されます:

  • file.file_name = "malware.exe"
  • file.file_path = "/usr/bin/malware.exe"
  • file.file_type = "application/pdf"
  • file.hash_sha256 = "a1b2c3d4e5f6..."

利用可能なプロパティは以下の通りです:

  • file_name:ファイル名
  • file_path:ファイルのフルパス
  • file_type:検出されたファイルタイプ
  • file_type_detected:分析によって検出されたファイルタイプ
  • file_size:ファイルサイズ(バイト単位)
  • file_owner:ファイルの所有者
  • file_group_owner:ファイルのグループ所有者
  • file_create_time:ファイル作成タイムスタンプ
  • file_modified_time:ファイル変更タイムスタンプ
  • hash_md5:ファイルのMD5ハッシュ
  • hash_sha1:ファイルのSHA1ハッシュ
  • hash_sha256:ファイルのSHA256ハッシュ
  • hash_sha512:ファイルのSHA512ハッシュ
  • host_id:関連するホスト識別子
  • email_attachment_sandbox_status:Email添付ファイルのサンドボックス分析ステータス

プロセスエンティティ🔗

プロセスエンティティは、実行中プロセスの詳細情報や特徴を含みます。例えば、管理者権限で実行されているプロセス notepad.exe は以下のように表現されます:

  • process.process_name = "notepad.exe"
  • process.process_id = "1234"
  • process.process_is_admin = true
  • process.process_image_path = "C:\\Windows\\System32\\notepad.exe"

利用可能なプロパティは以下の通りです:

  • process_name:プロセス名
  • process_id:プロセスID(PID)
  • process_uuid:一意のプロセス識別子
  • process_correlation_id:プロセストラッキング用の相関ID
  • process_image_path:プロセス実行ファイルのフルパス
  • process_is_admin:プロセスが管理者権限で実行されているかどうかのブール値
  • process_create_time:プロセス作成タイムスタンプ
  • host_id:関連するホスト識別子
  • hash_md5:プロセス実行ファイルのMD5ハッシュ
  • hash_sha1:プロセス実行ファイルのSHA1ハッシュ
  • hash_sha256:プロセス実行ファイルのSHA256ハッシュ
  • hash_sha512:プロセス実行ファイルのSHA512ハッシュ

IPアドレスエンティティ🔗

IPアドレスエンティティは、ジオロケーションデータ、ネットワーク分類、ASN情報を含みます。例えば、IPアドレス 192.168.1.100 は以下のように表現されます:

  • ip_address.ip_address = "192.168.1.100"
  • ip_address.ip_classification = "PRIVATE"
  • ip_address.asn = 12345
  • ip_address.ip_geo_country_code = "US"

利用可能なプロパティは以下の通りです:

  • ip_address:IPアドレス
  • ip_address_type:IPアドレスタイプ(IPv4/IPv6)
  • ip_classification:分類(LOCAL、PRIVATE、PUBLIC)
  • is_nat_ip:NAT配下のIPかどうかのブール値
  • asn:自律システム番号(ASN)
  • hostname:関連するホスト名
  • host_id:関連するホスト識別子
  • ip_geo_city_name:ジオロケーションによる都市名
  • ip_geo_country_code:ジオロケーションによる国コード
  • ip_geo_continent_code:ジオロケーションによる大陸コード
  • ip_geo_latitude:緯度座標
  • ip_geo_longitude:経度座標
  • ip_geo_auto_system_org:ASNデータによる組織名
  • ip_geo_country_geoname_id:GeoNames国ID

ファイルハッシュエンティティ🔗

ファイルハッシュエンティティは、ファイルの暗号学的ハッシュと関連メタデータを表します。例えば、SHA256ハッシュは以下のように表現されます:

  • filehash.hash_value = "a1b2c3d4e5f6789..."
  • filehash.hash_type = "SHA256"

利用可能なプロパティは以下の通りです:

  • hash_value:ハッシュ値
  • hash_type:ハッシュの種類(MD5、SHA1、SHA256、SHA512)

詳細検索の例🔗

構造化エンティティを利用することで、特定のエンティティプロパティを用いた強力な詳細検索が可能です。

基本的なプロパティ検索🔗

-- Search for detections with admin users
FROM detection WHERE source_entities.user.user_is_admin = true

-- Search for processes running with admin privileges
FROM detection WHERE source_entities.process.process_is_admin = true

-- Find detections with specific IP classifications
FROM detection WHERE source_entities.ip_address.ip_classification = 'PUBLIC'

ジオロケーション検索🔗

-- Search for detections from specific countries
FROM detection WHERE source_entities.ip_address.ip_geo_country_code = 'CN'

-- Find detections from specific cities
FROM detection WHERE source_entities.ip_address.ip_geo_city_name = 'Beijing'

-- Search for detections from specific ASNs
FROM detection WHERE source_entities.ip_address.asn = 12345

-- Find detections from specific geographic regions
FROM detection WHERE source_entities.ip_address.ip_geo_continent_code = 'AS'

ハッシュベース検索🔗

-- Search for specific file hashes
FROM detection WHERE source_entities.file.hash_sha256 = 'a1b2c3d4e5f6789...'

-- Search for process executables with specific hashes
FROM detection WHERE source_entities.process.hash_sha256 = 'b2c3d4e5f6789a1...'

ユーザードメイン検索🔗

-- Search for users from specific domains
FROM detection WHERE source_entities.user.domain_name = 'company.com'

-- Find admin users connecting to specific domains
FROM detection WHERE target_entities.user.domain_name = 'company.com' AND source_entities.user.user_is_admin = true

-- Search for specific usernames across domains
FROM detection WHERE source_entities.user.user_name = 'admin'

複数プロパティによる複雑な検索🔗

-- Find detections with admin processes to specific countries
FROM detection WHERE source_entities.process.process_is_admin = true AND target_entities.ip_address.ip_geo_country_code = 'RU'

-- Find detections involving specific file paths and admin processes
FROM detection WHERE target_entities.file.file_path contains 'C:\\Windows\\System32' AND source_entities.process.process_is_admin = true

サイバーセキュリティのユースケース🔗

脅威ハンティング🔗

権限昇格のハンティング:

-- Find processes running with admin privileges
FROM detection WHERE source_entities.process.process_is_admin = true

ラテラルムーブメントの追跡:

-- Find authentication events from external IPs
FROM detection WHERE source_entities.ip_address.ip_classification = 'PUBLIC' AND target_entities.user.user_name IS NOT NULL

インシデント対応🔗

地理的分析:

-- Identify detections from specific geographic regions
FROM detection WHERE source_entities.ip_address.ip_geo_country_code IN ('CN', 'RU', 'IR', 'KP')

ASNベースの調査:

-- Find detections from specific ASNs (e.g., known malicious hosting providers)
FROM detection WHERE source_entities.ip_address.asn IN (12345, 67890, 11111)

ファイルハッシュの相関:

-- Search for known malicious file hashes
FROM detection WHERE target_entities.file.hash_sha256 IN ('hash1', 'hash2', 'hash3')

コンプライアンスと監査🔗

管理者アクティビティの監視:

-- Monitor all admin user activity
FROM detection WHERE source_entities.user.user_is_admin = true OR target_entities.user.user_is_admin = true

ネットワークセグメンテーションの検証:

-- Verify no cross-segment communication
FROM detection WHERE source_entities.ip_address.ip_classification = 'PRIVATE' AND target_entities.ip_address.ip_classification = 'PUBLIC'

構造化エンティティでのピボット🔗

detection details で虫眼鏡アイコンをクリックすることで、構造化エンティティでピボットできます。ピボット機能は複数のエンティティプロパティを用いてエンティティを一意に特定します。

ピボット例🔗

ユーザーピボット

ユーザー foo@bar.com は以下で特定できます:

  • user.user_name = 'foo' AND user.domain_name = 'bar.com'

詳細検索で検索条件を緩和し、user.user_name = 'foo' のみで検索することも可能です。

ファイルピボット

ファイルは以下で特定できます:

  • file.file_name = 'malware.exe' AND file.host_id = host123

プロセスピボット

プロセスは以下で特定できます:

  • process.process_id = '1234' AND process.host_id = 'host123'

IPアドレスピボット

ローカルIPアドレスは以下で特定できます:

  • ip_address.ip_address = '127.0.0.1 AND ip_address.host_id = 'host123'

エンティティグラフとの統合🔗

構造化エンティティはエンティティグラフと同じエンティティ型を使用し、XDR 全体で一貫性を確保します。これにより以下の利点があります:

  • エンティティ間の関係性が保持される
  • エンティティプロパティが一貫する
  • 検出とエンティティグラフ間でシームレスにピボットできる
  • プラットフォーム全体で検索機能が統一される

ベストプラクティス🔗

  1. 特定のプロパティを使用:検索時は最も特定的なプロパティを使用し、誤検知を減らしましょう。
  2. 複数条件の組み合わせ:複数のエンティティプロパティを組み合わせて、より精度の高い検索を行いましょう。
  3. ジオロケーションデータの活用:IPジオロケーションプロパティを活用して地理的な脅威ハンティングを行いましょう。
  4. 管理者アクティビティの監視:管理者ユーザーやプロセスのアクティビティを定期的に検索しましょう。
  5. ファイルハッシュの追跡:ファイルハッシュプロパティを活用して脅威インテリジェンスと相関させましょう。
  6. 検索条件の緩和:ピボット時には詳細検索で一部条件を外し、結果を広げることも可能です。