Archivio per la categoria Information security

Sicurezza sostenibile Vs l’età che avanza: 0 a 1

Le persone si dividono in due categorie: quelli che hanno perso i dati e quelli che li perderanno.

Le persone si dividono in due categorie: quelli con una buona memoria e… dicevo?

Combinando queste due frasi si arriva a quello che è successo al sottoscritto. Per fortuna i dati persi riguardano esclusivamente roba scaricabile da Internet, di cui conservo i link nei bookmark.

I fatti: usando vari computer (ufficio, fisso di casa e notebook personale), devo tenere sincronizzati i dati sui tre. Per fortuna, tutto quello che riguarda posta e Internet è in servizi online, quindi almeno questi di dati non sono un problema. Uso un disco USB esterno da 2,5″, che in sostanza è un backup di backup, cioè i dati sono in almeno altri tre posti differenti, anche come luogo. Il disco esterno contiene i dati “viaggianti” e gli ultimi aggiornamenti, quindi è in realtà “spendibile”, e la cifratura che vi ho applicato è motivata soltanto dalla possibilità che a seguito di un furto i miei dati cadano in altre mani, visto che questo disco è quello più a rischio di essere trafugato.

In effetti, se subissi un furto in ufficio o in casa il problema sarebbe lo stesso, anzi peggio: in casa, soprattutto, ho ben più “dati personali” che in altre mani sono molto più pericolosi, ma questo è un problema di tutti, alla fin fine.

Circa un mese fa ho cambiato il disco esterno con uno di minore capacità, vista la mole tutto sommato ridotta di dati che trasporto (meno di 20Gb in tutto). Già che c’ero ho pensato bene di cambiare la password di accesso, visto che l’altra la usavo da quasi due anni.

Nei giorni successivi ho usato il disco due volte al giorno, digitando ogni volta la nuova password, poi dalla seconda settimana di maggio non l’ho più usato, visto che non avevo aggiornamenti. Ieri sera, a distanza di quindici giorni, volevo trasferire alcune foto fatte negli ultimi giorni, inserisco il cavo nella presa USB, attendo l’apparire del pannello di richiesta password, digito, Errore. Vabbè, ho digitato male. Ridigito. Errore. Non può essere. Che ci sia un problema col disco? Apro un terminale, controllo log e messaggi di errore, niente. Provo da riga di comando. Niente.
Ero piuttosto stanco, per cui mi sono fermato un attimo e mi sono calmato, e ricordato che avevo cambiato la password. Ricordavo il ragionamento fatto, per cui ho tentato di ricostruire la password.

Per farla breve: il disco ed il suo contenuto sono persi, non sono riuscito a ricordare la password, nonostante l’abbia scelta io stesso, con un ragionamento, e l’abbia usata più volte nei giorni successivi.

Per fortuna, ripeto, i dati erano altamente spendibili e non ho perso nulla, ma la cosa mi ha piuttosto spiazzato. Per prima cosa mi è tornato in mente una cosa letta qualche giorno addietro, il decalogo dell’amministrazione della sicurezza, che in prima posizione riporta:

Nobody believes anything bad can happen to them, until it does

Tradotto: nessuno crede che possa accadergli qualcosa di male, finché non gli succede.

Ecco. Ora che mi sono “scottato”, il pensiero è naturalmente come evitare che succeda di nuovo. Per ora il disco è stato riformattato senza cifrature di sorta, e ci ho riscritto sopra i dati persi.

Quale può essere la strategia migliore? Scriversi la password da qualche parte, per esempio il classico foglietto nel portafogli? Usare uno strumento di “archiviazione password”? Usare una tecnica di “data hiding”, che ben conosco?

Accetto suggerimenti. Ma tenete conto dell’età, ecco.

Tags: , ,

Zio, mi puoi scaricare un film da Internet?

Qualche giorno fa ho ricevuto un SMS da una mia nipote, evento eccezionale in sé, visto che la vedo e sento praticamente solo in occasione delle feste comandate, anche a causa della distanza.

Naturalmente, come tutti i ragazzi, nel messaggio è andata subito al punto, senza convenevoli: “Zio mi scarichi due film da Internet?”.

Superata la prima sorpresa, ho iniziato a rifletterci su. Non mi andava di risponderle con un SMS sbrigativo, ma non volevo neanche finire a farle un predicozzo, cosa che ricordo benissimo odiavo alla sua età (anche se sono passati più di trenta anni).

Alla fine le ho telefonato (ha il cellulare, naturalmente…), e le cose si sono fatte interessanti, tanto da spingermi a scriverne qui.

In breve, a scuola le hanno parlato dello scaricare film da Internet, e il messaggio che è arrivato è che il rischio è una multa salata. Ci siamo salutati con la promessa di farle avere i film richiesti in modo legale, e con l’impegno di parlarne a voce la prossima volta che ci si vede.

Ovviamente, questo mi ha fatto riflettere, e non poco. Se questo è il messaggio che viene dato ai ragazzi, che di Internet ne sanno spesso più di chi va a parlargli in classe, e ne sanno in maniera diretta, per esperienza, vuol dire che abbiamo sbagliato tutto.

La multa per un italiano di oggi è sinonimo di una lotteria, ossia prima mi devi beccare. L’effetto deterrente è pressoché nullo, per non parlare della totale assenza di ogni legame con qualsiasi concetto di legalità ed etica. Questo significa sottovalutare e svalutare i ragazzi, e le loro potenzialità. Nella mia, certamente limitata, esperienza, i ragazzi hanno un fortissimo senso dell’etica e della legalità.

