Così come accade anche in altri ambiti della sicurezza informatica, anche nella web security (ovvero in quel ramo dell’IT security che si occupa specificatamente della sicurezza dei siti, delle applicazioni e dei servizi web) molte aziende non stanno adottando un adeguato approccio proattivo alla materia: concentrarsi su uno studio approfondito dei sistemi web è infatti indispensabile per maturare una piena consapevolezza delle vulnerabilità dei sistemi e dei rischi connessi e risolvere “a monte” i problemi, ma le imprese, quando svolgono questo genere di attività, raramente adottano l’approccio corretto e rendono quindi i loro sforzi poco efficaci.
Prima di entrare nel merito dei consigli che l’information security consultant Kevin Beaver nel suo articolo “Identifying and addressing overlooked web security vulnerabilities” dà alle imprese per aiutarle a muoversi meglio in questo ambito, tra le “web security vulnerabilities” più diffuse ricordiamo:
- i Cross-site scripting (XSS), vulnerabilità che riguardano i siti web dinamici che impiegano un insufficiente controllo dell’input nei form e che consentono agli hacker di inserire o eseguire codice malevolo lato client e così attuare svariate azioni tra cui la visualizzazione, la raccolta e la modifica dei dati presenti sui server o l’alterazione del comportamento dinamico delle pagine web;
- gli Sql Injection, tecnica di code injection con la quale vengono inserite stringhe di codice SQL malevole all’interno dei campi input e che può consentire all’attaccante, quando queste stringhe vengono eseguite, di avere accesso ai contenuti dei database aziendali e di impartire ai server comandi arbitrari, analoghi a quelli che si potrebbero eseguire dai command prompt dei server stessi;
- le password inadeguate, di default o deboli di cui i cybercriminali possono facilmente entrare in possesso (ma possono creare problemi anche funzioni per il reset delle password facilmente manipolabili oppure policy per la gestione degli accessi inadeguate, che per esempio non impediscono l’accesso a una risorsa aziendale all’utente che sbaglia ripetutamente l’inserimento delle credenziali);
- una cattiva gestione delle sessioni utente (per esempio impostazioni che rendono semplice ai cybercriminali sfruttare per i propri scopi i cookie degli utenti connessi), che apre le porte, tra gli altri, ad attacchi man in the middle, ovvero attacchi dove il cybercriminale riesce a intercettare i messaggi che si scambiano due parti che credono di comunicare direttamente tra loro;
- la mancanza di CAPTCHA (test fatto di domande e risposte che determina se l’utente è un umano, e non un bot) nei web forms, che può agevolare la generazione di attacchi Ddos.
All’elenco va infine aggiunto, più in generale, il rischio derivato dal mancato aggiornamento di sistemi operativi e applicazioni, pratica spesso trascurata dalle aziende e causa di numerosi incidenti.
Qual è l’approccio corretto per garantire la web security?
Per maturare una piena consapevolezza delle vulnerabilità dei sistemi e dei rischi connessi a ciascun sito, applicazione o servizio web aziendale non bastano i controlli e i penetration test “generici”, rivolti cioè al complesso dei sistemi aziendali, a cui spesso si limitano le aziende; troppo spesso in questo modo vengono trascurati elementi di rischio importanti; è fondamentale invece procedere, almeno per le applicazioni core e più critiche, tramite “stand-alone projects”, ovvero attraverso test per il rilevamento delle vulnerabilità dedicati a ciascuna singola applicazione. L’obiettivo ultimo per l’IT, quello che deve guidare questi progetti, non è trovare tutte le vulnerabilità di tutti i sistemi, ma le vulnerabilità a cui è più urgente rimediare nei sistemi e nelle applicazioni più importanti e critiche per l’azienda; un approccio sostanzialmente basato sul calcolo del rischio che richiama alla mente le direttive del GDPR, che prescrivono un atteggiamento simile nei confronti della sicurezza IT in generale. Questo approccio basato sull’“individuazione di ciò che è urgente e importante” può consentire alle aziende di risolvere subito quel 20% di vulnerabilità (più pericolose) che generano l’80% dei problemi dell’azienda.
Ecco infine, più praticamente, alcuni supporti gratuitamente disponibili on-line che possono aiutare le aziende in questo percorso:
- OWASP Top 10 – documento di valore dedicato alla web application security creato dall’organizzazione no profit OWASP (Open Web Application Security Project) che fornisce una descrizione dei 10 più critici Web Application Security Risks e alcuni utili consigli per mettersi in sicurezza.
- OWASP WebGoat Project – serie di esercitazioni che OWASP propone agli esperti di sicurezza sfruttando un’applicazione web deliberatamente insicura progettata e gestita da OWASP stessa per consentire agli esperti di sicurezza di esercitarsi nell’individuare e rimediare alle vulnerabilità (in una delle lezioni l’utente deve, per esempio, utilizzare l’iniezione SQL per rubare numeri di carte di credito fittizi).
- Hacme Bank – come il precedente tool, anche questo, offerto da McAfee, è disegnato per insegnare a sviluppatori, programmatori ed esperti di sicurezza come creare software sicuro simulando l’hackeraggio di una applicazione online bancaria, ricca di vulnerabilità, ovviamente sviluppata ad hoc dalla stessa McAfee.
- Strumenti per il port & network scanning come Nmap o SoftPerfect Network Scanner – tool che consentono all’IT di rilevare tutti i siti e le applicazioni parte del network per prendere coscienza dell’esistenza di eventuali sistemi web di cui non si aveva consapevolezza, quindi per verificarne le vulnerabilità (è bene ricordare che anche interfacce web apparentemente benigne come quelle di una stampante multifunzione possono essere fonte di rischi).