martedì 6 aprile 2010

Search engine poisoning attacks. Un interessante 'technical paper' pubblicato da SophosLabs

Fraser Howard & Onur Komili dei SophosLabs hanno pubblicato un interessante documento che esamina nel dettaglio la tecnica conosciuta come ' Search engine poisoning attack ' utilizzata per diffondere links, quasi sempre a falsi AV, attraverso i risultati di una ricerca in rete con Google, Yahoo, ecc.....

Questa pratica, sempre piu' diffusa, e' strettamente correlata al fenomeno della presenza di codici di pagine nascoste all'interno di siti legittimi, pagine che compaiono poi ai primi posti dei risultati di una ricerca linkando appunto falsi scanners AVonline ma non solo.

Tra l'altro, avrete certamente notato, come la presenza di pagine nascoste su siti IT sia uno degli argomenti piu' trattati anche su questo blog a causa del continuo aumento di siti compromessi, specialmente negli ultimi mesi.

Il documento propone una analisi approfondita di come centinaia di codici corrispondenti a pagine web , poi visualizzate sul browser, siano generati direttamente da Kit SEO appositamente creati ed inclusi in siti web compromessi.


Vediamo ora i dettagli del documento pubblicato ed a cui rimando per una lettura piu' approfondita. (questo il link)

In viola alcune considerazioni non presenti nel testo originale

--------------------------------------------------------------------------------------
Introduzione

L'ottimizzazione dei motori di ricerca (SEO) e' un termine generico che consiste in una serie di trucchi e tecniche che sono utilizzati al fine di elevare il posizionamento di una determinata URL nei risultati della ricerca.

Se correttamente eseguita una ottimizzazione (SEO) puo' avere un effetto significativo sul volume di traffico sul sito al punto che molte organizzazioni reclutano consulenti di marketing per ottimizzare i contenuti delle loro pagine per questo scopo.
Anche i principali motori di ricerca pubblicano linee guida per permettere di ottimizzare il 'ranking' di un sito nei risultati ma come vedremo questo sistema puo' essere anche utilizzato per scopi illeciti.(black hat SEO)

Storicamente le tecniche di black hat SEO sono state sempre associate a spammer, scammers e siti di commercio poco affidabili ma piu' recentemente, queste tecniche sono utilizzate per reindirizzare il traffico utente su siti dannosi ai fini della distribuzione di malware, soprattutto falsi antivirus Trojan

Il documento segue chiarendo alcuni termini utilizzati nel testo come ad esempio

• Falso antivirus = Categoria del malware che una volta installato sul PC inonda l'utente con falsi avvisi di sicurezza, (segnalazione di virus e altro codice malevolo in realta' non presente su computer) al fine di fare registrare a pagamento il falso software antivirus.

• pagine SEO - pagine destinate ad avere un ranking molto elevato nei risultati dei motori di ricerca, e che reindirizzano gli utenti a siti canaglia. A volte chiamate anche “SEO poisoned pages” letteralmente 'Pagine SEO avvelenate'

• Kit SEO - l'applicazione utilizzata per creare e gestire un attacco “Black hat SEO” e responsabile della generazione di pagine SEO per i crawler dei motori di ricerca per gli scopi di cui sopra.

• avvelenamento SEO - un termine usato per descrivere il processo utilizzato per ingannare i motori di ricerca facendogli posizionare le pagine opportunamente generate (e con link a falsi AV ecc...) ai primi posti dei risultati della ricerca.

Panoramica di attacchi SEO

Nel concetto, gli attacchi “SEO driven” sono abbastanza semplici.
Gli aggressori utilizzano kit di SEO (script PHP tipicamente) per creare pagine web infarcite con parole chiave e frasi d'attualita' che saranno poi incluse come termini di ricerca dai crawler dei motori.
Quando un utente cerca una di queste parole chiave e riceve il risultato da parte del motore di ricerca, cliccando sul link sara' esposto al malware.

Normalmente gli utenti che sono arrivati attraverso motori di ricerca alla pagina dannosa possono essere reindirizzati molte volte prima di venire linkati alla pagina finale malevola
Ad esempio, in attacchi SEO correnti utilizzati per la distribuzione di falso antivirus malware, la vittima e' in genere reindirizzato almeno due volte prima di essere portata sulla pagina finale di falso antivirus

Hosting del Kit di SEO