Quello che non viene invece detto è che molte organizzazioni criminali usano contro di noi le nostre stesse cattive abitudini. Prendiamo a esempio le reti peer to peer del circuito di Emule. Cercando un qualsiasi film o software, non importa se legalmente o illegalmente condiviso, possiamo star certi che ci troveremmo di fronte queste trappole:

  • Film differenti da quello cercato, o “modificati” ad arte. Il titolo del film è giusto, ma il file contiene ben altro, certamente non si tratta di materiale adatto ad un minorenne. Qualche volta neanche ad un maggiorenne. Il problema è gravissimo, in quanto, a meno di appositi plugin che non tutti conoscono o usano, non è possibile sapere che cosa c’è dentro il file che si va a scaricare fino a quando non si è scaricato completamente, tranne casi limitatissimi. Per la legge italiana, se il film che andiamo a scaricare dovesse contenere materiale pedo-pornografico, indipendentemente dal fatto che chi scarica lo sappia o meno, non solo si configura il reato di detenzione di materiale pornografico (art.600 quater del Codice Penale), che prevede fino a tre anni di reclusione, ma, per il modo di funzionare dei programmi e delle reti peer to peer, si configura il reato di cessione e diffusione di materiale pornografico (art. 600 ter del Codice Penale). Questo perché nel momento in cui inizio a scaricare un qualsiasi file tramite Emule, il programma provvede a distribuire le porzioni che ho sul mio computer ad altri che cercano lo stesso file, anche se ne ho solo pochi kilobyte. Questo comportamento è insito nel funzionamento dei protocolli peer to peer, e non è semplice da disabilitare. Poi, naturalmente, nella formulazione della condanna, di solito il giudice tiene conto di vari fattori attenuanti (l’essere “vergini” penalmente, ossia incensurati, l’intenzionalità, la quantità del materiale, il tempo di permanenza nel proprio disco, ecc.), ma il problema è che si subisce un processo penale, con tutto quello che ne consegue. Considerando che quando il responsabile del reato è un minore, paga il genitore o il tutore legale, si rischia di trovarsi coinvolti in una bruttissima situazione a propria totale insaputa. Ci sono anche delle situazioni, al limite del doloso, in cui il film scaricato è un montaggio, dove i primi minuti sono proprio del film cercato, ma dopo segue un altro film, naturalmente differente e certamente non quello voluto.
  • Film camuffati da software. Cercando un software, non importa se con licenza di uso libero o proprietaria, è sicuro imbattersi in file con il nome del software cercato, ma contenenti filmati, e non software. La presenza di cose come “OK Funzionante!” aggiunte al nome del file, naturalmente, non serve a garantire alcunché. Inutile dire che il film non sarà nella totalità dei casi adatto alla visione da parte di un adolescente, ed in molti casi neanche a quella di un adulto.
  • Software troianizzato. In questo caso il software c’è, e qualche volta funziona anche, ma contiene delle sorprese, sotto forma di ospiti indesiderati e invisibili. Se il software cercato è sotto forma di immagine ISO, ossia di “copia” pronta per la masterizzazione su CD o DVD, la sorpresa è dentro, integrata col software. Ho avuto esperienza di persone che hanno installato il sistema operativo “prelevandolo” da Emule, e di trovarsi con strani comportamenti al momento della connessione a Internet, indice di qualcosa di poco salutare. Se invece il software è in forma installabile/eseguibile, la sorpresa è camuffata da programma di installazione o da “tool” per registrare/craccare il software. Lo scopo di questi malware è di sottrarre dati relativi agli account personali dell’utilizzatore del computer (posta elettronica, home banking, social networks, accessi a siti web e servizi FTP, ecc.). Altro scopo è quello di sfruttare risorse di elaborazione e connessione a Internet del computer stesso, certamente per scopi poco etici.
  • Malware camuffato da software. In molti casi, il file scaricato non contiene il software cercato, ma è esso stesso un malware, camuffato. La situazione è identica alla precedente, solo che chi ha scaricato il file non ottiene niente del tutto, ma si trova un malware, probabilmente un botnet agent, attivo nel computer, ricadendo nel punto precedente.
  • Malware camuffato da strumenti per scavalcare le protezioni. Qui le cose si fanno interessanti. Come sanno tutti i truffatori di professione, la prospettiva di un facile guadagno è la prima qualità necessaria per orchestrare una truffa che funzioni. Quindi, cercando un crack o un keygen su Emule, possiamo stare sicuri di trovare molto di più di quanto cercavamo, e certamente non nel senso che intendevamo.

Tutto questo è molto più frequente di quanto si possa pensare, e il fatto che mediamente ogni settimana mi trovo a ripulire un computer di qualche conoscente con problemi di malware, infilatosi nel computer tramite uno dei trucchi elencati poco fa, deve far riflettere su quale sia appunto il messaggio da trasmettere ai ragazzi.

Su questo sito spesso arrivano persone, indirizzate da Google e compagni, alla ricerca di modi per usare ad esempio le “chiavette” 3G/UMTS/HSDPA con Emule, per avere un ID alto o per “aprire le porte” sulla chiavetta, per via della presenza di alcuni articoli che parlano di come usare questi dispositivi con Linux o con l’eeePC, niente a che vedere con Emule. Alcune di queste cose sono impossibili: quasi tutti gli operatori 3G assegnano un indirizzo IP delle classi private (vedi rfc1918), indice che la connessione è dietro un firewall o un altro apparato che opera un NAT (Network Address Translation), e quindi rende impossibile accettare connessioni di rete in ingresso, cosa indispensabile per avere un “ID alto” in Emule, e quindi ottenere benefici di priorità nei download.

Tralasciando il fatto che l’operazione di usare un accesso via 3G/UMTS/HSDPA a consumo è una strategia perdente, visto che conta il traffico in uscita, oltre che quello in ingresso, e che quello in uscita è molto più consistente, l’indicazione è che il “vizietto” è diffuso, e tutte le altre considerazioni, economiche, legali, etiche, vengono dopo.

Quello che mi domando è che cosa possiamo fare per instillare un minimo di competenza, perché di questo si tratta, nei ragazzi come mia nipote? Potremmo parlare di condivisione, di libertà e di riconoscimento del proprio lavoro. Potremmo parlare di etica e di legalità ma, francamente, c’è il rischio di sentirci rispondere, e non a torto, che con tutti i cattivi esempi che hanno ogni giorno da noi stessi, che problema vuoi che sia lo scaricare un film da Internet?

Ecco, questo è un problema reale di sicurezza, un problema che nessuno strumento tecnologico può risolvere, perché la sua origine non è tecnologica, ma umana e comportamentale. Se potessi, andrei nelle scuole a fare opera di evangelizzazione, e gratis. Mi basta pensare a questi ragazzi, per cui abbiamo preparato un mondo futuro che noi stessi abbiamo difficoltà a capire, e ce li stiamo infilando a forza.

Tags: , , ,

Honeynet Project: Challenge 2/2010 (I parte)

Il Progetto Honeynet, fondato nel 1999 da un gruppo di volontari, si pone come fine quello di aumentare la sicurezza in Internet senza scopo di lucro, avendo ben in mente il concetto di Open Source. Attraverso tre strategie, attenzione, informazione e strumenti, cerca semplicemente di fare la differenza,

Uno degli strumenti è la periodica pubblicazione di “sfide” a partecipazione pubblica che hanno come oggetto l’investigazione di un incidente di sicurezza, spesso preso da situazioni reali. In generale la sfida funziona in questo modo: c’è un antefatto, che serve a creare l’ambientazione della storia, c’è il dato da esaminare e c’è la lista delle domande a cui rispondere, ognuna col suo punteggio. Dalla data di pubblicazione di solito vengono lasciate tre o quattro settimane per rispondere, poi dopo due ulteriori settimane vengono pubblicati i risultati e la soluzione ufficiale.

Fino ad oggi ho partecipato a quattro di queste sfide:

  • La prima nel 2004 (all’epoca si chiamavano Scan of the Month) riguardava il reverse engineering di un malware “fatto in casa”.
  • La seconda è la prima sfida pubblicata nel 2010, dopo alcuni anni in cui non sono state pubblicate sfide. La sfida riguardava l’analisi di una registrazione del traffico di rete durante l’attacco di un malware. Non è andata molto bene, l’analisi era incompleta, per cui sono arrivato diciottesimo su 91 partecipanti.
  • La terza è la seconda sfida del 2010, riguardante l’analisi della registrazione del traffico di rete durante l’attacco portato al browser di un computer durante la navigazione. In questo caso posso dire che è andata decisamente meglio: primo a pari merito con altri tre sfidanti.
  • La quarta è la terza sfida pubblicata, riguardante l’analisi di un computer sospettato di essere attaccato da un malware in grado di rubare credenziali di accesso a servizi online ed altri dati riservati.

Al momento in cui scrivo sono stati appena pubblicati i risultati dell’ultima sfida, in cui mi sono classificato primo. Tutte le sfide sono state molto stimolanti, ed ho potuto applicare parte dell’esperienza acquisita in questi anni di analisi di siti web compromessi, anche se in ogni sfida c’era molto altro.

