Monitoraggio degli errori di accesso senza password in Azure

9 marzo 2023
Dmitriy Beryoza
Senior Security Researcher
Monitoraggio degli errori di accesso senza password in Azure

Tracciare i tentativi di accesso malevoli non è semplice

Recentemente abbiamo indagato su un comportamento sospetto in un ambiente in cui era stata impostata l'autenticazione senza password di Azure. Le indagini sono state avviate perché diversi utenti sono stati colpiti da richieste inaspettate dell'applicazione Authenticator. Nessuno degli utenti è caduto nell'inganno o ha lasciato entrare l'aggressore.

Questo tipo di evento, noto come MFA Fatigue, è di routine e atteso da organizzazioni grandi e piccole. Gli aggressori sfrutteranno questa tecnica di social engineering per indurre gli utenti ad accettare le richieste di autenticazione push, che hanno avuto successo in attacchi recenti, tra cui Uber).

Lo scenario si è rivelato particolarmente difficile da indagare a causa dei record di registro associati alle richieste senza password fallite.

Le limitazioni nelle capacità di registrazione complicano le indagini.

Tracciare i tentativi di accesso malevoli è fondamentale per proteggere gli ambienti cloud ed è possibile solo monitorando i registri cloud disponibili. Sebbene Microsoft e altri fornitori di cloud pubblichino schemi di log e forniscano Service-Level Agreements (SLA) per la consegna dei registri, ci sono ancora diversi problemi che affliggono i log cloud :

  • I tipi di eventi record spesso non sono ben documentati e talvolta non lo sono affatto.
  • Alcuni dei valori e degli ID registrati sono interni al cloud provider e il loro significato non è chiaro.
  • Vengono aggiunti nuovi tipi di record di log, i tipi di record vengono ritirati e i formati dei record vengono modificati senza preavviso per gli utenti.

Tutto ciò complica il monitoraggio e la risposta agli incidenti e lascia i consumatori cloud incerti sulla completezza dei record di log e a giocare a rimpiattino con le modifiche non annunciate; diventa quindi difficile indagare sui prompt senza password falliti dai dati registrati.

Uno sguardo ravvicinato all'individuazione e alla mitigazione dei fallimenti di accesso senza password in Azure

Autenticazione senza password

Per chi non lo sapesse, l'autenticazione senza password è un'opzione solida per ridurre il rischio che gli utenti creino password non sicure. Esistono diversi modi per abilitare l'autenticazione senza password in Azure. Nell'ambiente analizzato, è stata utilizzata l'applicazione Microsoft Authenticator.

Per iscriversi all'autenticazione senza password, gli utenti finali devono seguire questi passaggi di configurazione dettagliati. Una volta iscritto a questo metodo, l'utente può inserire il proprio nome utente nel prompt di accesso di Azure e selezionare l'opzione "Usa un'applicazione":

L'utente può inserire il proprio nome utente nella richiesta di accesso ad Azure e poi selezionare l'opzione "Usa un'applicazione".


L'utente riceve quindi un numero da inserire nell'applicazione mobile per completare il processo:

L'utente riceve quindi un numero da inserire nell'applicazione mobile per completare il processo.

Se il numero corrisponde, l'utente è autenticato. Oltre a essere ragionevolmente sicuro, questo metodo non richiede più agli utenti di creare e ricordare buone password, il che migliora notevolmente l'usabilità.

Indagine

In passato abbiamo monitorato diversi modi di impostare l'MFA in Azure, tra cui l'utilizzo dell'accesso senza password con Microsoft Authenticator come secondo fattore (ovvero, quando all'utente viene richiesto di accedere all'applicazione dopo aver inserito la password corretta). Microsoft Authenticator come secondo fattore osserviamo uno dei seguenti due errori nei log se le richieste di Authenticator vengono abbandonate o il codice non è corretto:

  • 50074 È richiesta l'autenticazione forte.
  • 500121 Autenticazione fallita durante la richiesta di autenticazione forte.

Di conseguenza, le nostre query di rilevamento e di caccia sono state impostate per cercare questi codici di errore.

Tuttavia, quando l'app Microsoft Authenticator è impostata come fattore singolo, come nel caso dell'autenticazione senza password, abbiamo riscontrato il seguente errore quando la richiesta è stata abbandonata

  • {"errorCode":1003033,"failureReason":"The remote NGC session was denied."}

Questo codice di errore era una novità, qualcosa che non avevamo mai visto prima e la ricerca su Internet non ha portato praticamente nessuna informazione sulla sua origine. Anche il messaggio di errore era criptico, senza alcuna spiegazione di cosa fosse "NGC". Dopo alcune ricerche, abbiamo stabilito che corrisponde al GUID D6886603-9D2F-4EB2-B667-1971041FA96B, documentato come "PIN Credential Provider".

Esaminando il record di registro, abbiamo notato altre incongruenze (vedi schermata sotto):

  • I dettagli relativi alla posizione e al dispositivo (in rosso) non vengono compilati.
  • Mancano le informazioni sulle applicazioni e sulle risorse (in blu).
  • Le informazioni sull'utente (in viola) sono limitate. UserPrincipalName e UserDisplayName non sono riempiti con i valori previsti (indirizzo e-mail e nome completo dell'utente). Invece, il valore UserId è presente in tutti e tre i campi.
Incongruenze nel record di registro.

Il codice di errore insolito e i dati mancanti nei registri di log rendono difficile l'individuazione di tali eventi e la loro corretta investigazione.

Mitigazione

Viste le difficoltà incontrate nell'indagare su questo incidente, abbiamo voluto condividere i dettagli raccolti con la comunità della sicurezza, in modo che i professionisti della sicurezza possano adattare le loro query di caccia per individuare questa condizione. Noi di Vectra abbiamo già aggiornato i nostri prodotti per coprire questo scenario.