SophosLabs ha descritto in numerosi post sul suo blog come l'utilizzo di siti web legittimi e compromessi al fine di distribuire malware e' diventato quasi di routine per gli attaccanti
Infatti, una volta che un sito e' compromesso puo' essere abusato in una varieta' di modi - da hosting di siti di phishing sino a fornire una piattaforma da cui altri attacchi possono essere eseguiti.
Non quindi una sorpresa che siti legittimi compromessi siano utilizzati anche per ospitare gli attacchi SEO
La ragione di questo non e' solo la tracciabilita' del sito o l'abuso delle risorse del sito legittimo (hosting, larghezza di banda, ecc.)
Ospitando l'attacco SEO all'interno di un sito legittimo, gli attaccanti sono in grado di sfruttare la reputazione del sito , rendendo piu' difficile per i motori di ricerca individuare e rimuovere i link canaglia.
Inoltre, la distribuzione di attacchi su piu' siti di host compromesso offre maggiore resistenza contro il filtraggio delle URL e altri meccanismi di difesa.
Tutti, tranne uno degli attacchi SEO esaminati in questa ricerca, sono stati ospitati all'interno di siti legittimi.

E 'difficile stabilire esattamente come questi siti legittimi siano compromessi senza l'accesso ai dati di log ma tuttavia, emerge spesso un legame comune tra i siti compromessi.
Ad esempio, l'uso degli stessi Content Management System (CMS), tra cui (ma non solo Joomla, Wordpress, phpBB, MediaWiki, osCommerce, CMS Made Simple e Zen cart.
Questo suggerisce che le vulnerabilita' del CMS (CMS o plugin ed estensioni) possono essere sfruttate da malintenzionati per compromettere i siti.
Per un attacco, abbiamo scoperto che tutti i siti compromessi coinvolti sono stati ospitati dal medesimo provider, suggerendo che essi siano stati compromessi attraverso le vulnerabilita' del server.
L'unico attacco dove le pagine SEO non sono stati ospitati all'interno del sito legittimo si e' dimostrato di essere un caso interessante. Avevamo individuato pagine SEO ospitate su sottodomini, ed il sottodominio consisteva in una stringa basata sulle parole chiave (per esempio fordpoliceinterceptor.com sandrabullockdivorce.com
Ulteriori analisi hanno suggerito che era in realta' era l'hosting provider ad essere stato compromesso, in modo tale che i sottodomini puntassero a rogue IP (maggiori dettagli sulla tabella inclusa nel documento originale).

In uno degli attacchi esaminati invece , il kit di SEO e' stato affiancato dalla presenza di una backdoor PHP fornendo all'attaccante capacita' di caricare file, lanciare attacchi a distanza ecc.......

Gestione di attacchi SEO

Una volta che il sito ospitante e' stato identificato e compromesso con successo, viene caricato ed installato sul sito vittima legittimo il kit SEO
Al centro dell'attacco c'e' la capacita' di alimentare i motori di ricerca con contenuti da indicizzare per reindirizzare gli utenti a siti dannosi.
A tale fine il kit deve distinguere tra le diverse origini per la richiesta della pagina:

• crawler dei motori di ricerca

• utenti che arrivano tramite i motori di ricerca

• gli utenti che visitano la pagina

Il kit utilizza in genere uno script PHP centrale per gestire tutte le richieste di pagine. Cio' rende piu' semplice fare le distinzioni sopra all'arrivo di richieste di pagina.

Per identificare il crawler, si possono esaminare sia l'IP di chi richiede la pagina comparandolo con una opportuna lista di IP conosciuti per quel motore di ricerca ma anche ad esempio utilizzare la stringa di UserAgent ecc...
Quando lo script PHP determina che la richiesta della pagina e' da un crawler, restituira' gli opportuni contenuti Questi possono essere generati dinamicamente o caricati da un file su disco

Pagine richieste da parte degli utenti che arrivano tramite i motori di ricerca sono identificate verificando la provenienza REFERER od anche in modo rudimentale verificando la presenza di piu' occorrenze di '&', che e' il carattere di norma utilizzato come delimitatore di campo nella stringa di query.

Si tratta di procedure banali per il kit di SEO ed anche se naturalmente, e' possibile rimuovere o deliberatamente fornire false intestazioni HTTP associate ad una richiesta di pagina (es utilizzando un plugin per il browser ) una eventuale procedura per eludere i controlli del kit SEO non e' alla portata della maggior parte dei comuni utenti Internet
Va inoltre ricordato che in almeno uno dei kit SEO indagati, l'IP originario di richiesta di pagina e' stato registrato. Il reindirizzamento maligno quindi sarebbe eseguito solo una una volta per ogni singolo IP.
(aggiungo che in numerosi casi viene anche praticata una geolocalizzazione dell'IP di provenienza per 'evitare' di reindirizzare utenti provenienti da aree (la Thailandia e' una di queste) considerate poco 'appetibili' ai fini di una eventuale “registrazione a pagamento “ del fake AV )


