Cosa c’è di buono

Ben arrivati, o bentornati. Ecco alcune letture interessanti che si possono trovare in questo sito.
There are documents in english language, too.

Il mio libro Windows XP in sicurezza pubblicato da Apogeo come e-book gratuito. Leggetelo!

Un manuale sulla crittografia pratica, per Windows e Linux, con GnuPG, gratuito e leggibile on-line.

Se gestite un blog basato su Wordpress, assicuratevi di tenerlo aggiornato, o finirete nel girone infernale dei blog compromessi. Tutti i dettagli nella categoria Wordpress.

Per chi sta pensando di installare Linux, consiglio la lettura di Linux per Futili Motivi, Prima di installare Linux e Linux virus e antivirus, per sapere se Linux è la soluzione ai nostri problemi, e soprattutto cosa ci aspetta se decidiamo di installare.

Se poi comunque si decide per installare, e si sceglie Fedora, la mia distribuzione di riferimento, c’è una nutrita schiera di documenti a cui attingere:

Per chi vuole essere avvertito dell’arrivo di nuovi articoli può iscriversi al feed.

Se invece avete qualcosa da dirmi, qui trovate come contattarmi.

Buona lettura, e grazie per la visita.

Andamento a rilento

Ho rimesso il tema precedente, quello nuovo non è compatibile con la versione PHP dell’hosting, per cui dopo una settimana sia il pannello di amministrazione che il blog ad ogni visita rispondevano “Cucù, 404 e nulla più”.
Poi, ho attivato la funzione di Wordpress che chiude automaticamente i commenti sui post più vecchi di 30 giorni, dato che statisticamente sono costituiti al 99,999% di spam e per il restante 0,001% di messaggi diretti ad un forum: il fatto che il titolo sia “Il non-blog” non significa che sia un helpdesk..
Sto preparando qualcosa, ma il recente cambio dirigenziale nel posto dove lavoro mi sta rendendo la vita difficile: son tutti pieni di idee nuovissime, spesso completamente scollate dalla realtà aziendale, ma non si può dire, o immediatamente vieni sostituito con qualcuno degli innumerevoli “wannabe” ansiosi di mostrare il loro valore, impegnandosi appunto in progetti privi di collegamenti col mondo reale.
Abbiate pazienza, non rimarrete delusi.

Tape drive LTO-3, controller HP Smart Array, Linux e problemi di velocità

Ho per le mani un server nuovo di zecca, con una discreta dotazione hardware. In particolare il pezzo degno di nota è un drive per nastri di tipo LTO-3.

Il server è un HP DL380 di sesta generazione, e monta un controller dedicato per il drive a nastro, uno SmartArray P212 con interfaccia di tipo SAS.

Il primo problema è stato che il drive non è rilevato all’avvio del sistema operativo, ma questo è facile da risolvere: i controller di tipo Smart Array sono in grado di accettare e controllare dispositivi a nastro, naturalmente a patto che l’interfaccia sia corretta, ossia SAS o SCSI. Il supporto per i dispositivi SCSI che non siano dischi è normalmente disabilitato nel modulo kernel corrispondente, che per la cronaca si chiama cciss, e può essere abilitato senza problemi e senza riavviare niente. Basta usare l’interfaccia /proc di accesso ai parametri del kernel.
Occorre prima individuare a quale controller sia connesso il drive a nastro, se ce ne sono più di uno. Basta andare a guardare nella directory /proc/driver/cciss: in questa directory vi sono tanti file quanti sono i controller, con il nome ccissX dove X è il numero “logico” del controller. Guardando dentro i singoli file con un cat si individua il controller giusto, nel mio caso è cciss1, il cui contenuto è:

cciss1: HP Smart Array P212 Controller
Board ID: 0x3241103c
Firmware Version: 1.66
IRQ: 178
Logical drives: 0
Sector size: 2048
Current Q depth: 0
Current # commands on controller: 0
Max Q depth since init: 0
Max # commands on controller since init: 1
Max SG entries since init: 0
Sequential access devices: 1

Per individuarlo, nel mio caso, ho cercato il modello di controller, ma si può usare ad esempio la presenza o meno di dischi, se il controller è condiviso fra dischi e nastro, cosa sconsigliata a priori.
Trovato il controller giusto, basta dare questo comando, da utente root:

# echo "engage scsi" > /proc/driver/cciss/cciss1