Per questo motivo ho pensato di procedere a pubblicare, un pezzo alla volta, le soluzioni di quelle cui partecipo, scelte fra quelle che ritengo più interessanti e stimolanti, oltre che di valore didattico.

Partiamo quindi con la sfida “Browser sotto attacco“.

Attacco al browser, prima parte

La storia è molto semplice: analizzare il campione fornito, e rispondere alle domande. Il campione è il risultato di una registrazione del traffico di rete e salvato nel formato detto libpcap, dal nome di una nota libreria Open Source alla base di molti programmi utilizzati come sniffer di rete (tcpdump, WireShark, Winpcap, ecc). l file è piuttosto piccolo, 300k in tutto.

Usando Wireshark, possiamo aprirlo e cominciare ad orientarci.

Wireshark all'avvio

L'inizio del file di cattura in Wireshark

La prima domanda chiede di elencare i protocolli presenti nel file della cattura e di indicare quale sia il protocollo utilizzato per l’attacco, anche se naturalmente a questa seconda domanda potremo rispondere solo più avanti nell’analisi. In ogni caso l’elenco dei protocolli è in due gruppi, quelli di più basso livello (IP, ARP, ICMP, UDP, TCP, IGMP) e quelli di più alto livello (DHCP, HTTP, NetBIOS, DNS).
Ho semplicemente contato ed elencato a mano i protocolli, ma, guardando la soluzione originale, si poteva utilizzare chaosreader per estrarre i dati in formato testo e lavorarci sopra di grep.
In questo caso la cattura era piuttosto breve, quindi me la sono cavata con poco, ma se fosse stata una cattura di tipo differente (ho dovuto spesso esaminare sessioni di cattura da qualche decina di gigabyte, in file da un giga l’uno…) non me la sarei cavata tanto facilmente.
Un aiuto viene anche da Wireshark, utilizzando la funzione “Protocol Hierarchy” del menu “Statistics”.

La funzione Protocol Hierarchy di Wireshark

Per quanto riguarda il protocollo usato per l’attacco, si tratta di HTTP, come sarà evidente durante l’analisi.

La seconda domanda era già più articolata: elencare indirizzi IP, i nomi degli host e di dominio. Inoltre si chiede cosa si possa dedurre da questi dati e se sia una situazione reale. Abbiamo parecchi indirizzi IP, ma uno sguardo attento mostra che possono essere raggruppati in alcune categorie:

  • Vittime: 10.0.2.15, 10.0.3.15, 10.0.4.15, 10.0.5.15
  • Attaccanti: 192.168.56.52 (hostname: sploitme.com.cn)
  • Servizi: 10.0.2.2, 10.0.3.2, 10.0.4.2, 10.0.5.2 (DHCP server e gateway); 192.168.1.1 (DNS)
  • Host violati simulati: 192.168.56.51 (hostname: shop.honeynet.sg), 192.168.56.50 (hostname: rapidshare.com.eyu32.ru)
  • Host esterni: www.honeynet.org, www.google.com, www.google.fr, www.google-analytics.com

Gli indirizzi IP delle vittime e dei server DHCP sono della stessa classe di quelli assegnati di default dall’ambiente di rete virtuale creato da Qemu, come pure i MAC address dei server DHCP. Questo, verosimilmente, ci suggerisce che sia gli host vittima che i server DHCP sono macchine virtuali, usate come honeypot.
Gli indirizzi IP degli attaccanti sono privati (vedi rfc1918), ed il loro nome di dominio non esiste in Internet o, meglio, non è registrato su alcun servizio conosciuto, quindi anche gli attaccanti sono simulati. Unica eccezione viene dall’host shop.honeynet.sg che esiste e viene risolto con l’indirizzo IP 203.117.131.40, ma nella cattura in analisi non viene mai contattato ed ogni richiesta viene indirizzata verso un host interno privato (indirizzo IP 192.168.56.51).
Tutte queste informazioni possono essere ricavate con strumenti di uso comune in Linux per l’interrogazione dei database pubblici degli indirizzi IP e dei nomi di dominio, come dig, whois e host.

La terza domanda entra nel vivo dell’analisi, chiedendo di elencare le pagine web visitate, e di indicare quelle contenenti codice Javascript sospetto o possibilmente dannoso, e quale host la stia visitando, descrivendo brevemente la natura del codice sospetto o dannoso. L’elenco è lungo e articolato, in grassetto le pagine “interessanti”:

  1. rapidshare.com.eyu32.ru/login.php: questa pagina contiene codice Javascript offuscato che carica in un tag IFRAME la pagina [2]
  2. sploitme.com.cn/?click=3feb5a6b2f: questa pagina risponde con un header HTTP di tipo 302 Found, e dirotta i visitatori verso la pagina [3]
  3. sploitme.com.cn/fg/show.php?s=3feb5a6b2f: una falsa pagina di errore 404, contenente una porzione di codice Javascript che cambia in funzione di che browser visita la pagina
  4. sploitme.com.cn/fg/load.php?e=1: questa pagina restituisce un eseguibile binario per Windows che apre il sito [5]
  5. www.honeynet.org: sito ufficiale del progetto Honeynet
  6. www.google.com: Google
  7. www.google.fr: Google in francese
  8. www.google.fr/generate_204: una pagina di servizio di Google
  9. shop.honeynet.sg/catalog/: anche in questa pagina c’è un pezzo di Javascript offuscato che carica la pagina [10] in un tag IFRAME.
  10. sploitme.com.cn/?click=84c090bd86: identica situazione della pagina [2], con un header HTTP di tipo 302 Found, che dirotta verso la pagina [11]
  11. sploitme.com.cn/fg/show.php?s=84c090bd86: questa pagina è una delle più interessanti. Contiene un pezzo notevole di codice Javascript, fortemente offuscato, che tenta di sfruttare un numero consistente di vulnerabilità note, quasi tutte relative a controlli ActiveX. Nel seguito dell’analisi vi saranno tutti i dettagli
  12. sploitme.com.cn/fg/directshow.php: questa pagina è chiamata dal codice Javascript in [11], e contiene una falsa immagine Jpeg necessaria a sfruttare un bug in un altro controllo ActiveX
  13. sploitme.com.cn/fg/load.php?e=3: stessa situazione della pagina [4]
  14. sploitme.com.cn/fg/show.php: stessa situazione della pagina [3]
  15. www.google-analytics.com: pagina di Google Analytics

Riassumendo, vi sono tre categorie di pagine:

  • pagine relative a siti web violati (simulati), con codice Javascript iniettato (pagine [1] [9]) che forzano il browser a caricare pagine da altri siti
  • pagine attive di attacco ([3], [11], [14], tutte con lo stesso URL di base) che scelgono che attacco sferrare in funzione del tipo di browser e della geolocalizzazione dell’indirizzo IP del visitatore
  • pagine di servizio: la root di sploitme.com.cn che opera un redirect con un header HTTP 302 Found; sploitme.com.cn/fg/load.php che in funzione del parametro “e” codificato nell’URL fornisce un eseguibile, verosimilmente un malware; sploitme.com.cn/fg/directshow.php che invece fornisce un file Jpeg forgiato al fine di sfruttare alcune vulnerabilità

