Un sito web deve il suo funzionamento ad una gerarchia di elementi in cui l’uno dipende dall’altro per questo l’efficienza e la sicurezza della piattaforma sono legate ad ognuno di essi.
Un problema in un livello qualsiasi è un problema per l’intero sito, ogni componente deve essere valutato attentamente in fase di progettazione e poi manutenuto nel tempo per garantire la continuità del servizio.
Questi elementi sono:
Tutte le componenti software in quanto tali sono afflitte da un problema, quello delle vulnerabilità, difetti o se vogliamo peculiarità nel codice di programmazione che danno la possibilità di eseguire delle operazioni sulla piattaforma da remoto all’insaputa del proprietario e degli sviluppatori, operazioni che vengono adattate a scopo di attacco e compromissione del sito.
Un altro aspetto importante è che una vulnerabilità in un dato elemento della gerarchia per sua natura può consentire di attaccarne un altro, quindi non necessariamente lo stesso nel quale è stata individuata, per esempio tramite il CMS andare a toccare il sistema operativo o il comportamento di uno dei servizi.
Questo aspetto diventa ancora più grave quando il nostro sito è ospitato in una piattaforma condivisa con altri le cui vulnerabilità possono compromettere gli elementi in comune a tutti o del nostro in particolare.
Esistono diverse tecniche di hacking per fare cose di questo tipo attraverso le vulnerabilità scoperte, una delle più famose è l’SQL Injection che nel 2012 ha contato ben 4 attacchi al mese rivolti molto più spesso ai provider che alle aziende, proprio perché sui database condivisi dei provider sono presenti i dati di n aziende. Un altro esempio è il Cross-Site-Scripting che consiste nell’inserire degli script all’interno di una pagina web che quando viene visualizzata da un browser esegue delle operazioni in genere riconducibili all’ estrazione di informazioni dal PC in uso quali username e password contenuti nei coockies.
Conoscere e sfruttare una vulnerabilità siti web rappresenta un modo certo per portare a segno un attacco ed è per questo motivo che queste informazioni possono costare anche 400-500K a chi è interessato.
Infatti chi scopre la vulnerabilità non conduce l’attacco ma vende la preziosa informazione sul mercato nero ad un altro team di hacker che eseguirà la sua attività finché non avrà coperto i costi e raggiunto il margine desiderato.
Da notare anche che molto spesso l’ hacking di una piattaforma web non è il fine ultimo dell’attacco ma solamente una parte, basti pensare ai ransomware in cui il malware di cifratura viene scaricato da siti web compromessi.
Il principio economico dietro ad un attacco non è difficile da comprendere quanto lo sono i tecnicismi e quindi è facile capire come ai ricercatori di vulnerabilità convenga concentrare gli sforzi sui software più diffusi, perché sono questi che consentono agli altri hacker di portare a termine il più alto numero di attacchi ed ottenere un ricavo nel più breve tempo.
Per esempio attualmente in tema di siti web stanno spopolando i CMS free come Joomla!, Wordpress e Drupal per inequivocabili aspetti di economicità, tuttavia allo stesso tempo rappresentano il target ideale per chi si occupa di scovare vulnerabilità.
Per due motivi, il primo è quello statistico, tutti stanno andando in quella direzione e tutti saranno attaccabili con una singola vulnerabilità, il secondo è che piaccia o no un prodotto gratuito non potrà mai godere della stessa qualità in ricerca e sviluppo di uno proprietario, soprattutto in termini di rilascio delle patch, perché viene data maggiore attenzione al rilascio di nuove features e al miglioramento del prodotto.
Analogamente al CMS tutte le componenti che vengono caricate a completamento del sito possono contenere vulnerabilità e ancora più spesso vengono create appositamente e rese disponibili su store gratuiti privi di controlli a generosa disposizione di tutti.
Il risultato è che felici di aver ottenuto un bel template gratuitamente installiamo di nostra mano una grave falla sul nostro stesso sito con l’add-on di essere tracciati nel momento in cui lo facciamo, come puntarsi addosso il fucile!
Tutto questo è per dire che ogni elemento software senza distinzioni è un potenziale portatore di vulnerabilità per cui se vogliamo pensare alla sicurezza delle nostra piattaforma web dobbiamo tenerlo presente e cercare di ridurre al minimo questo pericolo valutando le componenti che utilizziamo anche da questo punto di vista.
In generale più andiamo nella direzione in cui vanno tutti più siamo esposti.
Resta fondamentale applicare sempre tutti gli aggiornamenti che vengono rilasciati per ogni componente in modo tale da chiudere almeno le falle per le quali esiste un rimedio. Oltre a questo è sempre consigliato proteggere il nostro sito tramite un firewall sul quale attivare il servizio IPS, in questo modo si può aumentare ulteriormente il grado di protezione perché potrebbe contenere firme atte a chiudere vulnerabilità per le quali non sono ancora state rilasciate le patch.
Attualmente i ransomware sono tra i virus maggiormente diffusi tramite siti web compromessi perchè l'utilizzo di link nel corpo delle mail phishing è una modalità difficile da verificare e tutti i comuni antispam in questo trovano il loro limite. Chi riceve una mail di questo tipo e non è attento finisce per cliccare ed entrare in queste pagine modificate nelle quali sono state inserite delle istruzioni per scatenare le infezioni.
Con l'occasione ti consiglio di scaricare questa Checklist con la quale puoi verificare alcuni aspetti molto importanti che ti possono aiutare ad aumentare la tua sicurezza contro i ransomware.