Il Buco di Sendmail

La notizia fa già discutere e non potrebbe essere altrimenti.

Nasce il 3 Marzo da ISS che annuncia la scoperta di una seria nuova vulnerabilità di Sendmail, uno dei server SMTP più usati in rete.  Rimbalza nelle headlines dei primi security alert, si annuncia ampiamente sul sito di Sendmail Inc, compare nel CERT advisory 2003-7 e approda, con qualche ora di ritardo su Slashdot. Mentre s'infiammano in rete discussioni e disquisizioni, considerazioni e consigli,  ironie e preoccupazioni, inizia un nuovo round della sfumata lotta fra hackers e sysadmins. I primi a ingeniarsi nel trovare  il modo di sfruttare la vulnerabilità annunciata, alcuni dei secondi in affannosa ricerca delle patch con in mente orrorifiche visioni di mass mailing e worming.

Sendmail è uno dei simboli dell'OpenSource e di Internet stessa. Ha consegnato messaggi fin dagli arbori della rete,  scambiando email e file fra server Unix in tempi innocenti, quando non ci si preoccupava molto della sicurezza dei sistemi e dei protocolli. E' cresciuto di versione in versione e si è portato dietro una logica complessa, estremamente flessibile ma a suo modo contorta, che ha richiesto ripetute correzioni e pezze per rincorrere le sempre più variegate vulnerabilità che gli venivano trovate.
Negli ultimi tempi il suo sviluppo si era consolidato, da almeno un paio d'anni non venivano scoperti bug pericolosi e, nonostante la crescente concorrenza di altri mailer OpenSource come Postfix e Qmail, nati dopo e intrinsecamente più sicuri, è stato per molti una scelta stabile e affidabile.

Il buco reso noto il 3 Marzo, ma scoperto da settimane e comunicato il 31 Gennaio a Sendmail Inc. dal team X Force di ISS per permettere di preparare un'adeguata patch al momento dell'annuncio pubblico, sfrutta una falla presente nel codice di tutte le versioni di Sendmail, fino alla 8.12.8, rilasciata con la correzione del problema.
Uno dei meccanismi di controllo degli indirizzi di posta elettronica presenti negli header di un messaggio (tipicamente to: from: cc: e bcc:) gestisce in modo non corretto una variabile e questo può essere sfruttato per dare luogo ad un buffer overflow, che può essere utilizzato per eseguire comandi arbitrari sul sistema con i privilegi con cui gira Sendmail, solitamente root.
Ufficialmente non esiste ancora un exploit diffuso in rete in grado di sfruttare questa vulnerabilità, ma ISS ne ha dimostrato l'applicabilità su sistemi in produzione e il fatto di poter essere attivato tramite gli header di un qualunque messaggio di posta ne amplia in modo smisurato la pericolosità.

Gli scenari che si aprono nelle menti dei cracker più crudeli (un vero hacker non metterebbe mai in circolazione un simile exploit) e dei tecnici più consapevoli sono inquietanti e variegati. Orde di spam-mail maligne, che portano nei loro header un payload virulento, in grado di compromettere server non patchati e, eventualmente, duplicarsi e diffondersi, come un feroce worm sterminatore di Sendmail non aggiornati.
I virus writer staranno già pensando ad una nuova generazione di virus, la cui definizione sfuma in quella di worm, che non infetta i client Windows degli utenti finali ma i server Unix che ne gestiscono tutti i messaggi, si diffondono via mail, ma, a differenza di normali virus, lo fanno automaticamente, senza nemmeno l'ignaro intervendo umano, possono corrompere sia server di posta pubblici che server interni, nel cuore delle reti aziendali, attraversando firewall per la lecita porta 25 e consegnando a destinazione mail dagli effetti arbitrari, secondo l'arbitrio di chi le ha mandate.
La prospettiva non è nuova, anche una recente vulnerabilità di Fetchmail, un programma opensource molto utilizzato su Linux, e altri Unix, per scaricare e processare posta da un server remoto, permette di ottenere privilegi di root tramite un buffer overflow che può essere potenzialmente sfruttato con una normale email.
Il fatto di non aver ancora visto in circolazioni un worm o un virus che possano sfruttare questi buchi e eventualmente trovare un meccanismo per auto diffondersi dipende dalla intrinseca difficoltà di un simile attacco, soprattutto se si cerca di renderlo efficace su ignoti e generici sistemi. Ma questo non deve far stare tranquilli gli amministratori di sistema pigri o troppo occupati: il recente worm SQL Slammer ha messo in ginocchio Internet sfruttando un buco di sicurezza reso pubblico, con relative patch, più di sette mesi fa ed è presumibile che molti, con diversi scopi e diverse mentalità, si impegneranno per realizzare un exploit praticamente utilizzabile.