Come si possa affermate tutto ciò sarà evidente nel seguito.

Fine della prima parte. Fra qualche giorno il seguito.

Tags: ,

Ancora sul falso antivirus e sull’incidente di sicurezza del 21 aprile 2010

Dopo aver ripristinato il tutto, l’installazione pare reggere, ma naturalmente non c’è da illudersi. Se, come ipotizzavo, il problema è dellì’hosting c’è poco da fare. In particolare, quello su cui è ospitato il sito usa un sistema che separa completamente gli utenti ospitati. Ognuno ha il suo spazio, il servizio web server è eseguito con utente differente da sito a sito, per cui è impossibile andare a curiosare nello spazio di hosting degli altri, anche volendo.
Anche se l’applicazione web che uso fosse notoriamente insicura per la presenza di bug non corretti, cosa che a quanto mi è dato di sapere non è, violando il mio sito non potrebbero compromettere gli altri ospitati nello stesso server.

Se invece il problema fosse a monte, ad esempio per via di un bug non corretto a livello del software di sistema (web server, interprete PHP, database vari, ecc.), l’eventuale incursore che sfrutti la falla potrebbe accedere globalmente a vari livelli: a tutti i siti in hosting o addirittura all’intero server.

Il tipo di incursione e il suo scopo, iniettare Javascript, seminascosto, in più siti possibile per infettare più utenti possibile con il falso antivirus (con lo stesso schema e le stesse finalità di altri incidenti di sicurezza, differenti ma con lo stesso scopo, di cui avevo parlato in precedenza), fa pensare appunto ad un attacco mirato.

Se avete un sito con pagine in PHP, anche se non si tratta di applicazioni note, anche se si tratta di pagine fatte su misura, controllate che non vi siano blocchi di codice iniettato e camuffato. Riconoscerlo è abbastanza facile, e ne avevo scritto diffusamente al tempo dell’attacco massivo ai blog con WordPress.

Tags: , ,

Gioca, è GRATIS!!! Più o meno. Anzi, no.

Un nome evocativo. Un bel banner grafico, possibilmente una o più fanciulle poco vestite. Le parole gioca, gratis, online si leggono scritte in grande nella pagina che si apre se si clicca sul banner.

E’ una vera e propria epidemia. Basta entrare in un qualsiasi sito di intrattenimento, in un blog o in un portale di media diffusione, ed immediatamente compare un banner che mostra un gioco online gratuito.

Ne esistono per tutti i gusti: spaziali, FPS, avventure, Dungeon&Dragons, strategici. Alcuni richiedono l’installazione di un client, di solito i FPS, altri si giocano col browser. In tutti la registrazione è gratuita, e si parte con quanto basta a capire come funziona il gioco e, soprattutto, prenderci gusto: è lo scopo principale, perché dopo viene il bello.

La dotazione iniziale di un gioco in stile Halo, Doom 3, Half-Life e simili è minima. Per acquisire nuove armi, strumenti e potenziamenti occorre una moneta di scambio il cui nome varia da gioco a gioco, ma il meccanismo è in pratica lo stesso per tutti, indipendentemente da chi li pubblica: ogni oggetto, ogni arma, ogni potenziamento, perfino le munizioni e alcune opzioni di configurazione, tutto ha un costo ed una durata. Un esempio a caso: il mirino che appare al centro dello schermo può essere cambiato con uno di forma diversa, costo 14.900 crediti. Se si cambia idea, occorre spendere altri 14.900 crediti. Vogliamo cambiare il nome del nostro giocatore? Bastano 9.900 crediti, per un singolo cambio. Vogliamo cambiare il colore con cui appare il nostro nome? Solo 2.900 crediti, ma la modifica dura 30 giorni (solari e non di gioco), poi occorre rinnovare l’acquisto, altrimenti torna quello originale.
Nessun problema, i crediti si guadagnano combattendo, naturalmente solo quando si vince. Per i nuovi giocatori è dura: per usare alcune armi e certi equipaggiamenti occorre avere un certo livello di “esperienza”, segnato con un corrispondente grado militare. Altrimenti, anche se abbiamo quell’arma, non possiamo utilizzarla. Senza quelle armi e con equipaggiamento ridotto vincere è oggettivamente difficile.

Ecco dove si trova la trappola: se non si ha esperienza, si guadagna poco, ma “fare esperienza” significa poter usare certe armi e certi equipaggiamenti, per aver maggiori possibilità di vincere.

In un altro gioco, ad ambientazione spaziale, i crediti si guadagnano combattendo o commerciando, ma anche qui tutto ha un costo: anche i singoli proiettili sparati dalla nostra nave hanno un prezzo. E per comprare un semplice cannone laser (le munizioni sono a parte) occorrono migliaia di crediti.

La sorpresa viene dal valore reale di questi crediti. Il rapporto di conversione (o forse si dovrebbe parlare di un vero e proprio tasso di cambio) è di un dollaro per 1.000 unità di moneta del gioco, oppure di un euro per 1.000 unità monetarie se il fornitore del gioco è in Europa.

Con pochi semplici calcoli si vede subito che è facile spendere decine di euro per qualche partita. Il problema è che nulla nella struttura del gioco obbliga a comprare crediti, ma è nella evoluzione dell’ambiente che diventa praticamente necessario: alcune missioni o alcune opzioni del gioco si possono accedere solo se in possesso di determinati requisiti, che è impossibile ottenere senza spendere soldi per acquistare crediti.

Tornando ai numeri detti sopra, cambiare il proprio nome costa quasi 10 dollari. Cambiare il mirino ne costa 15. Detto in questo modo appare subito chiaro che lo scopo del fornitore del gioco non è fare soldi con la licenza di installazione ed uso del software, ma con gli innumerevoli micropagamenti che i giocatori alla fine fanno per andare avanti nel gioco.

Naturalmente non ho speso un centesimo per fare dei test, ma i prezzi e le condizioni d’uso sono leggibili e disponibili su tutti i siti, anche se non sempre molto chiare.

In questo modo il problema della pirateria viene risolto alla radice, ma in modo che certamente non si può definire indolore per gli utenti: non vogliamo pagare 30-70 euro per un gioco originale per il computer o per la nostra console per videogame, che magari li varrebbe anche, però andiamo a spendere alla fin fine centinaia di euro in micropagamenti per un gioco che in definitiva non è neanche originale, né nella struttura, né nei contenuti.

Il problema semmai è un altro: tenere sotto controllo il denaro effettivamente speso. Qualche tempo addietro ho acquistato alcuni giochi in offerta: Max Payne, Freelancer e Deus Ex, tutti per meno di 10 euro. E’ vero, non sono giochi recenti, ma il mio computer non mi permette di allargarmi molto come prestazioni. Ognuno di questi assicura parecchi giorni di gioco, e a distanza di tempo non mi stanco mai di giocarci di nuovo, anche se in effetti di tempo me ne è rimasto veramente poco, anzi nulla. Ma per quanto possa usarli il loro costo sarà sempre e solo di 10 euro, indipendentemente dalla quantità di tempo e di sessioni di gioco.

Lo stesso non si può certo dire di questa categoria di giochi online, il cui scopo è di assicurare al creatore un introito costante da parte di chi gioca, usando l’effetto “un caffè al giorno“, ben noto a chi si occupa di marketing.

