Evaluar CSP - Política de Seguridad para Contenido

  • Posted on: 24 August 2023
  • By: ReYDeS

Content Security Policy (CSP), es una política declarativa de listas permitidas las cuales se aplican a través de la cabecera de respuesta Content-Security-Policy, o un elemento equivalente. Permite a los desarrolladores restringir las fuentes desde las cuales se cargan recursos como JavaScript, CSS, imágenes, archivos, etc. CSP es una técnica eficaz para defensa en profundidad, y de esta manera mitigar el riesgo de vulnerabilidades como Cross Site Scripting (XSS) y Clickjacking.

La Política de Seguridad de Contenidos soporta directivas, las cuales permiten un control granular del flujo de las políticas.

Utilizando el comando curl, se procede a obtener y revisar la cabecera o el elemento meta, para identificar inadecuadas configuraciones.

$ curl -s --head https:// www. xyz .com

Para evaluar por inadecuadas configuraciones en CSP, se busca por configuraciones inseguras examinando la cabecera de respuesta “Content-Security-Policy”, o el elemento meta.

  • unsafe-inline Esta directiva permite scripts o estilos en linea, lo cual genera las aplicaciones sean susceptibles a ataques XSS.
  • unsafe-eval Esta directiva permite el uso de eval() en la aplicación, además es susceptible a técnicas comunes de evasión, como inyección URL de datos.
  • unsafe-hashes Esta directiva permite el uso de scripts/estilos en línea, asumiendo coincidan con los hashes especificados.
  • Recursos como scripts pueden ser permitidos de ser cargados desde cualquier origen mediante la utilización del comodín (*) source.
    • También considerar comodines basados en coincidencias parciales, como: https: //* o *.cdn. com.
    • Considerar si las fuentes listadas permitidas proporcionan JSONP de puntos final, lo cual podría ser utilizado para evadir CSP o la política del mismo origen.
  • Framing puede ser habilitado para todos los orígenes mediante el uso del comodín fuente (*) para la directiva frame-ancestors. Si la directiva frame-ancestors no está definida en la cabecera Content-Security-Policy, las aplicaciones pueden ser vulnerables a ataques de clickjacking.
  • Aplicaciones críticas para el negocio deberían requerir el uso de una política estricta.
  • Se sugiere configurar una política fuerte para seguridad de contenidos, la cual reduzca la superficie de ataque de la aplicación. Los desarrolladores pueden verificar la fortaleza de la política para seguridad de contenidos mediante herramientas en línea como Google CSP Evaluator.

    Fuentes:

    https://developer.mozilla.org/en-US/docs/Web/HTTP/CSP
    https://owasp.org/www-project-web-security-testing-guide/latest/4-Web_Ap...
    https://csp-evaluator.withgoogle.com/

    Sobre el Autor


    Alonso Eduardo Caballero Quezada - ReYDeS
    Instructor y Consultor Independiente en Ciberseguridad
    Correo Electrónico: ReYDeS@gmail.com
    Twitter: https://twitter.com/Alonso_ReYDeS
    LinkedIn: https://pe.linkedin.com/in/alonsocaballeroquezada/
    Facebook: https://www.facebook.com/alonsoreydes
    Youtube: https://www.youtube.com/c/AlonsoCaballero


    Curso de Informática Forense