Sfruttamento di una code injection (parte 1): attacchi drive-by-download

Le web applications poggiano su un codice sorgente che viene elaborato e visualizzato nel client. Quello che l’utente finale vede quando naviga sui siti Internet, non è altro che il risultato del codice che il browser interpreta per fornire contenuti testuali, immagini, video, forms e tutto ciò che lo sviluppatore vuole che venga mostrato. Molte web applications richiedono un input da parte dell’utente attraverso interfacce grafiche (GUI) che accettano dati dall’esterno restituendo come output una determinata risorsa. L’esempio più classico è quello di un motore di ricerca incorporato in un sito: in base alle informazioni fornite dall’utente, il server effettuerà una query al database per l’individuazione dei contenuti richiesti.

In un ambiente adeguatamente protetto, saranno presenti filtri per garantire che i dati in ingresso corrispondano al formato che l’applicazione prevede. Ciò significa, per esempio, che se l’applicazione si aspetta un valore numerico, non dovrebbe accettare lettere e caratteri speciali. Uno scarso controllo sui dati forniti dall’utente in input innesca una vulnerabilità nota come “iniezione di codice” (o code injection). Poiché abbiamo detto che il browser è in grado di elaborare gli script incorporati nelle pagine web, un attaccante con le giuste conoscenze può iniettare codice dannoso compromettendo la sicurezza di chi naviga nel sito.

Ad oggi, le tecniche di code injection rappresentano il principale metodo di propagazione dei malware, e vengono costantemente utilizzate per infettare il maggior numero di sistemi in tutto il mondo. Sfruttando una o più vulnerabilità nella web application, l’aggressore inserisce un payload (di solito scritto in JavaScript) che comunica con un server remoto dove sono ospitati i contenuti malevoli. Sebbene tradizionalmente sia necessaria l’interazione della vittima per eseguire codice arbitrario (per esempio aprire un allegato di posta elettronica o installare un falso aggiornamento), negli ultimi anni si è assistito ad un nuovo tipo di attacco che va sotto il nome di drive-by-download. La sua pericolosità sta nel fatto di essere completamente silenzioso, poiché il malware viene scaricato in background senza che né l’utente finale né il gestore del sito (il più delle volte un sito legittimo) sappiano cosa sta accadendo.

In un tipico attacco drive-by-download, la semplice visita ad una pagina infetta può portare alla compromissione del sistema. L’aggressore acquista il controllo pressoché totale sulla macchina, rubando password, codici bancari ed altre informazioni sensibili. Negli ultimi anni, diversi “financial malware” come Zbot e Dridex sono stati diffusi attraverso sofisticati attacchi lato client, sfruttando alcune vulnerabilità nei plug-in più popolari. Per questo motivo, è importante aggiornare il browser con tutti i suoi componenti, e in generale l’intera parte software che gira sul dispositivo. L’utilizzo di programmi antivirus può aiutare a ridurre i rischi, ma una protezione multiforme e stratificata è un principio imprescindibile nella moderna sicurezza informatica.

Sfruttamento di una code injection (parte 1): attacchi drive-by-downloadultima modifica: 2017-11-02T03:12:02+01:00da kith_straworth