Video: Эффективно копируем гигабайтные файлы по сети в Linux / Unix / Mac OS (Noviembre 2024)
Un error descubierto en Bash, un intérprete de comandos ampliamente utilizado, plantea un riesgo de seguridad crítico para los sistemas Unix y Linux, dijeron expertos en seguridad. Y para que no sienta la tentación de descartar el problema como un problema del servidor, recuerde que Mac OS X usa Bash. Muchos expertos advierten que puede ser peor que Heartbleed.
La vulnerabilidad está presente en la mayoría de las versiones de Bash, desde la versión 1.13 a la 4.3, según Stephane Chazelas, un administrador de redes y telecomunicaciones de Unix y Linux en Akamai, quien primero reveló el error. El Equipo de Respuesta a Emergencias Informáticas (CERT) del Departamento de Seguridad Nacional advirtió en una alerta que si se explota, la vulnerabilidad podría permitir que un hacker remoto ejecute código malicioso en un sistema afectado. La base de datos de vulnerabilidades NIST ha calificado el error 10 de 10 en términos de gravedad.
"Esta vulnerabilidad es potencialmente un gran problema", dijo Tod Beardsley, gerente de ingeniería de Rapid7.
La vulnerabilidad tiene que ver con cómo Bash maneja las variables de entorno. Al asignar una función a una variable, también se ejecutará cualquier código adicional en la definición. Entonces, todo lo que un atacante tiene que hacer es agregar de alguna manera un montón de comandos en esa definición, un ataque clásico de inyección de código, y podrán secuestrar remotamente la máquina afectada. Chazelas y otros investigadores que han analizado la falla han confirmado que es fácilmente explotable si el código se inyecta en variables ambientales, como la función ForceCommand en OpenSSH sshd, los módulos mod_cgi y mod_cgid en Apache HTTP Server, o los scripts que configuran entorno para clientes DHCP.
"Una gran cantidad de programas en Linux y otros sistemas UNIX usan Bash para configurar variables ambientales que luego se usan mientras se ejecutan otros programas", escribió Jim Reavis, director ejecutivo de Cloud Security Alliance, en una publicación de blog.
Comparación inevitable de Heartbleed
Considere dos cosas acerca de esta vulnerabilidad: los servidores Linux / Unix se usan ampliamente en centros de datos de todo el mundo, así como en dispositivos integrados; La vulnerabilidad ha estado presente durante años. Debido a que Bash está tan extendido, la comparación con Heartbleed, la vulnerabilidad en OpenSSH que se descubrió en abril es inevitable. Robert Graham de Errata Security ya ha denominado la falla ShellShock.
¿Pero es Heartbleed 2? Es un poco difícil saberlo. Definitivamente es un problema grave, porque les da a los atacantes acceso al shell de comandos, que es el boleto de oro para poder hacer lo que quieran en esa máquina.
Pensemos en términos de tamaño. Los servidores web de Apache alimentan a la gran mayoría de los sitios web del mundo. Como aprendimos durante Heartbleed, hay muchas máquinas que no son Linux / Unix que usan OpenSSH y Telnet. Y DHCP es fundamental para que sea más fácil para nosotros entrar y salir de las redes. Esto significa que, además de las computadoras y los servidores, es posible que otros sistemas integrados, como los enrutadores, también sean vulnerables al secuestro. Graham, de Errata Security, que ha realizado algunos de los análisis más exhaustivos del error hasta el momento, realizó algunos análisis y encontró fácilmente algunos miles de servidores vulnerables, pero en este momento es un poco difícil estimar la magnitud del problema.
Sin embargo, la falla de Heartbleed estaba presente solo por tener instalada una versión vulnerable de OpenSSL. Este error no es tan sencillo.
"No es tan 'simple' como 'estar ejecutando Bash'", dijo Beardsley. Para que la máquina sea vulnerable a los ataques, debe haber una aplicación (como Apache) que tome la entrada del usuario (como un encabezado User-Agent) y la coloque en una variable de entorno (que hacen los scripts CGI), dijo. Los marcos web modernos generalmente no se verán afectados, dijo.
Esta puede ser la razón por la cual Graham dijo que mientras ShellShock es tan grave como Heartbleed, "hay poca necesidad de apresurarse y corregir este error. Sus servidores principales probablemente no sean vulnerables a este error".
Pero antes de enloquecer por los enrutadores y los dispositivos integrados (y el Internet de las cosas), tenga en cuenta que no todos los sistemas usan Bash. Ubuntu y otros sistemas derivados de Debian pueden usar un intérprete de comandos diferente llamado Dash. Los dispositivos integrados utilizan con frecuencia uno llamado BusyBox, que no es vulnerable, dijo en Twitter Roel Schouwenberg, investigador principal de Kaspersky Lab.
¿Vulnerable o no?
Puede verificar si es vulnerable ejecutando los siguientes comandos (código proporcionado por el CSA). Abra una ventana de terminal e ingrese el siguiente comando en el indicador $:
env x = '() {:;}; echo vulnerable 'bash -c "echo esto es una prueba"
Si eres vulnerable, imprimirá:
vulnerable
esto es una prueba
Si has actualizado Bash solo verás:
esto es una prueba
Normalmente, yo diría que siga adelante y parchee de inmediato, pero resulta que los parches disponibles no están completos. Todavía hay formas de inyectar comandos a través de variables de entorno incluso después de parchear Bash, dijo Red Hat esta mañana. Si solo tiene un puñado de máquinas, puede valer la pena seguir adelante y aplicar los parches disponibles, pero si tiene miles de máquinas para parchar, tal vez valga la pena esperar unas horas más. Todas las distribuciones de Linux anteriores (¡y con suerte Apple!) Están trabajando en una solución en este momento.
"Recuerde, incluso si nunca antes había oído hablar de Bash, o no lo ejecuta, es muy posible que tenga un software ejecutándose en su computadora que genera procesos de Bash", dijo el consultor de seguridad independiente Graham Cluley.