sostituendo a cciss1 il file giusto, e magicamente appare il drive a nastro, come si può verificare dai messaggi del kernel, visibili col comando dmesg:

scsi0 : cciss
  Vendor: HP        Model: Ultrium 3-SCSI    Rev: Q24D
  Type:   Sequential-Access                  ANSI SCSI revision: 05
scsi 0:0:0:0: Attached scsi generic sg0 type 1

Per trovare il device, occorre prima caricare a mano il modulo kernel st, oppure riavviare, ed a quel punto avremo disponibile il device /dev/st0 ed il device /dev/nst0 per accedere al nastro: il primo riavvolge il nastro automaticamente all’inizio quando si termina una operazione di scrittura (alla chiusura del device, ossia quando ad esempio il comando tar termina), mentre il secondo lascia il nastro dov’è.
Per rendere permanenti le modifiche ed avere il drive disponibile fin dall’avvio, ho inserito il comando nel file /etc/rc.local, che nelle distribuzioni RedHat e derivate (Fedora, CentOS), come pure in Debian, è destinato appunto questo scopo. Come effetto collaterale avremo che il modulo kernel st sarà caricato automaticamente all’avvio.

La velocità

Il primo test è a dir poco deludente: meno di 3 megabyte al secondo. Ma l’effetto peggiore è un altro, a lungo termine: il drive, non avendo dati alla velocità giusta, è costretto a fermarsi, aspettare dati a sufficienza, tornare indietro e ripartire. Questo ciclo di start-stop-rewind è in grado di distruggere un drive in pochi mesi. Se invece i dati arrivano costantemente e in quantità adeguata, il drive scrive a velocità costante per tutto il tempo senza fermarsi mai, se non alla fine del lavoro.
Ebbene, il problema è a vari livelli. La facciamo breve:

  • disattivare la compressione del drive, ed usare quella del software
  • impostare la dimensione del blocco sul nastro a 64k (65536 bytes)
  • assegnare al modulo kernel st almeno 2 megabyte di buffer

dopo questi interventi la velocità in scrittura è passata a 30 megabyte/sec, ben dieci volte, e soprattutto niente più start-stop.

Ecco i comandi da impartire, partiamo dalla compressione:

# mt -f /dev/st0 compression off

dove mt è una utility per la gestione dei drive a nastro, disponibile nel pacchetto mt-st.

Per la dimensione del blocco, si può utilizzare sia il comando:

# mt -f /dev/st0 setblk 65536

che con le opzioni proprie del programma usato per scrivere su nastro. Ad esempio tar ha l’opzione -b a cui devono essere indicati quanti blocchi da 512 byte per impostare la lunghezza del segmento dati da leggere o scrivere. Per 64k l’opzione è -b 128.

Per il buffer del modulo kernel st invece occorre aggiungere questa riga al file /etc/modprobe.conf (o l’equivalente della distribuzione in uso):

options st buffer_kbs=4096

e per attivare le modifiche basta scaricare il modulo, eseguire un depmod -a e ricaricare il modulo st. Se la configurazione è corretta, nel log del kernel deve apparire qualcosa del genere:

st: Version 20070203, fixed bufsize 4194304, s/g segs 256
st 0:0:0:0: Attached scsi tape st0
st0: try direct i/o: yes (alignment 512 B)
st0: Block limits 1 - 16777215 bytes.

Notare il messaggio: “fixed bufsize 4194304″.

La cura è piuttosto efficace, questo è il risultato di un test eseguito dopo le impostazioni mostrate:

# time dd if=/dev/zero of=/dev/st0 bs=64k count=100000
100000+0 records in
100000+0 records out
6553600000 bytes (6,6 GB) copied, 212,13 seconds, 30,9 MB/s

real	3m32.133s
user	0m0.040s
sys	0m1.049s

Riferimenti

  • Il manuale del modulo st, contenuto nel pacchetto kernel-doc, o nei sorgenti del kernel, in Documentation/scsi/st.txt.
  • Il manuale del modulo cciss, sempre nel pacchetto della documentazione del kernel, in Documentation/cciss.txt.
  • Un vecchio articolo della knowledge base di RedHat sui controller Smart Array.

Tags: , , , ,

IISFA CyberCop 2009: il racconto

Come avevo accennato a suo tempo, stavo scrivendo qualcosa di cui non potevo parlare: un racconto poliziesco basato sulla trama del CyberCop 2009 di IISFA. Non sapevo se sarebbe stato abbastanza decente da venir pubblicato (non sono uno scrittore di professione, tanto meno di genere poliziesco), e soprattutto non sapevo quando.

