調查遭到入侵的電子郵件帳戶

已完成

遭到入侵的使用者帳戶也稱為帳戶接管。 這是一種攻擊類型,攻擊者會取得使用者帳戶的存取權,並做為使用者操作。 這些類型的攻擊有時會造成比攻擊者原先預期還要更大的危害。

當組織調查遭到入侵的電子郵件帳戶時,必須假設遭入侵的郵件資料多於追蹤攻擊者實際存在所表示的資料量。 視電子郵件訊息中的資料類型而定,組織可能須假設敏感性資訊已遭到入侵,除非它能證明敏感性資料並未公開,否則將面臨法規處罰。

例如,若有證據顯示病患的健康資訊 (PHI) 遭到公開,則由 HIPAA 監管的組織會面臨巨額罰款。 在這些情況下,攻擊者不太可能對 PHI 感興趣。 不過,除非可以另行證明,否則組織仍必須報告資料外泄。

為了協助組織調查遭入侵的電子郵件帳戶,Microsoft 365 會按郵件通訊協定和用戶端稽核郵件資料的存取。 系統會使用 MailItemsAccessed 信箱稽核動作來執行此操作。 此稽核動作可協助調查人員:

  • 進一步瞭解電子郵件資料外泄。
  • 識別特定郵件項目可能遭到入侵的範圍。

使用這個稽核動作的目的是鑑識辯護。 換句話說,其可協助主張特定郵件資料未遭入侵。 如果攻擊者取得特定郵件資料的存取權,Exchange Online 會稽核該事件,即使該郵件項目沒有已遭讀取的徵兆亦如此。

MailItemsAccessed 信箱稽核動作

MailItemsAccessed 動作是稽核 (進階版) 功能和 Exchange 信箱稽核 的一部分。 依預設會為下列對象啟用此動作:

  • 被指派 Office 365 或 Microsoft 365 E5 授權的使用者。
  • 擁有 Microsoft 365 E5 合規性附加元件訂閱的組織。

MailItemsAccessed 是涵蓋所有郵件通訊協定的信箱稽核動作: POP、IMAP、MAPI、EWS、Exchange ActiveSync 和 REST。 此動作也涵蓋兩種類型的郵件存取:「同步處理」和「繫結」

接下來的兩節會更詳細地檢查同步處理和繫結郵件存取事件的稽核。

稽核同步處理存取

同步處理作業只有在信箱是透過 Windows 或 Mac 的電腦版 Outlook 用戶端進行存取時才會記錄。 在同步處理作業期間,這些用戶端通常會從雲端下載大量的郵件項目到本機電腦。

同步處理作業的稽核量會變得相當可觀。 因此,Microsoft 不會針對每個已同步處理的郵件產生稽核記錄,而是會針對其中包含已同步處理項目的郵件資料夾產生稽核事件。

重要事項

此設計假設已同步處理資料夾中 [所有] 郵件項目皆已遭入侵。

存取類型會記錄在稽核記錄的 OperationProperties 欄位。

如需顯示稽核記錄中同步處理存取類型的範例,請參閱以下標題為「使用 MailItemsAccessed 稽核記錄進行鑑識調查」 章節的步驟 2。

稽核繫結存取

繫結作業是電子郵件訊息的個別存取。

重要事項

繫結活動可協助判斷攻擊者是否可以存取並可能入侵個別電子郵件訊息。

若是繫結存取,稽核記錄中會記錄個別訊息的 InternetMessageIdMailItemsAccessed 稽核動作會記錄繫結作業然後將之彙總至單一稽核記錄。 在此程序期間,會發生下列動作:

  • 間隔 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 稽核記錄做為鑑識之用的執行時機通常是在解決資料外洩並驅逐攻擊者之後。

組織在進行調查時,應該完成下列步驟:

  1. 識別已遭入侵的信箱。
  2. 判斷攻擊者存取這些信箱的時間範圍。
  3. 在 Exchange Online PowerShell 中使用 Search-UnifiedAuditLogSearch-MailboxAuditLog Cmdlet,搜尋對應到資料外洩的稽核記錄。

