调查被泄露的电子邮件帐户
被盗用的用户帐户也称为帐户接管。 这是一种攻击类型,攻击者可以获取对用户帐户的访问权限,并以用户身份操作。 这些类型的攻击造成的损害有时比攻击者所需要的更大。
组织调查被盗用的电子邮件帐户时,必须假定泄露的邮件数据多于跟踪攻击者的实际状态所指示的邮件数据数。 根据电子邮件中的数据类型,组织需要假定敏感信息被盗用或面临着监管罚款,除非能够证明敏感信息未泄露。
例如,如果有证据表明患者健康信息(PHI)被公开,受 HIPAA 监管的组织面临巨额罚款。 在这些情况下,攻击者不太可能对 PHI 感兴趣。 但是组织仍然必须汇报数据泄漏,除非他们提供相应证明。
为了帮助组织调查被盗用的电子邮件帐户,Microsoft 365通过邮件协议和客户端审核对邮件数据的访问。 它通过使用 MailItemsAccessed 邮箱审核操作来执行此操作。 此审核操作可帮助调查人员:
- 更好地了解电子邮件数据泄露。
- 确定可能被盗用特定邮件项目的泄露范围。
使用此审核操作的目标是取证可防御性。 换言之,它有助于确定未被盗用的邮件数据具体部分。 如果攻击者获得了对特定邮件的访问权限,Exchange Online 将审核该事件,即使没有迹象表明该邮件项已被阅读。
MailItemsAccessed 邮箱审核操作
MailItemsAccessed 操作是审核 (Premium) 功能和 Exchange 邮箱审核的一部分。 默认情况下,为以下用户或组织启用此操作:
- 分配有 Office 365 或 Microsoft 365 E5 许可证的用户。
- 具有 Microsoft 365 E5 合规性加载项订阅的组织。
MailItemsAccessed 邮箱审核操作包含所有邮件协议:POP、IMAP、 MAPI、EWS、Exchange ActiveSync 和 REST。 还包含了两种存取邮件的类型:同步和绑定。
接下来的两节将更详细地介绍如何审核同步和绑定邮件访问事件。
审核同步访问权限
仅当邮箱由适用于 Windows 或 Mac 的桌面版 Outlook 客户端存取时,才记录同步操作。 同步操作期间,这些客户端通常从云端下载大型邮件项至本地计算机。
同步操作的审核量非常大。 因此我们取代生成同步的各邮件项的审核记录,Microsoft 只针对含有被同步项的邮件文件夹生成审核事件。
重要
此设计假定已同步文件夹中的所有邮件项已被盗用。
访问权限类型会记录在审核记录的 OperationProperties 字段中。
参见下面标题为“使用 MailItemsAccessed 审核记录进行司法鉴定调查”一节中的第 2 步了解在审核记录中显示同步访问权限的示例。
审核绑定访问权限
绑定操作是对电子邮件所进行的一种单独访问。
重要
绑定活动有助于确定攻击者是否能够访问各电子邮件,以及是否可能泄露单封电子邮件。
对于绑定访问权限,单独邮件的 InternetMessageId 会记录在审核记录中。 MailItemsAccessed 审核操作记录绑定操作并随后聚合至单独的审核记录中。 在此过程中会执行以下操作:
- 2 分钟间隔内发生的所有绑定操作都聚合在 AuditData 属性内 Folders 字段中的一个单独审核记录内。
- 所访问的每封邮件都由其 InternetMessageId 标识。
- 聚合在记录中的绑定操作数将在 AuditData 属性的 OperationCount 字段中显示。
参见下面标题为“使用 MailItemsAccessed 审核记录进行司法鉴定调查”一节中的第 4 步了解在审核记录中显示绑定访问权限的示例。
MailItemsAccessed 审核记录的限制
如果在不到 24 小时内为邮箱生成超过 1,000 条 MailItemsAccessed 审核记录,Exchange Online 停止为 MailItemsAccessed 活动生成审核记录。 如果以这种方式限制邮箱,MailItemsAccessed 活动将在邮箱被限制后不记录达 24 小时。
重要
如果邮箱被限制,则在此期间邮箱可能会遭到入侵。
MailItemsAccessed 活动的记录将在 24 小时候恢复。
有关限制的事项,请注意以下几点:
- Exchange Online 中少于 1% 的邮箱被限制。
- 如果邮箱被限制,只有 MailItemsAccessed 活动的审核记录不会被审核。 不影响其他邮箱审核操作。
- 仅限制邮箱进行绑定操作。 同步操作的审核记录不受限制。
- 如果邮箱被限制,可以假设存在未被记录至审核日志中的 MailItemsAccessed 活动。
有关在审核记录中显示 IsThrottled 属性的示例,请参阅以下部分中的步骤 1。
使用 MailItemsAccessed 审核记录进行司法鉴定调查
邮箱审核生成用于访问电子邮件的审核记录。 通过这样,组织可以确信电子邮件未被泄露。 因此,在 Microsoft 不确定数据是否已被访问的情况下,假定数据已被访问。 因此,它记录所有邮件访问活动。
注意
使用 MailItemsAccessed 审核记录进行司法鉴定目的,通常在解决了数据泄露且攻击者被逐出后进行。
组织进行调查时,应完成以下步骤:
- 识别已被盗用的邮箱。
- 确定攻击者有权访问这些邮箱的时间范围。
- 可在 Exchange Online PowerShell 中使用 Search-UnifiedAuditLog 或 Search-MailboxAuditLog cmdlet 搜索与数据泄漏对应的审核记录。
组织可以运行以下命令之一来搜索 MailItemsAccessed 审核记录(这些示例假定时间为 2020/2020/1/06 到 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
提示
这两个 cmdlet 的一个主要区别是,可使用 Search-UnifiedAuditLog cmdlet 来搜索由一个或更多用户所执行活动的审核记录。 它能够查找多个用户执行的活动,因为 UserIds 是一个多值参数。 相比而言,Search-MailboxAuditLog cmdlet 搜索单个用户的邮箱审核日志。
下面是使用 MailItemsAccessed 审核记录来调查被盗用用户的攻击步骤。 各步骤显示 Search-UnifiedAuditLog 和 Search-MailboxAuditLog cmdlet 的命令语法。
检查邮箱是否被限制。 如果邮箱受限,则不会记录某些邮箱审核记录。 如果任何审核记录的 "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 步后,可以确信攻击者对电子邮件的所有其他访问,将被捕获至 MailAccessType 属性值为 Bind 的 MailItemsAccessed 审核记录中。
如果要搜索通过绑定操作访问邮件项目的 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
被存取的的电子邮件通过 Internet 邮件 ID 进行标识。 还可检查是否有任何审核记录具有与其他攻击者活动的相同上下文。 有关详细信息,请参阅以下标题为: 标识不同审核记录的访问上下文的部分。
组织可以使用审核数据采用两种方式进行绑定操作:
- 使用 InternetMessageId 存取或收集攻击者所访问的所有电子邮件以进行查找。 然后验证其中任何邮件是否包含敏感信息。
- 使用 InternetMessageId 搜索与一组可能敏感的电子邮件相关的审核记录。 如果只关注几封邮件,则此过程非常有用。
筛选重复的审核记录
一小时内所发生的相同绑定操作的重复审核记录将被依次筛选出,以清除审核噪音。 同步操作还以一小时的间隔进行筛选。
如果对于同一 InternetMessageId,下表中所述的任何属性不同,则此重复数据删除过程会出现异常。 如果这些属性之一与重复操作中的不同,生成新的审核记录。 此流程在下一节中详细描述。
属性 | 说明 |
---|---|
ClientIPAddress | 客户端计算机的 IP 地址。 |
ClientInfoString | 用于存取邮箱的客户端协议、客户端。 |
ParentFolder | 所访问的邮件项的完整文件夹路径。 |
Logon_type | 执行操作用户的登录类型。 登录类型(及其相应的 Enum 值)为所有者(0)、管理员 (1)或代理人(2)。 |
MailAccessType | 指示访问是绑定操作还是同步操作的属性。 |
MailboxUPN | 被读取邮件所在邮箱的 UPN。 |
User | 阅读邮件用户的 UPN。 |
SessionId | 如果帐户遭到入侵,会话 ID 有助于区分同一邮箱中的攻击者操作和日常用户活动。 有关会话的详细信息,请参阅在 Exchange Online 中对会话中的攻击者活动进行情景化。 |
识别不同审核记录的存取上下文
攻击期间,攻击者通常会在邮箱所有者访问邮箱的同时访问邮箱。 为区分攻击者和邮箱所有者的访问,提供了设定访问上下文的审核日志属性。
如前所述,如果这些属性的值不同时,即使活动在聚合间隔内发生,将生成单独的审核记录。 在下面示例中,有三个不同的审核记录。 每条记录都可通过会话 ID 和 ClientIPAddress 属性进行区分。 另外还识别被存取的邮件。
审核记录 1 | 审核记录 2 | 审核记录 3 |
---|---|---|
ClientIPAddress1 SessionId2 |
ClientIPAddress2 SessionId2 |
ClientIPAddress1 SessionId3 |
InternetMessageIdA InternetMessageIdD InternetMessageIdE InternetMessageIdF |
InternetMessageIdA InternetMessageIdC |
InternetMessageIdB |
如果 上一节 中的表中列出的任何属性不相同,则会生成单独的审核记录来跟踪新的上下文。 根据活动发生的背景,访问将被排序成单独的审核记录。
例如,在以下屏幕截图中显示的审核记录中,同时从 EWSEditor 和 OWA 存取邮件。 例如,在下列截屏中显示的审核记录中,虽然我们从 EWSEditor 和 OWA 同时存取邮件,根据存取发生的背景,存取活动被整理至不同的审核记录中。 在这种情况中,上下文通过 ClientInfoString 属性的不同值确定。
此屏幕截图使用了以下 PowerShell 命令:
Search-MailboxAuditLog -Identity admin -ShowDetails -Operations MailItemsAccessed -ResultSize 2000 | Select LastAccessed,Operation,AuditOperationsCountInAggregatedRecord,ClientInfoString