mercoledì 21 settembre 2016

Code Injection Reversing

Code Injection nei siti web

Oggi ho dovuto ripristinare l'ennesimo sito Wordpress bucato. Ormai non è una novità: la qualità del codice dei plugin e dei temi per Wordpress in troppi casi è decisamente bassa e ciò espone numerose vulnerabilità sfruttabili da remoto con estrema facilità.

Spesso, a prescindere dal vettore e dalla tecnica di attacco, l'obiettivo di chi sfrutta queste problematiche di sicurezza è quello di inserire del codice JavaScript arbitrario all'interno dei siti colpiti, ovvero effettuare una code injection.

In particolare questo codice può essere inserito in due modi:
  1. Modificando dei file del sito.
  2. Direttamente nel database.
Nel primo caso è relativamente facile identificare la manomissione. Ad esempio basta tenere sotto controllo i file e confrontarli con una copia pulita. Volendo, il processo è anche automatizzabile.

L'impressione che ho avuto negli ultimi tempi è stata di una diminuzione di questo genere di code injection a favore della seconda metodologia, quella che prevede l'introduzione del codice direttamente nel database.

Mescolando il codice ai dati utente è infatti molto più difficile trovare i record compromessi.

Ma come ci si accorge che un sito è stato vittima di un attacco?


Solitamente ci si rende conto che un sito web è stato compromesso perché ci sono dei comportamente anomali, ad esempio appaiono dei banner pubblicitari o dei popup non previsti, oppure navigando ci si imbatte in redirect verso siti poco raccomandabili.

Dal momento in cui ci si accorge di un malfunzionamento del sito è facile effettuare un debug delle pagine e trovare degli indizi che permettono di risalire ai file ed ai record infetti anche se a volte il codice inserito nelle pagine è offuscato.

Comunque, nella maggior parte dei casi, si riesce in poco tempo ad eliminare il codice indesiderato.

Sistemi di offuscamento multiplo del codice


Nel sito oggetto di ques'ultima intrusione ho potuto ammirare un simpatico sistema di offuscamento a tre livelli.

Nel database era infatti memorizzato un frammento di codice JS così composto:

