Soluzioni tecniche

Protocollo NTLM: perché è pericoloso, perché dovresti disabilitarlo e perché è complicato riuscirci

12 Ottobre 2023

Il protocollo NTLM (NT LAN Manager) è un sistema di autenticazione ormai “antico”, sviluppato da Microsoft e ampiamente utilizzato nelle reti Windows. Tuttavia, nel corso degli anni, sono state rilevate varie vulnerabilità associate al suo utilizzo. Nonostante ciò, il protocollo rimane in uso in molte organizzazioni.

Il protocollo è stato sostituito da Kerberos dopo Windows 2000, ma Microsoft non lo ha mai tolto dalle nuove release di Windows né lo ha disabilitato di default.

Quindi dovremmo disabilitarlo noi, sulle reti, ma farlo non è semplice, né a livello tecnico né infrastrutturale.

Questo articolo esamina i rischi associati all’uso di NTLM, le ragioni per cui Microsoft non lo ha ancora completamente rimosso e le difficoltà nell’effettuare tale disabilitazione.

Come funziona NTLM

Per accedere a un computer o a un servizio su una rete Windows, l’utente deve prima essere autenticato. L’autenticazione è il processo di verifica dell’identità di un utente.

In Windows, l’autenticazione viene eseguita utilizzando (anche) il protocollo NTLM.

NTLM è un protocollo challenge-response, il che significa che il server invia una richiesta (challenge) all’utente secondo parametri precisi e l’utente restituisce una risposta (response) crittografata che deve sottostare ai requisiti definiti in invio.

Ecco come funziona NTLM:

  1. L’utente condivide il proprio nome utente, password e nome di dominio con il client.
  2. Il client genera una versione codificata della password, o hash, ed elimina la password completa.
  3. Il client passa una versione in chiaro del nome utente al server cui viene richiesto l’accesso.
  4. Il server risponde al client con un numero casuale di 16 byte, detto challenge.
  5. In risposta, il client invia la challenge crittografata in base all’hash della password dell’utente.
  6. Il server quindi invia la challenge, la risposta e il nome utente al controller di dominio (DC).
  7. Il DC recupera la password dell’utente dal database e la utilizza per crittografare la challenge.
  8. Il DC confronta quindi la challenge crittografata e il response del client. Se questi due pezzi corrispondono, l’utente viene autenticato e l’accesso viene concesso.
Vulnerability assessment

Perché NTLM è pericoloso

La principale debolezza di NTLM che utilizza algoritmi di crittografia obsoleti (come MD5, RC4 e DES). In un mondo in cui i metodi di attacco informatico si evolvono rapidamente, utilizzare algoritmi di crittografia datati è come lasciare una porta aperta agli aggressori. Mentre protocolli più moderni come Kerberos utilizzano algoritmi di crittografia potenti come AES o SHA256, NTLM è rimasto indietro.

Gli algoritmi deboli sono particolarmente suscettibili agli attacchi brute-force. In un attacco brute-force, un attaccante tenta tutte le combinazioni possibili di una password fino a trovare quella corretta. Gli algoritmi più moderni utilizzano varie tecniche, come il “salting” e l’hashing iterativo, per resistere a tali attacchi. NTLM, con i suoi algoritmi più vecchi, non offre tali protezioni.

Un altro rischio derivante dalla crittografia debole è la vulnerabilità agli attacchi con rainbow tables. Questi attacchi utilizzano tabelle precalcolate per invertire gli hash delle password. Poiché NTLM non usa un “salt” unico per ogni hash, diventa estremamente vulnerabile a questo tipo di attacco.

Cosa sono le salted passwords

Le “salted passwords” sono combinazioni di password e valori casuali (“salts”). Questi ultimi vengono aggiunti prima dell’hashing, rendendo più complesso decifrarle con attacchi di tipo dizionario o rainbow table. Questa pratica aumenta notevolmente la sicurezza delle password immagazzinate nei database.

Inoltre NTLM manca di meccanismi per garantire l’integrità dei dati. In un attacco man-in-the-middle, un aggressore intercetta e altera i messaggi tra due parti senza che nessuna delle due se ne accorga. NTLM non ha un sistema robusto per prevenire o rilevare tali interferenze, il che lo rende un target appetibile per gli attaccanti che desiderano intercettare o manipolare dati sensibili.

Senza un meccanismo per garantire l’integrità dei dati, NTLM è anche vulnerabile agli attacchi di tipo “re-play”. In un attacco di questo tipo, un aggressore cattura un messaggio di autenticazione valido e lo “riproduce” per guadagnare l’accesso non autorizzato a un sistema. Kerberos utilizzano “timestamp” e altre tecniche per mitigare questa vulnerabilità.

