Di attacchi SQL Injection abbiamo spesso parlato nelle pagine del blog. Anche nella classifica stilata da OWASP, le cosiddette “injection flaws” sono tra quelle considerate più pericolose.
Da qualche tempo, molti siti web vengono “bersagliati” con l’aggiunta di codice nocivo – generalmente contenuto all’interno di IFRAME e spesso “offuscato” (ved. questo articolo e questo approfondimento).
Secondo i dati di F-Secure, il numero di pagine web attaccate con metodologie “SQL Injection” sarebbe compreso tra i due ed i tre milioni.
L’allarme è stato confermato da Microsoft ed HP. Le due società hanno infatti rilasciato alcuni strumenti per rilevare falle di sicurezza che potrebbero esporre ad attacchi “SQL Injection”. Microsoft aveva già nei mesi scorsi puntualizzato come problemi del genere fossero da ricondursi non a vulnerabilità delle applicazioni server quanto, bensì, ad una cattiva o superficiale programmazione delle pagine web dinamiche.
Tre sono gli strumenti proposti: HP Scrawlr si occupa di effettuare una scansione, lato client, alla ricerca di eventuali vulnerabilità “SQL Injection”. SQL Source Code Analysis Tool, invece, agisce lato server verificando la corretta gestione dei parametri passati in input ad ogni pagina web dinamica.
Microsoft propone infine la versione beta di URLScan 3.0, uno strumento destinato a server Windows (IIS 5.1 e successivi, compreso il più recente IIS 7.0) che si occupa di analizzare le richieste HTTP in arrivo “stralciando” quelle ritenute potenzialmente offensive.
Rammentiamo che si chiama “SQL injection” una particolare pratica di hacking che mira a colpire applicazioni web che si appoggiano a DBMS (ad esempio, Access, SQL Server, MySQL, Oracle e così via) per la memorizzazione e la gestione di dati. L’attacco si concretizza quando l’aggressore riesce ad inviare alla web application, semplicemente usando il browser, una query SQL arbitraria. Quando i dati ricevuti in ingresso dalla pagina web dinamica non vengono opportunamente filtrati, l’interrogazione SQL posta in input, potrebbe essere “agganciata” alla query effettuata a livello server dall’applicazione web. I risultati possono essere drammatici: l’aggressore, nel caso in cui l’attacco vada a buon fine, può essere in grado di alterare dati memorizzati nel database, aggiungere informazioni maligne nelle pagine web dinamiche generate a partire dal contenuto della base dati, modificare username e password.
Per rendersi conto delle dimensioni assunte dalla problematica, è sufficiente effettuare una semplice ricerca con Google.
Provate a digitare, nella casella di ricerca, le seguenti due interrogazioni: site:.it “b.js” e site:.it “ngg.js”. La maggior parte delle pagine web restituite, appartengono a siti web italiani che hanno subìto attacchi “SQL Injection”. Si tenga presente che sconsigliamo di visitare le pagine web proposte perché alcune di esse potrebbero ancora contenere il codice Javascript dannoso.
L’ondata di attacchi sembra aver avuto inizio nel mese di Maggio scorso compromettendo con successo migliaia di siti web a livello internazionale, compresi alcuni appartenenti ad istituzioni, organizzazioni ed aziende di fama mondiale.
In questo caso, gli aggressori remoti hanno aggiunto – all’interno delle pagine web dinamiche violate – alcuni riferimenti a Javascript ospitati su server remoti.
Al momento sembra che vengano utilizzati più di 160 domini Internet differenti per ospitare i codici Javascript maligni (b.js, ngg.js e fgg.js) inseriti sui siti web mediante attacchi “SQL Injection”. All’interno di tali script, il codice utilizza l’istruzione document.write per inserire nel corpo della pagina web una tag IFRAME contenente, a sua volta, un riferimento ad un altro Javascript. Quest’ultimo, tenta di scaricare ed eseguire del malware sulla macchina client dell’ignaro utente sfruttando alcune vulnerabilità di sicurezza. Nel caso in cui l’utente non abbia provveduto ad applicare le patch critiche per evitare di esporsi a rischi, vedrebbe il suo sistema compromesso. I codici nocivi più in voga negli ultimi mesi hanno sfruttato, in particolare, vulnerabilità ActiveX.