Archive for the ‘linux’ Category

Linux Day 2008

Monday, October 27th, 2008

Lo scorso WeekEnd si è tenuto l’annuale LinuxDay; quest’anno l’evento è stato organizzato con la  collaborazione di 3 LUG campani: IrLUG HCSSLUG e XaLUG, che hanno organizzato una due-giornate all’insegna dell’opensource. La prima (venerdì) nelle aule della facoltà di informatica dell’Università si Salerno, e la seconda (sabato) ad Avellino in un centro sociale.

Il contributo del lug (XaLUG, appunto) di cui faccio parte si è concretizzato in un talk su “Iternet e webservices”. Il talk l’ho tenuto io, che, con questo intervento ho portato la bandiera dello Xalug a questo evento. Su slideshare potete trovare le slides della mia presentazione.

Al prossimo anno.

Se Dio non gioca ai dadi, perchè lo dovrebbe fare Debian?

Thursday, May 22nd, 2008

La faccenda è seria!
I ragazzotti di debian hanno delle mani piene di dita (come direbbe Parantido).
Il 13 maggio Debian ha annunciato che Luciano Bello ha scovato una iteressante vulnerabilità nel pachetto OpenSSL presente nella distribuzione.
Il Bug in qestione è stato introdotto dalla rimozione delle seguenti linee di codice dal file mf_rand.c

	MD_Update(&m,buf,j);
	[ .. ]
	MD_Update(&m,buf,j); /* purify complains */

A quanto pare queste linee sono state rimosse perchè i tools Valgrind e Purify producevano un warning sull’uso di variabili non inizializzate nelle porzioni di codice che sono linkate a OpenSSL.

La rimozione di queste simpatiche linee di codice ha si eliminato il tanto fastidioso warning, ma ha anche ridotto al solo PID del processo la rosa di dati che contribuivano ad aumentare l’entropia.
In altre parole il seed con cui veniva inizializato il generatore di numeri casuali era sempre un valore compreso tra 1 e 32.768: un numero decisamente basso!!

Questo vuol dire che generando una key, per ogni combinazione di architettura/key_size/key_type, si potranno ottenere al massimo 32.768 key diverse.

Tutte le key SSL e SSH generate su un sistema Debian-based (Ubuntu & co.) tra il settembre 2006 e il 13 maggio 2008 sono potenzialmente vulnerabili, quindi tutte le chiavi vanno rigenerate, tutti i certificati revocati e firmati di nuovo dalla Certificate Authority, tutti gli amministratori di sistema che permettono ai loro utenti di collegarsi in SSH con una autenticazione basata su chiavi devono ritirate le autorizzazioni alle chiavi e ricrearle. Tutti i dati trasmessi su un canale SSL (da server con una chiave vulnerabile) sono probabilmente decriptabili, e un attacco di tipo “man-in-the-middle” sarebbe invisible all’utente. Insomma mancano solo i 4 angeli con le trombe, la luna rosso sange e gli oceani che ribollono per completare il quadro.

É interessante notare che i sistemi debian-based assegnano il PID ai processi partendo da 1 e incrementandolo in maniera sequenziale man mano che se ne ritiene necessario uno nuovo; quindi un processo con un alto PID è stato invocato in un istante remoto rispetto al BOOT. Questa informazione è particolarmente utile per gli attacker, infatti le chiavi SSH sono spesso generate da un processo che gira con un PID sotto i 200 (dato che viene invocato in fase di boot), mentre un certificato SSL generato dall’utente è probabilmente stato creato da un processo con un PID compreso tra 500 e 10.000. Questo filtro riduce drasticamente il numero di tentativi di attacchi di forza bruta che un attacker deve compiere per introdursi nel sistema.

Ovviamente appena la falla è stata scoperta subito è stata resa disponibile la patch. E con essa anche dei tools per verificare se le proprie chiavi sono violabili o meno. Basta infatti aggiornare il proprio sistema Debian e lanciare “ssh-vulnkey -a” per verificare se le proprie chiavi sono o meno da sostituire immediatamente.