Occhio al portafogli.

Tags: ,

Tre mesi di phishing

Di solito tendo ad ignorare lo spam, fra cui i messaggi di phishing abbondano. Sarà che da un tre anni ormai, offrendo la mia competenza a chi ha un sito web violato, ne ho viste talmente tante da aver acquisito una sorta di “occhio clinico”, il fatto è che negli ultimi mesi non riesco più a fare “Seleziona tutti” seguito da “Elimina definitivamente” nella cartella dello spam, senza prima dare una scorsa ai messaggi insoliti.
Immediata, o quasi, è arrivata l’idea di dare più di una semplice occhiata ai messaggi di phishing.
I risultati sono per me in parte attesi, nel senso che in molti dei miei interventi ho indicato come possibile scopo per violare un blog o un sito l’ospitarci un sito di phishing. Intendiamoci, non sono “mie scoperte di sicurezza informatica”: sono in molti ad indicarlo, ben più autorevoli di quanto io possa mai diventare.
Vista la disponibilità di alcuni account di posta elettronica, e di un po’ di tempo durante i viaggi da pendolare, ho raccolto e studiato per tre mesi i messaggi di phishing che mi arrivavano. Qui presento alcuni risultati, se poi l’argomento riscuote un minimo di interesse, posso espandere aggiungendo dettagli.

La procedura di analisi

Non potendo accedere direttamente al contenuto originale dei siti, che permetterebbe una analisi puntuale ed accurata, quanto riportato è frutto di controlli e verifiche fatte dall’esterno, con strumenti assolutamente innocui: un browser, un editor di testo per programmatori, le utility whois, dig, host per ottenere informazioni pubbliche su IP e registro dei nomi DNS. Eppure, anche con così poche informazioni è possibile imparare molto sul phishing.

All’arrivo di ogni messaggio di posta elettronica palesemente di phishing, se ne salva una copia del “sorgente”, con tutte le intestazioni e le parti normalmente non visibili all’utente normale. Segue poi una visita sul sito di phishing, con prelievo di uno screenshot e del codice html della pagina così come emessa dal server. Se il sito è in hosting, il prelievo dei campioni finisce qui, altrimenti si tenta di arrivare al sito originale, catturando anche qui uno screenshot e l’html della pagina così come emesso dal server. In qualche caso è stato possibile visitare le directory intermedie fra il sito principale e il sito di phishing, acquisendo informazioni preziose su come e dove è avvenuto l’insediamento. In qualche caso è stato possibile mettere le mani sul sorgente originale del sito di phishing, lasciato in una directory intermedia da chi lo ha installato, di solito sotto forma di file ZIP o RAR.

Il materiale è poi analizzato e classificato per quanto possibile, ricavandone informazioni che ritengo interessanti. Ma basta con le chiacchiere, andiamo al sodo.

Quanti? Quali?

In tre mesi i messaggi ricevuti ed esaminati sono stati 73, non moltissimi, ma certamente sufficienti per costituire un campione con qualche significato statistico. Iniziamo con la distribuzione dei “bersagli”, ossia gli istituti di credito e servizi online presi di mira.

Distribuzione dei tentativi di phishing verso Istituti di credito e servizi online

Distribuzione dei tentativi di phishing verso Istituti di credito e servizi online

I più bersagliati sono i clienti di Poste Italiane e di Intesa S. Paolo, seguiti da quelli di Cartasì, ma non mancano i soliti eBay e PayPal. In tutti i casi esaminati i siti di phishing sono praticamente indistinguibili dall’originale, se non per qualche dettaglio, di cui ci si accorge solo possedendo adeguate conoscenze: ad esempio i link sono tutti uguali, ossia conducono tutti alla pagina per inserire i dati, oppure vi sono piccoli difetti nella presentazione della pagina, poco evidenti.

Le cose naturalmente cambiano quando si va ad esaminare il codice html emesso dai siti di phishing. Tipicamente sono copie dei siti originali, prese con note utility, di cui spesso non viene neanche rimosso il marchio dai file, eccone un esempio:

