Joven hacker sonriendo

Hackeamos su software

cero falsos positivos

Inteligencia experta + automatización eficaz

Deshabilitar modo depuración

Nuestros ethical hackers explican cómo evitar vulnerabilidades de seguridad mediante la configuración segura de depuradores en un ambiente de producción que utiliza ASP.NET, con el fin de mejorar la seguridad de la aplicación evitando que se filtre información crítica del proceso.

Necesidad

Gestionar las excepciones de tal forma que se evite que información detallada llegue a manos de un atacante.

Contexto

A continuación se describe las circunstancias bajo las cuales la siguiente solución tiene sentido:

  1. La aplicación esta construida en ASP.NET versión 1.1, 2.0, o superior.

  2. Se utiliza la versión del .NET Framework 1.0, 1.1 o superior.

Solución

Los mensajes de depuración pueden ayudar a un atacante a conocer el sistema revelando información confidencial como rutas y nombres de archivos permitiéndole de esta forma planear una forma de atacarlo. Por este motivo es necesario configurar un modo de depuración binario que no ponga en riesgo el ambiente de producción, de acuerdo a lo establecido en la Common Weaknesss Enumeration-11 (CWE-11) [1].

Además del potencial riesgo de seguridad anteriormente mencionado, el no utilizar depuradores binarios en un ambiente de producción puede causar otras desventajas, entre ellas se puede mencionar [2]:

  1. Generar un mayor número de archivos temporales en la carpeta de archivos de ASPNET.

  2. Las páginas no expirarán cuando se tiene debug = true lo cual no supone un escenario ideal de un ambiente de producción.

  3. La compilación por lotes (Batch Compilation) será deshabilitada, incluso si el atributo batch tiene el valor de true en el elemento <compilation>.

  4. El atributo System.Diagnostics.Debuggable se añade a todo el código generado, lo cual produce una notable degradación del desempeño de la aplicación.

  5. Todas las librerías JavaScript e imágenes estáticas que sean desplegadas al cliente a través de WebResources.axd serán descargadas continuamente por clientes en cada petición de visualización de la página y no serán almacenados en la memoria caché local dentro del browser. Esto puede ralentizar la experiencia del cliente.

Las aplicaciones ASP.NET pueden ser configuradas para generar depuración binaria (debug binaries). Estos binarios dan información detallada sobre los mensajes de depuración y no deberían ser usados en un ambiente de producción. Para prevenir esta práctica se debe realizar lo siguiente [3]:

  1. El atributo debug del elemento compilation define si los binarios compilados deben incluir información de depuración. Para identificar esta vulnerabilidad, busque el siguiente patrón en la sección de compilación dentro del grupo system.web del archivo Web.config en el directorio raíz de la aplicación:

    Web.config
    1
    2
    3
    <configuration>
       <compilation debug="true"/>
     </configuration>
    
  2. Dado el caso en el que la aplicación sea desplegada en un ambiente de producción el valor del atributo debug debe ser false.




Haz un comentario

Estado de los servicios - Términos de Uso