<script type='text/javascript'>
 (
   new Function(String.fromCharCode( ... )();
 )
</script>

Al posto dei puntini era presente una funzione i cui caratteri erano stati precedentemente convertiti in Unicode.

La funzione era più o meno così:

var key = 'chiave';
var enced = 'stringa';
function xor_enc(string, key) {
  var res = '';
  for (var i = 0; i < string.length; i++) {
    res += String.fromCharCode(string.charCodeAt(i) ^ key.charCodeAt(i % key.length));
  }

  return res;
}
var dec = xor_enc(atob(enced), key);
(new Function (dec))();

Qui il sistema è leggermente più elaborato: in pratica il codice JS vero e proprio è prodotto da una funzione (la xor_enc()) che ha come parametri una stringa in base-64 decodificata dalla funzione atob() ed una chiave.

La funzione xor_enc() cicla la stringa e per ogni singolo carattere ricompone il codice finale in un modo abbastanza originale.

Ed ecco quindi che verrà ricreata ed eseguita la vera e propria funzione che causerà i reali disturbi al sito ed agli utenti.

Ovviamente evito di divulgare tale codice in quanto lo scopo dell'articolo è fornire un aiuto a chi deve combattere questi fenomeni e non aiutare novelli script kiddies a fare danni.

Come comportarsi in caso di code injection?


Quando si vede un banner o un redirect verso ad un altro sito, il primo test è quello di cercare l'URL sospetto all'interno dei file e del database. Se però l'attaccante ha adottato una tecnica di questo genere la stringa è cammuffata e quindi non si può trovare il record.

Basta quindi cercare stringhe come "new Function", "fromCharCode" o similari all'interno del codice sorgente o del database per scovare rapidamente il codice da rimuovere.

Sicuramente quando un sito viene colpito, oltre a ripulire file e database da codice sospetto è anche necessario aggiornare il software vulnerabile.

La falla spesso si trova proprio nel sito, ma in alcuni casi può anche essere nello stack software del server.

Caso per caso bisognerà stabilire se queste operazioni sono abbastanza per rendere sicuro il sito e l'infrastruttura o se invece si rende necessaria una operazione più consistente. Ad esempio il ripristino di dati di backup o soluzioni analoghe.

Come difendere un sito web da intrusioni?

I consigli per difendere un sito, e più in generale un sistema connesso alla rete, sono sempre gli stessi.

Le best practices per un sistema sicuro ormai dovrebbero ben note agli operatori del settore ma fa sempre bene ricordare i fondamentali come ad esempio:
  • tenere sempre aggiornati i software;
  • ridurre i servizi attivi al minimo indispensabile;
  • adottare password complesse;
  • configurare i servizi in modo che siano sicuri;
  • implementare sistemi di protezione come ad esempio firewall.

Inoltre in molte situazioni dei regolari backup possono fare la differenza.

martedì 3 novembre 2015

Drupal 8: rilascio ufficiale il 19 novembre 2015?



Il CMS Drupal è ritenuto da molti sviluppatori web una delle piattaforme più flessibili e potenti nel panorama odierno. La versione 8 di questo CMS è in fase di realizzazione da ben quattro anni e porta con se una quantità enorme di novità.

Le nuove caratteristiche sono state progettate soprattutto per venire incontro alle esigenze dei programmatori e dei website builder.

Usabilità, multilingua, mobile/responsive, web services, sono solo alcuni dei punti su cui si è focalizzato il team di sviluppo che ha seguito Drupal 8 negli ultimi anni. A questo proposito si può leggere un breve articolo di introduzione a Drupal 8 che avevo pubblicato durante l'estate del 2012.

A quel tempo l'uscita di Drupal 8 era stimata verso la metà del 2013 ma per ovvi motivi il rilascio è stato posticipato più volte fino alla data attualmente prevista che è il giorno 19 novembre 2015. Fino ad oggi il sistema era infatti troppo immaturo per poter essere considerato stabile.

Quindi da fine novembre 2015 si potranno creare siti con Drupal 8?


Purtroppo, per quanto mi riguarda, la risposta è un secco e definitivo no.

Non lo dico per fare polemica, ma semplicemente per evidenziare una situazione normalissima e che dovrebbe essere ormai ben nota a chi è del mestiere.

Questo articolo nasce proprio con l'intenzione opposta: ovvero evitare che i non esperti possano dare un giudizio negativo al CMS dal momento in cui provassero Drupal 8 nelle prossime settimane senza sapere tutti i retroscena.

A parte i pochi bug del core, che saranno in buona parte risolti nelle ultime settimane precedenti alla data ufficiale, resta infatti aperta la questione "moduli".

La maggior parte dei moduli per Drupal che estendono le funzionalità di base del CMS non sono ancora pronti per essere usati in ambienti di produzione.

Questo è un problema noto e che si ripete ad ogni rilascio di major version di Drupal, ma anche di altri sistemi.

È infatti normale che gli sviluppatori dei moduli contrib aspettino che il core sia definitivamente maturo prima di completare il porting e lo sviluppo per la nuova versione.

Pertanto la data di pubblicazione di Drupal 8 segnerà ufficialmente il momento in cui la comunità di sviluppatori Drupal diventerà molto più attiva per aggiornare tutto l'ecosistema alla nuova versione stabile.

Non è una sorpresa: era già avvenuto con Drupal 7, con Drupal 6, con Drupal 5, con Drupal 4... e molto probabilmente accadrà anche con Drupal 9.

Come mai questi moduli Drupal sono così importanti?


Drupal core offre molte funzioni utili per lo sviluppo di un sito web ma non sono abbastanza per soddisfare i requisiti minimi di un prodotto completo.

Ecco un elenco (parziale) di moduli per Drupal che ritengo fondamentali per la creazione di un sito web professionale e che ad oggi (inizio novembre 2015) sono ancora in fase di sviluppo.
  • XML Sitemap. Questo modulo, lo dice il nome stesso, serve per generare in maniera automatica la sitemap del sito in formato XML. È uno dei moduli essenziali per la SEO.
  • Metatag. Attraverso questo modulo si possono impostare dinamicamente i meta tags del sito a partire dai campi utilizzati nei vari contenuti o entità. Anche questo modulo è indispensabile per l'ottimizzazione del sito per i motori di ricerca.
  • Drupal Commerce e Ubercart. Se si vuole creare un ecommerce con Drupal questi due moduli sono le uniche scelte, al momento in via di sviluppo e non usabili.
  • Token. Modulo per Drupal che permette di gestire token riusabili in quasi ogni parte del CMS.
  • Google Analytics. Anche il modulo per integrare il servizio di statistiche di Google è in alto mare. L'alternativa è tornare ad inserire a mano il codice JS nei template visto che il porting del modulo per "Google Tag Manager" non è nemmeno cominciato.
  • Pathauto. Strumento necessario per gestire gli alias (path) delle pagine in maniera automatizzata.
Bastano i moduli di base per il SEO ed i plugin per creare un Ecommerce per frenare l'adozione di Drupal 8 nel breve termine.

Come evolverà la situazione e come verrà risolta?

Per sbloccare Drupal 8 serviranno ancora molti mesi prima che questi e moltissimi altri moduli diventino funzionanti e stabili.

Dal momento in cui ciò avverrà, si vedrà una rapida crescita dell'uso di Drupal 8 a discapito di Drupal 7.

Le potenzialità di Drupal 8 sono molteplici, il CMS ha veramente molto da offrire e sono convinto che gli sviluppatori avranno a disposizione una infrastruttura che potrà semplificare notevolmente le diverse fasi di creazione e manutenzione di siti web anche molto complessi.

Nel frattempo nessuno vieta la creazione dei nuovi siti con Drupal 7: è un sistema lontano dall'essere obsoleto e che potrà essere usato ancora a lungo prima di essere sostituito da Drupal 8.

giovedì 29 ottobre 2015

Gli aspetti tecnologici nella SEO on-site

«L'ottimizzazione dei siti web per migliorare il loro posizionamento nei risultati dei motori di ricerca dipende da numerosi fattori.»

Questa affermazione dovrebbe essere nota ormai a tutti quelli che lavorano nel web. Ma quali sono questi fattori?


Nel corso degli anni, grazie a numerosi test, ricerche e grazie anche alla collaborazione che nasce tra i professionisti del settore, sono stati identificati molti fattori che influenzano il posizionamento e l'efficacia dei siti web.

Dai "SEO Rank Correlations And Ranking Factors" della nota Searchmetrics fino ai nostrani Fattori SEO" nel sito di Giorgio Tave, nel web possiamo trovare moltissime informazioni utili per capirne un po' di più.

Molti fattori sono di tipo tecnologico e dipendono dall'implementazione che è stata effettuata per lo sviluppo di un sito internet.

Solitamente suddivido gli aspetti tecnici in tre tipologie:
  1. Accorgimenti SEO di base
  2. Ottimizzazioni nell'inserimento dei contenuti
  3. Ottimizzazioni SEO avanzate

Accorgimenti SEO di base

Gli accorgimenti SEO di base comprendono la creazione di una sitemap, l'uso adeguato del file robots.txt, l'implementazione corretta del codice HTML, la configurazione del Google Webmaster Tools, la canonicalizzazione degli URL o l'adozione di URL puliti, giusto per citarne alcuni.

Da un punto di vista tecnico, tutti questi particolari dovrebbero essere la norma quando si crea un sito web, sfortunatamente non sempre è così. La mancanza di attenzione ai dettagli SEO di base è quindi una delle principali cause di scarso rendimento nel posizionamento su Google.

Ottimizzazioni nell'inserimento dei contenuti

Tralasciando tutte le considerazioni legate alle modalità di comunicazione, proprie del web marketing, e quindi non contemplando la redazione e l'ottimizzazione vera e propria dei testi/immagini/video che vengono caricati nelle pagine che compongono un sito web, l'ottimizzazione dei contenuti dovrebbe comprendere anche una certa cura nella meta descrizione del sito, nel testo alternativo delle immagini, nelle didascalie, nei titoli, ma anche l'uso corretto delle favicon ecc. Tutti aspetti che possono contribuire più o meno direttamente ad un miglior rendimento del sito.

Ottimizzazioni SEO avanzate

Per ottimizzare al massimo un sito web si può agire in diversi modi, ad esempio aumentando la velocità di caricamento delle pagine, a partire dalla programmazione del sito fino alla scelta ed alla configurazione del server che lo ospita.

In alcuni casi anche adottare il protocollo schema.org può portare a dei netti miglioramenti, soprattutto dal punto di vista della corretta indicizzazione delle informazioni.

Infine la struttura stessa del codice può influire positivamente o negativamente sul posizionamento.

Queste "ottimizzazioni" dipendono anche dallo specifico contesto, ma affiancate a tutti gli sforzi per migliorare il posizionamento possono aiutare in maniera concreta.

Quanto pesano le varie ottimizzazioni?

I pareri sugli effetti delle varie ottimizzazioni a disposizione sono ancora molto discordanti. In linea generale, a parte le ottimizzazioni SEO di base che sono imprescindibili, possiamo fare una scaletta che mette al primo posto la cura dei contenuti, seguita a stretta distanza dalle ottimizzazioni SEO avanzate.

Quindi, per impostare una buona attività di posizionamento potremmo seguire una scaletta operativa che si può sintetizzare così:
  1. Informare i motori di ricerca (e gli utenti) della struttura del sito.
  2. Comunicare (ai visitatori) informazioni corrette, complete, ed efficaci.
  3. Fornire tali informazioni in modo rapido e "tecnicamente" preciso per facilitare i motori nel comprendere gli argomenti trattati.
È chiaro che se si agisce esclusivamente sulla scrittura di testi "SEO" e meta informazioni (i classici "description" e "title") senza soffermarsi su tutti gli altri aspetti, non si potrà pretendere di ottenere dei risultati ottimali.

Si dovrebbero invece esaminare tutti gli elementi, o perlomeno i principali, che contribuiscono all'ottimizzazione dei siti web.

La SEO è sufficiente o serve dell'altro?

Voglio concludere questo articolo sottolineando che la tecnologia e le modalità di implementazione di un sito web non sono il fine ultimo, ma sono solamente delle basi sui cui fondare strategie di web marketing efficaci.

martedì 27 ottobre 2015

Accettare un incarico può essere un errore?

Premessa

Confesso che anche io, in un caso, ho ceduto ad un cliente con budget ridicolo accettando erroneamente di erogare un servizio low cost con, ovviamente, pessimi risultati.

Ho sempre specificato anticipatamente, nero su bianco, che i risultati non si sarebbero potuti ottenere a meno di investimenti più sostanziosi, ma i miei avvertimenti non sono stati abbastanza.

Alla fine del progetto il rapporto con il cliente si è incrinato e tutto è andato a rotoli.

A quanti miei colleghi freelance sarà successa questa situazione?

Il caso tipico


Lo spieghi telefonicamente, lo spieghi di persona, lo evidenzi per email: «Caro cliente: con questo budget e con questo tipo di impegno i risultati saranno deludenti, sei proprio sicuro di volermi regalare soldi per restare con un pugno di mosche?».

Ma il cliente insiste: «Non ti preoccupare, intanto facciamo il sito poi al resto ci penseremo, per le foto usa queste fatte con l'iPad di mia figlia che non ho soldi per pagare un fotografo, quando avrò un po' di liquidità faremo tutte le belle cose che mi proponi»... e così via.

Ed allora anche tu, professionista, cedi e dici, vabbeh, gli ho spiegato come funziona, gli ho detto e ridetto i rischi, faremo un passo alla volta... e quei soldi intanto fanno pure comodo per pagare l'affitto.

L'errore


Purtroppo questi clienti, anche se non te lo dicono, hanno in realtà l'illusione che le capacità del professionista possano fare il miracolo... anche se il compenso ammonta al un monte ore di un paio di giornate.

Sfortunatamente i miracoli non arrivano: in due giornate di lavoro è improbabile riuscire a realizzare un sito web tecnologicamente all'avanguardia, ricco di contenuti di qualità, ed allo stesso tempo attivare una campagna di web marketing che da un giorno all'altro possa portare un incremento concreto del fatturato.

A quel punto dici al cliente: «Sarebbe il caso di intervenire nel sito per migliorare tutto quello che manca, ad esempio le foto, alcuni approfondimenti, delle landing page ottimizzate per una prima campagna PPC...».

Invece il progetto si arena, non c'è budget. Così, qualche tempo dopo, il cliente si accorge del flop senza però capire la natura del problema.

La frittata è fatta, come rimediare?

Quando il cliente si rende conto che l'investimento non è stato per nulla sufficiente è probabile che ritenga l'unico responsabile il professionista che si trasformerà in "quello che ne ha approfittato", dimenticandosi di tutti gli avvertimenti ricevuti.

In molti casi sarà difficile acquisire nuovamente la fiducia nel cliente.

Purtroppo l'errore è stato proprio del professionista, ma non perché ha fatto un brutto lavoro ma perché ha deliberatamente accettato l'incarico sapendo che non avrebbe potuto fornire un servizio di qualità con un budget troppo basso.

È difficile rimediare.

Come comportarsi con questa tipologia di clienti?

La soluzione è semplice: bisognerebbe rifiutare a priori di fornire un servizio di questo tipo.

Anche se a livello contrattuale ci si può tutelare, la propria reputazione resterà comunque danneggiata e quel progetto sarà una nota di demerito.

giovedì 25 giugno 2015

Dove posizionare i Banner e le CTA



Quando si progetta un sito web si deve prestare particolare attenzione all'impaginazione dei contenuti studiando come posizionare i numerosi elementi che compongono le pagine.

Abbiamo degli elementi di base, come testi ed immagine, fondamentali per la comunicazione, ed elementi come Banner e Call To Action (CTA) che sono cruciali per ottenere i risultati che il sito si pone come obiettivi.

Ad esempio un pulsante per richiedere un preventivo, iscriversi ad un servizio o per visitare una specifica pagina va collocato in una posizione ben visibile.

La posizione di tali elementi ha un impatto significativo per il raggiungimento degli obiettivi del sito. Quindi, posizionare in maniera ottimale questi oggetti significa avere un rendimento migliore.

Esistono numerosi studi che nel corso degli anni hanno analizzato il comportamento degli utenti di fronte a diversi layout.

In tutti i casi i risultati migliori sono stati ottenuti quando banner, pulsanti e CTA erano in posizioni visibili, facilmente identificabili come tali e raggiungibili velocemente dall'utente.

Quindi dove vanno posizionati questi elementi?

Solitamente il posto più adatto per inserire questo genere di elementi è nella sezione "above the fold", ovvero nella prima parte del sito ed in prossimità del lato inferiore dell'area visiva.

In questo modo l'utente può vedere fin da subito queste informazioni, attenzione però a non posizionarli troppo in alto perché in quel caso si corre il rischio che scompaiano dopo il primo e quasi inevitabile scroll della pagina.

Questa regola vale anche per gli smartphone ed i tablet?

L'utilizzo classico dei dispositivi mobile è quello di scorrere i contenuti verso il basso. Concentrarsi nella sezione "above the fold" potrebbe sembrare un po' anacronistico in quanto è molto più difficile identificare quale sia la zona "above the fold" data l'enorme quantità di differenti dimensioni dei display.

In realtà, grazie all'uso del responsive web design (RWD) è possibile studiare un layout che adatti opportunamente anche la posizione di banner, link e CTA.

Inoltre, per sopperire allo scroll compulsivo esistono alcuni trucchi come ad esempio ripetere questi elementi più in basso (ad esempio alla fine della pagina) o fissarli nel lato inferiore dell'area visiva nel caso non siano troppo grandi, ovviamente facendo attenzione che siano ben visibili e distinguibili.

Quindi, anche se gli strumenti e le modalità di fruizione del web si evolvono, le regole di base per la comunicazione e la vendita su internet sono praticamente invariate: fornire le informazioni in maniera veloce e semplice è la strada da percorrere indipendentemente dalla tecnologia utilizzata.

    mercoledì 3 giugno 2015

    Gestione immagini: Drupal vs Wordpress

    La gestione immagini in Wordpress


    Nell'ultimo periodo sto usando spesso Wordpress per motivi lavorativi. Ho quindi potuto approfondire meglio la piattaforma e scoprire, purtroppo, ulteriori limitazioni che si aggiungono a tutti i problemi che ho rilevato nel corso degli anni.

    In particolare questi giorni mi sono scontrato più volte con la gestione delle immagini che è decisamente obsoleta e mal progettata.

    A differenza di Drupal, che al contrario ha una gestione delle immagini estremamente flessibile e potente, Wordpress ha un sistema molto confusionario e fragile per archiviare e gestire le immagini.

    Sostanzialmente, a meno di non usare plugin di terze parti a pagamento e dal dubbio funzionamento, i file possono essere archiviati in due modi:
    • tutti all'interno di una stessa cartella
    • suddivisi per cartelle anno/mese
    Si intuisce subito il problema di fondo di entrambe le metodologie.

    Nel primo caso gestire migliaia di immagini tutte in una stessa cartella non può che causare confusione.

    Mentre la suddivisione per mese/anno non è molto sensata. Ad esempio se si carica una immagine all'interno di post in una certa data e dopo qualche mese si elimina e si ricarica la foto (con lo stesso nome), questa verrà posizionata in una cartella diversa e di conseguenza anche il percorso non sarà più lo stesso.

    I SEO (e non solo loro) ringraziano.

    Comunque questi potrebbero essere dei problemi arginabili in qualche modo e quindi la piattaforma Wordpress potrebbe salvarsi in corner, se non fosse per la gestione delle thumbnail che reputo ridicola

    Come funzionano le immagini di anteprima su Wordpress?


    Per ogni immagine vengono generate automaticamente più versioni ridimensionate e ritagliate per ciascun formato thumbnail, compresi quelli definiti nel template.

    Quindi, oltre alle versioni piccola, media e grande, specificate nella configurazione di Wordpress, se il template definisce altri 10 formati, cosa molto comune nei template commerciali, in tutto Wordpress andrà a creare ben 13 file aggiuntivi, uno per ciascuna dimensione.

    A parte il fatto che non ha senso creare immagini non richieste in quanto occupano solamente spazio nel server, la goccia che fa traboccare il vaso è che vengono salvate nella stessa cartella delle immagini originali.

    Giusto per fare un esempio, in un sito di piccole dimensioni per cui ho lavorato qualche giorno sono state caricate circa 140 foto, grazie a Wordpress ci si ritrova con quasi 2000 file immagine per un totale di circa 200 mega di file inutili.

    Smanettando nel codice sorgente si riesce ad arginare parzialmente il problema, ma se devo perdere tempo a risolvere i problemi di Wordpress non va molto bene.

    Sempre a proposito delle immagini di anteprima, anche la loro rigenerazione è un po' problematica e richiede l'uso di plugin esterni per funzionare.

    Se ad esempio si aggiorna una immagine originale via FTP, le anteprime non vengono rigenerate automaticamente, per fortuna esiste un comodo plugin (ONet Regenerate Thumbnails) che si occupa di colmare questa lacuna.

    La gestione delle immagini in Drupal

    A differenza di Wordpress, la gestione delle immagini in Drupal è decisamente più avanzata, moderna e funzionale.

    Ad esempio ogni campo che accetta immagini può essere configurato specificando il percorso in cui salvare i file. Inoltre con un plugin apposito (gratuito) è possibile rendere dinamico il percorso in base a particolari condizioni.

    Allo stesso modo anche le immagini di anteprima (o immagini derivate) trovano posto in cartelle a loro dedicate e non vengono generate a meno di non essere esplicitamente richieste. Nel caso in cui serva rigenerarle basta eliminarle e Drupal stesso si occuperà di rigenerarle automaticamente seguendo i parametri impostati e solamente quando richiesto.

    Esistono inoltre diversi plugin (detti "moduli" nella terminologia Drupal) che permettono di personalizzare al massimo la gestione dei file immagine secondo le specifiche esigenze di ogni singolo progetto.

    Quindi è meglio usare Drupal invece che Wordpress?

    A differenza di Drupal, quando si sceglie di adottare la piattaforma Wordpress bisogna essere consapevoli che in generale la gestione delle immagini e delle altre tipologie di file è molto più complessa e farraginosa.

    Con questo articolo non voglio dire che conviene usare Drupal al posto di Wordpress, ma se si sceglie di usare Wordpress è meglio essere consapevoli di quali possono essere i suoi problemi.

    Anche Drupal presenta delle criticità, pertanto la scelta del CMS va sempre effettuata analizzando pro e contro delle varie piattaforme a disposizione.

    martedì 3 febbraio 2015

    Come difendersi da CryptoLocker



    Secondo le più recenti notizie, sembra che il ramsonware CryptoLocker (e le sue varianti) stia colpendo moltissimi PC aziendali e privati in gran parte d'Italia.

    Qualche giorno fa anche un mio conoscente è stato vittima di questo software che ha causato diversi danni. Fortunatamente la vicenda ha avuto un lieto fine ma gli esperti dicono che sia un caso piuttosto raro.

    Che cosa vuol dire "ramsonware" e come funziona CryptoLocker?

    I ramsonware non sono altro che dei software (programmi per computer) che criptano tutti i file come documenti, video, foto ecc. presenti nel computer della vittima.

    Questo comporta che i file non sono più accessibili e solitamente, in seguito al blocco dei dati, viene chiesto un riscatto per decodificare i file in modo da renderli nuovamente leggibili.

    CryptoLocker (e le sue varianti) si diffonde come cavallo di troia sotto forma di allegato email.

    Il malcapitato che apre ed esegue l'allegato attiva automaticamente la procedura di cifratura dei file.

    Come difendersi da questa minaccia?

    1. Diffidare degli allegati

    La prima regola è quella di diffidare sempre degli allegati sospetti. Soprattutto quando si opera in ambiente Windows le estensioni dei file sono associabili a file eseguibili.

    La configurazione di default del sistema operativo Windows non visualizza le estensioni e questo aiuta nel camuffare i file facendo credere agli utenti che si tratti di documenti come ad esempio PDF.

    Un consiglio, sempre valido per proteggersi dalla maggior parte dei cavalli di troia, è quello di attivare sempre la visualizzazione delle estensioni dei file e accertarsi sempre sulla natura degli allegati prima di aprirli.

    2. Effettuare backup regolari

    Nel caso in cui il PC venga colpito da questo software la soluzione migliore è quella di rimuovere il software, attraverso gli appositi strumenti o chiedendo l'intervento ad un tecnico specializzato, e poi recuperare i dati dai backup.

    Ovviamente a patto di avere dei backup.

    Quindi la seconda regola, anche questa che è valida per risolvere molte situazioni critiche, è quella di effettuare dei backup regolarmente.

    3. Proteggere i backup

    I backup però devono essere fatti con cura. Può infatti capitare il caso come quello del mio conoscente, dove l'unità di backup è sempre collegata al PC e quindi viene crittografata assieme al resto dei dati.

    Il backup a questo punto diventa inutilizzabile.

    La terza ed ultima regola è quindi di proteggere i backup, ad esempio attivando e disattivando il sistema di backup solo quando serve. Ai più prudenti consiglio di scollegare le unità di backup anche dalla rete elettrica.

    Il caso fortunato

    Se il disco backup erano stato reso inutilizzabile, come ha fatto il mio conoscente a recuperare i dati?

    Anche se tutti gli esperti sconsigliano di pagare il riscatto, ha fatto un tentativo ed ha ricevuto la chiave per ripristinare tutti i file.

    In questa occasione c'è stato un lieto fine, ma molte testimonianze in rete affermano che anche pagando il riscatto non hanno risolto il problema.

    Quindi è meglio prevenire seguendo i tre semplici consigli piuttosto che rischiare di perdere tutti i propri dati.