Potresti spesso leggere che il 70% dei siti Web è hackerabile. La triste verità è, tuttavia, che ogni sito Web e applicazione Web può essere violato, con tempo e risorse sufficienti. Ciò che fa rientrare un sito Web o un'applicazione Web all'interno del 70% sopra menzionato non sono solo le vulnerabilità. La sicurezza del tuo sito web dipende molto anche dalle capacità e dalla motivazione dell'attaccante.
Attacker e categorie target
Per comprendere i rischi per la sicurezza, devi prima conoscere le basi della sicurezza web: quali tipi di aggressori potresti incontrare e come scelgono i loro obiettivi. Gli aggressori possono essere classificati in tre categorie principali a seconda delle loro conoscenze tecniche, motivazioni e metodi operativi:
Script kiddies: questo termine si riferisce agli aggressori dilettanti, la cui motivazione principale è diffondere il caos (ad esempio, tramite attacchi denial-of-service distribuiti - DDoS) o acquisire reputazione e convalida della comunità - meno frequentemente per acquisire guadagni finanziari. La loro conoscenza della sicurezza informatica è limitata e utilizzano principalmente gli strumenti esistenti e cercano facili vittorie. Non hanno l'ambizione di accedere a dati sensibili a meno che non abbiano un valore finanziario diretto, ad esempio numeri di carta di credito.
Black-hat hackers: questo termine si riferisce ad aggressori professionisti, la cui motivazione principale è finanziaria e i cui metodi operativi sono illegali e non etici. La loro conoscenza tecnica può essere vasta e possono impiegare metodi operativi molto complessi ed efficienti e utilizzare algoritmi di attacco avanzati. Sfortunatamente, sempre più hacker black-hat sono ora coinvolti nella criminalità organizzata, il che li rende ancora più pericolosi.
White-hat hackers: questo termine si riferisce ad aggressori professionisti, la cui motivazione è finanziaria, ma i loro metodi di funzionamento sono legali ed etici. Ti aiutano a eliminare le tue vulnerabilità e ad adottare misure di sicurezza trovando minacce alla sicurezza e informandoti su di esse. Gli hacker white-hat non causano danni, anzi. Dovresti rispettarli e invitarli a testare la tua protezione offrendo ricompense di bug.
Gli attacchi possono anche essere suddivisi in due categorie principali in base a come viene selezionato il bersaglio:
Attacchi opportunistici: questo termine si applica quando gli obiettivi sono selezionati casualmente sulla base del potenziale di sfruttamento. L'attaccante scansiona una serie di bersagli e trova quelli che sono vulnerabili a una particolare tecnica di attacco. Ad esempio, l'attaccante può cercare tutte le installazioni di WordPress 1.5 che sono vulnerabili all'iniezione SQL ( CVE-2005-1687 ). Tali attacchi sono molto diffusi tra gli script kiddy.
Attacchi mirati: questo termine si applica quando gli obiettivi sono selezionati specificamente sulla base di un particolare valore per l'attaccante. L'attaccante tenta di trovare problemi di sicurezza per raggiungere il proprio obiettivo. Ad esempio, l'attaccante potrebbe tentare di ottenere l'accesso non autorizzato a dati sensibili come l'elenco dettagliato dei clienti di un'impresa e la sua motivazione potrebbe essere lo spionaggio industriale. Questo tipo di attacco è il dominio degli hacker black-hat.
Anche se pensi che la tua attività abbia poco valore per gli aggressori professionisti, potresti comunque essere un potenziale bersaglio per un attacco opportunistico. E se il valore delle tue informazioni sensibili è sufficientemente alto, anche un controllo degli accessi efficace e meccanismi di protezione all'avanguardia potrebbero rivelarsi insufficienti per scoraggiare un hacker professionista malintenzionato. Più fai per proteggerti, meno possibilità ci sono che l'attaccante abbia successo. E l'errore più grande che puoi fare è pensare che questo non si applica a te.
L'importanza della sicurezza delle applicazioni web
Sebbene gli attacchi web non siano l'unico tipo di attacco che può portare a una compromissione della sicurezza, sono uno dei tipi più comuni insieme a tutte le forme di ingegneria sociale (incluso il phishing) e malware. Questi tipi sono spesso usati anche in combinazione. Tuttavia, nonostante l'importanza della sicurezza delle applicazioni Web, molte aziende hanno ancora difficoltà a mantenerla. Ecco i nostri consigli su come ottenere i migliori livelli di sicurezza:
Utilizzare il rilevamento euristico. Se utilizzi solo sistemi di rilevamento basati su firme, stai proteggendo le tue risorse solo contro gli script kiddy. Gli hacker black-hat professionisti si affidano alla ricerca di vulnerabilità delle applicazioni Web che possono essere scoperte solo utilizzando uno scanner euristico di vulnerabilità Web, come Acunetix, o test di penetrazione manuale.
Dai priorità alla sicurezza web rispetto alla sicurezza di rete. Se ti concentri sulla sicurezza della rete più che sulla sicurezza del web, dovresti renderti conto che negli ultimi anni ci sono state pochissime violazioni importanti dovute a problemi di sicurezza della rete, come quelli associati agli errori SSL/TLS (Secure Sockets Layer). D'altra parte, ci sono state alcune importanti violazioni causate da problemi di sicurezza web dall'elenco OWASP Top-10 come attacchi SQL injection, cross-site scripting (XSS), CSRF, server web e configurazione errata del contenitore, ecc.
Eliminare la fonte del problema. Se ritieni che un firewall per applicazioni Web sia sufficiente per proteggere le tue risorse, dovresti renderti conto che le regole WAF possono spesso essere eluse utilizzando codice dannoso e input utente ben congegnati. Utilizzando un WAF senza altre misure, non si elimina la fonte del problema ma si applica solo un cerotto temporaneo.
La sicurezza delle applicazioni Web non riguarda solo la scoperta delle vulnerabilità della sicurezza e la loro eliminazione, ma anche la prevenzione. Si tratta di cambiare le tue abitudini quando si tratta di sviluppo e operazioni web:
Educare: il modo più efficiente per ridurre la superficie di attacco è istruire l'intero team. I tuoi sviluppatori, amministratori, tester e anche il personale non tecnico dovrebbero essere consapevoli dei potenziali problemi di sicurezza web e dovrebbero sapere come evitare di introdurre tali problemi.
Shift left: dovresti mirare a eliminare i problemi di sicurezza web il prima possibile spostandoti a sinistra e includendo la sicurezza web nel ciclo di vita dello sviluppo del software. Se scopri un problema sul tuo server web di produzione e non prima, potrebbe essere un segno che i tuoi processi non sono ottimizzati.
Sii completo: ricorda che la sicurezza Web si applica non solo ai contenuti lato server e lato client accessibili direttamente tramite browser Web, ma anche a servizi Web, API, servizi mobili, dispositivi IoT e altro ancora.