コンテンツにスキップ

構造化エンティティ🔗

構造化エンティティ機能は、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: Autonomous System Number
  • 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'

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

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

ピボット例🔗

ユーザーピボット:

ユーザー 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. 検索条件を緩和する: ピボット時には、詳細検索で一部の条件を外して結果を広げることができます。