組織可以執行下列其中一個命令來搜尋 MailItemsAccessed 稽核記錄 (這些範例假設時間從 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-UnifiedAuditLogSearch-MailboxAuditLog Cmdlet 的命令語法。

  1. 檢查信箱是否受到節流控制。 如果信箱已節流,則不會記錄某些信箱稽核記錄。 在所有稽核記錄皆有「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
    
  2. 檢查同步處理活動,以判斷郵件項目是否遭到入侵。 如果攻擊者使用電子郵件用戶端下載信箱中的訊息,攻擊者可以將電腦從網際網路斷開,然後在本機存取訊息,而不需要與伺服器互動。 在此案例中,信箱稽核無法稽核這些活動。

    若要搜尋其中郵件項目是透過同步處理作業進行存取的 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
    
  3. 檢查同步處理活動,以判斷是否整個信箱遭到入侵。 若要這麼做,您必須判斷是否有任何同步活動發生于與攻擊者用來存取信箱的相同內容中。 背景可以透過用來存取信箱和郵件通訊協定的用戶端電腦 IP 位址找出並區別。 如需詳細資訊,請參閱以下標題為 「找出不同稽核記錄的存取背景」 的章節。

    調查下表所列的屬性。 這些屬性位於 AuditDataOperationProperties 屬性中。 如果有任何同步活動發生的背景與攻擊者的活動背景相同,則組織應假設攻擊者已將所有郵件項目同步處理至他們的用戶端。 在此事件中,整個信箱可能已遭入侵。

    屬性 描述
    ClientInfoString 描述通訊協定、用戶端 (包括版本)
    ClientIPAddress 用戶端電腦的 IP 位址。
    SessionId 工作階段識別碼可協助區分同一帳戶中攻擊者的動作和每天例行的使用者活動 (對於遭入侵的帳戶是很實用的)
    UserId 使用者讀取訊息的 UPN。
  4. 檢查繫結活動,以判斷郵件項目是否遭到入侵。 在組織執行步驟 2 和 3 之後,則可以確信由攻擊者執行的所有其他信箱存取皆已擷取在 MailItemsAccessed 稽核記錄中,其中有 MailAccessType 屬性,值為 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
    

    已存取的電子郵件訊息會以其網路訊息識別碼來識別。 您也可以檢查是否有稽核記錄與其他攻擊者活動相同的內容。 如需詳細資訊,請參閱以下標題為 「找出不同稽核記錄的存取背景」 的章節。

    您可以透過兩種不同的方式來使用繫結作業的稽核資料:

    • 透過使用 InternetMessageId 來存取或收集攻擊者已存取的所有電子郵件訊息以找到它們。 然後確認這些訊息中是否有任何訊息包含敏感性資訊。
    • 使用 InternetMessageId 搜尋與一組疑似敏感性電子郵件訊息相關的稽核記錄。 如果您只關注少數訊息,那麼此程序便相當實用。

篩選重複的稽核記錄

篩選出在彼此間隔一小時內發生之相同繫結作業的重複稽核作業以移除稽核干擾。 同步處理作業也會以一小時的時間間隔篩選出。

以相同的 InternetMessageId 為例,如果下方表格中所述屬性有任何不同,則此刪除重複程序便會發生例外。 如果這些屬性之一在重複的作業中不相同,系統會產生新稽核記錄。 下一小節將會詳細說明此程序。

屬性 描述
ClientIPAddress 用戶端電腦的 IP 位址。
ClientInfoString 用戶端用來存取信箱的用戶端通訊協定。
ParentFolder 遭存取郵件項目的完整資料夾路徑。
Logon_type 執行動作的使用者登入類型。 登入類型 (及其對應的 Enum 值) 是擁有者 (0)、管理員 (1) 或代理人 (2)。
MailAccessType 指出存取是繫結或同步作業的屬性。
MailboxUPN 遭讀取訊息所在的信箱 UPN。
User 讀取訊息的使用者 UPN。
SessionId 如果帳戶遭到入侵,工作階段識別碼有助於區分相同信箱中的攻擊者動作和日常使用者活動。 如需工作階段的詳細資訊,請參閱 在 Exchange Online 中將工作階段內的攻擊者活動內容化

找出不同稽核記錄的存取背景

在攻擊期間,攻擊者通常會在信箱擁有者存取信箱的同一時間存取信箱。 若要區分出攻擊者和信箱擁有者的存取,我們有定義存取背景的稽核記錄屬性。

如先前所述,當這些屬性的值不同時,即使活動發生於彙總期間,系統也會產生個別的稽核記錄。 下列範例中有三種不同的稽核記錄。 每一個都可以透過 SessionIdClientIPAddress 屬性來區分。 遭到存取的訊息也可以識別出來。

稽核記錄 1 稽核記錄 2 稽核記錄 3
ClientIPAddress1
SessionId2
ClientIPAddress2
SessionId2
ClientIPAddress1
SessionId3
InternetMessageIdA
InternetMessageIdD
InternetMessageIdE
InternetMessageIdF
InternetMessageIdA
InternetMessageIdC
InternetMessageIdB

如果前一小節之表格所列的屬性有任何不同,系統會產生另一個稽核記錄以追蹤新背景。 視活動發生的背景而定,系統會將存取排序整理到個別的稽核記錄。

例如,在下列螢幕擷取畫面中顯示的稽核記錄中,已同時從 EWSEditor 和 OWA 存取郵件。 不過,存取活動會依據發生存取的情況,以不同的稽核記錄來分頁。 在此情況下,背景由 ClientInfoString 屬性的不同值所定義。

PowerShell 中的 [搜尋信箱稽核記錄] 命令及其所擷取結果稽核記錄的螢幕擷取畫面。

此螢幕擷取畫面中使用了下列 PowerShell 命令:

Search-MailboxAuditLog -Identity admin -ShowDetails -Operations MailItemsAccessed -ResultSize 2000 | Select LastAccessed,Operation,AuditOperationsCountInAggregatedRecord,ClientInfoString