La query di caccia potrebbe essere semplice come il seguente snippet di Kusto che troverà tutti i tentativi di accesso senza password falliti negli ultimi 30 giorni:

SigninLogs | dove TimeGenerated > ago(30d) | dove ResultType == 1003033

Potrebbero essere interessanti anche altri codici di errore relativi a NGC:

Da notare:

  • Quando si introducono nuove modalità di autenticazione nell'ambiente, valutare i log risultanti dalle interazioni con questi nuovi meccanismi. Cercate nuovi codici di errore e tipi di record di log che potrebbero dover essere presi in considerazione per il monitoraggio e gli avvisi.
  • Le organizzazioni che monitorano i fallimenti di accesso senza password dovrebbero considerare l'aggiunta del codice 1003033 alle loro query di caccia. Si noti che le informazioni disponibili in questo record sono limitate: non è possibile utilizzare UserPrincipalName o altre informazioni normalmente disponibili nei record del log di accesso.
  • Un appello ai fornitori di cloud (inclusa Microsoft): iniziate a considerare i log come una funzione di sicurezza cruciale da cui dipendono molti attori. Documentate accuratamente i registri di log, completate le informazioni mancanti e annunciate le modifiche che state apportando. Questo aiuterà i vostri clienti e i fornitori di sicurezza nella loro lotta per mantenere tutti al sicuro.

L'autore desidera ringraziare Peter Schaub e Rey Valero per il loro aiuto nella ricerca di questo incidente.

DOMANDE FREQUENTI

Che cos'è l'affaticamento da MFA e che rapporto ha con l'accesso senza password?

L'MFA Fatigue è una tecnica di ingegneria sociale in cui gli aggressori inviano ripetute richieste di autenticazione agli utenti, sperando che ne accettino una per frustrazione o confusione. Questo metodo è stato utilizzato in attacchi recenti, tra cui uno a Uber. Per quanto riguarda l'accesso senza password, gli aggressori possono cercare di ingannare gli utenti inducendoli ad accettare le notifiche push da un'app di autenticazione.

Perché il monitoraggio dei tentativi di accesso malevoli è fondamentale negli ambienti cloud ?

Il monitoraggio dei tentativi di accesso non autorizzati è essenziale per identificare e rispondere alle minacce alla sicurezza. Monitorando i registri cloud , le organizzazioni possono rilevare i tentativi di accesso non autorizzati e adottare le misure appropriate per proteggere i loro ambienti.

Quali codici di errore sono associati ai tentativi di accesso senza password falliti con Microsoft Authenticator?

Quando si utilizza Microsoft Authenticator come fattore singolo per l'autenticazione senza password, un codice di errore comune è 1003033, che indica "La sessione NGC remota è stata negata". Questo codice è associato al PIN Credential Provider.

Come possono le organizzazioni migliorare il monitoraggio dei fallimenti di accesso senza password?

Le organizzazioni dovrebbero aggiornare le loro query di caccia per includere il codice di errore 1003033 e qualsiasi altro codice correlato. Dovrebbero inoltre valutare i log per i nuovi codici di errore e tipi di record di log quando introducono nuovi meccanismi di autenticazione per garantire un monitoraggio e un avviso completi.

Cosa possono fare gli operatori della sicurezza per adattarsi a queste sfide di registrazione?

I professionisti della sicurezza dovrebbero rivedere e aggiornare regolarmente le query di rilevamento e di caccia in base ai nuovi tipi di record di log e ai codici di errore. La condivisione dei risultati con la comunità della sicurezza può anche aiutare gli altri a modificare il proprio monitoraggio e a migliorare la sicurezza generale.

Quali sono le sfide associate alla registrazione dei fallimenti di accesso senza password in Azure AD?

Le sfide principali includono tipi di record di log non documentati o mal documentati, valori e ID interni del cloud provider e modifiche non annunciate dei tipi e dei formati dei record di log. Questi problemi rendono difficile il monitoraggio, l'avviso e l'investigazione degli accessi senza password non riusciti.

Come funziona l'app Microsoft Authenticator nell'autenticazione senza password?

Nell'autenticazione senza password, gli utenti inseriscono il proprio nome utente e selezionano l'opzione "Usa un'app". Viene quindi fornito un numero da inserire nell'app Microsoft Authenticator. Se il numero corrisponde, l'utente viene autenticato senza dover ricordare una password.

Quali difficoltà sono state incontrate durante l'indagine sui tentativi di accesso senza password falliti?

L'indagine è stata ostacolata da un codice di errore insolito (1003033) e dall'assenza di dettagli sui registri, come la posizione, le informazioni sul dispositivo e i dettagli dell'utente. Questa mancanza di informazioni ha reso difficile l'allerta e l'indagine corretta degli eventi.

Come possono le organizzazioni migliorare il monitoraggio dei fallimenti di accesso senza password?

I fornitori di Cloud dovrebbero trattare i registri come una caratteristica di sicurezza cruciale, documentando accuratamente i registri, inserendo le informazioni mancanti e annunciando qualsiasi modifica ai registri o ai formati dei registri. Questa trasparenza aiuterà i clienti e i fornitori di sicurezza a mantenere solide misure di sicurezza.

Perché l'autenticazione senza password è considerata un'opzione valida per migliorare la sicurezza?

L'autenticazione senza password attenua i rischi associati alle password insicure, eliminando la necessità per gli utenti di creare e ricordare le password. Metodi come l'utilizzo dell'app Microsoft Authenticator aumentano la sicurezza e migliorano l'usabilità, rendendo più difficile per gli aggressori compromettere gli account attraverso attacchi tradizionali basati su password.