El conocido científico Ian Beer, Proyecto No. 1 de Google, acaba de publicar una entrada que ha generado mucha atención.
El artículo en sí tiene un título muy preciso y fascinante: Una odisea de control de proximidad por radio sin clics para iOS.
Pero son titulares como el que hemos usado los que describen la esencia práctica del ataque de Beer.
La secuencia de uso que identificó permite a un atacante acceder a un iPhone cercano y robar información personal, utilizando únicamente conexiones inalámbricas, sin necesidad de clics ni advertencias por parte del usuario inocente del dispositivo.
De hecho, el artículo de Beer concluye con un breve vídeo que lo muestra tomando una foto de su teléfono usando el programa de hackeo descrito a continuación. Área:
- Toma una foto de un archivo secreto usando el iPhone en una habitación.
- Deja al usuario del teléfono (un oso de peluche rosa gigante, por cierto) descansando felizmente viendo un video de YouTube.
- Va a la casa de al lado e inicia un ataque inalámbrico automatizado que manipula un virus del kernel en el teléfono.
- El usuario carga sigilosamente código malicioso en el teléfono, se otorga acceso al directorio de datos de la aplicación Fotos y lee el archivo. Los datos de la foto de la clave y los publica secretamente en su portátil de al lado.
- El teléfono sigue funcionando con normalidad, sin advertencias, ventanas emergentes ni nada que pueda informar al usuario del hackeo.
Únete a nosotros hackear un móvil por wifi sitio web
Así que, si has actualizado tu iPhone en los últimos meses, deberías estar a salvo de este ataque.
La otra buena noticia es que Beer, según él mismo admite, le llevó seis meses de trabajo minucioso y dedicado descubrir cómo controlar su propia plaga.
Para que te hagas una idea de cuánto esfuerzo se invirtió en los 5 minutos de ‘; El video de la salida de robo de información del oso de peluche ha terminado. Como advertencia, si piensas leer detenidamente la excelente publicación de Beer, ten en cuenta que su artículo tiene más de 30 000 palabras, más extenso que el original Animal Ranch de George Orwell o Un cuento de Navidad de Charles Dickens.
Claro que te estarás preguntando por qué Beer se molestó en usar un error que había encontrado y ya había reportado, pero se tomó la molestia de convertirlo en un arma, utilizando la jerga paramilitar común en ciberseguridad.
Bueno, Beer mismo da la respuesta, justo al principio de su publicación: La moraleja de este trabajo no debería ser: nadie invertirá seis meses de su vida solo para hackear mi teléfono, estoy bien.
En cambio, debería ser: una sola persona, trabajando sola en su habitación, fue capaz de desarrollar una habilidad que le permitiría poner en grave peligro a los usuarios de iPhone con los que se encontraría. Contacto con.
Para que quede claro: Beer, a través de Google, reportó el error original inmediatamente, y como sabemos que nadie más lo había descubierto antes que él, no hay ninguna indicación de que este error haya sido manipulado por alguien en la vida real.
Sin embargo, la cuestión es que es razonable pensar que, una vez descubierto un desbordamiento de la barrera a nivel de kernel, incluso a pesar de las recientes y mayores reducciones de exploits, un atacante identificado puede generar un exploit peligroso a partir de él.
Aunque los controles de seguridad, como la aleatorización del diseño del espacio de direcciones y los códigos de autenticación de las directrices, aumentan enormemente nuestra ciberseguridad, no son soluciones milagrosas por sí solos.
Como lo expresa Mozilla con cierta ironía al abordar cualquier fallo de gestión de memoria en Firefox, incluso errores aparentemente moderados o misteriosos que el equipo no pudo o no supo cómo manipular por sí mismo: ‘; Algunas de estas plagas mostraron evidencia de corrupción de memoria y asumimos que, con la iniciativa adecuada, algunas podrían haber sido manipuladas para ejecutar código arbitrario.
Básicamente, encontrar plagas es esencial; cubrirlas es crucial; aprender de nuestros errores es esencial; sin embargo, debemos seguir desarrollando nuestras herramientas de ciberseguridad en todo momento.
El camino hacia el ataque operativo de Beer
Es difícil hacer justicia a la obra maestra de Beer en un resumen rápido como este, pero a continuación se presenta una descripción (quizás demasiado simplificada) de algunas de las habilidades de hacking que utilizó:
- Detectar un nombre de variable de bit que parecía de alto riesgo. El nombre original que lo originó todo fue IO80211AWDLPeer:: parseAwdlSyncTreeTLV, donde TLV describe tipo-longitud-valor, una forma de empaquetar información compleja en un extremo para su deconstrucción (análisis) en el otro. AWDL es la abreviatura de Apple Wireless Direct Web Link, la red inalámbrica en malla exclusiva utilizada para funciones de Apple como AirDrop. Este nombre de función sugiere la existencia de código complejo a nivel de kernel que está directamente expuesto a datos no confiables enviados desde otros dispositivos. Este tipo de código suele ser una fuente de errores de programación dañinos.
- Descubrimiento de una plaga en el código de procesamiento de datos TLV. Beer observó un factor en el que un objeto de datos TLV limitado a una barrera de memoria de solo 60 bytes (10 direcciones MAC como máximo) se configuraba incorrectamente como ‘; Comprobado con una limitación de seguridad común de 1024 bytes, en lugar de con la dimensión real del búfer disponible.
- Construir una pila de controladores de red AWDL para crear paquetes sospechosos. Paradójicamente, Beer comenzó con una tarea de código abierto existente que pretendía ser compatible con el código exclusivo de Apple, pero no logró que funcionara como necesitaba. Así que terminó creando la suya propia.
- Descubrir una manera de obtener paquetes que superan las comprobaciones de seguridad existentes en otros lugares. Aunque el código de bits principal era defectuoso y no realizó correctamente su comprobación de errores final, hubo varias comprobaciones parciales previas que dificultaron considerablemente el ataque. Por cierto, como menciona Beer, es tentador, en código de bajo nivel, especialmente si es crucial para el rendimiento, asumir que la información no confiable ya se habrá depurado y, por lo tanto, escatimar en código de control de errores justo cuando más importa. ¡No lo hagas, especialmente si ese código crucial está en el kernel!
- Comprender cómo transformar el desbordamiento de la barrera en una corrupción de carga controlada. Esto proporcionó un método predecible y explotable para usar paquetes AWDL para forzar la salida de comprobaciones no autorizadas desde la memoria del kernel y la escritura en ella.
- Experimentar con 13 adaptadores Wi-Fi diferentes para encontrar una manera de contrarrestar el ataque. Beer pretendía poder enviar paquetes AWDL envenenados en las redes Wi-Fi de 5 GHz que se usan comúnmente hoy en día, por lo que necesitaba encontrar un adaptador de red que pudiera reconfigurar para satisfacer sus necesidades.
En ese momento, Beer ya había alcanzado un resultado de prueba de concepto que la mayoría de nosotros habríamos dejado de lado.
Con capacidades de lectura y escritura de bits, podría requerir que la aplicación Calc apareciera en el teléfono desde otra ubicación, siempre que se tuvieran habilitadas las redes AWDL, por ejemplo, al usar el icono “Compartir” en la aplicación Fotos para enviar datos por AirDrop.
Sin embargo, estaba decidido a convertir esto en un supuesto ataque sin clic, donde la víctima no tiene que hacer nada más que simplemente “;” Usando su teléfono en ese momento.
Como se puede imaginar, un ataque sin clic es mucho más peligroso, ya que un cliente bien informado no vería ningún tipo de señal de advertencia que advirtiera de un problema inminente.
- Actuar como una herramienta vecinal que ofrece archivos para compartir mediante AirDrop. Si su teléfono detecta que un dispositivo vecino podría estar entre sus contactos, basándose en la información de Bluetooth que transmite, activará AWDL momentáneamente para confirmarlo. Si no es una de sus llamadas, no verá ninguna ventana emergente ni ninguna otra advertencia, pero el subsistema AWDL activado inmediatamente infectará brevemente al virus AWDL.
- Expandir el ataque para que haga más que simplemente activar una aplicación existente como Calc. Beer identificó cómo utilizar su uso preliminar en una cadena de ataque detallada que podría acceder a datos aproximados del dispositivo y robarlos.
En el video anterior, el ataque se apoderó de una aplicación que se estaba ejecutando (el oso de peluche estaba viendo YouTube, si recuerdan); liberó la aplicación de su entorno de seguridad para que ya no se limitara a ver sus propios datos; usó la aplicación para acceder al directorio DCIM (cámara) desde la aplicación Fotos; tomó los datos de las fotos más recientes; y luego los exfiltró mediante un enlace TCP de apariencia inocente.
¡Guau!
¿Qué hacer?
Idea 1. Asegurarse de tener las actualizaciones de seguridad actualizadas, ya que el virus en el centro de la cadena de ataque de Beer fue descubierto y revelado por él mismo, por lo que ya ha sido parcheado. Lo más probable es que configure la actualización general del software.
Sugerencia 2: Desactiva el Bluetooth cuando no lo necesites. El ataque de Beer es un excelente recordatorio de que “menos es más”, ya que necesitaba Bluetooth para convertirlo en un ataque sin clics.
Consejo 3: Nunca pienses que porque un error parezca “difícil” nunca se usará. Beer confiesa que fue difícil, muy difícil, de corregir, pero al final posible.
Consejo 4: Si eres diseñador, sé riguroso con los datos. Nunca está de más hacer un buen seguimiento de errores.
Para todos los programadores: esperen lo mejor, es decir, esperen que cada persona que acceda a su código ya haya buscado errores al menos una vez; pero prepárense para lo peor, es decir, piensen que no lo han hecho.