Un altro difetto che rende NTLM obsoleto è l’assenza di un meccanismo di autenticazione reciproca. In altre parole, mentre un server può verificare l’identità di un client, il contrario non è garantito. Questo “fiducia unilaterale” rende il sistema vulnerabile agli attacchi di spoofing.

Senza autenticazione reciproca, un attaccante può facilmente impersonare un server e ingannare il client per ottenere informazioni sensibili. Questo è particolarmente pericoloso nelle nostre reti aziendali, dove un singolo anello debole può mettere a rischio l’intera infrastruttura.

Perché va disabilitato

La disabilitazione di NTLM è più di una semplice precauzione: è un passo fondamentale per migliorare la sicurezza di una rete. Dato che NTLM è noto per le sue vulnerabilità, come come abbiamo appena visto, eliminarlo dal panorama riduce notevolmente il numero di vettori di attacco a disposizione degli aggressori.

Con una minore dipendenza da un protocollo insicuro, le organizzazioni possono ridurre significativamente i rischi di compromissione dei dati e di intrusioni nel sistema. Questo è particolarmente cruciale in ambienti che gestiscono informazioni sensibili, dove una singola violazione può avere conseguenze devastanti.

Nel lungo periodo, allontanarsi da NTLM permette di adottare tecnologie più moderne e sicure che possono offrire vantaggi sia in termini di sicurezza che di efficienza. Per esempio, il protocollo Kerberos (che è a tutti gli effetti il successore di NTLM) offre nativamente funzionalità avanzate come l’autenticazione multifattore (MFA), che non sono facilmente implementabili con NTLM.

Molte normative sulla sicurezza, come il GDPR (Regolamento Generale sulla Protezione dei Dat) o il PCI DSS (Payment Card Industry Data Security Standard), impongono standard rigorosi sulla protezione dei dati. In molti casi, l’uso di protocolli di autenticazione deboli come NTLM è in diretta violazione di queste normative.

Le aziende che non aderiscono a questi standard normativi non solo mettono a rischio i propri dati, ma possono anche incorrere in pesanti sanzioni e danni alla reputazione. La disabilitazione di NTLM è quindi non solo una pratica consigliata da un punto di vista tecnico, ma spesso anche un requisito legale.

Oltre ai vantaggi diretti in termini di sicurezza e conformità, la disabilitazione di NTLM può servire come un indicatore di un approccio serio e aggiornato alla cybersecurity. Questo può essere un fattore di differenziazione competitiva e un punto a favore nell’acquisizione e nel mantenimento della fiducia da parte di clienti e partner.

Ci sono alcune best practice che permettono di rendere meno insicuro il protocollo (ad esempio la disabilitazione della versione 1 o l’implementazione di restrizioni di accesso), ma in senso assoluto nessuna lo rende inattaccabile, quindi l’unica versa soluzione è disabilitarlo.  

Perché Microsoft non lo ha ancora rimosso

Ciononostante, Microsoft non lo ha ancora completamente rimosso dai suoi sistemi operativi.

Uno dei motivi più ovvi per cui Microsoft non ha ancora eliminato il protocollo NTLM è la necessità di mantenere la retrocompatibilità. Molti ambienti aziendali utilizzano ancora software legacy che dipende da NTLM per l’autenticazione. Rimuovere questo protocollo potrebbe in pratica rendere queste applicazioni inutilizzabili, con ripercussioni dirette sull’operatività delle aziende.

Il costo per aggiornare o sostituire applicazioni e sistemi legati a NTLM può inoltre essere proibitivo, specialmente per le organizzazioni di dimensioni ridotte. Questa è una considerazione importante per Microsoft, che deve tenere conto dell’intero ecosistema di clienti.

Microsoft ha incoraggiato l’adozione di protocolli di autenticazione più sicuri come Kerberos e, più recentemente, l’uso di protocolli moderni come OAuth e OpenID Connect. Tuttavia, spingere per una transizione troppo rapida potrebbe causare problemi operativi per alcune organizzazioni.

E’ proprio di ieri la notizia che il programma di Microsoft prevede la disabilitazione completa del protocollo in Windows 11. Questo significa che dobbiamo tutti metterci in condizione di poterne fare a meno sulle nostre reti. Il compito però non è semplice, come stiamo per vedere.

Perché è difficile riuscire a disabilitarlo

La disabilitazione di NTLM non è un’operazione che può essere effettuata isolatamente senza considerare l’ecosistema tecnologico più ampio. Diverse applicazioni e servizi all’interno di un’organizzazione potrebbero avere dipendenze nascoste o esplicite da NTLM. Prima di procedere con la disabilitazione, è quindi fondamentale eseguire un’analisi completa per identificare tutte queste dipendenze e pianificare le modifiche necessarie per ridurre gli impatti operativi.

