Ricerca nel sito web

In che modo l'evento MailItemsAccessed di Microsoft 365 aiuta le indagini forensi


Microsoft ha esposto l'evento MailItemsAccessed in modo che venga visualizzato nei registri di controllo avanzato. Diamo un'occhiata a come questo viene utilizzato per indagare su account di posta compromessi sospetti.

Perché una buona registrazione è fondamentale

In un modo o nell'altro, i sistemi operativi, le appliance di rete, le applicazioni software ei servizi software creano tutti registri diagnostici. Incrociando i timestamp nei registri è possibile creare un quadro accurato di ciò che stava accadendo nella rete in qualsiasi momento.

Vengono registrati l'attività dell'utente, la comunicazione tra processi, l'accesso ai file, il traffico di rete che si sposta attraverso la rete, le connessioni in entrata e in uscita dalla rete e altro ancora. Non c'è nessun programma sinistro dietro questo. La registrazione e la successiva analisi di tali registri è una procedura operativa standard quando si diagnosticano problemi operativi o incidenti di sicurezza informatica.

Quando stai cercando di scoprire come un sistema è stato compromesso e cosa ha fatto un autore di minacce quando ha avuto accesso al tuo sistema, l'esame dei log è sempre uno dei primi passi. Essere in grado di fare riferimento a una registrazione dettagliata degli eventi è meglio che cercare di ricostruire ciò che è accaduto solo dalla testimonianza dell'utente.

Gli utenti si limitano a descrivere ciò che hanno vissuto e ciò che hanno visto fare dal sistema. Anche se stanno cercando di essere d'aiuto, tutto ciò che possono darti è il loro ricordo dei sintomi visibili dell'incidente. Ciò non fornisce alcuna informazione su ciò che i dispositivi e i sistemi interessati stavano facendo internamente, o pensavano di fare, al momento dell'incidente. E gli investigatori hanno bisogno di quel livello di informazioni per determinare la causa principale dell'incidente.

Ovviamente, più dettagliati sono i tuoi registri, più utili saranno in una situazione forense o diagnostica. Più granulari sono le informazioni fornite dai dispositivi e più frequentemente le informazioni vengono scritte nel registro, meglio è.

Hai bisogno di una licenza E5 o G5

Microsoft ha recentemente fatto apparire un altro tipo di evento, MailItemsAccessed, negli Advanced Audit Logs in Microsoft 365. Questo è importante perché consente agli investigatori di vedere a quali elementi di posta è stato effettuato l'accesso durante un attacco informatico. Questo evento esisteva in precedenza, ma è stato esposto solo di recente e ha consentito di filtrare i log.

Sapere a quali elementi di posta elettronica è stato effettuato l'accesso durante un attacco informatico potrebbe aiutarti a prevenire lo sfruttamento dei dati contenuti in tali messaggi di posta elettronica. Potrebbe anche essere un requisito di protezione dei dati per poter identificare le e-mail compromesse, i mittenti e i destinatari di tali e-mail.

L'evento MailItemsAccessed ti consentirà di fare proprio questo, ma Advanced Audit non è disponibile per tutti in Microsoft 365. È disponibile per le organizzazioni con un abbonamento a Microsoft 365 Enterprise E5 o G5. Queste licenze forniscono la funzionalità Advanced Audit e la conservazione dei file di registro per un anno. Puoi scegliere di estenderlo a 10 anni se lo desideri. Questa opzione di conservazione di 10 anni consente alle organizzazioni di eseguire indagini su eventi storici e di soddisfare gli obblighi di protezione dei dati, legali o di altro tipo.

L'evento MailItemsAccessed

L'evento MailItemsAccessed viene attivato quando si accede alle email. Se un attore della minaccia ottiene l'accesso a un account Microsft 365, l'azione MailItemsAccessed verrà attivata e registrata, anche se non vi è alcuna indicazione esplicita che le e-mail compromesse siano state lette. Il solo accesso alle e-mail è sufficiente per lanciare l'evento. Naturalmente, l'evento viene generato anche quando un utente normale accede legittimamente alla propria posta elettronica, ma un'indagine si concentrerà su determinati periodi di tempo, consentendo di scartare le azioni dell'utente normale.

L'evento della casella di posta MailItemsAccessed sostituisce un evento precedente chiamato MessageBind e fornisce diversi miglioramenti:

  •  MailItemsAccessed si applica a tutti i tipi di accesso. MessageBind non è stato in grado di segnalare utenti regolari e delegati email. Segnalava solo gli accessi AuditAdmin.
  • L'evento MailItemsAccessed viene attivato dagli eventi sync e dagli eventi bind. Un evento di sincronizzazione viene generato quando la posta viene sincronizzata con un client di posta elettronica. Ciò può influire su molte e-mail. Un evento bind viene generato quando si accede a un singolo messaggio di posta elettronica. Gli eventi MessageBind sono stati generati solo per gli eventi di sincronizzazione.
  • L'evento MailItemsAccessed è meno rumoroso. L'evento MessageBind potrebbe attivarsi ripetutamente per la stessa email.

All'interno di un'organizzazione, possono esserci molti eventi di bind generati in un flusso continuo per tutto il giorno. Microsoft 365 riduce il numero di eventi aggregandoli in sequenze di due minuti. Se una singola cassetta postale genera più di 1000 eventi di associazione in un periodo di 24 ore, Microsoft 365 limita la registrazione degli eventi per tale cassetta postale per le successive 24 ore. È importante che tu ne tenga conto in un'indagine.

Utilizzo di MailItemsAccessed nelle ricerche

