Vulnerabilità in MS SQL, tocchiamo ferro…

Martedì Microsoft ha rilasciato una hotfix che risolve 2 vulnerabilità su Internet Explorer – e fin qui niente di strano, se avete attivato gli aggiornamenti automatici, probabilmente l’avete già scaricata. Però ne è stata pubblicata anche un’altra, stavolta per MS SQL, per prevenire l’esecuzione di codice arbitrario iniettato da un attaccante: e questo sinceramente mi inquieta già di più.

Chi fa assistenza tecnica da qualche annetto, di sicuro ricorda con poco piacere l’incidente di SQL Slammer (alias Sapphire, SQL_Hel, Helkern), avvenuto nel febbraio del 2003.  Fino ad allora si era solo teorizzata la possibilità di un worm iper-veloce, coltamente definito Warhol-Worm, con riferimento a una frase dell’artista Pop americano che diceva più o meno che in futuro, tutti avrebbero avuto 15 minuti di notorietà. Chi aveva coniato il termine intendeva che un worm avrebbe potuto diffondersi con una rapidità limitata solamente da costrizioni fisiche: in altre parole, infettare tutte le macchine vulnerabili sull’intera Rete nel giro di un quarto d’ora.

Alla base della teoria c’era il concetto di hitlist, un elenco di host suscettibili a un dato attacco raccolto prima dell’esecuzione del worm: equipaggiato con una hitlist accurata e sufficientemente ampia, il malware avrebbe potuto infettare un numero critico di macchine nel giro di pochi minuti. Ogni istanza del worm avrebbe poi potuto procedere con le tradizionali scansioni casuali alla ricerca di nuove macchine da compromettere, utilizzando eventualmente meccanismi di permutazione per evitare sovrapposizioni e per cercare di allargare il più possibile lo spazio di indirizzi attaccati. In questo modo, la prima fase della diffusione sarebbe stata talmente veloce da escludere qualunque possibilità di reazione da parte degli analisti e degli amministratori di rete; i worm di rete sono di solito un tipo di attacco “tutto o niente”: o riescono a propagarsi subito, oppure vengono fermati e non riescono a generare quella massa critica che serve loro come trampolino di lancio per la seconda fase. Se non ci sono abbastanza macchine infette, non c’è abbastanza potenza per cercare altre vittime in tempo utile.

Slammer realizzò questa previsione, malgrado non fosse nemmeno lontanamente così raffinato come quello ipotizzato dai ricercatori; in effetti non faceva altro che una serie di scansioni casuali sugli indirizzi IP e non cercava neppure di capire se l’host corrispondente era vulnerabile. Però, dato che il suo codice era brevissimo (neppure 400 bytes) e che utilizzava il protocollo UDP, che non richiede di stabilire una connessione vera e propria tra le due macchine, Slammer poteva semplicemente sparare alla cieca un singolo pacchetto verso un indirizzo a caso e passare a quello successivo senza attendere risposta. Se l’indirizzo corrispondeva a una macchina vulnerabile, questa veniva compromessa e cominciava a sua volta a cercare nuovi “ospiti”.
Il risultato fu che il 90% delle macchine vulnerabili e raggiungibili al mondo vennero infettate nel giro di circa 10 minuti. Secondo le stime del CAIDA, in questo lasso di tempo il numero degli host colpiti raddoppiava ogni 8,5 secondi.  Il traffico generato da Slammer era enorme e portò a un massiccio e diffuso Denial of Service, anche se la Rete non crollò mai del tutto. L’espressione “fulmine a ciel sereno” non rende propriamente l’effetto-sorpresa raggiunto da Slammer. Era come stare sdraiati in spiaggia a Rimini in agosto a prendere il sole e trovarsi nel giro di 10 minuti sepolti dalla neve e circondati dai trichechi.
Tanto per aggiungere una nota di colore, Slammer era inoffensivo: non era concepito per distruggere o alterare dati, né per installare ulteriore malware. Il suo unico scopo era diffondersi. In un codice così breve, forse non c’era lo spazio materiale per inserire un payload più complesso: ma i danni economici causati dall’interruzione di molti servizi furono comunque devastanti.

Allora come oggi, i sistemi vulnerabili erano sia i server che utilizzavano MS SQL che in generale tutti i computer con MSDE , l’engine di SQL, un componente utilizzato da molti prodotti di terze parti, che in molti casi l’utente non sa neppure di avere installato.

Quindi (e spero che abbiate letto il mio racconto toccando ferro o parti corporee beneauguranti, se siete maschi) cerchiamo di non ripetere l’esperienza; fate contento zio Bill, leggete i bollettini di sicurezza di Microsoft e poi patchate le vostre macchine il prima possibile.

Annunci

Lascia un commento

Archiviato in Informatica

Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...