FixVibe
Covered by FixVibemedium

Capçaleres de seguretat HTTP: implementació de CSP i HSTS per a la defensa del costat del navegador

Aquesta investigació explora el paper crític de les capçaleres de seguretat HTTP, específicament la política de seguretat de contingut (CSP) i la seguretat de transport estricte HTTP (HSTS), en la protecció de les aplicacions web de vulnerabilitats comunes com Cross-Site Scripting (XSS) i atacs de degradació del protocol.

CWE-1021CWE-79CWE-319

El paper de les capçaleres de seguretat

Les capçaleres de seguretat HTTP proporcionen un mecanisme estandarditzat perquè les aplicacions web indiquen als navegadors que apliquen polítiques de seguretat específiques durant una sessió [S1] [S2]. Aquestes capçaleres actuen com una capa crítica de defensa en profunditat, mitigant els riscos que potser no s'aborden completament només amb la lògica de l'aplicació.

Política de seguretat de contingut (CSP)

La política de seguretat de contingut (CSP) és una capa de seguretat que ajuda a detectar i mitigar certs tipus d'atacs, com ara Cross-Site Scripting (XSS) i atacs d'injecció de dades [S1]. En definir una política que especifica quins recursos dinàmics es permeten carregar, CSP impedeix que el navegador executi scripts maliciosos injectats per un atacant [S1]. Això restringeix efectivament l'execució de codi no autoritzat fins i tot si existeix una vulnerabilitat d'injecció a l'aplicació.

Seguretat del transport estricte HTTP (HSTS)

HTTP Strict Transport Security (HSTS) és un mecanisme que permet que un lloc web informi els navegadors que només s'hi pot accedir mitjançant HTTPS, en lloc d'HTTP [S2]. Això protegeix contra els atacs de degradació del protocol i el segrest de galetes assegurant que tota la comunicació entre el client i el servidor estigui xifrada [S2]. Un cop un navegador rebi aquesta capçalera, convertirà automàticament tots els intents posteriors d'accedir al lloc mitjançant HTTP en sol·licituds HTTPS.

Implicacions de seguretat de les capçaleres que falten

Les aplicacions que no poden implementar aquestes capçaleres tenen un risc significativament més elevat de comprometre el client. L'absència d'una política de seguretat de contingut permet l'execució d'scripts no autoritzats, que poden provocar el segrest de sessions, l'exfiltració de dades no autoritzada o la desfiguració [S1]. De la mateixa manera, la manca d'una capçalera HSTS fa que els usuaris siguin susceptibles a atacs d'home-in-the-middle (MITM), especialment durant la fase de connexió inicial, on un atacant pot interceptar el trànsit i redirigir l'usuari a una versió maliciosa o no xifrada del lloc [S2].

Com ho prova FixVibe

FixVibe ja inclou això com a comprovació d'exploració passiva. headers.security-headers inspecciona les metadades de resposta HTTP públiques per a la presència i la força de Content-Security-Policy, Strict-Transport-Security, X-Frame-Options o ZXCVFIXVIBETOKEN4ZCVIX, Content-Security-Policy Referrer-Policy i Permissions-Policy. Informa dels valors que falten o que són febles sense sondes d'explotació, i la seva sol·licitud de correcció ofereix exemples de capçalera preparats per a la implementació per a configuracions comunes d'aplicacions i CDN.

Guia de correcció

Per millorar la postura de seguretat, els servidors web s'han de configurar per retornar aquestes capçaleres a totes les rutes de producció. Un CSP robust s'ha d'adaptar als requisits de recursos específics de l'aplicació, utilitzant directives com script-src i object-src per limitar els entorns d'execució d'scripts [S1]. Per a la seguretat del transport, la capçalera Strict-Transport-Security s'hauria d'habilitar amb una directiva max-age adequada per garantir una protecció persistent a les sessions d'usuari [S2].