Ebbene, se siete curiosi di conoscere il caso, naturalmente totalmente inventato, su cui era basato il CyberCop 2009 organizzato da IISFA, basta andare sul sito dell’associazione e scaricare la newsletter numero 2, è gratuita e di libera distribuzione.

Il mio racconto parte dalla prima pagina e si chiama “Detective Morgan”, dal nome di uno dei componenti della squadra di cui facevo parte, che è appunto un Sovrintendente di Polizia. Sono una dozzina di pagine.

Buona lettura.

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: , ,

Riparare un router Zyxel Prestige 660 con problemi sulle porte Ethernet

Dopo quattro anni di onorato servizio, acceso 24 ore al giorno ininterrottamente (o quasi), il mio modem router ha mostrato segni di cedimento. Dopo averci lavorato sopra per un po’, facendo ricorso alla passata esperienza di “vecchio tecnico”, sono riuscito a rimetterlo in sesto. Qui le istruzioni e qualche foto delle operazioni.

I sintomi

Il modem router è dotato sia di funzioni di access point wireless che di switch Ethernet a quattro porte 10/100Mbit con autorilevamento e selezione automatica del tipo di cavo (se dritto o “cross”). Tutto sembra funzionare perfettamente, ma con l’arrivo della stagione calda tutto quello che è collegato via Ethernet inizia a comportarsi capricciosamente: connessioni e disconnessioni casuali, errori durante i trasferimenti di file grandi, lentezza nella navigazione Internet.

In realtà il problema può essere diagnosticato in modo specifico se si osservano due segnali:

  1. un caratteristico spegnimento prolungato dei LED ambra di segnalazione link delle porte Ethernet: invece di lampeggiare rapidamente in presenza di attività, e solo le porte relative ai computer che effettivamente stanno comunicando, iniziano in un primo tempo a lampeggiare tutte quelle con un qualcosa collegato, indipendentemente dal traffico effettivo, per poi iniziare una seconda fase in cui iniziano a spegnersi per lunghi periodi, come se il cavo fosse scollegato o il computer connesso fosse spento. Il tempo in cui rimangono spente si allunga progressivamente da pochi secondi fino a parecchi minuti, per poi mostrare un rapido lampeggio e subito spegnersi di nuovo, condizione in cui le porte Ethernet sono del tutto inutilizzabili.
  2. qualche tempo prima (settimane) del lampeggiamento, e molto prima dello spegnimento, il tasso di errore dei pacchetti ricevuti e trasmessi, rilevabile dalle statistiche della scheda Ethernet di qualsiasi computer connesso, aumenta sensibilmente fino a sfiorare il 5% dei pacchetti, condizione in cui anche solo navigare in Internet è una sofferenza.

Entrambi i problemi iniziano a verificarsi se la temperatura ambiente è piuttosto alta, sopra i 25°. Per non parlare di quando l’apparecchio è piazzato dentro un mobile o sopra un computer, per cui la sua temperatura interna supera facilmente i 50°.

Questi sono i sintomi del mio esemplare, ma, a seconda del componente “invecchiato”, i comportamenti anomali possono cambiare e andare da malfunzionamenti della parte wireless, a reboot improvvisi e senza motivo, a veri e propri blocchi, tali da richiedere lo spegnimento. In Rete si trovano parecchi messaggi in forum e mailing list in cui vengono lamentati problemi simili, o comunque facenti capo a modem router di varie marche, con problemi di vecchiaia.

La causa

La causa è l’invecchiamento e la conseguente “asciugatura” dei condensatori elettrolitici presenti sulla scheda elettronica che costituisce l’apparato. Nella foto sotto sono indicati con un punto rosso. In tutto sono 14 di varie capacità.

L'interno del modem router Zyxel Prestige 660

L'interno del modem router Zyxel Prestige 660

I condensatori impiegati nel mio esemplare sono di ottima qualità, ma l’essere acceso 24 ore al giorno e la non sufficiente aerazione a cui l’ho sottoposto hanno accelerato l’invecchiamento di cui sopra.

L’intervento