Per eseguire ricerche nei log di controllo avanzati in Microsoft 365, devi disporre dei ruoli dei log di controllo di sola visualizzazione o dei log di controllo assegnati. Le ricerche vengono eseguite utilizzando Exchange Online PowerShell o il Centro sicurezza e conformità Microsoft.

Se non è già abilitato, dovrai attivare la funzionalità di ricerca di controllo:

Set-AdminAuditLogConfig -UnifiedAuditLogIngestionEnabled $true

Questo è il comando generico per cercare nei registri di controllo della cassetta postale gli eventi MailItemsAccessed, durante un periodo specificato, per un account utente specificato.

Search-MailboxAuditLog -Identity -StartDate 02/01/2021 -EndDate 02/28/2021 -Operations MailItemsAccessed -ResultSize 1000 -ShowDetails

Indagare su una casella di posta compromessa

Il primo passaggio consiste nel verificare se la cassetta postale è stata limitata. In tal caso, devi assumere lo scenario peggiore e trattare tutte le e-mail inviate a quell'account utente in quel periodo di 24 ore come compromesse.

Ciò restituirà i record MailItemsAccessed che sono stati generati mentre la cassetta postale è stata limitata, per il periodo specificato, per un account utente specificato.

Search-MailboxAuditLog -StartDate 02/01/2021 -EndDate 02/28/2021 -Identity -Operations MailItemsAccessed -ResultSize 10000 -ShowDetails | Where {$_.OperationProperties -like "IsThrottled:True"} | FL

Devi sapere se si sono verificati eventi di sincronizzazione. In tal caso, l'autore della minaccia ha scaricato l'e-mail sul proprio client di posta locale. Possono quindi disconnettersi dal server e rivedere e cercare l'e-mail senza generare altri eventi sul server.

Questo comando cerca gli eventi di sincronizzazione durante un periodo specificato, per un account utente specificato.

Search-MailboxAuditLog -StartDate 02/01/2021 -EndDate 02/28/2021 -Identity -Operations MailItemsAccessed -ResultSize 10000 -ShowDetails | Where {$_.OperationProperties -like "MailAccessType:Sync"} | FL

Se vengono rilevati eventi di sincronizzazione, è necessario determinare dall'indirizzo IP se l'azione è stata eseguita dall'autore della minaccia. In tal caso, ancora una volta è necessario assumere lo scenario peggiore e lavorare sulla premessa che l'intera casella di posta sia stata compromessa.

Dovresti anche cercare gli eventi bind per la umailbox compromessa, per il periodo di interesse.

Search-MailboxAuditLog -StartDate 02/01/2021 -EndDate 02/28/2021 -Identity -Operations MailItemsAccessed -ResultSize 10000 -ShowDetails | Where {$_.OperationProperties -like "MailAccessType:Bind"} | FL

I messaggi di posta elettronica di Microsoft 365 sono identificati da un ID messaggio Internet, contenuto nel relativo valore InternetMessageId. È possibile utilizzare i risultati della ricerca bind per identificare le singole e-mail. È quindi possibile esaminarli per vedere se contenevano informazioni sensibili o riservate dell'azienda.

Puoi farlo anche al contrario. Se conosci l'InternetMessageId delle e-mail che notoriamente contengono informazioni riservate, puoi cercare i risultati per questi InternetMessageIds .

Un esempio del mondo reale

Il team Cloud Forensics della Cybersecurity and Infrastructure Security Agency (CISA) ha rilasciato uno script progettato per aiutare a rilevare possibili account e applicazioni compromessi negli ambienti Microsoft Azure e Microsoft 365.

Lo script installerà tutti i moduli di PowerShell necessari che non sono presenti nel computer utilizzato per l'indagine. Allora:

  • Controlla il registro di controllo unificato negli ambienti Azure/Microsft 365 per i tipici segni di compromissione.
  • Elenca i domini di Azure AD.
  • Controlla le entità servizio di Azure e le relative autorizzazioni dell'API Microsoft Graph per provare a identificare l'attività degli attori delle minacce.
  • Crea più file CSV per un'ulteriore revisione.

L'evento MailItemsAccessed viene referenziato più volte nello script. Questa è una breve sezione dello script che utilizza l'evento MailItemsAccessed per verificare se è stato effettuato l'accesso agli elementi di posta.

If ($AppIdInvestigation -eq "Single"){
  If ($LicenseAnswer -eq "Yes"){
    #Searches for the AppID to see if it accessed mail items.
    Write-Verbose "Searching for $SusAppId in the MailItemsAccessed operation in the UAL."
    $SusMailItems = Search-UnifiedAuditLog -StartDate $StartDate -EndDate $EndDate -Operations "MailItemsAccessed" -ResultSize 5000 -FreeText $SusAppId -Verbose | Select-Object -ExpandProperty AuditData | Convertfrom-Json
    #You can modify the resultant CSV output by changing the -CsvName parameter
    #By default, it will show up as MailItems_Operations_Export.csv
    If ($null -ne $SusMailItems){
      #Determines if the AppInvestigation sub-directory by displayname path exists, and if not, creates that path
      Export-UALData -ExportDir $InvestigationExportParentDir -UALInput $SusMailItems -CsvName "MailItems_Operations_Export" -WorkloadType "EXO"
      } Else{
        Write-Verbose "No MailItemsAccessed data returned for $($SusAppId) and no CSV will be produced."
      } 
    } Else{
        Write-Host "MailItemsAccessed query will be skipped as it is not present without an E5/G5 license."
    }

Lo script e alcuni altri strumenti utili sono disponibili gratuitamente, insieme a una guida completa su come utilizzarli.

Articoli correlati: