Rilevare e correggere le concessioni di consenso illecite

Consiglio

Sapevi che puoi provare le funzionalità in Microsoft Defender XDR gratuitamente per Office 365 Piano 2? Usa la versione di valutazione Defender per Office 365 di 90 giorni nell'hub delle versioni di valutazione del portale di Microsoft Defender. Informazioni su chi può iscriversi e sulle condizioni di valutazione in Prova Microsoft Defender per Office 365.

Sommario Informazioni su come riconoscere e correggere l'attacco con concessioni di consenso illecito in Microsoft 365.

In un attacco di concessione del consenso illecito, l'utente malintenzionato crea un'applicazione registrata in Azure che richiede l'accesso a dati come informazioni di contatto, posta elettronica o documenti. L'utente malintenzionato quindi consiglia a un utente finale di concedere il consenso dell'applicazione per accedere ai propri dati tramite un attacco di phishing o inserendo codice illecito in un sito Web attendibile. Dopo aver concesso il consenso all'applicazione illecita, l'applicazione ha accesso ai dati a livello di account senza la necessità di un account aziendale. I normali passaggi di correzione (ad esempio la reimpostazione delle password o la richiesta di autenticazione a più fattori (MFA) non sono efficaci per questo tipo di attacco, perché queste app sono esterne all'organizzazione.

Questi attacchi usano un modello di interazione che presuppone che l'entità che chiama le informazioni sia l'automazione e non un essere umano.

Importante

Si sospetta di riscontrare problemi con le concessioni di consenso illecite da un'app, in questo momento? Microsoft Defender for Cloud Apps dispone di strumenti per rilevare, analizzare e correggere le app OAuth. Questo articolo Defender for Cloud Apps include un'esercitazione che descrive come analizzare le app OAuth rischiose. È anche possibile impostare i criteri delle app OAuth per analizzare le autorizzazioni richieste dall'app, che gli utenti autorizzano queste app e approvare o vietare ampiamente queste richieste di autorizzazioni.

È necessario eseguire una ricerca nel log di controllo per trovare i segni, detti anche indicatori di compromissione (IOC) di questo attacco. Per le organizzazioni con molte applicazioni registrate in Azure e una base di utenti di grandi dimensioni, la procedura consigliata consiste nell'esaminare le concessioni di consenso delle organizzazioni su base settimanale.

Passaggi per trovare i segni di questo attacco

  1. Aprire il portale di Microsoft Defender in https://security.microsoft.com e quindi selezionare Controlla. In alternativa, per passare direttamente alla pagina Audit, usare https://security.microsoft.com/auditlogsearch.

  2. Nella pagina Controllo verificare che sia selezionata la scheda Cerca e quindi configurare le impostazioni seguenti:

    • Intervallo di data e ora
    • Attività: verificare che l'opzione Mostra risultati per tutte le attività sia selezionata.

    Al termine, selezionare Cerca.

  3. Selezionare la colonna Attività per ordinare i risultati e cercare Consenso all'applicazione.

  4. Selezionare una voce dall'elenco per visualizzare i dettagli dell'attività. Verificare se IsAdminConsent è impostato su True.

Nota

Possono essere necessari da 30 minuti a 24 ore prima che la voce del log di controllo corrispondente venga visualizzata nei risultati della ricerca dopo che si è verificato un evento.

Il periodo di tempo in cui un record di controllo viene conservato e ricercabile nel log di controllo dipende dalla sottoscrizione di Microsoft 365 e in particolare dal tipo di licenza assegnata a un utente specifico. Per altre informazioni, vedere Log di controllo.

Il valore è true indica che un utente con accesso amministratore globale potrebbe aver concesso un accesso ampio ai dati. Se questo valore è imprevisto, eseguire i passaggi necessari per confermare un attacco.

Come confermare un attacco

