I ricercatori Jeffrey Altman (fondatore di Auristor ), Viktor Dukhovni e Nicolas Williams hanno recentemente scoperto un bug presente in due implementazioni del protocollo di autenticazione Kerberos: quella di Microsoft , contenuta in tutti i sistemi operativi Windows, e l’open source Heimdal , utilizzata dalla maggior parte delle distribuzioni Linux e Unix.
La falla di sicurezza, chiamata dai ricercatori “Orpheus’ Lyre”, con un’evidente analogia mitologica legata alla figura di Cerbero, risale al 2000 per quanto riguarda Windows e addirittura al 1996 per quanto riguarda Heimdal: non è stata scoperta in tutto questo tempo poiché non compromette il corretto funzionamento del sistema ed è estremamente localizzata. L’implementazione del protocollo realizzata dal MIT , adottata da alcune distribuzioni, tra cui Red Hat, non è affetta dal bug .
La vulnerabilità consente ad un eventuale attaccante – il quale deve avere già penetrato la rete target – di effettuare una privilege escalation attraverso un attacco di tipo Man In The Middle : l’attaccante si spaccia per un provider di autenticazione, riuscendo così ad accedere alle credenziali fornite dai vari utenti .
In Kerberos, la mutua autenticazione tra utenti e servizi avviene attraverso una terza entità chiamata Key Distribution Center (KDC) , il quale produce oggetti chiamati ticket , che hanno lo scopo di autenticare un utente ad un determinato servizio. I ticket, a causa della notevole longevità del codice e di necessità di backward compatibility , possiedono al loro interno sia strutture di dati cifrate che altre non cifrate: i ricercatori hanno scoperto un metodo in grado di estrarre da un ticket dati sensibili non protetti da cifratura : il nome dell’utente, una serie di metadati, e la session key utilizzabile per autenticarsi ad un determinato servizio. Attraverso il possesso di questi dati, risulta possibile ingannare l’Authentication Server del KDC , impersonando un determinato utente.
Il bug consiste in due righe di codice , relative alla funzione _krb5_extract_ticket()
, utilizzata dai client Kerberos per estrarre informazioni da un certo ticket: la vulnerabilità è quindi presente soltanto lato client .
I ricercatori hanno deciso, per il momento, di non pubblicare il codice del loro exploit , in modo da dare tempo ai provider di rilasciare le patch di sicurezza necessarie: Microsoft ha rilasciato la propria con il Patch-Tuesday di questo mese , bollettini di sicurezza e relative patch sono state pubblicate anche da Samba , Debian , Fedora , Heimdal e FreeBSD .
Elia Tufarolo