La versión corta de esta pregunta es: ¿Existe alguna solución o mitigación para la vulnerabilidad de ASP.NET CVE-2008-5100 , que permite a los atacantes omitir la verificación de la firma digital del ensamblaje.
Voy a dar algunos antecedentes. Me disculpo por adelantado por la longitud; esta Parece ser un tema complejo.
Ejecutamos un escáner de seguridad en nuestro sitio web Windows 2008R2 que ejecuta nuestro La aplicación ASP.NET y el escáner afirmaban que éramos vulnerables a CVE-2008-5100. Como se indica en mitre.org y muchos otros sitios web, esta falla, Primer informe en 2008, consiste en:
La implementación de nombre seguro (SN) en Microsoft .NET Framework 2.0.50727 se basa en la firma digital Token de clave pública incrustado en la ruta de acceso de un archivo DLL en lugar de la firma digital de este archivo, lo que hace que Es más fácil para los atacantes eludir el Caché de ensamblados global (GAC) y el Código Mecanismos de protección de seguridad de acceso (CAS), también conocido como MSRC ticket MSRC8566gs.
Esto parece ser un defecto de diseño vergonzoso en la implementación del .NET Framework, que permite a un atacante que tiene acceso a los sistemas de destino. Sistema de archivos para sustituir una DLL maliciosa que será validada inapropiadamente como DLL original de la víctima.
Esta vulnerabilidad tiene una puntuación CVSS de 10.0, lo que la hace equivalente a la peor Vulnerabilidad jamás encontrada.
Se recomienda el software de exploración de seguridad: "Actualizar la versión de ASP.NET". Sin embargo, en mi extensa búsqueda en Google de este tema, no hay evidencia de que alguna Otra versión de ASP.NET es menos vulnerable. De hecho, dada la gravedad. este defecto se supone que es sorprendente que ninguno de los sitios web que lo rastrean El fallo se ha actualizado desde enero de 2009. La única mención relativamente reciente. De un defecto como este que pude encontrar está en El blog de Ian Picknell , en el que describe una falla no corregida muy similar en .NET Framework 3.5 SP1 (a partir de febrero de 2010). También algo alarmante es que hecho de que un proveedor de seguridad acaba de agregar esta falla a su escáner en enero de 2013.
En aras de la brevedad, evitaré una larga discusión sobre los significados de las versiones de ASP.NET. Sin embargo, parece que el escáner está desconexión del encabezado HTTP "X-AspNet-Version: 2.0.50727". Nuestra aplicacion emite este encabezado porque se compiló con indicadores de compilación dirigidos a .NET Marco 3.0. De hecho, la aplicación informa esta versión de ASP.NET. incluso cuando se ejecuta en Windows Server 2012. Si recompilamos la aplicación con un objetivo de .NET Framework 4, obtenemos el encabezado "X-AspNet-Version: 4.0.30319". Probablemente podríamos hacer que el escáner deje de quejarse usando este compilado pero realmente está cambiando la forma en que .NET verifica los ensamblajes en runtime Soy escéptico, pero no puedo encontrar ninguna evidencia de una manera o la otro.
No estoy tan preocupado por la aplicación realmente explotada, ya que requiere acceso de escritura a los directorios del sistema. Me preocupa, como es mi gestión, acerca de seguir las mejores prácticas.
Gracias.