Generazione della pagina SEO

Perche' gli attacchi “ SEO driven “ abbiano successo, le pagine generate devono soddisfare i crawler dei motori di ricerca facendosi classificare ai primi posti dei risultati.

A seconda di come opera il kit di SEO, il collegamenti linkati dal motore di ricerca possono essere sia a pagine statiche HTML, pagine PHP o sottodomini collegati a SEO

Ispezione della sorgente delle pagine generate SEO rivela il mix previsto di parole chiave di attualita' e di frasi e di collegamenti ad altre pagine SEO sul sito
Le pagine possono sembrare brutte all'occhio umano, ma questo e' irrilevante (sono costruite per essere "attraenti" per il bot del motore di ricerca)

(Una ulteriore spiegazione che giustifica layouts spesso quasi illeggibili da un utente umano e' anche giustificata dal fatto che in pratica , con gli script java abilitati sul motore di ricerca, il piu' delle volte la pagina non viene per niente visualizzata sul browser dell'utente ma si viene subito rediretti (con uno o piu' salti) sino alla pagina finale di fake AV.
Nonostante questo capitano siti ( come quelli IT compromessi su server UK a decine) che presentano pagine incluse con una certa cura anche nel layout come se comunque potessero essere disponibili anche per chi le visitasse senza essere rediretto su sito di fake AV in automatico)

In alcuni siti le pagine generate dal Kit contengono anche link a pagine SEO su altri siti compromessi con lo stesso kit.
Questa pratica e' utilizzata frequentemente in SEO, ed e' nota come scambio di link.
In genere, le pagine SEO vengono generate dinamicamente dai kit, utilizzando motori di ricerca per generare un testo dai contenuti appropriati.
(seguono dettagli sul modo di generazione dei contenuti ricordando che le parole chiave possono essere acquisite anche da server centrali tipo C&C a cui il kit SEO si collega da remoto)

Una sintesi dei passaggi tipicamente coinvolti nella generazione delle pagine di SEO e' riportato di seguito.

• Fetch delle ultime parole chiave sia su server C & C che Google Trends (o simili).
• Ricerca con queste parole chiave sui principali motori di ricerca (usando fsockopen (), cURL)
• Utilizzo di espressioni regolari per estrarre i contenuti testuali trovati e rilevanti a fini della generazione delle pagine SEO
• Acquisizione (opzionale, non tutti i kit includono tali
link.) di una lista di link ad altre pagine SEO sullo stesso server, e su altri server
compromessa con il kit stesso SEO - (Opzionale, non tutti i kit includono tali
link.)
• Creazione delle pagine inframezzando i contenuti con i link alle pagine di SEO (per aumentare il page ranking)

A seconda del kit, altri contenuti possono essere aggiunta al layout della pagina:
- time e data casuale
- immagini e contenuti video
ecc...

Una volta completata, la pagina generata viene emessa in risposta alla richiesta HTTP.
Alcuni dei piu' sofisticati kit SEO conservano in cache il contenuto generato, per un particolare insieme di parole chiave
Oltre ad essere piu' efficiente, questo ridurrebbe anche la possibilita' per i motori di ricerca di marcare come sospette richieste in entrata (da un volume relativamente ridotto di indirizzi IP)

Per un 'attacco SEO di successo le parole chiave scelte sono critiche e devono rispecchiare i contenuti che gli utenti stanno attivamente cercando in rete.
In pratica gran parte del lavoro di ricerca dei termini piu' utilizzati e' gia' stato fatto dai motori di ricerca (ed eventualmente altre applicazioni web popolari), rendendo banale estrarre dagli stessi parole o frasi piu' utilizzate in ricerca.
I termini da includere nella SEO page possono anche essere gestiti a livello centrale da servers C & C, anche se questo rende l'attacco meno resistente.
n entrambi i casi, una copia dei termini di ricerca sara' spesso conservata localmente.
In uno dei kit analizzati abbiamo trovato un certo numero di file di log con informazioni relative alla richiesta della pagina SEO tra cui:

• parola/parole chiave di ricerca da parte dell'utente
• timestamp
• stringa user agent
• stringa di referrer
• IP da cui la pagina richiesta e' pervenuta

