Impatto
L'assenza di intestazioni di sicurezza consente agli aggressori di eseguire clickjacking, rubare cookie di sessione o eseguire scripting cross-site (XSS) [S1]. Senza queste istruzioni, i browser non possono applicare i limiti di sicurezza, con conseguente potenziale esfiltrazione di dati e azioni non autorizzate da parte dell'utente [S2].
Causa principale
Il problema deriva dalla mancata configurazione dei server Web o dei framework applicativi per includere intestazioni di sicurezza HTTP standard. Sebbene lo sviluppo spesso dia priorità all'HTML e ai CSS funzionali [S1], le configurazioni di sicurezza vengono spesso omesse. Strumenti di controllo come l'Osservatorio MDN sono progettati per rilevare questi livelli difensivi mancanti e garantire che l'interazione tra il browser e il server sia sicura [S2].
Dettagli tecnici
Le intestazioni di sicurezza forniscono al browser direttive di sicurezza specifiche per mitigare le vulnerabilità comuni:
- Politica di sicurezza dei contenuti (CSP): Controlla quali risorse possono essere caricate, impedendo l'esecuzione di script non autorizzati e l'inserimento di dati [S1].
- Strict-Transport-Security (HSTS): Garantisce che il browser comunichi solo tramite connessioni HTTPS sicure [S2].
- Opzioni X-Frame: Impedisce il rendering dell'applicazione in un iframe, che è una difesa primaria contro il clickjacking [S1].
- X-Content-Type-Options: Impedisce al browser di interpretare i file come un tipo MIME diverso da quello specificato, bloccando gli attacchi di sniffing MIME [S2].
Come lo esegue il test FixVibe
FixVibe potrebbe rilevarlo analizzando le intestazioni di risposta HTTP di un'applicazione web. Confrontando i risultati con gli standard [S2] dell'Osservatorio MDN, FixVibe può contrassegnare intestazioni mancanti o configurate in modo errato come CSP, HSTS e X-Frame-Options.
Correzione
Aggiorna il server Web (ad esempio Nginx, Apache) o il middleware dell'applicazione per includere le seguenti intestazioni in tutte le risposte come parte di un livello di sicurezza standard [S1]:
- Content-Security-Policy: limita le fonti di risorse ai domini attendibili.
- Strict-Transport-Security: applica HTTPS con un
max-agelungo. - Opzioni tipo contenuto X: impostare su
nosniff[S2]. - Opzioni X-Frame: impostare su
DENYoSAMEORIGINper impedire il clickjacking [S1].
