Hace apenas un par de meses, un experto en seguridad informática, apodado LANDAVE o Dave, encontró una vulnerabilidad de seguridad en la utilidad 7-Zip.
Un grupo de profesionales de seguridad informática comento, que 7-Zip contiene una enorme variedad de herramientas de descompresión de archivos que algunos usuarios instalan como una de sus más importantes aplicaciones complementarias de Windows.
7z sabe cómo extraer datos de la mayoría de los demás formatos de archivo y no solo es compatible con su propia marca de archivos mega comprimidos.
Los archivos ZIP, archivos gzip y bzip2, archivos Unix tar y cpio, archivos CAI y MSI de Windows, archivos DMG de Macintosh, imágenes de CD (ISO) y más, sumado con una interfaz opcional de administración de archivos de dos paneles que es perfecta para la vieja escuela.
Los expertos en
seguridad informática dicen que 7-Zip incluye soporte para archivos RAR, y es ahí donde está la vulnerabilidad, se cree que es heredada del código fuente abierta de la herramienta UnRAR.
7-Zip ya ha sido parcheado contra este error, CVE-2018-10115, ahora LANDAVE ha hecho públicos los detalles de su hallazgo, y lo que implicó averiguar qué tan grave podría ser esta vulnerabilidad.
Dave dijo, que el problema surgió de un conflicto común entre complejidad y seguridad. El profesional comento que el código UnRAR es muy complejo, admite variedades de diferente nivel y formato de compresión, esto incluye un tipo especial de sistema de compresión que enlaza archivos antes de comprimirlos, lo que con frecuencia exprime más bytes de los datos comprimidos que aplasta cada archivo de forma independiente.
En el formato de archivo RAR se incluye esta solid option ya que mejora la compresión al permitir coincidencias de cadenas repetidas incluso si están en archivos diferentes, en lugar de restringir los fragmentos de datos repetidos a un archivo. Cuando tiene varios archivos pequeños pero similares, por ejemplo, esto da como resultado que se encuentren muchas coincidencias de cadena más repetidas, y se aumenta la relación de compresión.
Lo que el profesional en seguridad informática encontró es que el código de descompresión UnRAR, tal como lo usa 7-Zip, no se configura de manera segura cuando comenzó a usarlo, lo que nos dice, que su software podría inocentemente llevar a una falla grave en el código RAR.
En otras palabras, algunas variables no inicializadas en el código UnRAR abrió la posibilidad de crear un archivo de almacenamiento trampa que engañaría al código UnRAR para que ejecute un código oculto en la parte de datos del archivo trampa.
Este código entra furtivamente ya que los datos se conocen como shellcode.
Estos errores que permiten la ejecución de Shellcode son conocidos como vulnerabilidades de ejecución remota de código (RCE), un actor malicioso puede usar un archivo, para ejecutar malware en su computadora, incluso si solo abre el archivo booby-atrapped y lo mira.
Dave también creó un exploit de prueba de concepto (PoC) que demostraba cómo crear un archivo RAR que era furtivo e inesperadamente inicia la aplicación Calculadora.
El investigador de
seguridad informática comento, que si un PoC puede mostrar CALC.EXE sin avisar, podría modificarse para ejecutar cualquier comando, incluido el malware, de forma invisible para el usuario.
El objetivo de Dave de construir un exploit que funcionara se hizo más fácil porque las aplicaciones que se incluyen con 7-Zip habían sido creadas sin soporte para la distribución aleatoria del espacio de direcciones (ASLR).
Las herramientas 7-Zip siempre se cargaran en las mismas direcciones, mejorando los exploits porque los atacantes pueden predecir qué fragmentos prácticos de código ejecutable ya se cargarían, y dónde, comento el profesional en seguridad informática.
Ahora, en algunas buenas noticias, el creador de 7-Zip no solo parcho la vulnerabilidad de variable no inicializada (CVE-2018-10115) en el producto, sino que también para compilar la versión actualizada con ASLR habilitado. Estos cambios fueron lanzados hace una semana en 7-Zip versión 18.05.
El experto en seguridad informática nos da unas recomendaciones de que hacer:
Si eres usuario de 7-Zip, asegúrate de usar la última versión.
Si es un programador de Windows, no envíe ningún software que no sea compatible con ASLR. Usando Visual Studio, puede compilar con la opción / DYNAMICBASE.
Si es un programador, al crear objetos nuevos: inicialice los campos de datos con valores seguros y razonables.