侵害されたメール アカウントを調査する
侵害されたユーザー アカウントは、アカウントの乗っ取りとも呼ばれます。 攻撃者がユーザー アカウントへのアクセス権を取得し、ユーザーとして操作する場合の攻撃の種類です。 これらのタイプの攻撃は、攻撃者が意図していたよりも多くの損害を引き起こすことがあります。
組織が侵害されたメール アカウントを調査する場合、攻撃者の実際の存在を追跡することによって示されるよりも多くのメール データが侵害されたと想定する必要があります。 メール メッセージ内のデータの種類によっては、機密情報が漏えいしていないことを証明できない限り、組織は機密情報が漏洩されたと見なすか、または規制当局の罰金に直面する必要ががあります。
たとえば、HIPAA の規制対象となる組織は、患者の健康情報 (PHI) が漏えいした証拠がある場合、多額の罰金に直面します。 これらの場合、攻撃者が PHI に関心を持つことはほとんどありません。 しかし、組織は、別の方法で証明できない限りはデータ侵害を報告する必要があります。
組織が侵害されたメール アカウントを調査できるように、Microsoft 365 はメール プロトコルとクライアントによるメール データへのアクセスを監査します。 これは、MailItemsAccessed メールボックス監査アクションを使用して行います。 この監査されたアクションは、調査担当者に役立ちます:
- メール データ侵害について理解を深める。
- 侵害された可能性のある特定のメール アイテムへの侵害の範囲を特定する。
この監査アクションの目的は、フォレンジック防御です。 つまり、特定のメール データが侵害されていないと主張するのに役立ちます。 攻撃者が特定のメールにアクセスした場合、メール アイテムが読み取られたという兆候がなくても、Exchange Online はイベントを監査します。
MailItemsAccessed メールボックス監査アクション
MailItemsAccessed アクションは、監査 (Premium) 機能と Exchange メールボックス監査の一部です。 このアクションは、次の場合に既定で有効になっています:
- Office 365 または Microsoft 365 E5 ライセンスが割り当てられているユーザー。
- Microsoft 365 E5 Compliance アドオン サブスクリプションを持つ組織。
MailItemsAccessed は、すべてのメール プロトコル (POP、IMAP、MAPI、EWS、Exchange ActiveSync、REST) をカバーするメールボックス監査アクションです。 また、同期 と バインド の両方の種類のメールへのアクセスもカバーしています。
同期およびバインド メール アクセス イベントの監査については、次の 2 つのセクションで詳しく説明します。
同期アクセスの監査
同期操作は、Windows または Mac 用のデスクトップ バージョンの Outlook クライアントがメールボックスにアクセスした場合にのみ記録されます。 同期操作中、これらのクライアントは通常、クラウドからローカル コンピューターに大量のメール アイテムをダウンロードします。
同期操作の監査ボリュームは膨大です。 そのため、Microsoft は、同期されたメール アイテムごとに監査レコードを生成する代わりに、同期されたアイテムを含むメール フォルダーの監査イベントを生成します。
重要
この設計は、同期されたフォルダー内のすべてのメール アイテムが危険にさらされていることを前提としています。
アクセスの種類は、監査レコードの OperationProperties フィールドに記録されます。
監査レコードに同期アクセスの種類を表示する例については、「フォレンジック調査に MailItemsAccessed 監査レコードを使用する」セクションの手順 2 を参照してください。
バインド アクセスの監査
バインド操作は、メール メッセージへの個別のアクセスです。
重要
バインド アクティビティは、攻撃者が個々のメール メッセージにアクセスできたかどうか、および潜在的に侵害されたかどうかを判断するのに役立ちます。
バインド アクセスの場合、個々のメッセージの InternetMessageId が監査レコードに記録されます。 MailItemsAccessed 監査アクションはバインド操作を記録してから、単一の監査レコードに集約します。 このプロセス中に次のアクションが発生します。
- 2 分ごとのインターバル以内に発生するすべてのバインド操作は、AuditData プロパティ内の Folders フィールドの単一の監査レコードに集約されます。
- アクセスされたそれぞれのメッセージは、その InternetMessageId によって識別されます。
- レコードに集約されたバインド操作の数は、AuditData プロパティの OperationCount フィールドに表示されます。
監査レコードにバインド アクセスの種類を表示する例については、「フォレンジック調査に MailItemsAccessed 監査レコードを使用する」セクションの手順 4 を参照してください。
MailItemsAccessed 監査レコードの調整
メールボックスに対して 1,000 を超える MailItemsAccessed 監査レコードが 24 時間以内に生成された場合、Exchange Online は MailItemsAccessed アクティビティの監査レコードの生成を停止します。 メールボックスがこの方法で調整されると、MailItemsAccessed アクティビティは、メールボックスが調整されてから 24 時間ログに記録されません。
重要
メールボックスが調整された場合、この期間中にメールボックスが侵害された可能性があります。
MailItemsAccessed アクティビティの記録は、24 時間後に再開されます。
調整については、注意事項がいくつかあります。
- Exchange Online のすべてのメールボックスの 1 %未満が調整されます。
- メールボックスが調整されている場合、MailItemsAccessed アクティビティの監査レコードのみが監査されません。 他のメールボックス監査アクションは影響を受けません。
- メールボックスは、バインド操作に対してのみ調整されます。 同期操作の Audit (監査)レコードは調整されません。
- メールボックスが調整される場合、おそらく監査ログに記録されていない MailItemsAccessed アクティビティがあると推測できます。
監査レコードに IsThrottled プロパティを表示する例については、次のセクションの手順 1 を参照してください。
フォレンシック調査に MailItemsAccessed 監査レコードを使用する
メールボックスの監査では、メール メッセージへのアクセスに関する監査レコードが生成されます。 これにより、組織はメール メッセージが侵害されていないことを確信できます。 このため、データがアクセスされたことを Microsoft が確信できない状況では、データがアクセスされたと見なします。 そのため、すべてのメール アクセス アクティビティが記録されます。
注:
通常、フォレンシック目的での MailItemsAccessed 監査レコードの使用は、データ侵害が解決され、攻撃者が立ち退いた後に実行されます。
組織が調査を実施する場合、次の手順を完了する必要があります:
- 侵害されたメールボックスを特定する。
- 攻撃者がそれらのメールボックスにアクセスした期間を特定します。
- Exchange Online PowerShell で Search-UnifiedAuditLog または Search-MailboxAuditLog コマンドレットを使用して、データ侵害に対応する監査レコードを検索します。
組織は、次のコマンドのいずれかを実行して、MailItemsAccessed 監査レコードを検索できます (これらの例では、2020 年 1 月 6 日から 2020 年 1 月 20 日までの時間を想定しています)。
統合監査ログ:
Search-UnifiedAuditLog -StartDate 01/06/2020 -EndDate 01/20/2020 -UserIds <user1,user2> -Operations MailItemsAccessed -ResultSize 1000
メールボックス監査ログ:
Search-MailboxAuditLog -Identity <user> -StartDate 01/06/2020 -EndDate 01/20/2020 -Operations MailItemsAccessed -ResultSize 1000 -ShowDetails
ヒント
これら 2 つのコマンドレットの主な違いの 1 つは、Search-UnifiedAuditLog コマンドレットを使用して、1 人以上のユーザーが実行したアクティビティの監査レコードを検索できることです。 UserIds は複数値パラメーターであるため、複数のユーザーによって実行されるアクティビティを検索できます。 対照的に、Search-MailboxAuditLog コマンドレットは、単一ユーザーのメールボックス監査ログを検索します。
次に、MailItemsAccessed 監査レコードを使用して、侵害されたユーザー攻撃を調査する手順を示します。 各手順は、Search-UnifiedAuditLog および Search-MailboxAuditLog コマンドレットのコマンド構文を示しています。
メールボックスが調整されたかどうかを確認します。 メールボックスが調整された場合、一部のメールボックス監査レコードはログに記録されませんでした。 監査レコードの "IsThrottled" が "True" である場合、そのレコードが生成されてから 24 時間の間はメールボックスへのアクセスは監査されず、すべてのメール データが侵害されたと想定する必要があります。
メールボックスが調整された MailItemsAccessed レコードを検索するには、次のコマンドのいずれかを実行します。
統合監査ログ:
Search-UnifiedAuditLog -StartDate 01/06/2020 -EndDate 01/20/2020 -UserIds <user1,user2> -Operations MailItemsAccessed -ResultSize 1000 | Where {$_.AuditData -like '*"IsThrottled","Value":"True"*'} | FL
メールボックス監査ログ:
Search-MailboxAuditLog -StartDate 01/06/2020 -EndDate 01/20/2020 -Identity <user> -Operations MailItemsAccessed -ResultSize 10000 -ShowDetails | Where {$_.OperationProperties -like "*IsThrottled:True*"} | FL
同期アクティビティを確認して、メール アイテムが侵害されたかどうかを判断します。 攻撃者がメール クライアントを使用してメールボックス内のメッセージをダウンロードした場合、コンピューターをインターネットから切断し、サーバーと通信せずにローカルでメッセージにアクセスできます。 この場合、メールボックス監査ではこれらのアクティビティを監査できなくなります。
同期操作によってメール アイテムにアクセスした MailItemsAccessed レコードを検索するには、次のいずれかのコマンドを実行します:
統合監査ログ:
Search-UnifiedAuditLog -StartDate 01/06/2020 -EndDate 02/20/2020 -UserIds <user1,user2> -Operations MailItemsAccessed -ResultSize 1000 | Where {$_.AuditData -like '*"MailAccessType","Value":"Sync"*'} | FL
メールボックス監査ログ:
Search-MailboxAuditLog -StartDate 01/06/2020 -EndDate 01/20/2020 -Identity <user> -Operations MailItemsAccessed -ResultSize 10000 -ShowDetails | Where {$_.OperationProperties -like "*MailAccessType:Sync*"} | FL
同期アクティビティを確認して、メールボックス全体が侵害されたかどうかを判断します。 これを行うには、攻撃者がメールボックスにアクセスするために使用したのと同じコンテキストで同期アクティビティが発生したかどうかを判断する必要があります。 コンテキストは、メールボックスへのアクセスに使用されたクライアント コンピューターの IP アドレスとメール プロトコルによって識別および特定されます。 詳細については、以下の「 異なる監査レコードのアクセス コンテキストを識別する」セクションを参照してください。
次の表にリストされているプロパティを調査します。 これらのプロパティは、AuditData または OperationProperties プロパティにあります。 いずれかの同期アクティビティが攻撃者のアクティビティと同じコンテキストで発生した場合、組織は、攻撃者がすべてのメール アイテムをクライアントに同期したと想定する必要があります。 この場合、メールボックス全体が侵害された可能性があります。
プロパティ 説明 ClientInfoString プロトコル、クライアントについて説明します (バージョンを含む) ClientIPAddress クライアント マシンの IP アドレスです。 SessionId セッション ID は、同じアカウントでの攻撃者のアクションと日々のユーザー アクティビティを区別するのに役立ちます (侵害されたアカウントに役立ちます) UserId メッセージを読んでいるユーザーの UPN です。 バインド アクティビティを確認して、メール アイテムが侵害されたかどうかを判断します。 組織が手順 2 と 3 を実行した後、攻撃者によるメール メッセージへのその他のすべてのアクセスが、Bind 値を持つ MailAccessType プロパティを持った MailItemsAccessed 監査レコードにキャプチャされることを確信できます。
Bind 操作によってメール アイテムにアクセスした MailItemsAccessed レコードを検索するには、次のいずれかのコマンドを実行します:
統合監査ログ:
Search-UnifiedAuditLog -StartDate 01/06/2020 -EndDate 01/20/2020 -UserIds <user1,user2> -Operations MailItemsAccessed -ResultSize 1000 | Where {$_.AuditData -like '*"MailAccessType","Value":"Bind"*'} | FL
メールボックス監査ログ:
Search-MailboxAuditLog -StartDate 01/06/2020 -EndDate 01/20/2020 -Identity <user> -Operations MailItemsAccessed -ResultSize 10000 -ShowDetails | Where {$_.OperationProperties -like "*MailAccessType:Bind*"} | FL
アクセスされたメール メッセージは、インターネット メッセージ ID によって識別されます。 また、監査レコードが他の攻撃者のアクティビティのコンテキストと同じコンテキストを持っているかどうかを確認することもできます。 詳細については、以下の「 異なる監査レコードのアクセス コンテキストを識別する」セクションを参照してください。
組織は、次の 2 つの方法でバインド操作の監査データを使用できます:
- InternetMessageId を使用して、攻撃者がアクセスしたすべてのメール メッセージにアクセスまたは収集して、メッセージを見つけます。 次に、これらのメッセージに機密情報が含まれているかどうかを確認します。
- InternetMessageId を使用して、潜在的に機密性の高いメール メッセージのセットに関連する監査レコードを検索します。 このプロセスは、いくつかのメッセージについてのみ懸念がある場合に便利です。
重複する監査レコードのフィルター処理
それぞれが 1 時間以内に発生した同じバインド操作による重複する監査レコードは、監査ノイズを除去するために除外されます。 同期操作も 1 時間ごとのインターバルによって除外されます。
この重複排除プロセスの例外は、同じ InternetMessageId に対して、次の表で説明されているプロパティのいずれかが異なる場合に発生します。 これらのプロパティのいずれかが重複操作で異なる場合、新しい監査レコードが生成されます。 このプロセスについては、次のセクションでより詳しく説明します。
プロパティ | 説明 |
---|---|
ClientIPAddress | クライアント コンピューターの IP アドレスです。 |
ClientInfoString | クライアント プロトコル、メールボックスへのアクセスに使用されるクライアントです。 |
ParentFolder | アクセスされたメール アイテムの完全なフォルダー パスです。 |
Logon_type | アクションを実行したユーザーのログオンの種類です。 ログオンの種類 (および対応する列挙値) は、所有者 (0)、管理者 (1)、または代理人 (2) です。 |
MailAccessType | アクセスがバインド操作か同期操作かを示すプロパティ。 |
MailboxUPN | 読み取られるメッセージが置かれているメールボックスの UPN です。 |
User | メッセージを読んでいるユーザーの UPN です。 |
SessionId | アカウントが侵害された場合、セッション ID は、同じメールボックスでの攻撃者のアクションと日々のユーザー アクティビティを区別するのに役立ちます。 セッションの詳細については、「Exchange Online のセッション内での攻撃者アクティビティのコンテキスト化」を参照してください。 |
異なる監査レコードのアクセス コンテキストの特定
攻撃中、メールボックスの所有者がアクセスするのと同時に、攻撃者がメールボックスにアクセスすることがよくあります。 攻撃者とメールボックス所有者によるアクセスを区別するために、アクセスのコンテキストを定義する監査レコード プロパティがあります。
前に説明したように、これらのプロパティの値が異なる場合は、アクティビティが集約インターバル内で発生した場合でも個別の監査レコードが生成されます。 次の例では、3 つの異なる監査レコードがあります。 それぞれは、セッション ID および ClientIPAddress プロパティによって区別されます。 アクセスされたメッセージも識別されます。
監査レコード 1 | 監査レコード 2 | 監査レコード 3 |
---|---|---|
ClientIPAddress1 SessionId2 |
ClientIPAddress2 SessionId2 |
ClientIPAddress1 SessionId3 |
InternetMessageIdA InternetMessageIdD InternetMessageIdE InternetMessageIdF |
InternetMessageIdA InternetMessageIdC |
InternetMessageIdB |
前のセクションの表に一覧表示されているプロパティのいずれかが異なる場合、新しいコンテキストを追跡するために個別の監査レコードが生成されます。 アクセスは、アクティビティが行われたコンテキストに応じて、個別の監査レコードへと分類されます。
たとえば、次のスクリーンショットに示す監査レコードでは、EWSEditor と OWA から同時にメールにアクセスしました。 しかし、アクセス アクティビティは、アクセスが発生したコンテキストに応じて異なる監査レコードで照合されます。 この場合、コンテキストは ClientInfoString プロパティの異なる値によって定義されます。
このスクリーンショットでは、次の PowerShell コマンドが使用されました:
Search-MailboxAuditLog -Identity admin -ShowDetails -Operations MailItemsAccessed -ResultSize 2000 | Select LastAccessed,Operation,AuditOperationsCountInAggregatedRecord,ClientInfoString