La sostituzione è relativamente banale, per chi ha dimestichezza con l’elettronica, ma c’è un problema di fondo: reperire i ricambi. I condensatori montati all’interno del modem, oltre ad essere di ottima qualità, hanno due caratteristiche particolari:

  • Il campo di temperatura di impiego esteso: -40° ÷ +105° invece del normale -40° ÷ +85°
  • Bassa ESR (Equivalent Series Resistence, resistenza serie equivalente)

Il campo di temperatura esteso non è, come può sembrare a prima vista, una esagerazione, ma va considerato che l’interno del modem router è piuttosto caldo, e la scheda del circuito stampato è progettata per funzionare da dissipatore di calore, distribuendolo per tutta la sua superficie. Non è difficile che la temperatura di tutti i componenti interni del router, dopo alcune ore di funzionamento, possa essere stabile sui 50°. I condensatori elettrolitici sono notoriamente molto vulnerabili a condizioni ambientali quali la temperatura ambiente elevata e la scarsa aerazione, per cui l’uso di modelli con campo di temperatura di impiego esteso significa allungarne la vita, e non di poco. Senza contare che l’effetto dell’invecchiamento è la diminuzione di capacità, l’aumento della corrente di perdita e l’aumento della ESR, queste ultime responsabili di un ulteriore effetto di riscaldamento del condensatore che innesca un processo di accelerazione del deterioramento. Un condensatore caldo è un condensatore rotto, o quasi.

Il discorso della bassa ESR è importante per via del tipo di circuito in cui sono impiegati. Nelle due figure che seguono notare che vicino ai gruppi di condensatori vi sono delle bobine, una delle quali piuttosto grande.

A destra dei condensatori si vede la bobina più grande

A destra dei condensatori si vede la bobina più grande

Segnate in rosso, le quattro bobine più piccole

Segnate in rosso, le quattro bobine più piccole

E’ estremamente probabile che questi due gruppi di bobine facciano parte, insieme ai condensatori e ad una manciata di componenti attivi, di una serie di regolatori di tensione per far funzionare tutti i circuiti. Tenendo presente che l’alimentatore è a 12V, servono sicuramente i 3,3V ed i 5V, e non è escluso che servano tensioni negative, per cui i circuiti con bobine e condensatori non sono altro che convertitori/regolatori di tensione. Dato che questi circuiti funzionano a frequenze piuttosto elevate (da un minimo di 10kHz a 100kHz ed oltre) è importante che i condensatori abbiano una bassa resistenza interna equivalente (ESR), per impedire sia il cattivo funzionamento dei convertitori stessi che il riscaldamento dei condensatori per le perdite dovute appunto ad un valore di ESR non adeguato.

I condensatori che si trovano in commercio presso i rivenditori di componenti elettronici sono spesso con campo di temperature -40° ÷ +85° e certamente non a basso ESR. Ecco in figura sotto un campionario di esemplari presi dalla mia “collezione”.

Alcuni esemplari di condensatori

Alcuni esemplari di condensatori

Quello col punto rosso è dissaldato dallo Zyxel. Quello piccolo in alto è con campo di temperatura fino a +105°, ma non a basso ESR, oltre ad essere “recuperato” da un differente apparato, quindi usato e non affidabile.

In tabella l’elenco dei condensatori da sostituire con i valori.

ID Capacità Tensione di lavoro Note
C50 C51 2.200µF 25V Low ESR – Range di temperatura esteso a 105°C
C55 C57 22µF 16V Low ESR – Range di temperatura esteso a 105°C
C62 1000µF 16V Low ESR – Range di temperatura esteso a 105°C
C160 C162 220µF 10V Low ESR – Range di temperatura esteso a 105°C
C83 C87 C89 C90 470µF 6,3V Low ESR – Range di temperatura esteso a 105°C
C96 C101 47µF 35V Low ESR – Range di temperatura esteso a 105°C
C115 1µF 50V Low ESR – Range di temperatura esteso a 105°C

Sul circuito stampato, presso ogni condensatore c’è l’identificativo, la lettera “c” maiuscola seguita da un numero, ed è quello elencato in prima colonna per individuare di quale si tratta. L’unico valore che può variare, rispetto a quanto indicato, è la tensione di lavoro, che può essere però più alta, mai minore di quella indicata.

Nel mio caso mi sono servito di Distrelec, una società che commercia in componenti, attrezzature e accessori per l’elettronica civile e industriale. Ha un sito di e-commerce, spedisce via corriere la merce e si può pagare in vari modi. I prezzi non sono economici, ma data la presenza di un magazzino immenso e la possibilità di ordinare anche soltanto una singola resistenza (costo pochi centesimi di euro), il costo è ampiamente giustificato.

