Ogni qual volta un sito importante risulta danneggiato i giornali urlano all’hacker cattivo, alla guerra digitale e all’apocalisse elettronica.
Ma quali sono i vari attacchi che possono portare anomalie ad un sito? E soprattutto quanta competenza e insicurezza nel sito richiedono? Vediamolo insieme.
DoS
Competenza richiesta: Medio-bassa
Sicurezza del sito: Ininfluente
Il DoS satura le risorse del sito effettuando un numero esagerato di richieste al server.
È un attacco alla portata di ogni lamer, che può affittare le risorse necessarie. Per questi piccoli DoS esistono contromisure, mentre per quelli seriamente coordinati solo aziende importanti come Google hanno le risorse per fermarli.
Attacchi DoS di larga portata sono rari e sono tipicamente usati solo contro obiettivi informatici o governativi. Esempi tipici sono gli spammer che usano la potenza delle loro botnet contro i siti antispam.
DNS poisoning
Competenza richiesta: Media
Sicurezza del sito: Poco influente
I DNS sono quei database che permettono di tradurre “www.nome.tld” in un indirizzo IP leggibile dai computer.
Questo sistema ha vari punti deboli che si possono usare per convincere un computer che ad un dominio legittimo si associa un IP malevolo. Ciò dipende da falle intrinseche del sistema, e non è modificabile dal sysadmin.
Tuttavia c’è anche la possibilità che un sito protetto abbia il proprio nome protetto solo da una semplice password crackabile, e le modifiche DNS si propagano abbastanza lentamente, quindi una modifica fatta con una password crackata anche se risolta subito può richiedere ore prima che tutti i PC sappiano che l’IP è cambiato.
SQL injection
Competenza richiesta: Medio-bassa
Sicurezza del sito: Influente
Moltissimi siti web usano un database, e il linguaggio standard per interrogarne uno è SQL.
Se il database deve gestire un input direttamente immesso dall’utente e non adeguatamente gestito c’è la possibilità che riceva un comando invece che un dato.
Ad esempio la sintassi per cercare un utente potrebbe essere:
SELECT * WHERE NOME=”%INPUTUTENTE%”;
Se mettete “Gianni Rossi” non darà problemi. Ma se scrivessimo
“CIAO”; DROP DATABASE utenti
Si avrebbe la cancellazione del database utenti, se esiste.
Esistono numerose librerie che permettono di pulire un input per evitare tali situazioni, dunque aver un sito con una SQL Injection vorrebbe dire avere un sito progettato senza una reale sicurezza.
Ed esistono anche tante librerie che chiunque può utilizzare per tentare di sfruttare una SQL Injection.
Defacement
Competenza richiesta: Medio-alta
Sicurezza del sito: Normalmente influente
Il defacement equivale a sostituire una pagina (tendenzialmente la home) con un altro contenuto. Tipicamente o è un evidente contenuto di protesta o una meno evidente pagina di phishing o script adoperati per un malware.
Ciò può avvenire tipicamente in tre casi:
- Il sito ha i permessi fatti male e permette di eseguire qualsiasi schifezza che arrivi dall’esterno
- Il sito è fatto bene ma il gestore meno
- Baco di sicurezza in un plugin
Nel primo caso, tipicamente quando si impostano i permessi con “Chmod -R 777”, caricando uno script fatto opportunamente è possibile ottenere una shell nel sistema per fare ciò che si vuole. In questo caso c’è una vulnerabilità nel sito, che è stato progettato male fin dal principio.
Nel secondo caso la colpa non è dell’amministratore del sito: lui può usare ogni contromisura ma se il gestore ha come login admin:admin ci sarà poco da fare.
Il terzo caso è tipico di WordPress, dove certi plugin hanno vulnerabilità note che permettono di caricare file. L’uso di queste vulnerabilità è scriptabile, ossia i lamer possono con uno script tentare di attaccare più siti possibile.
In questo caso la sicurezza è realizzata quando l’amministratore aggiorna WordPress e Plugin, visto che egli poco può contro una vulnerabilità appena scoperta e non patchata. Se invece usa una versione di WordPress con il manuale in cuneiforme e i plugin scritti in Assembly la colpa è probabilmente sua.
Pingback: CSFR: L’attacco meno conosciuto spiegato terra terra – Computer Blog