Se sono presenti una o più istanze delle operazioni di I/O elencate in precedenza, è necessario eseguire ulteriori indagini per verificare in modo positivo che l'attacco si sia verificato. È possibile usare uno di questi tre metodi per confermare l'attacco:

  • Le applicazioni di inventario e le relative autorizzazioni usano il Interfaccia di amministrazione di Microsoft Entra. Questo metodo è accurato, ma è possibile controllare solo un utente alla volta che può richiedere molto tempo se si hanno molti utenti da controllare.
  • Le applicazioni di inventario e le relative autorizzazioni tramite PowerShell. Questo è il metodo più veloce e più accurato, con la quantità minima di sovraccarico.
  • Chiedere agli utenti di controllare singolarmente le app e le autorizzazioni e segnalare i risultati agli amministratori per la correzione.

Inventario delle app con accesso nell'organizzazione

Sono disponibili le opzioni seguenti per l'inventario delle app per gli utenti:

  • Interfaccia di amministrazione di Microsoft Entra.
  • PowerShell.
  • Fare in modo che gli utenti enumerino singolarmente il proprio accesso all'applicazione.

Procedura per l'uso del Interfaccia di amministrazione di Microsoft Entra

È possibile cercare le applicazioni a cui un singolo utente ha concesso le autorizzazioni usando il Interfaccia di amministrazione di Microsoft Entra:

  1. Aprire il Interfaccia di amministrazione di Microsoft Entra in https://entra.microsoft.come quindi passare aUtenti>identità>Tutti gli utenti. In alternativa, per passare direttamente a Utenti>Tutti gli utenti, usare https://entra.microsoft.com/#view/Microsoft_AAD_UsersAndTenants/UserManagementMenuBlade/~/AllUsers/menuId/.
  2. Trovare e selezionare l'utente da rivedere facendo clic sul valore Nome visualizzato .
  3. Nella pagina dei dettagli utente visualizzata selezionare Applicazioni.

Questi passaggi mostrano le app assegnate all'utente e le autorizzazioni delle applicazioni.

Procedura per l'enumerazione dell'accesso dell'applicazione da parte degli utenti

Fare in modo che gli utenti vadano a https://myapps.microsoft.com esaminare l'accesso all'applicazione. Dovrebbero essere in grado di visualizzare tutte le app con accesso, visualizzarne i dettagli (incluso l'ambito di accesso) ed essere in grado di revocare i privilegi ad app sospette o illecite.

Passaggi in PowerShell

Il modo più semplice per verificare l'attacco di concessione del consenso illecito consiste nell'eseguire Get-AzureADPSPermissions.ps1, che esegue il dump di tutte le concessioni di consenso OAuth e delle app OAuth per tutti gli utenti della tenancy in un unico file .csv.

Prerequisiti

  • La libreria PowerShell di Azure AD installata.
  • Autorizzazioni di amministratore globale nell'organizzazione in cui viene eseguito lo script.
  • Autorizzazioni di amministratore locale nel computer in cui vengono eseguiti gli script.

Importante

È consigliabile richiedere l'autenticazione a più fattori nell'account amministratore. Questo script supporta l'autenticazione MFA.

Microsoft consiglia di usare i ruoli con il minor numero di autorizzazioni. L'uso di account con autorizzazioni inferiori consente di migliorare la sicurezza per l'organizzazione. Amministratore globale è un ruolo con privilegi elevati che deve essere limitato agli scenari di emergenza quando non è possibile usare un ruolo esistente.

Nota

La deprecazione di Azure AD Powershell è prevista per il 30 marzo 2024. Per ulteriori informazioni, leggere l'aggiornamento sulla deprecazione.

È consigliabile effettuare la migrazione a Microsoft Graph PowerShell per interagire con Microsoft Entra ID (in precedenza Azure AD). Microsoft Graph PowerShell consente l'accesso a tutte le API di Microsoft Graph ed è disponibile in PowerShell 7. Per le risposte alle domande più comuni sulla migrazione, consultare Domande frequenti sulla migrazione.

  1. Accedere al computer in cui si desidera eseguire gli script con diritti di amministratore locale.

  2. Scaricare o copiare lo script Get-AzureADPSPermissions.ps1 da GitHub in una cartella facile da trovare e ricordare. Questa cartella è anche la posizione in cui è necessario scrivere il file di output "permissions.csv".

  3. Aprire una sessione di PowerShell con privilegi elevati come amministratore nella cartella in cui è stato salvato lo script.

  4. Connettersi alla directory usando il cmdlet Connect-MgGraph .

  5. Eseguire questo comando di PowerShell:

    .\Get-AzureADPSPermissions.ps1 | Export-csv -Path "Permissions.csv" -NoTypeInformation
    