Ordinati i condensatori lunedì alle 14, sono stati consegnati dal corriere il giorno successivo intorno alle 17. Il problema maggiore sono le dimensioni, alcuni condensatori sono parecchio più grandi di quelli originali, ma installandoli in orizzontale e bloccandoli con un pezzetto di nastro biadesivo si ottiene comunque un buon risultato.

Ci sono volute 5-6 ore per organizzare il lavoro, dissaldare i condensatori vecchi, saldare i nuovi. Poi ho fatto un test di tre ore con temperatura ambiente sopra i 30° e tutto pare funzionare egregiamente. La temperatura dei componenti e del circuito stampato è salita ben oltre i 45 gradi, a conferma che il circuito stesso è progettato per funzionare da dissipatore di calore, intelligente soluzione. Peccato che questo significhi trasmettere calore a tutti i componenti, anche quelli che non dovrebbero scaldarsi durante il funzionamento.

Tre ore con temperatura ambiente sopra i 30°. Povero eeePC...

Tre ore con temperatura ambiente sopra i 30°. Povero eeePC...

Visto che c’ero, ho ragionato un po’, trovando “a dito” i chip che si scaldavano di più, e con del profilato di alluminio ho costruito dei dissipatori, e li ho incollati con la colla cianoacrilica sui due chip più “calorosi”.

I due dissipatori in alluminio

I due dissipatori in alluminio

Naturalmente ho fatto attenzione a non far toccare i dissipatori con altri componenti, ma è stato facile perché nei dintorni dei due chip in questione c’è spazio.

L'interno dello Zyxel con i dissipatori incollati sui chip più "hot"

L'interno dello Zyxel con i dissipatori incollati sui chip più 'hot'

Risultati

Dopo qualche giorno di “cottura”, visto che le temperature massime in questo periodo sono costanti sui 36°, con le notturne che non scendono mai sotto i 23°, senza un alito di vento, il modem router non presenta problemi di sorta, soprattutto quello delle porte Ethernet che presentava prima dell’intervento.

Il puro costo materiale dell’operazione è di circa 15 euro, comprendendo gli 8 euro delle spese di spedizione di Distrelec. Il mio tempo non lo considero, altrimenti sarebbe stato molto più conveniente buttare il tutto e acquistare un Cisco 867W. Sì, non sono a buon mercato.

Riferimenti

Tags: , , ,

Forensics for Spammer (o era Spammer for Forensics?)

Appena ricevuta e finita (ovviamente) nello spam.

Ti senti un Gil Grissom, nel profondo? Che aspetti? Comprati una certificazione!

Ti senti un Gil Grissom, nel profondo? Che aspetti? Comprati una certificazione!

Da questo momento le battute su come sei diventato CTU si sprecheranno.

Non è che ci trovi molto da ridere. Ma anche questo è prevedibile, non sono mai stato un tipo originale.

Per chi non sapesse chi è Gil Grissom. E qui per chi non sapesse cosa sia la Forensics. Magari vale la pena di leggere qualcosa sull’effetto CSI (anche in inglese: CSI effect). Posso testimoniare che, almeno nel mio campo di competenza, l’effetto CSI ha conseguenze devastanti.

Nota personale: nell’articolo in inglese sulle scienze forensi, la Computer Forensics, insieme alla Information Forensics, occupano un posticino molto piccolo. Ma proprio piccolo. Ecco.

Tags: ,

Personal Fedora LIVE parte II: la mia Live su pen drive USB

Nella prima parte abbiamo visto come si può creare la propria distribuzione LIVE di Fedora, sfruttando i livecd-tools messi a disposizione dal team del progetto Fedora. Ora vediamo di rendere le cose ancora più “appetitose” mostrando come si può trasferire la nostra distribuzione LIVE personalizzata su un pen drive USB o su una scheda SD per poterla utilizzare come se fosse installata su un normale disco magnetico.

Non una semplice LIVE

L’architettura disponibile sulle nuove distribuzioni LIVE di Fedora, a partire dalla versione 9, rende possibile la creazione di una distribuzione che fonde la comodità di un supporto avviabile praticamente ovunque (almeno sui computer non troppo vecchi), compatto e leggero, con le caratteristiche di una distribuzione regolarmente installata: aggiungere pacchetti nuovi ed aggiornare quelli installati, conservare le impostazioni e le modifiche apportate durante l’uso, conservare i propri dati nella home directory e trovarli pronti ad ogni avvio, ed infine, dalla versione 10 di Fedora, avere la possibilità di cifrare i dati conservati nella home per renderli virtualmente inaccessibili a chiunque.

