0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Message Traceで限界を感じたら。Advanced HuntingとKQLで一歩踏み込んだメール調査をする

0
Posted at

はじめに

「不審メールが届いた」という報告を受けたとき、Message Trace(メッセージ追跡)で配送状況までは確認できても、「誰がそのメール内のURLをクリックしたか」までは追えない。そんなもどかしさを感じたことはないでしょうか。

そこで役立つのが、Microsoft Defender XDRに搭載されているAdvanced Hunting(高度なハンティング) です。KQL(Kusto Query Language)というクエリ言語で、最大30日分のセキュリティログを自由に検索・分析できます。要点を整理してみました。ライセンス・権限まわりの詳細な確認手順は元記事にまとめています。

元記事: [【Microsoft365参考書】Advanced Huntingとは?管理者が最初に知っておくべき使い方とKQL入門]

Advanced Huntingとは何か

一言でいうと、通常のアラートが「Microsoftが危険と判断したものだけ通知する」受け身の仕組みなのに対し、Advanced Huntingは「怪しい動きを自分で探しに行く」能動的な調査手段です。

Defender for Endpoint(プロセス実行・ファイル操作)、Defender for Office 365(メール・URLクリック)、Defender for Identity(AD認証)、Defender for Cloud Apps(クラウド利用状況)など、複数のMicrosoft 365関連セキュリティデータを横断的に検索できるのが強みです。

Message Traceとの使い分け

Exchange Online管理者にとって一番わかりやすい比較はこちらです。

機能 用途
Message Trace メール配送の調査(届いたかどうか)
Advanced Hunting セキュリティ調査(誰がURLをクリックしたか等)

「届いたかどうか」で止まらず、「開封されたか」「クリックされたか」「他に誰が同じメールを受け取っていたか」まで調査したい場合に、Advanced Huntingの出番になります。

よく使うKQLクエリの例

Exchange Online管理者の観点では、EmailEvents・EmailAttachmentInfo・EmailUrlInfo・UrlClickEventsの4テーブルが主戦場です。

特定の送信者からのメールを検索

EmailEvents
| where Timestamp > ago(30d)
| where SenderFromAddress =~ "attacker@example.com"
| project Timestamp, NetworkMessageId, Subject, RecipientEmailAddress, DeliveryAction
| order by Timestamp desc

特定の件名のメールを検索

EmailEvents
| where Timestamp > ago(30d)
| where Subject contains "請求書"
| project Timestamp, SenderFromAddress, RecipientEmailAddress, Subject

ユーザーがクリックしたURLの調査

UrlClickEvents
| where Timestamp > ago(30d)
| project Timestamp, AccountUpn, Url, ActionType

where句を書き換えるだけで、件名・送信者・受信者・期間といった条件を柔軟に組み合わせられるのがKQLの使いやすいところです。

必要なライセンスと権限、意外と見落としがち

ここが実務で一番つまずきやすいポイントです。メール関連テーブル(EmailEventsなど)へのアクセスには、Defender for Office 365 Plan 2(Microsoft 365 E5に含まれる) が前提になります。

さらに、ライセンスがあっても権限(ロール) が割り当てられていないとデータは見えません。Microsoft Defender XDRの統合RBAC(URBAC)を使っている場合は、「Email & collaboration metadata(読み取り)」権限が必要で、アラート系の権限だけではメール関連スキーマは見えない点に注意が必要です。

特に2024年5月以降、メール関連スキーマへのアクセス権限の仕組みが変更されており、以前は見えていたロールで急に見えなくなるケースもあるようなので、既存の運用担当者は自分の権限を一度見直しておくと安心です。

実務での使われ方(一連の流れ)

  1. ユーザーから不審メールの報告を受ける
  2. Message TraceでNetworkMessageIdを取得
  3. Advanced HuntingでEmailEventsを検索し、受信者一覧を取得
  4. UrlClickEventsでクリックの有無を確認
  5. 必要に応じてメールの削除・隔離対応を実施

Message TraceとAdvanced Huntingをバトンリレーのようにつなぐことで、初動から影響範囲の特定までを一気通貫で行えるイメージです。

おわりに

Advanced Huntingは「アラートを待つ」から「自分で探しに行く」への発想の転換を可能にしてくれる機能です。フィッシングメールの影響範囲調査やBEC分析など、インシデント対応の場面で特に力を発揮します。必要なライセンス・権限の詳細なチェックリストや、覚えておくべき主要テーブルの一覧は元記事にまとめていますので、導入を検討している方はあわせてご覧ください。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?