Mancare nell’identificare una dipendenza potrebbe portare a interruzioni del servizio e potenzialmente causare periodi di inattività che potrebbero avere ripercussioni finanziarie e operative per l’azienda.

Ma visto che ogni rete è unica, con le proprie specificità di configurazione, politiche di sicurezza e requisiti operativi è impossibile l’applicazione di una singola procedura standard per disabilitare NTLM in tutti gli ambienti.

In molti casi, il processo di disabilitazione richiederà una strategia su misura, sviluppata con attenzione per adattarsi alle specifiche esigenze e configurazioni dell’organizzazione. Questo potrebbe includere la riconfigurazione di applicazioni, la revisione delle politiche di rete o persino lo sviluppo di soluzioni personalizzate.

Quindi cosa fare?

Approcciando il problema della gestione di NTLM ci troviamo di fronte a una sorta di “Comma 22” informatico: un protocollo riconosciuto insicuro è ritenuto necessario per il funzionamento delle reti informatiche e quindi non viene disabilitato d’ufficio né ci sono modi rapidi per farlo in piena certezza di non generare malfunzionamenti.

La disabilitazione di NTLM non è un compito da prendere alla leggera. Richiede una profonda comprensione delle infrastrutture di rete Windows, delle interazioni tra vari componenti di sistema e delle potenziali implicazioni di sicurezza. Inoltre, la transizione verso altri protocolli, come Kerberos, potrebbe richiedere competenze aggiuntive.

Una volta pianificata la disabilitazione, è essenziale disporre delle risorse necessarie per implementare le modifiche e testarle accuratamente in un ambiente controllato prima del loro rilascio in produzione. Questo spesso richiede un investimento significativo in termini di tempo e risorse umane, e in alcuni casi anche hardware e software.

Di norma il punto di partenza è verificare se nella rete il protocollo NTLM viene usato e da quali dispositivi, abilitando auditing a livello di dominio o di rete per intercettare eventuali comunicazioni che lo utilizzino. Da qui, possiamo iniziare una valutazione verticale di quali cambiamenti serva attuare ai workflow di rete per evitarne l’utilizzo.

Banalmente, se ci accorgiamo che il protocollo NTLM è usato dalla stampante per posare i file di scansione su uno share di rete, possiamo verificare se la stampante stessa supporta protocolli più recenti (magari dopo aggiornamento del firmware), oppure cambiare tout-court l’approccio e impostare la stampante per inviare i file tramite protocollo SMTP autenticatp e crittografato.

In conclusione, è chiaro che il protocollo NTLM presenta serie vulnerabilità che richiedono un’attenzione altrettanto seria da parte delle organizzazioni. La sua disabilitazione può rappresentare un passo cruciale verso una rete più sicura e resiliente. Nonostante le sfide tecniche e infrastrutturali coinvolte, investire nella transizione verso protocolli più moderni come Kerberos può portare a benefici significativi in termini di sicurezza e conformità normativa.

La sicurezza dei dati è una priorità critica, e disabilitare NTLM è un passo fondamentale per ottenerla. Ogni sforzo in questa direzione non solo migliora la protezione delle informazioni aziendali, ma anche l’immagine di affidabilità e sicurezza dell’intera organizzazione.

Risorse: Webinar Microsoft sull’evoluzione dell’autenticazione, in inglese, martedì 24 novembre 2023, h. 17.00

Autore
Furio Borsi
Si appassiona al mondo digitale fin da bambino, con il glorioso Commodore 64, sul quale si diverte a scrivere semplici programmi in Basic e modificare giochi. Nel 1990 riceve in regalo il suo primo PC (i386), seguito un paio d'anni dopo da un i486dx. In questi anni affina le sue attitudini al problem solving, scassando hardware e software e divertendosi a rimetterlo a posto. ;) Diventa così "quello che se ne capisce" per i suoi familiari e amici, arrivando a collaborare con alcuni studi professionali per la gestione del parco macchine e dei server Windows. Finito il liceo, studia DAMS con indirizzo multimediale a Bologna e Imperia. Nel 2002, dopo un anno sabbatico a Londra, lavora come sviluppatore junior in un'azienda che produce software per database territoriali in ambito Pubblica Amministrazione. In questo periodo si avvicina con passione a problematiche sistemistiche e di network management su reti estese. Nel 2007 entra a far parte dello staff di Achab, per cui si occupa di formazione e supporto, in particolare riguardo agli RMM e dei prodotti di sicurezza (firewall, AV, VA), e gestione del parco macchine e della rete, portando innovazione nell'azienda.
Commenti (0)
Iscriviti
Notificami
guest
0 Commenti
Inline Feedbacks
Guarda tutti i commenti