Questo articolo che leggete è scritto da un eeePC 900 di ASUS, con una Fedora 10 LIVE su desktop XFCE, usando la connessione a Internet tramite il modem Momodesign MD-@, perfettamente funzionante. La distribuzione è installata su una scheda SD da 16G, e visto che l’eeePC permette il bootstrap dallo slot integrato per questo tipo di memorie, la lascio sempre inserita ed al momento dell’accensione scelgo con cosa avviare, se la Linux Xandros di serie o la Fedora Personal LIVE.

Cosa occorre

Naturalmente un pen drive USB o una scheda SD di capacità adeguata. Il pen drive si può avviare praticamente ovunque, mentre la scheda SD è utilizzabile con i computer che posseggono lo slot corrispondente e che siano un grado di avviare il sistema operativo da tale slot. Per eliminare ogni dubbio basta uno sguardo alla configurazione del BIOS. Come ho già accennato, l’ASUS eeePC 900 possiede lo slot per schede SD ed è in grado di avviare un eventuale sistema operativo contenuto sulla scheda inserita.

Il supporto può essere formattato con filesystem FAT, e consiglio caldamente di non cambiare il tipo di filesystem con cui il supporto esce di fabbrica. La ragione è che un altro tipo di filesystem potrebbe abbreviare notevolmente la vita del supporto, per ragioni che sono lunghe da spiegare. Non è necessario che il supporto sia vuoto, può contenere altri file, ad esempio foto o musica, non saranno toccati dalla procedura di installazione e rimarranno accessibili anche dalla distribuzione LIVE una volta avviata.

Creazione della Live su USB

Inserito il pen drive, il comando è questo, da impartire in un terminale come utente root:

# livecd-iso-to-disk --overlay-size-mb 2000 --home-size-mb 2000 F11-i686-Live-XFCE.iso /dev/sdc1

che andiamo a vedere nel dettaglio:

  • --overlay-size-mb 2000 – è la dimensione in megabyte dello spazio disco che viene sommato alla root della distribuzione Live una volta avviata. In questo spazio vengono aggiunti o spostati i file nuovi o modificati nel filesystem root. Se ad esempio installiamo un pacchetto aggiuntivo, i suoi file andranno ad occupare questo spazio, ma saranno presenti da quel momento ad ogni avvio della Live. In pratica consente di aggiornare o installare pacchetti e di rendere permanenti le modifiche alla configurazione del sistema, proprio come un normale sistema installato. Lo spazio in overlay è in un unico file nella directory LiveOS del pen drive, della dimensione indicata, in questo caso 2000 megabyte. Reinstallando la Live o cambiando versione il file di overlay viene ricreato vuoto, per evitare conflitti, quindi tutte le eventuali modifiche fatte a file di configurazione vengono perse. In realtà non è un gran problema, perché le attuali versioni di Fedora possono svolgere gran parte del lavoro quotidiano senza toccare nulla della configurazione generale. Dalle prove che ho fatto in questi ultimi mesi, il file di overlay è superfluo, almeno per l’uso che ne faccio io, e nelle ultime installazioni su pen drive o schede SD non lo faccio neanche creare.
  • --home-size-mb 2000 – è lo spazio assegnato alla partizione home, dove saranno memorizzati tutti i file dell’utente liveuser, usato nel normale impiego della Live. Detto in altro modo: se scarichiamo dei file, generiamo dei documenti, personalizziamo il desktop, tutte le modifiche ed i file generati o modificati finiranno in questa partizione, e saranno presenti ad ogni avvio, esattamente come su un sistema installato normalmente. Il tutto è sotto forma di file dal nome home.img nella directory LiveOS, della grandezza indicata, ossia 2000 megabyte. Il file rimane intatto se si installa una nuova Live, o si reinstalla la stessa, conservando dati e impostazioni personali fra gli aggiornamenti.
  • F11-i686-Live-XFCE.iso – è il file ISO generato da noi con la procedura spiegata in precedenza, o la Live ufficiale di Fedora. Può essere di qualsiasi dimensione, anche un DVD, purché ci sia spazio a sufficienza nel pen drive. Unico problema è che se l’immagine ISO è più grande di 2 gigabyte non si può installare su pen drive formattati in FAT.
  • /dev/sdc1 – è la partizione FAT del pen drive. Si può rilevare usando il comando mount senza parametri.