Simili prospettive inevitabilmente riscalderanno le prese di posizione sull'approccio alla sicurezza del software aperto rispetto a quello proprietario, scateneranno scherno e polemica fra fanatici di Linux e dell'OpenSource e militanti di Windows e avranno eco variabile su siti tecnici e d'informazione in rete.

Tecnicamente questa è un'altra vulnerabilità grave di un software molto diffuso su server Internet, permette un root compromise da remoto, praticamente il peggio che possa accadere ad un sistema Unix, non è ancora diffuso un exploit che possa sfruttarla ma potrebbe esserlo in futuro, con conseguenze e possibilità di diffusione potenzialmente notevoli; si risolve semplicemente aggiornando il proprio Sendmail, pratica che non è certo immediata se si devono ricompilare i sorgenti, ma diventa estremamente semplice o addirittura automatica, se il vendor del proprio Linux o Unix ha provveduto a rilasciarne i pacchetti aggiornati.
Chi ha una macchina con RedHat Linux 8.0, per esempio, ha potuto aggiornare Sendmail, praticamente senza interrompere il servizio, prima ancora di vederne la notizia in rete.
Chi utilizza una versione commerciale di Sendmail, ha potuto scaricare immediatamente comode patch dal sito di Sendmail Inc, mentre su Sendmail.org venivano pubblicati i nuovi sorgenti della versione 8.12.8. Gradualmente tutte le distribuzioni Linux e i produttori Unix stanno rilasciando i propri aggiornamenti: il problema è potenzialmente troppo serio per poter essere sottovalutato.

I tempi di risposta, anche grazie alla oculata policy di disclosure adottata da ISS che ha permesso il rilascio della patch contemporaneamente all'annuncio pubblico della vulnerabilità, sulla disponibilità degli aggiornamenti da parte di molti vendor sono stati inequivocabilmente rapidi. A dimostrazione che il supporto commerciale per prodotti OpenSource esiste, è efficace e giustifica il suo costo, che spesso è al di sotto delle medie di mercato.

I pregi e le insidie dell'OpenSource, in termini di sicurezza, si sono rilevati in tutte le loro contraddizioni. ISS ha fatto un profondo code auditing sui sorgenti di Sendmail per individuare questa falla, il codice di Sendmail stesso ne uscirà rafforzato e più sicuro, dopo l'ennesima profonda revisione che ha subito, gli amministratori di sistemi vulnerabili hanno il tempo di aggiornare le loro macchine ma molti server resteranno scoperti, dimenticati, potenzialmente vulnerabili e insicuri. Se qualcuno, con diverso spirito e intenzioni fosse riuscito a scoprire per primo questo buco, avrebbe avuto la possibilità di penetrare un grandissimo numero di server e, se fosse riuscito a farne un worm avrebbe, ancora una volta, potuto mettere in ginocchio la rete, almeno per qualche ora.
Questa intrinseca vulnerabilità di Internet e dei suoi server, in realtà, prescinde dalla policy di rilascio del codice e investe l'apparentemente irrisolvibile problema di praticamente ogni software usato in rete: prima o poi qualcuno, con metodi ingeniosi e approcci innovativi, riuscirà a trovarne una nuova falla e questo richiederà l'inevitabile pezza.
Nella corsa senza fine alla sicurezza informatica chi si aggiorna per primo vince.

Privacy Policy