Vulnerabilità: attacchi basati su chiavi SSH

di: Giovanni Tugnolo     24 Settembre 2008

È di pochi giorni fa l'allarme lanciato da US-CERT (United States Computer Emergency Readiness Team) riguardo a un tipo di attacco attivo contro sistemi informatici basati su Linux; tale attacco sfrutta chiavi SSH compromesse per accedere a una macchina. Successivamente mediante l'uso di un exploit locale si guadagna i privilegi di superutente e si installa un rootkit denominato Phalanx2, il cui scopo è ricercare altre chiavi SSH da inviare all'attaccante, che potrà utilizzarle per accedere a nuovi sistemi.

SSH e la crittografia asimmetrica

Per poter comprendere come funziona questo attacco e quali sistemi siano realmente vulnerabili ad esso, è necessaria qualche piccola premessa che spieghi lo scopo di SSH e l'utilizzo della crittografica asimmetrica, o crittografia a chiave pubblica, per l'autenticazione a server SSH.

SSH (Secure SHell) è un protocollo pensato per risolvere il problema delle trasmissioni in chiaro durante la fase di autenticazione e trasferimento dati tra due host; fornisce servizi di shell remota e trasmissione dati esattamente come altri protocolli meno sicuri (telnet, ftp, ...) ma, a differenza di questi, garantisce confidenzialità offrendo un tunnel cifrato mediante un algoritmo crittografico. In pratica, se tutto funziona nel modo giusto, un client SSH può connettersi a un server SSH e tutti i dati scambiati fra le due macchine sono inaccessibili ad utenti non autorizzati; nello scenario più semplice, il client si autentica al server inserendo username e password, che vengono trasmessi protetti dalla crittografia e il server, dopo aver verificato le credenziali, concede o meno l'accesso. Tuttavia esistono metodi di autenticazione che non richiedono l'inserimento di una password, ma che si basano su concetti differenti: in particolare l'autenticazione a chiave pubblica fa uso della crittografia asimmetrica per consentire o negare l'accesso alle risorse protette.

La crittografia asimmetrica, contrapposta alla crittografia simmetrica, prevede l'uso di due chiavi distinte per ogni entità in gioco: una chiave pubblica e una chiave privata. Nella crittografia simmetrica vi è una sola chiave, segreta ma nota a entrambi gli attori della comunicazione, che viene utilizzata per cifrare e per decifrare il traffico; nella crittografia asimmetrica, invece, solo la chiave privata è tenuta segreta, e viene utilizzata per decrittare i dati crittati con la corrispettiva chiave pubblica. Ogni entità è quindi dotata di una coppia di chiavi, una per cifrare e una per decifrare.

Autenticazione a chiave pubblica

Abbiamo detto che SSH supporta una modalità di autenticazione basata sulla crittografia asimmetrica, denominata autenticazione a chiave pubblica. Il concetto che viene sfruttato è quello della firma digitale: un dato crittato (firmato) con una chiave privata può essere correttamente decifrato disponendo della chiave pubblica relativa; in questo modo si può verificare la firma, ossia la legittimità della sorgente dati, essendo che solo l'entità in questione può essere in possesso della propria chiave privata, e quindi solo essa può avere cifrato quel dato. La firma digitale non utilizza quindi la crittografia asimmetrica per proteggere in modo sicuro il traffico, bensì per autenticare un soggetto.

L'autenticazione a chiave pubblica nel contesto di SSH funziona nel seguente modo: un server SSH dispone di un file con un elenco di chiavi pubbliche relativo ad altrettanti client che devono avere libero accesso alla macchina; ognuno di questi client, nel momento in cui vuole collegarsi al server di cui sopra, utilizzerà la propria chiave privata per autenticarsi mediante firma digitale; il server controllerà la legittimità del client verificando la firma con la chiave pubblica recuperata dal file descritto in precedenza.

Guide Sicurezza

Guida SQL Injection con Sqlmap

Scopriamo se le nostre applicazioni web sono vulnerabili alle SQL...

Guida sicurezza applicazioni Web

Le tecniche di attacco più comuni, i metodi per verificare la...

Guida Sicurezza wireless

Quali sono i pericoli di sicurezza di una rete senza filo e quali...

Altre guide

Newsletter @Sicurezza

Ogni lunedì, direttamente nella tua e-mail: approfondimenti e bollettini su virus, vulnerabilità e sicurezza informatica.

Iscriviti alla newsletter

Altre newsletter

Corsi in aula

Amministratore di Reti Windows Server 2008

11 Giugno 2012 a Milano
Disponibilità: 5 Posti

Nessun corso previsto