Che cos'è la sicurezza delle applicazioni Web?
La sicurezza delle applicazioni Web è la pratica di proteggere siti Web, applicazioni e API dagli attacchi. Si tratta di una disciplina molto ampia, ma i suoi obiettivi finali sono garantire il corretto funzionamento delle applicazioni Web e proteggere le aziende da atti di vandalismo informatico, furto di dati, concorrenza sleale e altre conseguenze negative.
La natura globale di Internet espone le applicazioni Web e le API ad attacchi provenienti da numerose sedi e con diversi livelli di scala e complessità. Pertanto, la sicurezza delle applicazioni Web comprende una varietà di strategie e interessa molte parti della catena di fornitura del software.
Quali sono i rischi più comuni per la sicurezza delle applicazioni Web?
Le applicazioni Web possono subire diversi tipi di attacchi a seconda degli obiettivi dell'aggressore, della natura del lavoro dell'organizzazione presa di mira e delle specifiche lacune di sicurezza dell'applicazione. I tipi di attacco comuni includono:
- Vulnerabilità zero-day: si tratta di vulnerabilità sconosciute ai creatori di un'applicazione e per le quali non è disponibile una correzione. Ogni anno riscontriamo più di 20.000 vulnerabilità zero-day. Gli attacchi cercano di sfruttare rapidamente queste vulnerabilità e spesso proseguono cercando di eludere le protezioni messe in atto dai fornitori di sicurezza.
- Cross-site scripting (XSS): XSS è una vulnerabilità che consente a un malintenzionato di iniettare script lato client in una pagina Web per accedere direttamente a informazioni importanti, impersonare l'utente o indurlo in errore inducendolo a rivelare informazioni importanti. Scopri di più su come impedire gli attacchi XSS.
- SQL injection (SQLi):SQLi è un metodo mediante il quale un malintenzionato sfrutta le vulnerabilità nel modo in cui un database esegue le query di ricerca. Gli autori di attacchi usano SQi per ottenere l'accesso alle informazioni non autorizzate, modificare o creare nuove autorizzazioni utente o comunque manipolare o distruggere i dati sensibili. Scopri di più su come prevenire le SQL injection.
- Attacchi Denial-of-Service (DoS) e Distributed Denial-of-Service (DDoS): attraverso una varietà di vettori, gli autori di attacchi sono in grado di sovraccaricare un server mirato o la sua infrastruttura circostante con diversi tipi di traffico di attacco. Quando un server non è più in grado di elaborare in modo efficace le richieste in arrivo, comincia a comportarsi in modo lento e finisce per negare il servizio alle richieste in arrivo da utenti legittimi.
- Danneggiamento della memoria: un danneggiamento della memoria si verifica quando una posizione nella memoria viene modificata involontariamente, con conseguente potenziale comportamento imprevisto del software. I soggetti ostili cercheranno di identificare e sfruttare i danni alla memoria attraverso cose come diffusione di codice o attacchi di buffer overflow.
- Buffer overflow: il buffer overflow è un'anomalia che si verifica quando il software scrive dati in uno spazio definito nella memoria noto come buffer. Il superamento della capacità del buffer comporta la sovrascrittura dei dati nelle posizioni di memoria adiacenti. Questo comportamento può essere sfruttato per diffondere codice dannoso nella memoria, creando potenzialmente una vulnerabilità nella macchina presa di mira.
- Cross-site request forgery (CSRF): la falsificazione di richieste tra siti (CSRF) consiste nell'ingannare una vittima inducendola a effettuare una richiesta che utilizza la sua autenticazione o autorizzazione. Sfruttando i privilegi dell'account di un utente, un malintenzionato è in grado di inviare una richiesta facendo finta di essere l'utente stesso. Una volta che l'account dell'utente è stato compromesso, il malintezionato può esfiltrare, distruggere o modificare le informazioni importanti. Gli account con privilegi elevati, come quelli di amministratori o dirigenti, sono spesso presi di mira.
- Sottrazione e uso illecito delle credenziali: gli autori di attacchi possono utilizzare bot per immettere rapidamente un gran numero di combinazioni di nome utente e password rubate nel portale di accesso di un'applicazione Web. Se la sottrazione e l'uso illecito delle credenziali consente a un autore di un attacco di accedere all'account di un utente reale, può rubare i dati dell'utente o effettuare acquisti fraudolenti a nome dell'utente.
- Page scraping: gli autori di attacchi possono anche utilizzare i bot per rubare contenuti dalle pagine Web su larga scala. Potrebbero utilizzare questo contenuto per ottenere un vantaggio in termini di prezzo rispetto alla concorrenza, imitare il proprietario della pagina per scopi malevoli o per altri motivi.
- Abuso API: le API, o interfacce di programmazione delle applicazioni, sono software che consentono a due applicazioni di comunicare tra loro. Come qualsiasi tipo di software, potrebbero presentare vulnerabilità che consentono agli aggressori di inviare codice dannoso in una delle applicazioni o di intercettare dati sensibili durante lo spostamento da un'applicazione all'altra. Si tratta di un tipo di attacco sempre più diffuso con l'aumento dell'utilizzo delle API. L'elenco delle Top 10 API OWASP riassume in modo succinto i principali rischi per la sicurezza delle API che le organizzazioni devono affrontare oggi.
- API shadow: i team di sviluppo lavorano rapidamente per soddisfare gli obiettivi aziendali, spesso creando e pubblicando API senza informare i team di sicurezza. Queste API sconosciute potrebbero esporre dati aziendali sensibili, operando nell'ombra poiché i team di sicurezza incaricati di proteggere le API non sono a conoscenza della loro esistenza.
- Abuso di codice di terze parti: molte applicazioni Web moderne utilizzano una serie di strumenti di terze parti, ad esempio un sito di e-commerce che utilizza uno strumento di elaborazione dei pagamenti di terze parti. Se gli autori di attacchi rilevano una vulnerabilità in uno di questi strumenti, potrebbero riuscire a comprometterlo e rubare i dati che elabora, impedirne il funzionamento o utilizzarlo per iniettare codice dannoso in altre parti dell'applicazione. Un esempio di questo tipo di attacco sono gli attacchi Magecart, che rubano i dati delle carte di credito dai processori di pagamento. Questi attacchi sono anche considerati attacchi alla supply chain del browser.
- Configurazioni errate delle superfici d'attacco: la superficie d'attacco di un'organizzazione è l'intera impronta IT che potrebbe essere suscettibile di attacchi informatici: server, dispositivi, SaaS e risorse cloud accessibili da Internet. Questa superficie d'attacco può rimanere vulnerabile agli attacchi se alcuni elementi vengono trascurati o configurati in modo errato.
Quali sono le strategie più importanti per la sicurezza delle applicazioni Web?
Come accennato, la sicurezza delle applicazioni Web è una disciplina ampia e in continua evoluzione. Pertanto, le best practice della disciplina cambiano man mano che emergono nuovi attacchi e vulnerabilità. Ma il panorama delle minacce dell'Internet moderno è così attivo che nessuna organizzazione sarà in grado di farcela senza alcuni servizi di sicurezza "di base" che si adattano alle esigenze specifiche della propria attività:
- Mitigazione degli attacchi DDoS: i servizi di mitigazione degli attacchi DDoS si inseriscono tra un server e la rete Internet pubblica e utilizzano filtri specializzati e una capacità di larghezza di banda estremamente elevata per impedire che picchi di traffico dannoso travolgano il server. Questi servizi sono importanti perché molti attacchi DDoS moderni trasmettono abbastanza traffico dannoso da sopraffare anche i server più resilienti.
- Web Application Firewall (WAF): che filtra il traffico noto o sospettato di sfruttare le vulnerabilità delle applicazioni Web. I WAF sono importanti perché le nuove vulnerabilità emergono troppo rapidamente e silenziosamente perché quasi tutte le organizzazioni possano rilevarle da sole.
- Gateway API: che aiutano a identificare le "API shadow" trascurate e a bloccare il traffico noto o sospettato di colpire le vulnerabilità delle API. Aiutano anche a gestire e monitorare il traffico delle API. (Scopri di più sulla sicurezza delle API.)
- DNSSEC: un protocollo che garantisce che il traffico DNS di un'applicazione Web venga indirizzato in modo sicuro ai server corretti, in modo che gli utenti non vengano intercettati da un malintenzionato in transito.
- Gestione dei certificati di crittografia: in cui una terza parte gestisce gli elementi chiave del processo di crittografia SSL/TLS, come la generazione di chiavi private, il rinnovo dei certificati e la revoca dei certificati a causa di vulnerabilità. In questo modo si elimina il rischio che tali elementi vengano trascurati e che venga esposto il traffico privato.
- Gestione dei bot: che utilizza il machine learning e altri metodi di rilevamento specializzati per distinguere il traffico automatizzato dagli utenti umani e impedire al primo di accedere a un'applicazione Web.
- Sicurezza lato client: che verifica la presenza di nuove dipendenze JavaScript di terze parti e modifiche al codice di terze parti, aiutando le organizzazioni a individuare più rapidamente eventuali attività dannose.
- Gestione della superficie d'attacco: gli strumenti di gestione della superficie d'attacco dovrebbero fornire un'unica posizione per mappare la superficie d'attacco, identificare potenziali rischi per la sicurezza e mitigare i rischi con pochi clic.
Quali sono le best practice in materia di sicurezza delle applicazioni che le organizzazioni dovrebbero aspettarsi dai propri fornitori?
Gli sviluppatori Web possono progettare e creare applicazioni in modo da impedire agli autori di attacchi di accedere a dati privati, di accedere fraudolentemente agli account utente e di eseguire altre azioni dannose. L'elenco Top 10 di OWASP descrive i rischi più comuni per la sicurezza delle applicazioni di cui gli sviluppatori devono essere consapevoli. Le pratiche per prevenire questi rischi includono:
- Richiedere la convalida dell'input: il blocco dei dati formattati in modo non corretto dal passaggio attraverso i flussi di lavoro dell'applicazione aiuta a impedire che codice dannoso entri nell'applicazione tramite un attacco di iniezione.
- Utilizzare la crittografia aggiornata: l'archiviazione dei dati degli utenti in modo crittografato, insieme all'utilizzo di HTTPS per crittografare la trasmissione del traffico in entrata e in uscita, aiuta a impedire agli autori di attacchi di rubare i dati.
- Offrire autenticazione e autorizzazione avanzate: l'integrazione e l'applicazione di controlli per password complesse, l'offerta di opzioni di autenticazione a più fattori, tra cui chiavi fisse, l'offerta di opzioni di controllo degli accessi e altre pratiche rendono più difficile per gli aggressori accedere fraudolentemente agli account utente e muoversi lateralmente all'interno dell'applicazione.
- Tenere traccia delle API: esistono strumenti per identificare le "API shadow" trascurate che potrebbero costituire una superficie di attacco, ma la sicurezza delle API diventa più semplice quando le API non vengono mai trascurate in primo luogo.
- Documentare le modifiche al codice: che aiuta i team di sicurezza e di sviluppo a correggere più rapidamente le vulnerabilità appena introdotte.
In che modo Cloudflare garantisce la sicurezza delle applicazioni Web?
Cloudflare gestisce una rete globale di 330 città che offre molti dei servizi di sicurezza sopra elencati, tra cui mitigazione degli attacchi DDoS, Web Application Firewall, protezione delle API, DNSSEC, SSL/TLS gestito, gestione dei bot, protezione lato client e altro ancora.
Questi servizi sono tutti progettati per essere eseguiti da qualsiasi datacenter della nostra rete, consentendo loro di bloccare gli attacchi in prossimità dell'origine. Sono integrati con i nostri servizi di prestazioni del sito Web, quindi l'aggiunta di nuove protezioni di sicurezza non rallenta mai il traffico. Inoltre, tutti questi servizi funzionano con tutti i tipi di infrastrutture di siti Web e spesso possono essere attivati in pochi minuti.
Scopri di più sulle soluzioni di sicurezza delle applicazioni o registrati per un piano Cloudflare.