¿Las Macs son vulnerables al error Bash shellshock?

Red Hat anunció recientemente un error importante relacionado con la security en el shell Bash. Algunos lo llaman el error "shellshock". Dado que OS X está construido a partir de Unix, ¿es vulnerable a los ataques que explotan este error?

Como usuario final, ¿debo preocuparme por una solución inmediata? ¿O es mejor para mí esperar una actualización oficial de software de Apple?

Sí, eres técnicamente vulnerable. Entonces, si tiene ganas de entrar en pánico o facturar a un cliente en pánico por unas horas de trabajo de pánico, ¡adelante!

Pero la realidad es que a less que permita el acceso SSH desde conexiones remotas o un server web que ejecute secuencias de commands del lado del server, no está en riesgo. Solo eres verdaderamente vulnerable si alguien que no conoces puede acceder de forma remota a tu máquina y hacerlo de forma que se pueda ejecutar un command Bash.

Lo que significa que su Mac de escritorio, que realmente no ejecuta aplicaciones de server de ningún tipo, no corre ningún riesgo grave. Estoy dispuesto a comer un "pastel humilde" proverbial aquí, pero no creo que la mayoría de los usuarios de Mac estén en riesgo al final del día.

Por lo tanto, este problema es principalmente de preocupación para los administradores de sistemas en los serveres Mac OS X y Unix / Linux expuestos al mundo, no para los usuarios de escritorio que no permiten el uso compartido de SSH.

Quizás exista un riesgo extremo de que se cree un malware o virus de Mac para explotar este riesgo, pero lo dudo.

EDITAR: Y para explicar cómo es este tema, en mi humilde opinión, no es realmente un problema para la mayoría de los usuarios promedio, sí, puedo ejecutar el siguiente command desde bash en Mac OS X 10.9.5:

 env x='() { :;}; echo vulnerable' bash -c 'echo hello' 

Y veo esto:

 vulnerable hello 

¿Adivina qué? Eso es solo aterrador si no piensas racionalmente en esto. Ya tuve que haber iniciado session en mi Mac para abrir la Terminal. Y para negar lo que dije sobre SSH arriba, incluso para llegar al punto en que puedo ejecutar esta testing, incluso si SSH está habilitado, todavía tendría que haber iniciado session para comenzar. Y luego, digamos que tengo acceso a través de SSH, el command no me permite hacer NADA más allá de mis derechos de usuario normales, como este:

 env x='() { :;}; echo vulnerable' bash -c 'cat /etc/ssh_host_rsa_key' 

Es decir, si realmente eres vulnerable a ser explotado por este truco, tu security básica en el sistema tendría que estar tan comprometida que el hecho de que bash tenga un defecto es realmente el menor de tus problemas.

Esta es una preocupación derivada de un problema general de control y derechos, así como el potencial para permitir el acceso no intencional ya que el comportamiento se extiende fuera de las normas esperadas. Pero en mi humilde opinión, no es un riesgo a la par con OpenSSL o los riesgos de la variedad "déjame dejar mi contraseña en una nota pegada a mi pantalla".

Al final del día, sigo reparando todos mis serveres Linux / Unix que ejecuto como procedimiento estándar. Y felizmente corregiré los Mac que administro una vez que se soluciona el problema. Pero para el uso práctico en el día a día, me siento bien sin preocuparme por esto, ya que no entiendo cómo una falla que no permite privilegios de usuario elevados se sum a cualquier cosa.

ACTUALIZACIÓN: Palabra oficial de Apple publicada aquí ; énfasis mío

"La gran mayoría de los usuarios de OS X no están en riesgo ante las vulnerabilidades de bash reportadas recientemente", dijo un portavoz de Apple a iMore. "Bash, un shell de commands UNIX e idioma incluido en OS X, tiene una debilidad que podría permitir a los usuarios no autorizados get de forma remota control de sistemas vulnerables Con OS X, los sistemas son seguros por defecto y no están expuestos a exploits remotos de bash a less que los usuarios configuren services avanzados de UNIX. Estamos trabajando para proporcionar rápidamente una actualización de software para nuestros usuarios avanzados de UNIX ".

Traducción: ¿Qué dije antes sobre que esto es un problema de server y no un problema para el cliente? Exactamente.