Il procedimento dura qualche minuto, in funzione della dimensione della ISO, della grandezza dei file di overlay e home, e naturalmente della velocità del pen drive. A questo proposito, se si intende usare una scheda Secure Digital (SD) conviene acquistarne una di classe 6, che garantisce una velocità accettabile, col minimo garantito di 6 megabyte al secondo sostenuti in scrittura (vedere a tale proposito la pagina sulle schede Secure Digital in Wikipedia). Durante la preparazione, se abbiamo scelto di avere la partizione di home persistente, ci verrà chiesto di scegliere ed inserire una password per la cifratura dei dati su questa partizione. Se non ci interessa cifrare i dati, basta aggiungere al comando visto sopra il parametro --unencrypted-home e non ci sarà chiesta nessuna password. Al termine della preparazione abbiamo nel pen drive due directory aggiunte: LiveOS e syslinux. Nella prima ci sono il contenuto della ISO, i file di overlay e la home persistente, sulla seconda c’è il necessario per l’avvio. Siamo pronti per avviare la nostra Live da pen drive.

Messaggi di errore

Durante l’operazione di preparazione potremmo ricevere uno di questi errori:

  • /dev/sdc1 is mounted, please unmount for safety – Significa che la partizione su cui vogliamo installare la Live è montata o abbiamo indicato il device sbagliato. Per smontare il pen drive basta selezionare “Smonta” dal menu di contesto dell’icona del pen drive stesso.
  • Partition isn’t marked bootable! – Questo accade con i pen drive nuovi. Basta usare fdisk o parted o gparted per aggiungere il flag di “avviabile” alla partizione scelta per l’installazione, o all’unica presente.
  • MBR appears to be blank. Do you want to replace the MBR on this device? – anche questo avviene con un pen drive o una scheda SD nuovi. Basta rispondere di sì.
  • Can’t have a home overlay greater than 2048MB on VFAT – questo succede se si indica una dimensione troppo grande dei file di overlay o di home per il filesystem del pen drive. Basta ridurre le nostre pretese o cambiare il tipo di filesystem del pen drive, cosa che sconsiglio.
  • ERROR: Requested keeping existing /home and specified a size for /home Please either don’t specify a size or specify –delete-home – Questo errore appare se il pen drive è già impostato come Live ed esiste un file di home.img, ma noi abbiamo specificato di nuovo il parametro --home-size-mb. Cancellare il file home.img, se non ci interessa conservare i dati dell’installazione precedente, direttamente o con il parametro --delete-home, o togliere il parametro --home-size-mb
  • Already set up as live image. Deleting old OS in fifteen seconds… – avvertimento che appare se il pen drive è già impostato come Live avviabile. Ignorare se intendiamo aggiornare o cambiare il sistema installato.

Problemi e fastidi

Nei mesi in cui ho utilizzato Fedora Live sul mio eeePC 900 ho riscontrato questi problemi:

  • In un caso l’overlay della partizione root si è rovinato, e non partiva più. E’ bastato cancellarlo per riuscire a ripartire, naturalmente perdendo tutte le impostazioni ed i pacchetti installati.
  • Capita a volte che la partizione di home presenti degli errori al mount durante l’avvio (per vederli basta premere il tasto Esc quando appare il logo di Fedora). In qualche caso non si monta più e ci si accorge del problema quando il desktop diventa quello di default, perdendo tutte le nostre impostazioni. Basta passare in single user mode con il comando init 1, e forzare un fsck del device /dev/loop5, di solito usato per la partizione di home.
  • Se la partizione di home è cifrata, i problemi sono più frequenti.

Questo almeno con Fedora 9 e 10. La versione 11 la sto sperimentando da qualche giorno, per cui non ho ancora dati sufficienti. In ogni caso, i problemi citati si hanno soltanto in presenza delle partizioni persistenti, per cui se non si necessita di overlay e partizione home persistente, si possono omettere i rispettivi parametri: il resto del pen drive, accessibile dalla Live avviata in /mnt/live, può essere utilizzato per archiviare file e documenti.
I difetti riscontrati, peraltro, sono frutto della relativa novità, e probabilmente scompariranno con l’uscita delle nuove versioni dei tool.

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: , ,