<!-- Mirrored from www.monetaonline.it/layout/03069/pop/dispores_card_01.asp by HTTrack Website Copier/3.x [XR&CO'2008], Mon, 13 Apr 2009 23:59:09 GMT -->

In qualche caso il sito usa solo pagine html, le immagini vengono prelevate dal sito originale, diminuendo la dimensione necessaria ad ospitare il codice per mostrare ed eseguire la raccolta di dati.
Il metodo di raccolta dati preferito è l’e-mail, ossia al momento in cui il cliente vittima del phishing inserisce i suoi dati e preme il pulsante di conferma, vengono inviati per e-mail all’autore del phishing, in vari modi: se il sito è in PHP, viene usata la funzione mail(), in altri casi viene sfruttato un form di invio posta di un altro sito, legale, che però permette di inviare messaggi a chiunque semplicemente chiamandolo con i giusti parametri (vedere ad esempio questi due avvisi di sicurezza di Secunia). In qualche caso gli indirizzi di posta di destinazione sono in chiaro e perfettamente leggibili dalle pagine HTML del sito di phishing.

Veniamo ora alla questione di dove vengano ospitati i siti di phishing. Ebbene, come avevo premesso, per me non è una sorpresa, ma il grafico parla chiaro.

Dove vengono ospitati i siti di phishing?

Dove vengono ospitati i siti di phishing?

Circa un terzo è ospitato in normali servizi di hosting, spesso gratuito, con dei trucchi per ritardare il rilevamento e la cancellazione del sito, come ad esempio l’uso di directory profonde per ospitare il sito di phishing, invece della home page, lasciata a quella di default, e l’uso di servizi di abbreviazione degli URL (come Tinyurl o Snipurl). Uno dei sistemi utilizzati è quello di registrare il nome del sito da un fornitore e prendere lo spazio di hosting da un altro, in entrambi i casi usando dati di identità falsi e differenti.

Oltre due terzi dei siti di phishing sono inseriti in siti web violati. In quasi un quarto dei casi i siti violati coinvolti sono due, differenti: il primo è quello di cui compare l’URL nella e-mail di phishing: una volta chiamato, il codice nascosto nel sito opera un semplice redirect con vari metodi al secondo sito violato, contenente il sito di phishing vero e proprio.

Per quanto riguarda il tipo di web application colpita nei siti violati, in gran parte dei casi non è stato possibile determinare se l’applicazione è preconfezionata, ad esempio un software open source o commerciale, o se è stato sviluppato ad hoc. Quello che appare da alcuni indizi è che in buona parte dei casi si tratta di applicazioni costruite a partire da una open source, cancellando ogni riferimento alla web application originale. Il problema è che molto probabilmente la base di partenza è una versione che a distanza di uno o due anni è obsoleta e verosimilmente vulnerabile a diversi tipi di attacchi, di conseguenza lo diventa anche l’applicazione da essa derivata, con ovvie conseguenze. Dato che chi cerca siti vulnerabili opera un fingerprinting della web application, l’operazione di nascondere, eliminare o modificare il contenuto dei messaggi di copyright dell’applicazione non sposta di un millimetro il problema. Anzi, proprio perché l’applicazione è modificata pesantemente è impossibile operare un aggiornamento in tempi rapidi, o spesso per motivi contrattuali non è proprio previsto, per cui il sito diventa e rimane vulnerabile a lungo.

Altre volte è proprio l’applicazione sviluppata a mostrare chiaramente problemi. In un caso, un sito che pubblicizzava “enlargement sessuali” (uno dei preferiti da chi fa spam), era costruito con una semplice web application in ASP, che non controllava per nulla i parametri di tipo URL-encoded che usava per mostrare i vari sottomenu. Inserendo una lettera al posto del numero in uno di essi appariva nel codice emesso un errore caratteristico delle applicazioni vulnerabili ad attacchi di tipo SQL-Injection. Eccone un esempio con uno dei parametri modificati appositamente:

<p>Microsoft JET Database Engine</font> <font face="Arial" size=2>error '80040e14'</font>
<p>
<font face="Arial" size=2>Syntax error (missing operator) in query expression 'nMenuNumb = cLNG(''0 or 1=1;'')'.</font>
<p>
<font face="Arial" size=2>/source/view_data.asp</font><font face="Arial" size=2>, line 38</font> 

Quando invece è stato possibile determinare con certezza l’applicazione colpita, i nomi che escono sono in un certo senso attesi.

Numero di siti violati e siti di phishing ospitati per tipo di web application

Numero di siti violati e siti di phishing ospitati per tipo di web application

Sei siti con Mambo, uno con WordPress, due con Joomla, tre con phpBB, quattro con applicazioni commerciali, di cui ho trovato i rispettivi avvisi per vulnerabilità piuttosto gravi. Non sembrano molti, ma tenendo conto che chi li ha violati li sta sfruttando a fondo, il danno è rilevante: sia in quello WordPress che in uno di quelli con phpBB vi sono nascosti tre differenti siti di phishing e quelli con Mambo presentano anche i segni di altre intrusioni, volte a diffondere malware.

Dei 49 siti violati, solo 8 appartengono a privati, ossia sono personali o amatoriali. La parte del leone la fanno i siti delle società, seguiti a distanza dai siti istituzionali.

I siti delle società sono i più gettonati.

I siti delle società sono i più gettonati.

I siti di cui non è stato possibile determinare la categoria erano o sotto forma di puro indirizzo IP, oppure erano vuoti o quasi, al momento del phishing, forse abbandonati dai proprietari, o forse sorpresi a metà di una ristrutturazione, quindi non c’era indicazione della reale appartenenza del sito. Anche ricerche nella cache di Google hanno dato esito negativo, segno che i siti stessi erano da tempo in quella condizione.

Altro fronte di analisi è quello dei presunti autori dei tentativi di phishing. E’ ovviamente impossibile determinare con sicurezza se l’autore è lo stesso per due siti, ma quello che si può dire è che i siti confezionati per il phishing possiedono in qualche caso delle caratteristiche che li accomunano, ma a parte alcune eccezioni notevoli, i responsabili potrebbero essere differenti.

La sorpresa viene da uno dei siti di phishing impiantato nel sito con Joomla: il “wannabe” Grande Hacker ha lasciato in bella vista il file zip con il kit di phishing in una delle directory. Chissà se il Grande Hacker si è accorto che un Più Grande Hacker lo ha fatto fesso? Il kit di phishing è uno di quelli con la sorpresa, con un secondo indirizzo email offuscato e nascosto nel codice PHP.

Conclusioni

Per ora chiudo qui. Dovrebbe essere evidente il pericolo ed il rischio di avere un sito con una applicazione obsoleta, vulnerabile notoriamente a vari tipi di attacchi, come pure dovrebbe essere chiaro che anche un sito web sviluppato appositamente, se non è pensato in origine per resistere a vari tipi di attacchi, tutti arcinoti e ampiamente documentati, diventa una porta di ingresso per tutta la pletora di mentecatti in giro per la Rete. Il fatto che non sia disponibile il sorgente dell’applicazione non rende affatto più difficile il lavoro di chi ha intenzione di violare il sito per farci i suoi comodi.

Ed ancora, chi ha un sito violato non si aspetti di vedere segnali particolari o sentir squillare una sirena: le intrusioni sono estremamente silenziose, poco evidenti e ben tollerate da tutti i siti e applicazioni. Difficilmente sul sito si vedrà un defacement, o almeno non contemporaneamente all’apparire del sito di phishing. Potrebbe invece succedere che prima ci sia il sito di phishing, e solo dopo che abbia fatto i propri comodi l’autore del phishing abbandoni il sito al suo destino, dopo aver lasciato porte scardinate e finestre sfondate. A quel punto il defacement sarebbe il minore dei problemi.

Riferimenti

Tags: , ,

Ripara, velocizza e pulisci! Cosa, non si sa.

Ho notato da un po’ che è praticamente impossibile capitare su un sito che parla di computer e informatica o fare una qualsiasi ricerca su Google riguardante sempre computer o informatica senza vedere la pubblicità di programmi per pulire e velocizzare il registro di Windows, mostrati nei banner di Google Ads.

I siti che li offrono sono apparentemente ben fatti e curati, anche se si notano alcune incertezze attribuibili ad un traduttore automatico. Bene in vista c’è il pulsante Scarica GRATIS!, anche se poco sotto appare la contraddittoria frase “100% Garanzia Soddisfatto o Rimborsato”. Se è gratis, cosa viene rimborsato?

Naturalmente ho fatto alcune analisi sul comportamento di questi software. Niente di esoterico, per carità, che fra l’altro è vietato dalla licenza stessa del software. Semplicemente ho fatto un controllo incrociato sulle presunte schifezze segnalate nel registro di Windows dal solerte software.

Ecco in dettaglio i test fatti. L’ambiente è una macchina virtuale Windows XP con SP2 installato, fresca di installazione, senza nulla aggiunto, mai connessa in rete prima. Il software ha una modalità automatica in cui esegue una scansione e mostra alla fine un rapporto sui problemi rilevati. Una seconda modalità di scansione consente invece di selezionare da un elenco cosa deve controllare, ad esempio chiavi di registro vuote, associazioni dei file, voci del menu di avvio, cronologia degli URL di Internet Explorer. Il responso del primo tipo di test è allarmante: 95 problemi rilevati. Su un computer fresco di installazione non è male. Andando a vedere quali siano i problemi, la situazione si fa imbarazzante. Ne elenco alcuni dei più singolari:

  • Sotto “Cronologia di IE” vi è una singola riga, relativa alla chiave “Software\Microsoft\Internet Explorer\TypedUrls” che vale “http://www.microsoft.com/isapi/redir.dll?prd=ie&pver=6&ar=msnhome”. Non sapevo che la pagina di default di Internet Explorer 6 fosse un problema.
  • Sotto “Chiavi Vuote del Registro” vi sono le impostazioni di alcuni screensaver (3DFlyingObj, 3DPipes e Bezier), che sono naturalmente vuote perché non è ancora mai stato impiegato uno screensaver, figuriamoci se configurato nelle sue proprietà. Ma la più gustosa è una chiave di registro appartenente al programma di pulizia appena installato. Non doveva pulire?
  • Nelle “Associazioni file” è considerato un problema che i file Wave abbiano nel menu di contesto “Apri con…” il Registratore di Suoni di Windows.
  • Per ultimo viene considerato un problema che l’applicazione cmmgr32.exe (il Microsoft Connection Manager) abbia il path di installazione scritto in una chiave di registro.

Provato un differente software che dichiara di offrire lo stesso servizio, i problemi riscontrati diventano 43, naturalmente non ne coincide neanche uno con i 95 rilevati dall’altro. E naturalmente nessuno dei due si accorge dell’altro.

Altra prova: installo Firefox 3.5 appena scaricato. Il primo fa lievitare gli errori da 95 a 106, il secondo insiste su 43 errori. Installo Gimp 2.4.4: nessuna variazione: 106 errori il primo, 43 il secondo. Nel frattempo l’avvio del computer virtuale è diventato sensibilmente più lento, perché ad ogni avvio effettua la scansione del registro e propone la pulizia mediante registrazione dei programmi.
Ragionando a cervello spento, cerco una utility che mi renda più veloce il computer, ottimizzando tutto. Ne trovo una che fa al caso mio, la installo. Riavvio il computer virtuale, che intanto impiega cinque volte tanto a mostrare il desktop, rispetto a quando era “sporco e non ottimizzato”. Appena aperto il desktop partono le tre scansioni: i due pulitori del registro e l’ottimizzatore, che non tarda a mostrare la sua potenza. Propone i seguenti interventi:

  • Sotto la categoria “Privacy files” sono elencati ben 232 problemi. In pratica sono la cache di Internet explorer, di Firefox, l’elenco dei siti visitati e qualche chiave di registro. Tutta roba che si può pulire tranquillamente dai browser stessi e senza installare niente in aggiunta.
  • Sotto la categoria “Network tweaks”, sono elencati 10 interventi fra cui “Incrementare la cache del browser”, “Controllare gli aggiornamenti della pagine web solo una volta per sessione”, “Impostare la cache a 5000kb” e “controllare l’aggiornamento dei contenuti solo una volta per sessione”. Sono le stesse due voci, duplicate con la stessa descrizione, perché vi sono due browser installati. La seconda, ossia controllare i contenuti sui siti web solo una volta per sessione, rende sì la navigazione più veloce, ma ha anche qualche effetto collaterale, che lascio da scoprire come compito a casa. In ogni caso, le impostazioni sono modificabili senza altri intermediari anche dai rispettivi browser.
  • Sotto la voce “Windows tweaks”, abbiamo ben 13 interventi, fra cui disabilitare l’animazione delle finestre e dei menu, non modificare la data di ultimo accesso dei file, non cancellare il file di paging all’uscita dal sistema operativo e per ultimo non usare il file di paging. Anche qui non c’è bisogno di un software specifico, e comunque, a parte il piccolo miglioramento nella velocità di risposta che si ottiene disabilitando gli effetti grafici, tutti gli altri interventi hanno i loro effetti collaterali.
  • Per ultimo, sotto la categoria “Startup tweaks”, troviamo elencati una serie di servizi da disabilitare che in realtà o sono già disabilitati, o poco usati, ma se disabilitati hanno alcuni effetti collaterali che non sono spiegati nel software.

Come è facile immaginare, anche per cancellare la cache del browser devo registrare il programma, acquistando una licenza al prezzo di 25 euro, scontato.

Ultima prova: ho disinstallato sia Gimp che Firefox, naturalmente chiedendo a Firefox di togliere tutti i suoi file e le sue chiavi di registro, oltre che tutti i dati del profilo. Il risultato è che mentre l’ottimizzatore vede meno cose da fare (non c’è più Firefox con la sua cache da pulire ed ottimizzare), gli altri due mostrano 108 e 47 problemi ciascuno. Naturalmente i problemi mostrati in più non coincidono fra loro.

Rimane l’ultima prova, la disintallazione. I tre programmi si eliminano senza tanti problemi, ma uno di essi lascia una chiave di registro per l’avvio automatico, solo che l’applicazione non c’è più. Ora il computer è tornato ad essere veloce come prima, all’avvio.

Conclusioni

Al di là delle prestazioni e dei vantaggi dichiarati, il prezzo richiesto non vale il lavoro fatto da questi programmi, nella migliore delle ipotesi. L’eccessivo numero di problemi riportati, che, lo ricordiamo, sono rilevati su un computer fresco di installazione, fa pensare che sia una strategia per indurre ad acquistare un prodotto in fondo inutile, le cui funzioni o sono già presenti nel sistema operativo o sono svolte da altre applicazioni gratuite e senza oneri di alcun tipo.
Insomma, questi software hanno un comportamento più simile ad un grayware, che ad un programma utile a qualcosa. Sia ben chiaro: i produttori di questi software non fanno nulla di illegale, in sé, soltanto usano delle tecniche di marketing piuttosto aggressive. Pensateci due volte prima di mettere mano alla carta di credito.

Tags: , ,

Conficker: un ospite tanto silenzioso quanto pericoloso

Al momento sto sostituendo i computer di un impianto per via di un cambio di piattaforma (si passa da PC a Mac). I PC, ancora perfettamente funzionanti e con una buona dotazione di hardware, vengono ripuliti dalle applicazioni inutili e riconfigurati per essere utilizzati in altre applicazioni.

Sono sistemati provvisoriamente nel mio ufficio, dove li libero delle schede non più necessarie e faccio una ricognizione generale per trovare ed eliminare roba inutile rimasta dal vecchio impiego. Non che ve ne sia molta, gli account erano tutti non amministrativi e gli utenti non potevano (e non dovevano) installare alcunché, visto che l’uso era strettamente professionale e limitato ad una sola applicazione.

Nonostante questo e nonostante il fatto che la rete fosse isolata dal resto del mondo, ho avuto la sorpresa di trovarvi annidato Conficker, in una delle tante varianti.

E’ la prima volta che mi capita di avere per le mani computer colpiti da Conficker, senza che nessun altro vi abbia prima pasticciato o che la macchina sia già talmente compromessa da non riuscire a capire quanto delle devastazioni sia colpa di Conficker e quanto invece delle varie inutility installate dall’esperto di turno.

Come mi sia accorto della presenza del simpatico ospite, è frutto praticamente del caso: sui computer era installato VNC per l’assistenza da remoto, ed avevo aperto le rispettive porte sul firewall di Windows, aggiungendo le necessarie eccezioni. Dato che nella nuova sistemazione VNC non serve più, lo stavo eliminando e per completare il tutto sono entrato nel pannello di gestione delle eccezioni del firewall per rimuovere le due relative a VNC. Notata una eccezione, il cui nome era di sette caratteri alfabetici a caso, ho subito pensato che ci fosse qualcosa di strano, forse causato da qualche malware partito da un pen drive, visto che questa funzione non era bloccata. Ho disabilitato l’eccezione, poi, dopo aver eliminato parte del software non più necessario, ho riavviato, e l’eccezione era di nuovo attivata.

A quel punto il sospetto era certezza. Ho visto a quale porta TCP si riferiva l’eccezione, ed era la 1138, una porta non privilegiata e non usata da nessun servizio noto. Usando il comando netstat -nao si ottiene la lista delle porta TCP e UDP aperte con i relativi PID (Process ID) dei demoni le usano. Un processo teneva effettivamente aperta questa porta, ed il PID corrispondeva ad una istanza di svchost.exe con utente SYSTEM, come dire tutto e niente. Su un’altra macchina, sempre compromessa, la porta TCP ed il nome della eccezione sul firewall erano differenti, ma anche qui vi era l’istanza di svchost.exe relativa alla porta TCP aperta.

Per farla breve, ho usato due differenti strategie per rimuovere l’ospite indesiderato: una con il tool di rimozione di Symantec, efficace e veloce, una manualmente, che però è molto laboriosa e a rischio di veder vanificato il lavoro se si salta un passo. L’insediamento è fatto sfruttando un bug nel servizio di esecuzione pianificata, attivato dalla rete usando una named pipe sulla porta 445: la macchina già infetta si connette alla vittima, ed attraverso la pipe denominata “atsvc” esegue qualcosa che provoca l’attivazione. Viene depositata una DLL dal nome casuale nella directory system32, con impostati permessi molto particolari, tanto da risultare apparentemente intoccabile anche dall’utente amministratore. In realtà basta riassegnare i diritti al gruppo Administrators e si riesce ad eliminare, ma se prima non si è chiuso il firewall, impedendo l’accesso anche alla porta 445 (basta spuntare la casella “Non consentire eccezioni”) e se l’infezione è diffusa a più macchine, in breve si è daccapo con una differente DLL e una differente porta TCP. La DLL viene infilata come servizio da lanciare in una chiave di registro riguardante un servizio nascosto, che si trova cercando il nome della DLL: il nome del servizio è casuale e viene inserito un una chiave di registro particolare, che lo fa lanciare ad ogni avvio. Tutte le chiavi di registro coinvolte hanno la ACL impostata in modo che apparentemente siano intoccabili anche da Administrator, ma usando la voce “Autorizzazioni” del menu “Modifica” di Regedit si riesce a riassegnare i permessi anche ad Administrator e rimettere a posto le cose, cancellando l’avvio del falso servizio.

Comunque, al di là della complessità di rimozione, e delle tecniche di hiding messe in atto, Conficker compie un passo in più verso l’operatività silenziosa: ho avviato uno sniffer su una macchina Linux, connessa allo stesso switch delle macchine compromesse, e la sorpresa è (poco) piacevole: naturalmente dallo switch ricevevo solo il traffico broadcast, ma è stato sufficiente per notare come la strategia di scansione di Conficker sia molto meno “rumorosa” di tanti altri malware: ogni due secondi tenta un nuovo indirizzo, andando progressivamente per tutti gli indirizzi della subnet in cui si trova. Dopo il primo giro di scansione, il processo si ferma e non si hanno altri segnali, almeno non nei minuti immediatamente successivi. Questo significa che, a meno di non usare uno sniffer, e di usarlo al momento giusto, difficilmente verrà notato il traffico anomalo, come invece succedeva con altri malware, che eseguivano scansioni senza fine alla ricerca di altri computer su cui propagarsi alla massima velocità permessa dalla interfaccia di rete, rallentando tutto e generando moltissimo traffico.

Altro passo è l’assenza di processi in esecuzione specifici: usa un demone di sistema, quindi non ci sono processi con nomi strani o che scimmiottano i nomi di altri demoni legittimi.

Ancora, Conficker impedisce l’accesso via Internet a tutto il dominio microsoft.com, oltre probabilmente a molti altri, senza modificare file di configurazione e senza installare strani servizi: agisce sul servizio di cache DNS, probabilmente inquinandone il contenuto con valori improbabili. Il risultato è che solo aprendo un browser e puntando ad uno dei siti Microsoft si ha il sentore che qualcosa non sia proprio al suo posto.

Queste caratteristiche lo rendono differente da tutti i malware di questa categoria visti in precedenza e soprattutto lo rendono pericoloso ad un nuovo livello, perché anche l’utente più smaliziato difficilmente si accorgerebbe di avere una macchina compromessa, venendo a mancare qualsiasi segnale, almeno fra i più comuni, della presenza di un malware annidato nelle profondità del sistema operativo. Da quella che è la mia esperienza, questa strategia mostra che chi ha creato e diffuso Conficker, e le sue varianti, ha l’interesse non solo a colpire più computer possibili, ma anche a prolungare il tempo di permanenza nelle macchine colpite, non solo rendendo difficoltosa la rimozione con l’uso di caratteristiche poco note ai più, ma anche e soprattutto rendendo meno evidenti i sintomi dell’infezione.

In conclusione, anche considerando la grande diffusione e la difficoltà di estirparlo, Conficker rappresenta forse il primo di una nuova categoria di malware, pensati per annidarsi nelle viscere dei computer infetti e fare il proprio lavoro in modo silenzioso e discreto. Tenendo poi presente la capacità di scaricare ed eseguire a comando altri programmi, è facile immaginare scenari dove si possa trasformare in keylogger per catturare coppie di login e password, trafugare file con le credenziali di accesso a servizi o server remoti, operare come testa di ponte per diffondere spam o altri malware, trasformare i computer infetti in proxy o installarvi un simpatico sito di phishing.

Manca solo la chiusura ad effetto. Concedetemela: che sia un altro passo verso un malware veramente cattivo?

In realtà, no, siamo ancora lontani, ma Conficker si situa a metà strada fra i malware di tipo 0 e quelli di tipo I (usando la tassonomia proposta da Joanna Rutkowska), usando un demone di sistema per essere avviato e non apparire direttamente fra i processi in esecuzione. Rimane comunque il fatto che è difficile accorgersi della sua presenza, e la sua discrezione e silenziosità lo rende molto più pericoloso di tanti altri della sua razza.

Riferimenti

Tags: , ,

Il cugino del WordPress Autotest: Unmask Parasites

Il test per blog infetti non è più disponibile su questo sito, ma qualcuno ha implementato un servizio simile, impiegando Google App Engine: Unmask Parasites.

Il servizio esegue dei controlli sul codice emesso dal web server del sito esaminato alla ricerca di indizi e segni tipici dell’intrusione che per oltre un anno ha devastato i blog basati su versioni obsolete e vulnerabili di WordPress. Oltre questo, propone di usare Google per individuare i segni esterni dell’intrusione.

Peccato che, dagli ultimi siti analizzati, l’iniezione di link abusivi sia praticamente sparita per fare posto a codice malevolo molto più pericoloso. Non so se il sito in questione faccia dei controlli in tal senso, ma posso affermare che tali controlli sono quasi impossibili da automatizzare, per una ragione molto semplice: mentre l’iniezione di link nascosti ha certe caratteristiche comuni e ben individuabili, le violazioni su cui sto indagando negli ultimi tempi inseriscono del codice PHP offuscato che produce pagine web con codice Javascript, a sua volta offuscato, che opera redirect o tenta di rifilare malware a chi visita il sito. Il modello di offuscamento cambia ogni volta e non è possibile trovare degli elementi comuni, tali da permettere un automatismo nella ricerca.

Insomma, il mentecatto, come sospettavo, si sta dando da fare. La soluzione è sempre la stessa: aggiornare prima di essere violati.

Tags: , ,

Qualche pensiero sull’hacker 2.0

Nell’inserto del giovedì Nova24 del Sole 24 Ore di questa settimana è apparso un articolo di Guido Arata sull’evoluzione dell’hacker. C’è anche un mio breve intervento tratto dall’intervista telefonica che mi ha fatto Guido sull’argomento.

L’articolo si può leggere direttamente sul sito di Guido Arata: Chi è l’Hacker 2.0?.

Tags: , ,