Lo script produce un file denominato Permissions.csv. Seguire questa procedura per cercare le concessioni di autorizzazioni per le applicazioni illecite:

  1. Nella colonna ConsentType (colonna G) cercare il valore "AllPrinciples". L'autorizzazione AllPrincipals consente all'applicazione client di accedere al contenuto di tutti nella tenancy. Le applicazioni native di Microsoft 365 necessitano di questa autorizzazione per funzionare correttamente. Ogni applicazione non Microsoft con questa autorizzazione deve essere esaminata con attenzione.

  2. Nella colonna Autorizzazione (colonna F) esaminare le autorizzazioni che ogni applicazione delegata ha per il contenuto. Cercare l'autorizzazione "Lettura" e "Scrittura" o "Tutto" ed esaminare attentamente queste autorizzazioni, perché potrebbero non essere appropriate.

  3. Esaminare gli utenti specifici che hanno concesso il consenso. Se gli utenti di alto profilo o di alto valore hanno acconsenti inappropriati, è consigliabile approfondire le indagini.

  4. Nella colonna ClientDisplayName (colonna C) cercare le app che sembrano sospette. Le app con nomi con errori di ortografia, nomi super blandi o nomi di hacker devono essere esaminate con attenzione.

Determinare l'ambito dell'attacco

Dopo aver completato l'inventario dell'accesso alle applicazioni, esaminare il log di controllo per determinare l'ambito completo della violazione. Cercare gli utenti interessati, i tempi di accesso dell'applicazione illecita all'organizzazione e le autorizzazioni dell'app. È possibile eseguire una ricerca nel log di controllo nel portale di Microsoft Defender.

Importante

Il controllo delle cassette postali e il controllo delle attività per amministratori e utenti devono essere stati abilitati prima dell'attacco per ottenere queste informazioni.

Dopo aver identificato l'applicazione con autorizzazioni illecite, è possibile rimuovere tale accesso in diversi modi:

  • È possibile revocare l'autorizzazione dell'applicazione nel Interfaccia di amministrazione di Microsoft Entra seguendo questa procedura:

    1. Aprire il Interfaccia di amministrazione di Microsoft Entra in https://entra.microsoft.come quindi passare aUtenti>identità>Tutti gli utenti. In alternativa, per passare direttamente a Utenti>Tutti gli utenti, usare https://entra.microsoft.com/#view/Microsoft_AAD_UsersAndTenants/UserManagementMenuBlade/~/AllUsers/menuId/.
    2. Trovare e selezionare l'utente interessato facendo clic sul valore Nome visualizzato .
    3. Nella pagina dei dettagli utente visualizzata selezionare Applicazioni.
    4. Nella pagina Applicazioni selezionare l'applicazione illecita facendo clic sul valore Nome .
    5. Nella pagina Dettagli assegnazione visualizzata selezionare Rimuovi.
  • È possibile revocare la concessione del consenso OAuth con PowerShell seguendo la procedura descritta in Remove-MgOauth2PermissionGrant

  • È possibile revocare l'assegnazione di ruolo dell'app del servizio con PowerShell seguendo la procedura descritta in Remove-MgServicePrincipalAppRoleAssignment.

  • È possibile disabilitare l'accesso per l'account interessato, disabilitando l'accesso ai dati nell'account da parte dell'app. Questa azione non è ideale per la produttività degli utenti, ma può essere una correzione a breve termine per limitare rapidamente i risultati dell'attacco.

  • È possibile disattivare le applicazioni integrate nell'organizzazione. Questa azione è drastica. Anche se impedisce agli utenti di concedere accidentalmente l'accesso a un'app dannosa, impedisce anche a tutti gli utenti di concedere il consenso a qualsiasi applicazione. Questa azione non è consigliata perché compromette gravemente la produttività degli utenti con applicazioni di terze parti. È possibile disattivare le app integrate seguendo la procedura descritta in Attivazione o disattivazione delle app integrate.

Vedere anche