UN UDPATE FINAL: para cualquiera que tenga problemas con la compilation desde la fuente, a partir del 29 de septiembre, Apple ha lanzado oficialmente parches para Mac OS X 10.9.5, 10.8.5 y 10.7.5:

  • OS X bash Update 1.0 – OS X Mavericks
  • Actualización de OS X bash 1.0 – OS X Mountain Lion
  • Actualización de OS X bash 1.0 – OS X Lion

AÚN OTRA ACTUALIZACIÓN FINAL: ¡ Y ahora, Apple acaba de lanzar una combinación de actualización de security hoy que incluye la actualización bash también !

Nota: Actualización de security 2014-005 incluye el contenido de security de OS X bash Update 1.0

¡Sí!

Escribe esto en tu caparazón

 env x='() { :;}; echo vulnerable' bash -c 'echo hello' 

Si dice vulnerable entonces eres vulnerable.

Si dice

 bash: warning: x: ignoring function definition attempt bash: error importing function definition for `x' hello 

entonces eres bueno

Editar: enlace a la corrección

Como usuario final , verifique que:

  • su count de invitado está desactivada:

     Preferences del sistema> Usuarios y grupos> Usuario invitado
    
  • su acceso ssh está desactivado:

     Preferences del sistema> Compartir> Inicio de session remoto
    

Por defecto, ambos están desactivados en Mavericks.

Como usuario final , es más seguro esperar que una actualización oficial de security de Apple arregle esta vulnerabilidad de bash .

Todas las máquinas Mac OS X son técnicamente vulnerables a "Shellshock", hasta que Apple emita una actualización de security que parchee bash, pero …

Tu pregunta debería ser: ¿Puedo ser pirateado remotamente?

Hay tanto software que usa bash distraídamente que responder esa pregunta es extremadamente difícil. Si está preocupado, le sugiero varios cambios en las System Preferences para evitar exploits remotos:

  • Deshabilite TODOS los services compartidos en Preferences compartidas.
  • Habilite el Firewall en Seguridad y Privacidad.

Si está particularmente preocupado, presione el button de opciones del Firewall para:

  • Desmarque Automatically allow signed software to receive incoming connections .
  • Marque Block all incoming connections .

Todavía hay una posibilidad respetable de que seas vulnerable a un ataque a nivel usando DHCP, Bonjour, etc., pero si necesitas otro service, obviamente puedes dejarlo funcionando mientras esperas que no sea explotado. Y también deberá dejar el firewall más abierto. Probablemente estará bien si tu máquina vive detrás de otro firewall.

Además, ¿hay ataques de escalamiento de privilegios locales habilitados por "Shellshock?" Sí, casi seguramente. No me preocuparía porque Mac OS X tiene suficientes ataques similares. Apple no aplica parches rápidamente a los errores de escalamiento de privilegios locales. Y Apple los crea con frecuencia con services habilitados para Apple Script. Solo asum que todas las máquinas Mac OS X son siempre vulnerables a los ataques locales. Si necesita asistir a conferencias de hackers como DEFCON, cómprese una caja Linux para tal fin.

Actualización: hay instrucciones para recomstackr su propio bash fijo y otras preguntas cubrieron hacerlo también. Lo haré yo mismo, pero en mi humilde opinión eso es exagerado si no ejecuta ningún server y mantiene el firewall de Apple activado de todos modos.

Actualización: si se siente cómodo con el uso de la terminal, hay un progtwig llamado execsnoop mencionado aquí que le permitirá probar si sus processs de server llaman generalmente a bash. No es una bala mágica ya que el process del server podría llamar a bash solo en situaciones inusuales, pero te dará una buena idea.

Finalmente, Apple no es muy bueno parcheando vulnerabilidades de security, pero son buenos en relaciones públicas, por lo que esto se aplicará relativamente rápido. Por lo tanto, es razonable pensar "No necesito correr más rápido que el oso, solo necesito correr más rápido que la gran cantidad de serveres fácilmente explotables en Internet". 🙂

Hice esta herramienta tan pronto como supe de esta vulnerabilidad. Te proporcionará un enlace a un artículo para parchar tu caparazón si la herramienta determina que eres vulnerable.

Requiere Mac OS X 10.6 y superior.