Sconfiggere i virus con l’informazione Mi piacerebbe spendere un articolo del mio blog per poter scrivere qualcosa in merito all'argomento "virus informatici", in particolare mi piacerebbe dipingerne un quadro generale che possa essere preso come spunto per riflettere ed analizzare la situazione della propria rete o del proprio computer. Quanto appena detto è ciò che ho cercato di fare in questo lungo articolo pensato per poter essere letto e compreso anche da utenti poco esperti ma, allo stesso tempo, credo che anche gli utenti più informati potranno trovare ottimi suggerimenti o punti di riflessione con i quali confrontare le proprie idee. Nota per la lettura: ho suddiviso l'articolo in capitoli (li riconoscerete dai titoli), ogni capitolo tratta un argomento specifico partendo dal significato storico di virus, fino ad arrivare ad una rimozione manuale di una infezione malware. Di seguito trovate un elenco degli argomenti trattati: • • • • • • • • • • • Significato storico di "virus informatico" Cosa si intende per "virus" oggi? I Worms I Rootkit Le altre tipologie di malware Attività criminose legate ai malware I tipici sintomi di una infezione malware I principali metodi di diffusione di malware Consigli per la prevenzione alle infezioni malware Principali strumenti per la scansione e la rimozione di malware (automatica e manuale) Una infezione raccontata Buona lettura N.B: Questo articolo include una serie di definizioni tratte da Wikipedia e Anti-Phishing.it,nella maggior parte dei casi queste informazioni sono state riportate integralmente poiché ritenute sufficientemente corrette nella loro forma originale. Pagina 1 di 31 Autore Mirko Iodice www.notageek.it Il significato di "virus informatico". Un po' di storia Il termine "virus" indica tecnicamente (e storicamente) una sorta di piccolissimo programma che è composto da un numero molto ridotto di istruzioni (sequenza prestabilita di passi da compiere) che una volta eseguito si occupa di modificare e quindi "infettare" il codice di altri file e programmi installati nel computer vittima. Tuttavia, un virus di per sé non è un programma eseguibile, così come un virus biologico non è di per sé una forma di vita. Come dicevamo, un virus, per essere attivato, deve infettare un programma ospite oppure una sequenza di codice che viene eseguita automaticamente all'avvio del computer. La tecnica solitamente usata dai virus è quella di infettare i file eseguibili: il virus inserisce una copia di sé stesso nel file eseguibile che deve infettare, pone tra le prime istruzioni di tale eseguibile un'istruzione di salto alla prima linea del suo codice ed alla fine di questo mette un altro salto all'inizio dell'esecuzione del vero programma. In questo modo quando un utente lancia un programma infettato viene dapprima impercettibilmente eseguito il virus, e poi il programma. L'utente vede l'esecuzione del programma e non si accorge che il virus è ora in esecuzione in memoria e sta compiendo le varie operazioni contenute nel suo codice. Si possono distinguere due fasi di un virus: • quando è solo presente su un supporto di massa (disco fisso, floppy, CD, ...) il virus è inerte, anche se copiato sul proprio PC non è in grado di fare nulla fino a quando non viene eseguito il programma che lo ospita; • quando è stato caricato in memoria RAM il virus diventa attivo ed inizia ad agire. Lo scopo di un virus principalmente è quello di eseguire copie di sé stesso spargendo l'epidemia, ma può avere anche altri compiti molto più dannosi come cancellare o rovinare dei file, aprire dei punti di ingresso dalla rete al computer infettato, fare apparire messaggi o disegni, modificare l'aspetto del video, ecc. Alcuni virus vengono denominati in maniera particolare a seconda che possiedano a meno determinate caratteristiche: • virus polimorfico: un virus, di solito, viene criptato lasciando in chiaro solo la routine di decriptazione. Un virus polimorfico modifica il codice della routine di decriptazione ad ogni nuova infezione (lasciando ovviamente invariato l'algoritmo) mediante tecniche di inserimento di codice spazzatura, permutazione del codice, etc... • virus metamorfico: simile al virus polimorfico, è però in grado di mutare completamente il proprio codice, è più potente del virus polimorfico in quanto alcuni software antivirus possono riconoscere un virus dal codice anche durante l'esecuzione. A volte impiega anche tecniche di mascheramento avanzate come la suddivisione del proprio codice e successivo inserimento delle parti all'interno di diversi punti del file infettato, in questo modo è possibile lasciare invariato l'entry point (il "punto di ingresso" - il punto in cui ha inizio il codice dell'applicazione) rendendo ancora più difficile la vita dei software antivirus. I virus convenzionali infatti inseriscono il proprio codice integralmente in fondo al file cambiandone poi l'entry point allo scopo di eseguire per primo il codice maligno e poi il reale programma. C'è da aggiungere anche che la criptazione dei virus metamorfici non è necessaria. • exe virus: virus che infettano i file eseguibili .EXE. • com virus: virus che infettano i file di comando .COM (ormai rari). • companion virus: virus che sfruttano la caratteristica dei sistemi ms-dos che consiste nell'eseguire prima un file di comando .COM e poi un eseguibile .EXE in caso abbiano lo stesso nome di file (es. tra PROGRAM.EXE e PROGRAM.COM se si avvia PROGRAM senza specificarne l'estensione verrà prima lanciato PROGRAM.COM), in questo modo i virus creano dei "gemelli" (companion) che sono copie del virus stesso che, dopo essere stati eseguiti, lanciano il relativo .EXE mascherandosi (ormai rari). • virus di boot: un tipo di virus ormai poco diffuso, che infetta il boot sector dei dischi (floppy disk o hard disk) invece che i singoli file. Pagina 2 di 31 Autore Mirko Iodice www.notageek.it • Macrovirus: può essere contenuto generalmente in un documento di Microsoft Word, Microsoft Excel o Microsoft PowerPoint e consiste in una macro; può diffondersi a tutti i documenti che vengono aperti con quella particolare applicazione. Questo tipo di virus può infettare i sistemi operativi su cui gira ms-office (windows e mac), anche se non è detto che possano funzionare correttamente su altri sistemi operativi coinvolti. • Retrovirus: virus che si annida nei programmi antivirus e li mette fuori uso. Il nome deriva dai retrovirus biologici, in grado di attaccare il sistema immunitario (come, ad esempio, l'HIV). • virus multipiattaforma: ci sono stati vari tentativi per creare virus che infettassero più sistemi operativi funzionanti sotto la stessa architettura hardware e lo stesso processore, ma si sono rilevati degli insuccessi o hanno avuto un successo molto limitato. Un esempio è il virus winux [1] che in teoria può infettare sia i sistemi operativi della Microsoft che quelli unix-like (es: GNU/Linux) giranti sotto CPU x86. In generale questi tipi di virus multipiattaforma si possono difficilmente inserire su un sistema unix-like: di solito la diffusione avviene solo se l'utente esegue un allegato di una mail, cosa già di per se abbastanza remota, e perché un allegato, appena salvato, non può essere eseguito se non gli vengono assegnati i permessi di esecuzione, quindi si può scartare il caso che l'esecuzione sia accidentale; in altri casi addirittura deve essere l'utente root ad eseguire l'allegato, cosa ancora più improponibile per chi sa gestire un sistema di tale tipo. Il successo di questo tipo di virus è circoscritto al fronte dei sistemi operativi della Microsoft, dove invece è possibile quasi sempre eseguire un allegato, anche solo per errore. La scarsa conoscenza dei meccanismi di propagazione dei virus e il modo con cui spesso l'argomento viene trattato dai mass media favoriscono la diffusione tanto dei virus informatici quanto dei virus burla, detti anche hoax: sono messaggi che avvisano della diffusione di un fantomatico nuovo terribile virus con toni catastrofici e invitano il ricevente ad inoltrarlo a quante più persone possibile. È chiaro come questi falsi allarmi siano dannosi in quanto aumentano la mole di posta indesiderata e diffondono informazioni false, se non addirittura dannose. Pagina 3 di 31 Autore Mirko Iodice www.notageek.it I Virus di "Oggi" Oggi sono ben pochi i codici maligni ai quali si può propriamente attribuire il nome di virus. Quando un tempo lo scambio dei file avveniva tramite supporti fisici, generalmente i floppy, erano quest'ultimi ad essere il veicolo delle infezioni e pertanto era importante, volendo creare un virus che si diffondesse ampiamente, che questo fosse il più silenzioso possibile. Venivano scritti in assembly e questo li rendeva piccoli, performanti ed insidiosi. Parlando oggigiorno di virus, entrando nel particolare, si commette sicuramente un errore. Solitamente, quando parliamo di "virus", ci riferiamo ormai a tutto quel codice maligno in grado di arrecare danno ad un utente; utilizziamo pertanto erroneamente questa parola come sinonimo di "malware", giovane termine che deriva dalla contrazione delle parole inglesi "malicious" e "software", il cui significato letterale è "programma malvagio"; in italiano è detto anche "codice maligno". L'equivoco appena descritto viene alimentato anche dal fatto che gli anti-virus moderni permettono di rilevare e rimuovere anche altre categorie di software maligno oltre ai virus propriamente detti. Con la parola "malware" possiamo oggi aggregare innumerevoli tipologie di programmi volti ad arrecare danno, ne cito alcuni: • • • • • • • • • • • • • • • Virus Worm Trojan Horse Backdoor Spyware Dialer Hijacker Rootkit Rabbit Rat Bot Adware Keylogger Browser Plug-in ... Pagina 4 di 31 Autore Mirko Iodice www.notageek.it I nuovi "veri virus" si chiamano "worms" Gli utenti di internet diventano sempre di più (e sempre meno preparati), la banda larga è disponibile ormai per tutti e i PC diventano sempre più potenti... tutto questo favorisce il viaggio delle informazioni da un capo all'altro del pianeta senza più vincoli fisici e così si aprono nuove strade anche per la diffusione di codice maligno. Il vecchio concetto di virus è stato sostituito con quello più moderno di worm. I worm sono scritti in linguaggi di programmazione di livello sempre più alto in stretta connivenza con il sistema operativo, nella quasi totalità dei casi si tratta di Microsoft Windows. Questi nuovi tipi di infezione penetrano nel sistema quasi sempre in maniera del tutto autonoma grazie allo sfruttamento di vulnerabilità (bachi - bugs) di alcuni programmi (anche antivirus) o del sistema operativo stesso, non fanno molto per nascondersi e si replicano automaticamente come vermi in tutti i pc della rete. Il worm è studiato per replicarsi sul maggior numero di macchine nel minor tempo possibile e normalmente non è altro che un veicolo per introdurre nel sistema altri software indesiderati di vario genere (spyware, backdoor, dialer, keylogger, rootkits, ecc. ); il worm agisce sempre più spesso come retrovirus e si diffonde più velocemente delle patch che correggono le vulnerabilità che ne hanno permesso la diffusione (spesso ci si trova ad aggiornare l'anti-virus quando il codice maligno ha già preso piede nel sistema). Pagina 5 di 31 Autore Mirko Iodice www.notageek.it Rootkit. I "malware" si mascherano Storicamente i rootkit vennero utilizzati per la prima volta su sistemi operativi UNIX con lo scopo di nascondere agli occhi dell'amministratore alcune backdoor (canali di accesso secondari) che venivano installate in un sistema compromesso. Oggi i rootkit fanno la loro comparsa anche sui sistemi operativi Microsoft Windows e solitamente sono composti da un driver e, a volte, da copie modificate di programmi normalmente presenti nel sistema. I rootkit non sono quindi di per sé dannosi ma hanno la funzione di nascondere e proteggere, sia dall'utente che da programmi anti-virus, la presenza di particolari file o impostazioni del sistema che costituiscono malware; i rootkit riescono letteralmente ad "iniettarsi" all'interno delle procedure standard del sistema operativo facendo così in modo che sia lui stesso a proteggerli sia dalla visualizzazione che dalla cancellazione. Nonostante quanto appena detto sembri così spaventoso c'è da dire che le procedure che vengono utilizzate per nascondere i più diffusi malware sono abbastanza note (www.rootkit.com) e quindi attualmente si possono scaricare da internet numerosi software che permettono di automatizzare la rilevazione e la rimozione dei rootkit con percentuali di successo anche abbastanza buone (RootKit Revealer, Sophos Anti-Rootkit, AVG Anti-Rootkit, PrevX, RegRun Security Suite). Pagina 6 di 31 Autore Mirko Iodice www.notageek.it Gli altri malware • Trojan Horse: "cavalli di troia", si tratta di software che oltre ad avere alcune funzionalità "lecite", utili per indurre l'utente ad utilizzarli, contengono istruzioni dannose di vario genere che vengono eseguite all'insaputa dell'utilizzatore. Non possiedono funzioni di auto-replicazione e quindi per diffondersi devono essere consapevolmente inviati alla vittima. Il nome deriva dal famoso cavallo di Troia. Ne esiste una particolare categoria che viene denominata RAT, i "ratti" (in realtà RAT è l'acronimo di "Remote Access Trojan" - cavalli di troia ad accesso remoto) sono quei Trojan Horse che una volta installati nel sistema permettono all'attaccante di controllarlo totalmente da remoto. I due RAT più conosciuti sono sicuramente Sub7 e BO2K (BackOrifice 2K). • Backdoor: letteralmente "porta sul retro". Sono dei programmi che consentono un accesso non autorizzato al sistema su cui sono in esecuzione. Tipicamente si diffondono in abbinamento ad un trojan o ad un worm, oppure costituiscono una forma di accesso di emergenza ad un sistema, inserita per permettere ad esempio il recupero di una password dimenticata. • Spyware: sono software che vengono usati per raccogliere informazioni dal sistema su cui sono installati e per trasmetterle ad un destinatario interessato. Le informazioni carpite possono andare dalle abitudini di navigazione fino alle password e alle chiavi crittografiche di un utente. • Dialer: questi programmi si occupano di gestire la connessione ad Internet tramite la normale linea telefonica analogica. Costituiscono malware quando vengono utilizzati in modo truffaldino ed agiscono sostituendo il numero telefonico che viene utilizzato per la connessione ad internet con uno a tariffazione speciale allo scopo di trarne illecito profitto all'insaputa dell'utente. • Hijacker: questi programmi si appropriano delle applicazioni di navigazione Internet (soprattuto browser) e causano l'apertura automatica di pagine Web indesiderate. • Rabbit: i rabbit sono programmi che esauriscono le risorse del computer creando copie di sé stessi (in memoria o su disco) a grande velocità. • Adware: l’Advertising Display Software è rappresentato da qualsiasi programma che includa al suo interno la visualizzazione di pubblicità. Questo tipo di soluzione rappresenta una scelta molto diffusa tra i produttori di software i quali riescono così a fornire i propri programmi in maniera gratuita. Purtroppo questo sistema molto spesso è associato a sistemi di tracking (tracciatori) i quali sono in grado di carpire dati ed informazioni riservate degli utenti. • Keylogger: i keylogger sono software in grado di monitorare e registrare ogni azione compiuta dall’utente all’interno del suo computer: i tasti digitati, le password, le e-mail inviate, le conversazioni in chat, i file utilizzati. In molti casi consentono addirittura di inviare le informazioni acquisite al loro creatore senza che i software anti-virus e firewall riescano a bloccarlo. • Browser plug-in: sono software in grado di integrarsi con il browser, nascono con lo scopo principale di aggiungere funzionalità a quest'ultimo (ad esempio. Toolbar) ma molto spesso vengono sfruttati per installare in maniera non autorizzata spyware, per monitorare gli utenti, sostituire i banner pubblicitari dei siti internet, reindirizzare la navigazione verso siti malware. I browser plug-in si possono suddividere principalmente in due categorie: • ActiveX: si tratta di una tecnologia realizzata da Microsoft allo scopo di ottenere pagine web interattive e multimediali difficilmente realizzabili con altre tipologie di linguaggi. I controlli ActiveX hanno la capacità di accedere al cuore del sistema operativo e questo li rende particolarmente pericolosi, infatti molto spesso sono portatori di malware. • BHO (Browser Helper Object): il Browser Helper Object è una piccola applicazione in grado di azionarsi automaticamente ad ogni avvio di Internet Explorer. Viene installata nel sistema solitamente da un‘altra applicazione e rappresenta una particolare minaccia a causa della sua capacità di accedere alla memoria di Internet Explorer, avviarsi e chiudersi con esso. Essendo parte del browser normalmente non viene rilevata dai firewall. Pagina 7 di 31 Autore Mirko Iodice www.notageek.it • Bot: abbreviazione di robot, si riferisce, in generale, a un programma che accede alla rete (Internet) attraverso lo stesso tipo di canali utilizzati dagli utenti umani (per esempio che accede alle pagine Web, invia messaggi in una chat, e così via). Nello specifico si tratta si particolari malware in grado di aprire un canale di comunicazione verso internet (normalmente IRC) e restare in attesa di istruzioni da eseguire che verranno sucessivamente impartite da un Master, ovvero colui che ha configurato/creato il bot. Normalmente i bot vengono utilizzati per creare le cosidette BotNet ovvero reti di computer definiti "zombie" che vengono utilizzati tutti per un determinato scopo (inviare spam, attaccare tramite DDoS siti e servizi internet causando il fermo parziale o totale di questi ultimi). Pagina 8 di 31 Autore Mirko Iodice www.notageek.it Attività criminose legate ai malware La legislazione relativa ai malware è estremamente variabile a seconda delle nazioni ed è in continua evoluzione. In generale se i virus, i worm e i trojan sono illegali in qualsiasi parte del mondo non si può dire lo stesso per le altre categorie. I dialer in particolare sono di per se legali, tanto che ogni sistema operativo moderno ne contiene almeno uno. L'ambiguità è peggiorata dal fatto che molti software si situano sul limite che separa un vero e proprio malware da un programma forse fastidioso ma non dannoso. Attualmente i malware (in particolare trojan e worm) vengono utilizzati per inviare grandi quantità di email pubblicitarie non richieste (spam) e per rubare dati personali, in particolare numeri di carte di credito, che potrebbero essere rimasti salvati nella memoria dei browser, ed indirizzi email; quest'ultimi vengono solitamente venduti agli spammer. Esiste un vero e proprio mercato nero legato ai malware: oltre alla compravendita di dati personali, è possibile acquistare l'utilizzo di computer infetti, cioè la possibilità di impiegare, per i propri fini e a insaputa dei legittimi proprietari, una certa quantità (nell'ordine delle migliaia) di computer controllabili da remoto. Non è da sottovalutare nemmeno l'influenza che i malware hanno sul mercato dei "pay-per-clic", infatti alcuni di questi riescono a falsificare i banner pubblicitari visualizzati all'interno delle pagine web oppure ad installare nel browser un meccanismo grazie al quale potranno "rubare i clic" che un utente infettato farà su di una qualsiasi pubblicità, riuscendo così a dirottare verso terze parti la ricompensa spettante al reale inserzionista. Pagina 9 di 31 Autore Mirko Iodice www.notageek.it Aiuto! Il mio dominio è in blacklist! Partendo dal presupposto che non esiste "un metodo" sicuro per tenere sotto controllo le infezioni da malware, come facciamo quindi ad accorgerci di essere stati infettati? Il metodo migliore per cercare di tenere sotto controllo la situazione è quello di non lasciar passare inosservati determinati comportamenti "anomali" che potrebbero venire rilevati all'interno della rete, ad esempio: • Degrado mostruoso delle prestazioni dei computer nell'esecuzione di normali attività di routine (avviare il computer, ricevere la posta, aprire il browser e altre applicazioni, ecc..) • I led luminosi incaricati di segnalare le operazioni di lettura e scrittura degli hard disk dei computer sono costantemente illuminati (il disco rigido lavora senza sosta e i pc risultano molto lenti) • La rete sembra lenta e poco performante (ci sono troppi pacchetti in rete) • L'utilizzo della CPU dei router è vicinissima al 100% e la banda di connessione ad internet sembra satura (tantissimo traffico internet ed intranet generato dai malware) • I computer della rete inizializzano innumerevoli connessioni a tantissimi altri PC senza una buona ragione apparente • Frequenti crash inattesi di internet explorer, servizi di sistema o altre applicazioni che normalmente funzionano abbastanza bene • Strane finestre si aprono automaticamente sul desktop degli utenti (normalmente visualizzando pubblicità) • I banner pubblicitari dei siti internet che siamo soliti visitare sembrano diversi dal solito (per esempio quando sono di natura pornografica e non lo abbiamo mai notato) • Il nostro dominio e-mail oppure il nostro server di posta elettronica vengono continuamente inclusi in blacklist (anti-spam, anti-phishing, anti-virus) di vario genere (probabilmente qualche pc della rete è diventato uno "zombie") • ... Pagina 10 di 31 Autore Mirko Iodice www.notageek.it Cosa dobbiamo temere? Principali metodi di diffusione malware Fin'ora ho decritto quali e cosa sono i malware, che effetto hanno sul nostro sistema e come poterci accorgere della loro presenza, vediamo ora di definire i principali metodi di duffusione e quindi di infezione di un sistema tramite malware. Credo che inanzitutto sia necessario distinguere i worm da tutta la massa dei malware, infatti, come ho detto in precedenza, i worm solitamente attaccano ed infettano una macchina in maniera del tutto autonoma e trasparente all'utente in quanto essi si replicano sfruttando le vulnerabilità dei sistemi connessi in rete. Quanto appena detto deve farci riflettere sul fatto che normalmente, se i sistemi operativi della rete non vengono tenuti costantemente aggiornati, è impossibile evitare l'infezione. Va comunque detto che anche i worm hanno un punto debole: essi sono in grado di attaccare una macchina con il metodo sopra descritto soltanto qual'ora riescano a contattarla direttamente su alcune porte di comunicazione specifiche (normalmente si tratta delle porte di tipo RPC o Server, ma qualsiasi servizio esposto è potenzialmente vulnerabile). Quello che ho appena scritto è il motivo per il quale possiamo rendere la vita del worm molto più difficile se blindiamo i computer tramite sistemi NAT, firewall oppure desktop firewall (denominati anche Personal Firewall) che li rendano direttamente inaccessibili; nella maggior parte dei casi così facendo è possibile evitare o quantomeno contenere anche l'infezione di sistemi non aggiornati. Tutti gli altri malware invece, siccome non sono in grado di autoreplicarsi, vengono distribuiti sui computer per mezzo di canali specifici ormai molto noti. I principali veicoli portatori di malware normalmente sono siti web che vengono appositamente costruiti per trarre in inganno l'utente e spingerlo ad accettare l'installazione di malware. Un caso molto frequente è quello dei dialer (diffusi ad esempio da siti a carattere pornografico oppure che promettono il download di crack per software e videogames, mp3, loghi e suonerie per cellulare), i quali anche dopo la scelta di non procedere con l’installazione continuano a riproporsi in maniera stressante spingendo in alcuni casi l’utente ad accettare pur di non essere più infastidito dalle continue richieste. Pagina 11 di 31 Autore Mirko Iodice www.notageek.it Avete visto un classico esempio di dialer attraverso script ActiveX. In questo caso vengono mostrate le condizioni e i costi del servizio tuttavia nel momento in cui l’utente decide di cliccare “No” e quindi non procedere con l’installazione viene visualizzata la seguente finestra la quale invita a cliccare “Si” per poter visualizzare i contenuti. Le due finestre continuano ad essere visualizzate finché l’utente non sarà costretto ad accettare o abbandonare definitivamente il sito web. Spesso anche la sola visualizzazione (quindi anche senza cliccare nulla) di un sito internet o di una email maligna possono essere veicolo di infezione; quasi ogni giorno vengono infatti scoperte nuove metodologie che permettono di bypassare i controlli di sicurezza effettuati dai browser o dai client di posta elettronica al fine di eseguire arbitrariamente codice maligno sulla macchina che li sta utilizzando. Un sistema classico che veniva utilizzato qualche tempo fa era quello di inondare l’utente con una serie di pop-up mentre il sito principale procedeva con l’hijacker. Le tecniche di elusione disponibili al giorno d'oggi sono ancora più silenziose e insospettabili, comunque i "buoni vecchi" metodi cavalcano ancora la cresta dell'onda. Bisognerebbe prestare particolare attenzione anche ai software che installiamo nel sistema: malware, spyware, adware, keylogger etc. vengono spesso utilizzati come cavalli di troia ed infettano il sistema nel momento in cui andiamo ad eseguire l'installazione di alcuni software dalla dubbia credibilità. Una nuova tecnica che si sta diffondendo in Rete è quella di pubblicizzare e proporre in vendita o per il download gratuito alcuni programmi (ad esempio falsi anti-spyware, falsi anti-virus, falsi programmi di condivisione file, ecc.) che, oltre a non funzionare, normalmente sono portatori di malware. Pagina 12 di 31 Autore Mirko Iodice www.notageek.it Alcune volte durante il processo di installazione si viene avvisati della presenza di malware: Pagina 13 di 31 Autore Mirko Iodice www.notageek.it Altre volte invece non siamo così fortunati e l'installazione di malware è del tutto trasparente costituendo quindi un vero cavallo di troia propriamente detto. Per poter dimostrare meglio il problema www.antiphishing.it ha testato un computer effettuando dapprima una scansione con due software anti-spyware ritenuti sicuri: Microsoft AntiSpyware e SpyBot S&D. I risultati sono stati i seguenti: Pagina 14 di 31 Autore Mirko Iodice www.notageek.it In entrambi i casi non è stato rilevato nessun caso di spyware all’interno Sucessivamente è stata effettuata la scansione con tre falsi anti-spyware, eccone i risulati: Pagina 15 di 31 Autore Mirko Iodice del sistema. www.notageek.it In tutti e tre i casi è possibile visualizzare il rilevamento di “fantomatici” spyware come CoolWebSearch, SDHelper, Keylogger e Kazaa, quest'ultimo non è nemmeno mai stato installato all’interno del sistema. Pagina 16 di 31 Autore Mirko Iodice www.notageek.it Queste false scansioni hanno lo scopo di convincere l’ignaro utente dell’efficacia del software spingendolo così ad acquistarlo; così mentre l’utente è tranquillo pensando di essere al sicuro, il suo sistema è esposto agli attacchi di ogni forma di spyware. Una lista di possibili falsi software anti-spyware è disponibile sul sito SpywareWarrior.com. Anche le toolbar rappresentano un altro esempio di violazione della privacy, grazie alla loro integrazione con il browser hanno la possibilità di compiere azioni malvagie come per esempio accedere in maniera del tutto indisturbata alla cronologia dei siti visitati , visualizzare pubblicità indesiderata e registrare le preferenze dell’utente. Il penultimo metodo di diffusione malware che vi illustro è costituito dai file allegati alla posta elettronica. Sempre più spesso i malware cercano di diffondersi allegandosi ad e-mail, che vengono inviate all'insaputa dell'utente infetto, il cui testo è scritto appositamente per attirare l'attenzione del destinatario verso l'allegato e per fare in modo che questo venga aperto. Un recente esempio di questo fenomeno è costituito dalla e-mail qui sotto riportata: Da: Polizia di Stato [mailto:[email protected]] Inviato: mercoledì 16 maggio 2007 10.01 A: ---------------------Oggetto: Avviso 00098361420 - Polizia Avviso Sono capitano della polizia Prisco Mazzi. I rusultati dell.ultima verifica hanno rivelato che dal Suo computer sono stati visitati i siti che trasgrediscono i diritti d'autore e sono stati scaricati i file pirati nel formato mp3. Quindi Lei e un complice del reato e puo avere la responsabilità amministrativa.Il suo numero nel nostro registro e 00098361420.Non si puo essere errore, abbiamo confrontato l'ora dell'entrata al sito nel registro del server e l'ora del Suo collegamento al Suo provider. Come e l'unico fatto, puo sottrarsi alla punizione se si impegna a non visitare piu i siti illegali e non trasgredire i diritti d'autore.Per questo per favore conservate l'archivio (avviso_98361420.zip parola d'accesso: 1605) allegato alla lettera al Suo computer, desarchiviatelo in una cartella e leggete l'accordo che si trova dentro. La vostra parola d'accesso personale per l'archivio: 1605 E obbligatorio. Grazie per la collaborazione. Questa e-mail ha raggiunto (qualche mese fa) le caselle di milioni di utenti internet ed è interessante notare come sia stata apposta una password di apertura del file "zip" allegato, questa tecnica non soltanto rende il testo della mail maggiormente credibile ma permette inoltre di bypassare i controlli effettuati dai software anti-virus presenti sui computer server che archiviano e spediscono la posta elettronica. Infine descrivo un ultimo comportamento che può costituire un pericolo per la nostra rete, l'ho lasciato volutamente per ultimo ma non è meno importante degli altri: i programmi di condivisione file (file sharing) peer-to-peer (noti anche come P2P). Scaricare ed installare in azienda software rimediato tramite l'uso di programmi di filesharing non è certamente la cosa più adatta da fare se vogliamo tenere al sicuro la nostra rete, sopratutto quando non si hanno quelle conoscenze tecniche che si acquisiscono soltanto con l'esperienza e che permettono di stabilire quando un file è pericoloso o meno. Pagina 17 di 31 Autore Mirko Iodice www.notageek.it Non credo che ci sia molto da aggiungere a questo paragrafo in quanto è facile immaginarsi come i malware riescano a diffondersi tramite questi programmi: vengono appositamente condivisi o nascosti come trojan all'interno di altri file apparentemente non nocivi. Voglio aggiungere soltanto che esistono malware che, una volta avvenuta l'infezione, riescono a copiarsi automaticamente all'interno delle cartelle che vengono condivise dai programmi di filesharing installati nel sistema, in modo da poter poi diffondersi come "crack", "keygen" o finti filmati "xxx". N.B. Consiglio vivamente di approfondire l'argomento appena affrontato mediante la lettura di quest'altro articolo. Pagina 18 di 31 Autore Mirko Iodice www.notageek.it Prevenire è meglio che curare Diciamolo chiaramente: "tutti i software anti-virus, anti-spyware, anti-rootkit,, proxy e soluzioni aziendali per il blocco e la scansione dei files... non costituiscono una soluzione preventiva ma soltanto un grossolano rimedio" E' sbagliatissimo pensare che siamo al sicuro poiché siamo dotati di un software anti-virus. I software sopra citati tendono sempre più spesso a curare (invece che prevenire) le infezioni una volta che queste sono già avvenute e nella maggior parte dei casi nessuno potrà mai sapere cosa sia realmente successo ai nostri computer una volta avvenuta l'infezione, infatti normalmente si riesce a rimuovere il malware ma non il danno che esso ha già causato al sistema fino a quel momento. Per questo dico che "prevenire è meglio che curare". Come facciamo quindi ad adottare un ottima politica di prevenzione? Vi elencherò di seguito i temi principali che costituiscono a mio avviso la prevenzione ai malware. • Essere sempre prudenti ed usare "la testa". Questa è la regola più importante. Bisogna cercare di essere sempre coscienti di quello che potrà accadere nel momento in cui si compie una azione, sia essa collegarsi ad un "particolare" sito internet, scaricare un software da p2p oppure connettere in LAN un PC estraneo alla nostra rete. • Tenersi sempre informati. Se amministrare una rete è il nostro lavoro allora è meglio essere sempre informati su tutte le nuove tendenze in fatto di compromissione di sistemi. E' importante inoltre fare sempre della formazione ai nostri utenti in quanto il pericolo si può cercare di evitarlo soltanto se lo si conosce. La formazione può essere costituita anche da una banale lettura-spiegazione di articoli come questo e può anche essere applicata come auto-formazione qualora questi ultimi vengano pubblicati via e-mail, oppure su di un portale intranet o semplicemente stampanti e diffusi. • Non utilizzare mai un utente con diritti amministrativi sul sistema per lavorare quotidianamente. Oggi siamo abituati ad utilizzare i sistemi operativi Microsoft Windows avendo pieni privilegi amministrativi sul nostro computer, sembra quasi incredibile a dirsi ma questa è proprio una cattiva abitudine che viene comunque incentivata dallo scarso supporto fornito da parte di Microsoft stessa per quanto concerne l'elevazione temporanea dei diritti utente. Anche alcuni produttori software comunque non sono per nulla di aiuto a questa causa poiché molto spesso rilasciano software non pienamente compatibili con le specifiche del sistema operativo e che obbligano utenti con scarse conoscenze dello stesso ad utilizzare un "utente amministratore" pur di farli funzionare. In realtà questo è un concetto ormai affermato nei sistemi operativi UNIX-Like (come Ubuntu Linux) nei cui manuali, fin dalle prime versioni, si è sempre letto: "mai utilizzare il sistema con diritti di root!" (root linux = amministratore Microsoft). Perché utilizzare il sistema come amministratore è pericoloso? Principalmente per il fatto che qualsiasi malware venga scaricato oppure eseguito sulla macchina otterrà i privilegi dell'utente connesso, e se questo utente possiede i diritti sufficienti per modificare i files di sistema stiamo pur sicuri che anche il malware lo farà! Non nascondo che esistono malware che sfruttando bachi e vulnerabilità del sistema riescono comunque ad elevare i privilegi di esecuzione anche se l'utente effettivamente non li possiede, ma questi casi si quantificano comunque in una percentuale molto ridotta rispetto a tutti quelli effettivamente esistenti. Da un punto di vista puramente aziendale c'è da aggiungere che lasciare diritti amministrativi agli utenti equivale inoltre a far sì che questi possano installare qualsiasi software sulla macchina a loro affidata, aumentando quindi di fatto le possibilità di infezione della rete. • Se proprio non si riesce a fare a meno dei diritti amministrativi, utilizzare un account limitato per eseguire internet explorer. In questo articolo ho spiegato come sia possibile eseguire Internet Explorer facendo in modo che tale processo non abbia particolari privilegi sul sistema operativo. • "Blindare" i portatili aziendali. Spesso gli utenti di una rete aziendale ai quali viene affidato un computer portatile tendono ad utilizzarlo come se quest'ultimo fosse il loro pc privato, questo li porta a compiere azioni come navigare tramite una connessione ad Internet non opportunamente protetta (modem analogici, modem adsl standard) oppure installare software "pirata" e programmi di filesharing p2p. Abbiamo già ampiamente dimostrato quanto i comportamenti appena descritti possano rappresentare una minaccia per la rete aziendale e quindi mi limiterò a dire che è buona norma prestare maggiore attenzione a questo tipo di attività (In questo caso è, a mio avviso, ancora Pagina 19 di 31 Autore Mirko Iodice www.notageek.it più importante che gli utenti non abbiano diritti amministrativi sulla loro macchina, in questo modo si potrà avere maggiore controllo sui software che vi verranno installati) • Aggiornare costantemente i software, i sistemi operativi e i browser applicando le opportune patch di sicurezza. Un sistema aggiornato è sicuramente meno vulnerabile ad attacchi di qualsiasi genere, in azienda sarebbe opportuno prevedere un software di gestione centralizzata degli aggiornamenti o quantomeno un database che ci permetta di risalire allo stato di aggiornamento dei computer della rete (server e client, ovviamente). Particolare attenzione andrebbe prestata all'aggiornamento dei software che permettono la fruizione dei contenuti web, ovvero i web browser (es. Internet Explorer), in quanto questi sono i programmi che sempre più spesso vengono sfruttati per inserire malware all'interno di reti o singoli computer. N.B: è buona norma eseguire sempre un test di tutti gli aggiornamenti critici prima di autorizzarne la distribuzione a tutti i computer della rete. • Utilizzare browser alternativi a Microsoft Internet Explorer. E' un dato di fatto che Microsoft Internet Explorer sia il browser più utilizzato al mondo per la navigazione web, questa sua caratteristica lo rende particolarmente appetibile a chiunque voglia scovarne eventuali vulnerabilità... ed infatti ne esistono veramente molte! C'è da aggiungere inoltre che Internet Explorer utilizza tecnologie che vanno ben oltre la semplice fruizione di contenuti web e che gli permettono di dialogare con il cuore del sistema operativo (Vedi ActiveX). Tutto questo rende IE una scelta piuttosto insicura per la navigazione quotidiana e quindi sarebbe buona norma utilizzare dei browser alternativi. Mozilla Firefox è attualmente un buon punto di partenza. • Eliminare le password bianche (blank) presenti all'interno della rete. Molti problemi legati alla sicurezza delle reti sono rappresentati spesso da quelle che normalmente si definiscono "well known vulnerabilities" (vulnerabilità ben conosciute) ovvero quelle classiche problematiche che affliggono da sempre una certa applicazione oppure un certo sistema operativo. Sicuramente la "Well known vulnerability" più famosa al mondo è quella costituita dall'annoso problema delle password semplici da indovinare (guessable) o addirittura lasciate in bianco. Forse non tutti sapranno che durante il processo di installazione standard di Windows XP la procedura guidata ci obbliga a creare un utente con diritti amministrativi con un nome diverso dal classico "Administrator", questo non significa che "Administrator" non esista, ma soltanto che esso è nascosto nella schermata di login predefinita. Spesso, prima di unire alla rete aziendale un computer, ci si dimentica di cambiare la password di questo utente Administrator, che per impostazione predefinita è in bianco (blank), andando così di conseguenza a creare una vulnerabilità password. Inoltre spesso ci si dimentica di assegnare una password anche all'utente che la procedura guidata di installazione ci obbliga a creare andando così a costituire anche una seconda vulnerabilità password. Per esperienza posso dire che in reti aziendali di medio/grandi dimensioni una buona percentuale di PC ha almeno una password utente che possiede diritti amministrativi in bianco, se non addirittura due. Occorre pertanto scannerizzare la nostra rete alla ricerca di queste vulnerabilità password che vengono ovviamente sfruttate anche da moltissimi malware al fine di installarsi agevolmente sui sistemi. Lo strumento più semplice e gratuito adatto a questo tipo di attività è a mio parere il Microsoft Baseline Security Analyzer (MBSA). N.B: Non è da sottovalutare nemmeno la presenza di password vulnerabili assegnate ai Server SQL (anche MSDE o SQL Express) in quanto l'utente "sa" (quello predefinito) possiede normalmente pieni diritti amministrativi sul sistema. Al fine di scansionare la rete per vulnerabilità Well-Known, oltre al Microsoft Baseline Security Analyzer, consiglio vivamente l'uso di X-Scan, si tratta di uno scanner di rete molto veloce e con funzionalità avanzate tra le quali anche appunto la possibilità di testare la sicurezza delle password di SQLServer. L'unica nota dolente di X-Scan è che risulta un po' più complicato da utilizzare rispetto ad MBSA. • Rendere la maggior parte dei computer client direttamente inaccessibili. In ambito casalingo non bisognerebbe mai collegarsi direttamente ad internet tramite normali modem analogici o adsl, in questo modo si espongono ad internet la totalità delle porte di comunicazione del computer e lo si rende accessibile a qualsiasi tipo di attacco. Per collegarsi ad internet è buona norma utilizzare sempre apparati che svolgano una funzione di firewall o quantomeno di NAT, grazie a quest'ultimi infatti il computer verrà opportunamente protetto dagli accessi diretti provenienti dall'esterno della propria rete casalinga (anche qualora quest'ultima sia composta da un unico pc). Questa metodologia di connessione ad Internet andrebbe utilizzata anche per tutti quei computer portatili aziendali che necessitano di utilizzare internet al di fuori della rete LAN aziendale. Per quanto riguarda invece l'ambito di rete aziendale è necessario aggiungere a quanto appena detto che la situazione ottimale nella protezione dei PC desktop la si otterrebbe installando su questi Pagina 20 di 31 Autore Mirko Iodice www.notageek.it ultimi almeno un basilare servizio di desktop firewall. In realtà sconsiglio vivamente l'utilizzo di sistemi desktop firewall complessi come quelli forniti assieme alle soluzioni anti-virus, tali software molto spesso risultano pesanti da eseguire, fastidiosi per gli utenti e problematici da amministrare. Il mio consiglio è quello di utilizzare il "Windows Firewall" presente in tutte le installazioni di Windows XP a partire dal Service Pack 2, questa soluzione ha l'enorme vantaggio di poter essere amministrata in maniera centralizzata utilizzando gli oggetti group policy di Microsoft Windows Server 2003 a partire dal Service Pack 1. Grazie a Windows Firewall si potranno blindare tutte le porte dei computer client con lo scopo di stroncare sul nascere qualsiasi tentativo di replicazione effettuato da worm presenti all'interno della rete LAN. Qualcuno si potrebbe porre la seguente domanda: ma se attivo windows firewall perderò anche la possibilità di amministrare da remoto i miei computer client? Per chi non lo sapesse vorrei specificare che tramite banali script vbs di poche righe (eseguibili anche in manieracentralizzata) è possibile settare in maniera appropriata Windows Firewall allo scopo di mantenere accessibili quelle porte utilizzate dalle utilità di amministrazione remota di Windows nonostante tutto il resto dei protocolli in ingresso vengano nel contempo filtrati e negati. Un esempio di quanto appena affermato è reperibile qui. Pagina 21 di 31 Autore Mirko Iodice www.notageek.it Strumenti di rimozione manuale e software di scansione Quando non si impiegano politiche di prevenzione malware adeguate alla realtà aziendale o casalinga che sia, ci si trova sempre più spesso a dover cercare di terminare ed eliminare questi "infestatori" di computer. Esistono sostanzialmente due metodi per combattere i malware: • • metodo manuale: utilizzando dei programmi specifici per l'analisi del sistema si cerca di individuare, terminare e cancellare manualmente il malware residente sul computer preso in esame. Questo metodo richiede una certa conoscenza approfondita del sistema operativo ma normalmente porta a risultati migliori. metodo automatico: utilizzando contemporaneamente alcuni software di scansione automatica si cerca di individuare ed eliminare il malware residente sul computer preso in esame. Questo metodo non richiede grande conoscenza del sistema operativo ma presenta alcuni limiti; il limite principale è dato dal fatto che determinate tipologie di malware sono studiati appositamente per resistere a questo tipo di programmi e in tal caso ne risulta impossibile la rimozione. Vi presento di seguito una breve lista dei software che ritengo più utili per entrambi gli approcci appena descritti: Metodo manuale • • • • • • Sysinternals Autoruns: questo software è in grado di analizzare in maniera approfondita il registro di sistema e stabilire quali sono tutti quei processi (e relative librerie) che vengono avviati automaticamente all'avvio del sistema operativo o del web browser. La maggior parte dei malware, per rimanere costantemente attivi nel sistema, tendono ad inserire valori di vario genere all'interno del registro di windows e quindi Autoruns diventa uno strumento essenziale per portare a termine una prima analisi del sistema. Sysinternals Process Explorer: si tratta di un software in grado di analizzare a fondo i processi in esecuzione nel sistema, la sua potenza, oltre al fatto di poter portare a termine delle ricerche avanzate, è che non si limita a visualizzare semplicemente il nome dei processi (come il più semplice Task Manager di Windows) ma ne identifica anche i file che vengono aperti da particolari funzioni del processo preso in esame. Molti malware cercano di proteggersi dalla cancellazione "agganciandosi" a funzioni (API) o eseguibili del sitema operativo stesso (pratica definita hooking), così facendo non saranno direttamente visibili sul Task Manager di Windows ed inoltre verranno caricati come dipendenze di processi critici di sistema risultando quindi difficilmente terminabili. In molti casi Process Explorer ci permette di identificare l'attività appena descritta ed è quindi uno strumento indispensabile per completare qualsiasi analisi portata a termine sul registro di sistema. Sysinternals Rootkit Revealer: ottimo strumento per identificare la presenza di rootkits nel sistema operativo. Rootkit Revealer è in grado di analizzare il sistema operativo ed identificare discrepanze del registro di sistema o dell'esecuzione delle Windows API che possono costituire possibili tracce di rootkits (user-mode o kernel-mode) che tentano di nascondere la loro presenza ad utenti e software antivirus. Questo software non è pensato per rilevare la presenza di quei rootkit che non cercano di nascondersi nel sistema (per questo tipo di attività esiste Process Explorer). Rootkit Unhooker: si tratta di un potente software proveniente dalla russia e meno conosciuto rispetto agli altri poiché non è soggetto a pubblicità o distribuzione di massa. In ogni caso questo programma è paragonabile a Sysinternals Rootkit Revealer, anche il suo scopo è quello di scovare rootkit che cercano di nascondersi. Qualcuno lo ritiene superiore e più efficace rispetto ai suoi diretti concorrenti. RegRun Security Suite: esistente anche in versione limitata ma gratuita denominata Reanimator, costituisce una buona "via di mezzo" tra una scansione automatica del sistema ed una identificazione manuale dei malware. RegRun analizza il sistema e ne confronta le informazioni ricavate con quelle inserite all'interno di in un database. Il suo scopo non è quello di identificare i processi malvagi ma bensì quelli "autorizzati"; se un processo o una chiave di registro non appaiono all'interno del suddetto database allora essi vengono considerati "Sospetti", resta all'utente decidere se eliminarli o mantenerli. RegRun è un software molto potente ma va utilizzato con criterio poiché integra una tecnologia anti-rootkit (Partizan) che rende possibile anche l'eliminazione di processi critici di sistema... inutile dire che si tratta di una attività che può avere conseguenze disastrose. msconfig e TaskManager: sono gli strumenti che ci mette a disposizione Windows XP al fine di poter compiere una analisi prestazionale del sistema. Queste due utilità sono paragonabili rispettivamente ad Autoruns e Process Explorer di Sysinternals ma, inutile dirlo, forniscono risultati incompleti e Pagina 22 di 31 Autore Mirko Iodice www.notageek.it molto meno approfonditi rispetto a questi ultimi. Nonostante quanto appena detto ritengo che possano comunque tornare utili nella normale amministrazione quotidiana per compiere rapidissime (ma superficiali) analisi sulla "salute" del sistema operativo. Metodo automatico • • • • AVG Free: si tratta della gamma gratuita dei prodotti Grisoft. Sono disponibili: un software antivirus, un software antispyware ed un software anti-rootkit. I tre software sono studiati per essere utilizzati assieme e costituire quindi un unica forza per poter portare a termine una completa pulizia automatica del sistema. PrevX: non è gratuito ma è disponibile una versione di prova. Si tratta di un potente software in grado di rimuovere con buone probabilità di successo moltissimi malware. Nota: PrevX risulta molto invasivo per il sistema operativo e in particolari circostanze, una volta installato, può rendere impossibile eseguire il normale avvio della macchina, in tal caso sarà necessario avviare Windows in modalità provvisoria ed effettuarne la disinstallzione. AdAware: disponibile anche in versione gratuita, si tratta di un software specializzato nell'identificazione e rimozione di spyware. Sophos Anti-Rootkit: software antirootkit gratuito fornito da una delle più famose case produttrici di software antivirus. Vi invito a leggere con attenzione anche il capito sucessivo: "La testimonianza", si tratta di un ottimo esempio di come e quando utilizzare alcuni dei software sopra descritti. Pagina 23 di 31 Autore Mirko Iodice www.notageek.it La testimonianza Vi propongo di seguito la traduzione di un articolo che potete trovare in lingua inglese all'indirizzo: http://www.codinghorror.com/blog/archives/000888.html, il titolo è: "How to Clean up a Windows Spyware Infestation" ovvero: "Come ripulire un Windows infestato da spyware" Consiglio vivamente la lettura di questo racconto poiché riassume in una "esperienza di vita" tutto quello che è stato detto fin'ora. "Ho potenziato di recente il mio PC dedicato ai simulatori di gare di automobili e ho dovuto reinstallare Windows XP ServicePack 2 assieme a tutti i videogiochi. Quando stavo scaricando le patch "no-cd" per i vari giochi che possiedo sono stato inaspettatamente inondato da popup, icone e installazioni di software indesiderato. Ho avuto un brutto presentimento: ero diventato la vittima sfortunata di una infestazione di spyware. E' stata completamente colpa mia: navigare utilizzando un browser risalente al 2004 incluso in una installazione predefinita di Windows XP Service Pack 2. Se avessi pensato in modo razionale avrei dovuto scaricare ed utilizzare Firefox, o almeno mi sarei dovuto connettere a Windows Update e scaricare gli ultimi aggiornamenti prima di avventurarmi su internet. Invece ho pensato di risparmiarmi tutto quel lavoro e di collegarmi soltanto a pochi siti web specifici per qualche veloce download, non avrebbe potuto farmi niente di male, vero? Lasciate che il mio sbaglio possa essere una lezione per tutti quanti: mai navigare in rete senza l'ultima versione aggiornata del vostro browser preferito. Scegliere intenzionalmente di navigare con un browser vecchio di 3 anni è una cosa incredibilmente pericolosa da fare. Le conseguenza in questo caso sono minime dal momento che questa non è nemmeno la mia macchina secondaria... è soltanto un PC allestito ad uno scopo specifico e dedicato al gioco. Reinstallare il sistema operativo non è un gran lavoro ma è una perdita di tempo sconveniente, e in ogni caso, l'infestazione di spyware va combattuta perché causa seri problemi di performance e interromperà sicuramente i giochi con l'incessante apertura di finestre popup. I due siti più comuni da cui scaricare patch "no-cd" sono MegaGames and GameCopyWorld. Nel caso in cui ve lo stiate domandando, sì, ho comprato tutti i videogiochi che possiedo. Scarico le patch "no-cd" soltanto per convenienza, le considero un privilegio di possesso per tutti i videogiocatori etici ed informati. Ho immaginato che l'infezione provenisse da uno di questi due siti web percui ho realizzato una honeypot virtual machine con Virtual PC 2007, utilizzando l'antica copia originale di Windows XP risalente al 2001 e la classica Devil's Own Key, ed ho iniziato il test. Di seguito trovate uno screenshot del Task Manager sucessivo all'installazione della macchina virtuale. Questa è pura vaniglia: una installazione pulita di Windows XP: niente service packs, niente aggiornamenti, niente di niente. Il sistema è connesso ad internet ma non è pericoloso come sembra; siccome il PC è posto dietro ad un NAT router che blocca tutte le connessioni in ingresso non c'è modo di venire infettati in maniera passiva. L'ho lasciato connesso ad internet senza fare nulla per almeno un'ora soltanto per dimostrare quanto appena detto: non si è verificata nessuna infezione passiva dietro al router NAT addirittura per questa installazione di Windows Xp risalente al 2001. Pagina 24 di 31 Autore Mirko Iodice www.notageek.it Ora ci lasceremo la passività alle spalle ed inizieremo a navigare in rete con una versione non aggiornata e vecchia di 6 anni di Internet Explorer 6.0. Pericolo, Will Robinson! Ho lasciato il Task Manager in esecuzione mentre navigavo su MegaGames, scaricavo una patch "no-cd", e... niente. Sucessivamente ho visitato GameCopyWorld, ho scaricato una "no-cd" patch e, tutto d'un tratto, è divenuto cristallino chi sia il colpevole. Controlliamo il Task Manager ora: Pagina 25 di 31 Autore Mirko Iodice www.notageek.it Per me tutto questo è stato come uno shock poiché GameCopyWorld è spesso raccomandato sui forum di discussione dedicati ai videogiochi e quindi lo consideravo un sito attendibile. Non avevo mai avuto problemi con questo sito prima d'ora dato che normalmente navigavo con tutti gli ultimi aggiornamenti. L'infestazione da spyware visitando GameCopyWorld-- soltanto visitando le pagine web, anche senza scaricare nulla-è immediata e devastante. La macchina virtuale, dopo soli pochi minuti, racconta tutta la storia da sé: non è bello, e lasciatemelo dire, ho un nuovo grado di simpatia per quei poveri utenti che sono diventati le vittime sfortunate di una infestazione da spyware. La macchina diventa praticamente inutilizzabile, tra: • • • • nuove icone apparse magicamente sul desktop finestre popup a pieno schermo che appaiono ogni due minuti finestre di dialogo che offrono di "installare software antivirus" con il solo pulsante per rispondere OK degrado totale del sistema a causa di tutti quei processi-spyware di background ... è un mistero come le persone non si stufino tutte assieme dei computer. Una volta che lo porta viene aperta sembra che l'intero vicinato di venditori di malware, spyware, ed adware prendano la residenza all'interno della tua macchina. Dovrebbe esistere uno speciale girone dell'inferno riservato alle aziende che fanno soldi facendo questo alle persone. All'inizio ero arrabbiato con me stesso per aver lasciato che tutto questo accadesse, avrei dovuto saperne di più e ora lo so. Poi ho canalizzato la rabbia in azione: questa è la mia macchina, e sarò dannato se accetterò qualsiasi indesiderato malware, adware o spyware che ha preso residenza in esso. Sucessivamente ho deciso di ripulire la mia macchina e sistemare il casino che ho combinato; è più facile di quanto potreste immaginare e vi mostrerò esattamente come ho fatto. Pagina 26 di 31 Autore Mirko Iodice www.notageek.it Il nostro primo lavoro sarà fermare qualsiasi spyware che si trova in esecuzione in questo momento. Avrete bisogno di qualcosa di più che il mero Task Manager-- procuratevi Process Explorer di Sysinternals. Scaricatelo, eseguitelo, e ordinate la lista dei processi per "Company Name". Terminate qualsiasi processo che non ha un "Company Name" (fatta eccezione per DPCs, Interrupts, System, e System Idle Process). Fate tasto destro sul processo e Kill, o selezionateli e premete il pulsante canc sulla tastiera. Potete utilizzare il mio screenshot iniziale del Task Manager, in cima a questo articolo, come referenza per cosa dovrebbe essere in esecuzione in una installazione pulita di Windows XP. Normalmente non c'è comunque bisogno di essere così specifici, a meno che non abbia un "Company Name" che riconoscete è probabile che si tratti di una applicazione che va rimossa e quindi terminatela. Pagina 27 di 31 Autore Mirko Iodice www.notageek.it Fermare lo spyware in esecuzione è soltanto mezza battaglia. Ora dobbiamo impedire allo spyware di avviarsi automaticamente al prossimo riavvio del sistema. Msconfig è una soluzione parziale e quindi avremmo nuovamente bisogno di qualcosa di più potente rispetto a quanto ci fornisce il sistema: AutoRuns di Sysinternals. Scaricatelo, eseguitelo, ed iniziate a navigare attraverso la lista che apparirà: Come potete vedere ci sono una manciata di spyware, malware, adware, e Dio solo sa cos'altro-- tutti ottenuti visitando un solo sito web! Scorrete tutta quanta la lista fino in basso facendo attenzione ai "Publisher" in bianco o a qualsiasi Publisher che non riconoscete. Se notate qualcosa di sospetto, cancellatelo! In una installazione predefinita di Windows il 99.5% delle voci avrà "Microsoft Corporation" come Publisher. Qualsiasi venditore affidabile di software non avrà nessun problema a mettere il proprio nome sul proprio lavoro, quindi generalmente dovrete preoccuparvi soltanto dei Publisher in bianco. Ora riavviate il sistema. Abbiamo rimosso buona parte dell'infestazione ma ci sono certamente classi molto più virulente di spyware che possono sopravvivere a questo trattamento... ci occuperemo di loro dopo. Pagina 28 di 31 Autore Mirko Iodice www.notageek.it Dopo il riavvio, ricontrollate Process Explorer and Autoruns per qualsiasi cosa sospetta esattamente come abbiamo fatto prima. La prima cosa che ho notato "ritornare" in Autoruns era un driver sospetto chiamato "core.sys" che non aveva un Publisher. Ho utilizzato il potente menu Find | Finde Handle or DLL in Process Explorer per localizzare ogni attivo riferimento a questo file. Sfortunatamente in quel momento non ho catturato il giusto screenshot pertanto qua sopra vi mostro soltanto un risultato di ricerca generico. In ogni caso, c'era esattamente un open handle al file core.sys. Ho selezionato il risultato, il quale evidenzaiva l'handle corrispondente nella parte bassa di Process Explorer, ho fatto tasto destro su questo e ho cliccato "Close Handle". Dopo aver chiuso l'handle, ho potuto cancellare fisicamente dal filesystem il file core.sys, assieme alla relativa voce trovata con Autoruns. Problema risolto! L'altro oggetto che era ricomparso in Autoruns dopo il riavvio del sistema era una DLL stranamente denominata che risultava agganciata a Winlogon ed Explorer. In aggiunta al suo nome sospetto, ogni relativa voce era segnalata dal mancante valore Publisher. Pagina 29 di 31 Autore Mirko Iodice www.notageek.it Cacellatene i valori da Autoruns quanto volete; continueranno a tornare quando premerete F5 per aggiornare. Questa DLL denominata in maniera random monitorizza continuamente il sistema per assicurarsi che il suo piccolo e brutto aggancio sia continuamente attivo. La cosa brutta dei processi agganciati a Winlogon è che sono veramente difficili da terminare o rimuovere. Possiamo terminare Explorer ma terminare Winlogon non è un opzione valida; si tratta di un processo di sistema di Windows e terminarlo farebbe arrestare il sistema. E' un difficile catch-22. Ma noi siamo più furbi dei venditori di malware. Aprite Process Explorer e utilizzate nuovamente il menu Find | Find Handle or DLL per localizzare attraverso il suo nome tutte le istanze di questa DLL. (Vedete, Ve lo avevo detto che questo menu era potente.) Terminate ogni open handle che troverete collegato a questo file esattamente come abbiamo fatto prima. Ma dovrete fare un passo in più: abbiamo appreso da Autoruns che questa DLL è praticamente attaccata/collegata ai processi Explorer e Winlogon, ma lasciate che i risultati della ricerca vi facciano da guida. Fate doppio click su qualsiasi processo abbiate trovato in riferimento a questa DLL. Nella finestra di proprietà del processo selezionate il tab Threads, scorrete attraverso i threads e terminate qualsiasi di questi abbia caricato la DLL in questione. Una volta che avrete terminato tutti i threads potrete finalmente cancellarne i relativi valori da Autoruns evitando che riappaiano. Ravviate e la vostra macchina sarà completamente libera da spyware. Ora riesco a contare 17 valori nel Task Manager, esattamente lo stesso numero di quando ho iniziato. Certamente la cosa più intelligente da fare è in primo luogo non farsi infettare da spyware, malware o adware. Non riesco a dirlo meglio: navigate sempre con gli ultimi aggiornamenti del vostro browser preferito. Ma qual'ora vi capitasse di venire infettati, almeno ora avete gli strumenti e le conscenze giuste per eliminare per sempre questi maledetti dal vostro sistema." Nota: Nel racconto non viene accennato il fatto che in ogni caso, una volta terminata la rimozione manuale dell'infezione, sarebbe opportuno scansionare i computer anche con gli appositi software che ho riportato in precedenza in questo articolo. L'autore non accenna volutamente a quanto ho appena detto poiché spesso i software di scansione automatica non sono in grado di rimuovere certe particolari tipologie di malware, di conseguenza la rimozione manuale è l'unica via percorribile per ottenere risultati sicuri. Pagina 30 di 31 Autore Mirko Iodice www.notageek.it Nota Finale "Sconfiggere i virus con l'informazione" è un titolo per me emblematico, avrei potuto sostituirlo con qualcosa di più semplice e immediato ma in realtà il messaggio che volevo far trasparire è proprio questo, cioè che "informare" penso sia il miglior metodo che abbiamo per poter mettere in sicurezza i nostri computer, le nostre reti e quindi i nostri dati. Invito chiunque lo voglia a fare informazione a sua volta e a divulgare questa lettura qualora l'avesse trovata interessante. Pagina 31 di 31 Autore Mirko Iodice www.notageek.it