Il kit permette agli attaccanti di recuperare il file di log attraverso una richiesta HTTP e cio' suggerisce che gli aggressori possono monitorare le richieste, al fine di attirare in modo piu' efficiente utenti (per esempio ottimizzando le parole chiave o motori di ricerca mirati).
L'analisi di questi dati rivela alcuni fatti interessanti, alcuni dei quali sono evidenziati nella tabella presente nel documento
Va notato che questi dati sono estratti da uno solo degli attacchi studiato in questa ricerca.
Quando le richieste in arrivo alle pagine SEO sono rilevate come provenire da parte degli utenti attraverso un motore di ricerca, queste propongono il reindirizzamento al sito maligno.

Ci sono molti modi per raggiungere tale obiettivo, il piu' semplice e' quello di utilizzare l'intestazione PHP per impostare il responseheader appropriato e inviare un redirect
Per i piu' sofisticati di questi kit, una verifica della stringa di UserAgent viene utilizzata per identificare le richieste dal bots motore di ricerca, in modo che il contenuto attivo per il reindirizzamento viene aggiunto solo per le richieste da utenti. Questo e' fatto probabilmente per eludere i rilevamenti e la marcatura in lista nera delle pagine pericolose SEO.
Ci sono molti modi per reindirizzare l'utente utilizzando il contenuto attivo all'interno della pagina web, il piu' comune e' JavaScript o contenuti ActionScript in Flash
Nella maggior parte degli attacchi analizzati, ci sono piu' livelli di reindirizzamento coinvolti prima che la vittima sia esposto al falso scanner AV
Finora, e' chiaro che gli sforzi attaccanti di eludere le tecnologie di filtraggio URL, si concentrano sul secondo e terzo livello di reindirizzamento. Il reindirizzamento iniziale (dalla pagina SEO) e' aggiornato ogni 10 minuti per alcuni dei kit di analisi (tramite i dati recuperati dal server C & C), ma solo il sottodominio cambia
Per gli altri kit il reindirizzamento iniziale e' piuttosto statico.

La notifica delle pagine SEO ai motori di ricerca

Anche se le pagine SEO esistono, non verranno visualizzate nei risultati dei motori di ricerca fino a quando non sono state indicizzate. ma affinche' i crawler dei motori di ricerca indicizzino le pagine, devono essere prima consapevoli del fatto che queste esistano.
Nella maggior parte dei kit, ogni pagina contiene dei link SEO ad altre pagine simili in modo tale che il processo di 'semina' e' essenzialmente automatizzato (i links alle pagine di SEO su diversi
siti compromessi possono essere condivisi attraverso servers C & C).
Cio' significa che solo la prima pagina SEO creata in un attacco deve essere notificata al motore di ricerca , il che puo' essere comodamente fatto tramite moduli forniti dai motori stessi.
Nel kit SEO in cui non ci sia collegamento ad altri siti compromessi nel stesso attacco, abbiamo osservato un paio di altri metodi.

• La pagina principale dei siti compromessi viene modificata per contenere i link alle pagine ospitate SEO all'interno di tale sito. Questi link possono utilizzare CSS per renderli invisibili agli utenti, ma non al crawler dei motori di ricerca che gli indicizza facilmente.
• I collegamenti sono pubblicati su altri siti legittimi (attraverso vari meccanismi di input dell'utente, come commenti, social bookmarking e blog).

Il documento si conclude con l'analisi di alcune metodologie di protezione contro gli attacchi SEO che essenzialmente puo' essere ricondotto anche ad una individuazione di problemi di compromissione del server.

----------------------------------------------------------------------------------------------

Il testo in inglese completo in formato pdf e' disponibile qui.

Da quanto risulta dal documento proposto l'inclusione su siti legittimi, che a questo punto potremmo definire come di Kit SEO piuttosto che di pagine web nascoste, si dimostra una pratica molto piu' sofisticata di quanto appariva ad una occhiata superficiale.

La complessita' dei kits di SEO analizzati dai ricercatori dimostra come ci troviamo di fronte a software altamente efficiente nel creare tutte le condizioni perche' la diffusione di links a falsi Av ma anche a pagine con altro genere di malware, siti di pharmacy ecc. continui ad espandersi.

In piu', se come affermato nel documento, questi Kit spesso includono possibilita' di accesso remoto da servers C&C risulta evidente come la sicurezza dei dei siti legittimi compromessi (ma anche degli stessi server su cui risiedono) possa risentire di questi attacchi.

Edgar

Nessun commento: