Mostrando entradas con la etiqueta iOS 7. Mostrar todas las entradas
Mostrando entradas con la etiqueta iOS 7. Mostrar todas las entradas

domingo, 29 de junio de 2014

Apple publica iOS 7.1.2 y soluciona 42 vulnerabilidades

Dos meses después de publicar iOS 7.1.1, Apple ha liberado la versión 7.1.2 de iOS, su sistema operativo para dispositivos móviles. Dicha versión, además de incluir diferentes mejoras, contiene la solución a 42 vulnerabilidades, algunas de ellas podrían permitir ejecutar código arbitrario.
                                         
Una vulnerabilidad ya conocida es la referente al cifrado de los adjuntos de los correos que quedaban sin cifrar y accesibles para un atacante, que ya comentamos en una-al-dia anteriormente. Este problema (CVE-2014-1348) hacía referencia a la protección pensada para en caso de que un atacante tenga acceso (o sustraiga) a un dispositivo no pueda acceder, no ya solo a sus funciones, sino que tampoco pueda conseguir los datos almacenados. Sin embargo esta funcionalidad dejaba los documentos adjuntos de los mensajes de correo electrónico sin cifrar.

Por otra parte también se ha mejorado la conectividad y estabilidad de iBeacon. Adicionalmente se ha solucionado un problema que afectaba a la transferencia de datos en algunos accesorios de otros fabricantes, entre ellos escáneres de códigos de barras.

Esta versión incluye una actualización de la lista de certificados. Otro problema relacionado con CoreGraphics podría permitir la ejecución de código arbitrario al visualizar archivos XBM específicamente creados (CVE-2014-1354). Diversos desbordamientos de buffer y de entero en launchd que también podrían permitir la ejecución de código arbitrario.

Una vulnerabilidad en Lockdown podría permitir a un atacante con acceso al dispositivo evitar el código de bloqueo (CVE-2014-1360) y problemas en la pantalla de bloqueo que permitirían exceder el máximo de intentos para introducir la contraseña (CVE-2014-1352) o acceder a la aplicación en segundo plano antes del bloqueo (CVE-2014-135). Oro problema permitía desactivar la función de "Buscar mi iPhone" sin introducir la contraseña de iCloud (CVE-2014-1350).

Se ha solucionado una ejecución de código arbitrario al visitar una página web específicamente creada con Safari (CVE-2014-1349) y un fallo en Siri permitía acceder a todos los contactos sin desbloquear el dispositivo (CVE-2014-1351). Otros problemas afectan al kernel (CVE-2014-1355), Secure Transport (CVE-2014-1361) y 30 vulnerabilidades en WebKit.

Esta nueva versión está disponible para los dispositivos Apple iPhone 4 y posteriores, iPad 2 y posteriores e iPod a partir de 5ª generación. La actualización está disponible a través de iTunes o del propio dispositivo (en Ajustes/General/Actualización de software).

Más información:

una-al-dia (21/04/2014) Apple publica IOS 7.1.1 y soluciona 19 vulnerabilidades

una-al-dia (05/05/2014) Vulnerabilidad permite el acceso a los adjuntos de los correos en iOS 7.1.1

iOS 7: List of available trusted root certificates

APPLE-SA-2014-06-30-3 iOS 7.1.2


Antonio Ropero
Twitter: @aropero

lunes, 5 de mayo de 2014

Vulnerabilidad permite el acceso a los adjuntos de los correos en iOS 7.1.1

Se ha anunciado la existencia de un fallo en iOS que deja los adjuntos de los correos sin cifrar y accesibles para un atacante. Apple ha reconocido el problema y está preparando una actualización para solucionarlo.

Los dispositivos Apple, incluyendo los iPhone 3GS y posteriores, incluyen mediante el código de bloqueo un cifrado por hardware. Según anuncia Apple en su web:
"La protección de datos es compatible con los dispositivos que ofrecen funciones de cifrado por hardware, como iPhone 3GS y posterior, todos los modelos de iPad y el iPod touch (3.ª generación y posterior). La protección de datos mejora el cifrado por hardware incorporado protegiendo las claves de dicho cifrado con tu código. Esto proporciona un nivel de protección adicional para los documentos adjuntos de tus mensajes de correo electrónico y las aplicaciones de terceros."

Esta protección está pensada para en caso de que un atacante tenga acceso (o sustraiga) a un dispositivo no pueda acceder, no ya solo a sus funciones, sino que tampoco pueda conseguir los datos almacenados.

Pero tal y como ha anunciado Andreas Kurtz esto no se produce para los documentos adjuntos de los mensajes de correo electrónico. Para ello, es necesario acceder al sistema de archivos mediante formas ya conocidas (modo DFU, ramdisk personalizado, SSH sobre usbmux). Tras ello, montar la partición de datos iOS y acceder a la carpeta de correo. Dentro de esa carpeta es posible encontrar todos los adjuntos sin ninguna restricción ni cifrado.

Según Kurtz el problema afecta a todos los dispositivos con el chip A4 (iPhone 4 y anteriores) con iOS 7.1.1. Aunque también confirma que el problema puede reproducirse en dispositivos iPhone 5s e iPad 2 con iOS 7.0.4.

Más información:

iOS: Descripción de la protección de datos

What Apple Missed to Fix in iOS 7.1.1

iphone-dataprotection
ios forensics tools

Apple is aware of iOS 7 mail attachment bug, working on a fix


Antonio Ropero
Twitter: @aropero


lunes, 21 de abril de 2014

Apple publica iOS 7.1.1 y soluciona 19 vulnerabilidades

Apple ha liberado la versión iOS 7.1.1 de su sistema operativo para dispositivos móviles. Dicha versión, además de incluir nuevas funcionalidades y mejoras, contiene 19parches a vulnerabilidades, algunas de ellas podrían permitir ejecutar código arbitrario.

Las mejoras incluidas incluyen la implementación de más mejoras en el sistema de reconocimiento de huellas digitales TouchID, la solución de un problema que afectaba a la capacidad de respuesta de los teclados y la corrección de un problema relacionado con el uso de teclados Bluetooth con VoiceOver activado.

Esta nueva versión está disponible para los dispositivos Apple iPhone 4 y posteriores, iPad 2 y posteriores e iPod a partir de 5ª generación.

Por otra parte, el primero de los problemas corregidos (CVE-2014-1296) reside en el tratamiento de las cabeceras http set-cookie que podría permitir a un atacante obtener el valor de la cookie. Un segundo problema (CVE-2014-1320) podría permitir a un usuario local leer punteros del kernel, lo que podría permitir saltar el ASLR (Address Space Layout Randomization) del kernel. Un tercer problema (CVE-2014-1295) podría permitir a un atacante capturar datos o cambiar las operaciones realizadas en sesiones protegidas con SSL. Los 16 problemas restantes residen en WebKit y podrían permitir la ejecución de código arbitrario si un usuario visita una página web maliciosa.

La actualización está disponible a través de iTunes o  del propio dispositivo (en Ajustes/General/Actualización de software).

Más información:

APPLE-SA-2014-04-22-2 iOS 7.1.1


Antonio Ropero
Twitter: @aropero

viernes, 14 de marzo de 2014

Apple actualiza el informe sobre seguridad en iOS (y II)

Proseguimos revisando las mejoras presentadas por Apple en la actualización del documento que detalla las medidas de seguridad de iOS 7.

AirDrop

AirDrop
AirDrop es una característica cómoda para intercambiar archivos entre usuarios cuyos terminales estén cerca físicamente. Se apoya en BTLE (Bluetooth Low-Energy) y en la creación de una conexión de pares sobre WiFi.

Cuando un usuario habilita AirDrop se crea una identidad en RSA de 2048 bits que es almacenada en el dispositivo. Igualmente, se crea un hash a partir del correo electrónico y número de teléfono del Apple ID del usuario. Cuando un usuario quiere compartir un archivo a través de AirDrop su dispositivo emite una señal sobre BTLE que es respondida por dispositivos con AirDrop activado emitiendo una versión acortada de su propio hash.

El emisor original compara estos hash con los hashes de sus contactos en la agenda y crea una conexión WiFi para preparar el envío. Es importante señalar que si tenemos activado AirDrop revisemos que modo de compartición tenemos establecido ya que existe un modo en el cual podemos compartir con todo el mundo.

Destacar que la comunicación se establece entre pares a través de la antena WiFi de los dispositivos, independientemente de si están conectados a un punto de acceso. La comunicación una vez emparejados por el protocolo Bonjour se efectúa de manera cifrada por TLS.

Servicios de Internet

Se incluye un nuevo apartado en el que se describen las medidas de seguridad implementadas para los servicios de Internet iMessages, FaceTime, Siri e iCloud.

iMessages funciona sobre una implementación de clave pública en la que son generadas dos pares de llaves cuando el usuario inicia sesión en la aplicación, una clave RSA de 1280 bits y otra, ECDSA de 256 bits para firma. Las llaves privadas son almacenadas en el anillo local del sistema mientras que las públicas son subidas a los servidores de directorio de Apple donde son asociadas al número de teléfono o correo electrónico del usuario. El intercambio de mensajes se efectúa de manera cifrada usando AES-128 como CTR, los mensajes se envían firmados con la clave privada del usuario.

FaceTime utiliza el mismo esquema de iMessages solo que se usa SIP para que los clientes puedan autenticarse mutuamente y establecer una conexión directa entre los dispositivos. En el inicio de la sesión comparten una clave privada para cifrar todas las comunicaciones, se usa un cifrado AES-256 sobre el protocolo de streaming SRTP.

Siri
Sobre Siri, Apple admite que envía información del tipo lista de canciones, artistas y listas de reproducción, lista de recordatorios y clase de relación entre los contactos de la agenda y el usuario. La comunicación se establece sobre HTTPS. Cuando el usuario inicia Siri el dispositivo envía el nombre y apellido del usuario junto su localización geográfica para activar los servicios de localización de tiendas, previsión meteorológica, etc. Apple indica que dicha información es descartada después de 10 minutos, no obstante no explica si esa información "descartada" es borrada o es reutilizada internamente.

Sobre los mensajes de voz del usuario, Apple almacena dichos mensajes (la voz del usuario) durante 6 meses para, según Apple, mejorar el reconocimiento de la voz del usuario.

iCloud, el servicio de nube de Apple es descrito con bastante detalle. iCloud solo sincroniza los datos del terminal cuando éste está bloqueado, conectado a corriente y existe una conexión WiFi activa. Los datos viajan cifrados y son almacenados en dicha forma en los servidores del servicio.

El resto de mejoras incluyen pequeñas adiciones o actualizaciones sobre el documento anterior. Se trata de un documento que los usuarios preocupados por la seguridad van a agradecer en parte por la escasa información que la compañía suele ofrecer en ciertas cuestiones. Más allá del usuario, el documento parece estar diseñado para la evaluación de la integración del sistema en ambientes corporativos, lugar que todavía no tiene un claro ganador.

Más información:

Apple actualiza el informe sobre seguridad en iOS (I)

iOS Security
February 2014

una-al-dia (07/06/2012) Apple explica la seguridad de iOS


David García


jueves, 13 de marzo de 2014

Apple actualiza el informe sobre seguridad en iOS (I)

Apple, como ya hiciera hace dos años, ha publicado recientemente un documento donde detalla las mejoras de seguridad aplicadas en su sistema operativo para móviles iOS. Se trata de una actualización del documento anterior. Han pasado dos años, veamos las medidas más importantes e interesantes que han incluido desde el punto de vista técnico, aunque algunas ya son conocidas con detalle desde la salida de la séptima versión de iOS.

Secure Enclave

La primera mejora se encuentra en el proceso de arranque para dispositivos con procesador A7. Estos procesadores traen un coprocesador integrado denominado "Secure Enclave". Este coprocesador utiliza su propio proceso de arranque seguro en el que comprueba que el software que está cargando para si es verificado y ha sido firmado por Apple. Su misión principal es dar seguridad a la característica estrella de la serie 5S de iPhone, el TouchID o sensor de autenticación por huella dactilar.

El sistema por el que se comunica Secure Enclave y TouchID es curioso, asemejándose a una comunicación segura entre cliente y servidor. TouchID envía los datos registrados de la huella de un usuario a través del procesador pero este no puede acceder en ningún momento al contenido ya que este se encuentra cifrado. Esto se hace así para prevenir que un sistema con un kernel comprometido pueda acceder al subsistema de autenticación dactilar. Además, la región de memoria del coprocesador o las operaciones de escritura a disco están cifradas por una clave única creada en cada arranque a partir de un UID insertado de fábrica, inaccesible y desconocido hasta por la propia Apple. Sin duda, una fruta deliciosa para cualquier buscador de agujeros.

Generación de números aleatorios

Se sigue apostando por la integración por hardware de ciertas funciones criptográficas. Por ejemplo, existe un procesador dedicado para el cifrado del sistema de archivos en AES-256 y otro específico para obtener hashes en SHA-1(¿Hora de cambiar a uno de los SHA-2?). Esto permite alargar la batería del terminal desplazando funciones con alta carga de CPU hacia chips más especializados.

Dentro de este apartado vemos un cambio en el algoritmo de generación de números aleatorios. Anteriormente se estaba utilizando Yarrow, un algoritmo creado por Bruce Schneier y otros en 1999. Este algoritmo, libre de patentes, también se usa en OSX y FreeBSD (/dev/random). Yarrow ha sido desplazado por CTR_DRBG (Counter mode Deterministic Random Byte Generator). Este algoritmo está aprobado por el NIST y basado en AES-256. Existe un documento recomendable para los apasionados en criptografía que lo detalla.

Código de acceso al dispositivo

Para dispositivos con procesador A7 y sistema TouchID, según comenta Apple, mejoraría la entropía usada para la generación de llaves de cifrado. Al igual que anteriormente, el código de acceso es un parámetro más, usado en la introducción de entropía en el sistema criptográfico de iOS. La elección de un código de acceso robusto repercutirá en una mejora de la entropía del sistema. Por ejemplo, el código de acceso es usado para generar las claves de cifrado del sistema de archivos por parte del sistema Data Protection.

Adicionalmente "Secure Enclave" también provee de un retardo de 5 segundos entre intentos de desbloqueos del dispositivo.

Seguridad de las aplicaciones

Apple, ha dedicado un apartado completo a la seguridad de las aplicaciones dejando claro que sus usuarios pueden instalar aplicaciones "sin miedo a virus, malware y ataques no autorizados". De nuevo la falsa sensación de seguridad, que se cura observando la lista de CVEs que acumula iOS. Más allá de la propaganda, es cierto que el firmado con un certificado expedido por Apple previo registro y pago, las revisiones de la App Store y el hecho de que las aplicaciones corran en un entorno restringido ayudan y mucho a aumentar el nivel de seguridad, pero no son la panacea.

Muy curiosa la mención indirecta a Android en el informe de Apple:

"Unlike other mobile platforms, iOS does not allow users to install potentially malicious unsigned apps from websites, or run untrusted code..."

De nuevo remarca el mensaje que comentamos anteriormente, dejando claro cual es su fuerte en este sentido. Similar mensaje fue usado por Apple para destacar las bondades de OSX frente a las miserias del sistema operativo Windows de Microsoft.

Dejando la improductiva comparación dicotómica aparte, en iOS 7 se introduce una característica para mejorar la seguridad de las aplicaciones que no hagan uso del API de Data Protection. Esta API incluida desde el iPhone 3GS, permite cifrar los datos de las aplicaciones a través de funciones implementadas en hardware (de ahí que se mencione a partir de un modelo y no una versión de sistema iOS).

A partir de iOS7, aunque la aplicación no haga uso explícito de Data Protection, por defecto vendrán marcadas como "Protected Until First User Authentication". Esto no es más que un atributo (NSFileProtectionKey) de la clase NSFileManager que indica que los archivos de una aplicación permanecerán cifrados hasta que el usuario desbloquee el terminal por primera vez después de un encendido. Si posteriormente bloquea el terminal los archivos no se cifrarán de nuevo. Por cierto, no funciona por defecto en aquellas aplicaciones que permanecían instaladas antes de actualizar a la versión 7 de iOS.

Accesorios

Han incluido un apartado donde se comenta el ya consabido tema de los accesorios permitidos por Apple. Existe un mecanismo de desafío-respuesta para autenticar dispositivos que son autorizados por Apple a través de un programa de licencias denominado MFI. Esto puede contemplarse de dos maneras: Una restricción más por parte de Apple o una medida de protección de sus usuarios frente a hardware que no cumpla las especificaciones técnicas. Lo que unos ven como restricciones otros lo ven como un reto más, ya que es posible evadir esta restricción en los sistemas con jailbreak o chips que han roto la autenticación.

VPN

Con iOS 7 es posible mantener una configuración VPN por aplicación y no solo la global del sistema. Es sin duda una característica bienvenida por las empresas que permite un ajuste más exacto de la configuración de red de los dispositivos. Por ejemplo, es posible obligar a una aplicación a usar un perfil VPN concreto y provisto por la empresa. Pensemos en una aplicación de correo en la que sea vital conectar a una red segura desde un entorno hostil.

Single sign on

Otra característica que se detalla y que trajo iOS 7 es la capacidad de autenticarse una vez y obtener acceso a varios recursos. Single Sign On se apoya en Kerberos y sistemas Windows Integrated Authentication, soportando varios tipos de cifrado. El sistema en sí, está implementado a partir del proyecto de licencia libre Heimdal.

En la próxima entrega veremos más de cerca el resto de medidas que Apple detalla en la nueva versión del informe sobre seguridad en iOS.

Más información:

iOS Security
February 2014

una-al-dia (07/06/2012) Apple explica la seguridad de iOS

una-al-dia (14/06/2012) Apple "deja de ser mejor" que Microsoft (la próstata de Apple II)

Apple actualiza el informe sobre seguridad en iOS (y II)



David García
Twitter: @dgn1729

lunes, 10 de marzo de 2014

La actualización 7.1 de Apple iOS soluciona más de 40 vulnerabilidades

Apple ha liberado la versión 7.1 de su sistema operativo para móviles iOS. Dicha versión, además de incluir nuevas funcionalidades y mejoras, contiene más de 40 parches a vulnerabilidades críticas que podrían permitir ejecutar código arbitrario con solo visitar una página web o hacer que el dispositivo deje de responder.

Vamos a ver un resumen de las vulnerabilidades y mejoras de seguridad más importantes.

La primera de la lista, con CVE-2013-5133, fue descubierta por el grupo evad3rs. Dicho grupo es autor del último exploit para liberar los dispositivos con iOS, evasi0n7. La vulnerabilidad corregida afectaba al sistema de Backup y su impacto sería la manipulación del sistema de archivos cuando se restaura el terminal desde una copia de respaldo de fuente desconocida o manipulada.

Según se deduce de la descripción, el problema surge al no comprobar correctamente los enlaces simbólicos que trae la copia de respaldo. Esto significaría que si una copia de respaldo maliciosa lleva un enlace a una parte del sistema de archivos, en la que en principio no debería permitirse su modificación, el sistema de restauración la tomará como válida, puesto que no la ha verificado, y abrirá la puerta a modificaciones arbitrarias.

También de evad3rs y con vector semejante a la anterior, existe una vulnerabilidad que permitiría a un usuario local (dispositivo en mano) cambiar los permisos de los archivos a través de enlaces simbólicos cuando se ejecuta el sistema CrashHouseKeeping. Tiene asignado el CVE-2014-1272.

De nuevo otra de evad3rs, permitiría evadir la restricción a código no firmado a través de las instrucciones de relocalización dentro del ejecutable. dyld, el enlazador dinámico de Apple no comprueba correctamente si el código a relocalizar está o no firmado. La solución empleada a sido optar por ignorar dichas instrucciones de relocalización. Tiene asignado el CVE-2014-1273.

Por último, una de evad3rs que parece hacer que evasi0n7 deje de funcionar en iOS 7.1. Se ha corregido una vulnerabilidad en el kernel de iOS que permitiría ejecutar código arbitrario en el espacio del kernel (control absoluto del sistema). Se trataría de un error al acceder fuera de los límites de la memoria reservada para un búfer que ocurre en la función 'ptmx_get_ioctl'.

Se han corregido tres vulnerabilidades para la API ImageIO de manejo de imágenes. Los créditos van para Felix Groebert y Michal Zalewski del equipo de seguridad de Google, en los bugs con CVE-2014-1275 y CVE-2013-6629. Ambos fallos permitirían ejecutar código arbitrario o causar una denegación de servicio a través de un documento PDF o una imagen JPEG modificados. La tercera vulnerabilidad aparece sin créditos y corrige una vulnerabilidad en la librería libtiff con el mismo impacto que las dos anteriores. Tiene asignado el CVE-2012-2088 y sorprende (o no) que ahora se haya corregido una vulnerabilidad que lleva parcheada en OSX prácticamente un año.

También de Felix Groebert, tenemos una vulnerabilidad en el visor de archivos con formato Microsoft Word. Permitiría ejecutar código arbitrario al abrir un documento Word malicioso. iOS no soporta de manera nativa la edición de documentos de Microsoft Office pero dispone de un visor que realiza una conversión desde Word. Se ha encontrado un error de doble liberación de memoria al ejecutar dicha conversión. Tiene asignado el CVE-2014-1252.

Con CVE-2014-1276, se ha corregido la vulnerabilidad que permitía a una aplicación registrar los eventos del usuario aunque dicha aplicación estuviese corriendo en segundo plano. Nuestro compañero Antonio Ropero escribió sobre ella en Una-al-día.

Filippo Bigarella, un estudiante y desarrollador iOS, encontró una manera de llegar a una situación de aserción en el código de CoreCapture provocando que el dispositivo deje de responder. Tiene asignado el CVE-2014-1271.

Interesante la vulnerabilidad, CVE-2014-1287, descubierta por Andy Evans  del NCC Group. Un error de corrupción de memoria en el procesamiento de mensajes USB permitiría ejecutar código arbitrario en el kernel. Para ello se necesitaría acceso físico al dispositivo. Decimos vulnerabilidad interesante porque este tipo de fallos son los que se usan dentro de la cadena de exploits y evasión de restricciones que son usadas para los jailbreak. ¿Habría quemado Evans un hipotético próximo jailbreak para iOS 7.1?

Capitulo aparte merecen las correcciones para Webkit, motor que nunca deja de ser fuente de errores de seguridad, evidentemente gracias a la complejidad de esta clase de software. Webkit parchea hasta 19 vulnerabilidades que podrían permitir la ejecución de código arbitrario con solo visitar una página web maliciosa.

Más información:

About the security content of iOS 7.1

una-al-dia (26/02/2014) Nuevos problemas en productos de Apple




David García
Twitter: @dgn1729


sábado, 28 de septiembre de 2013

Apple corrige dos saltos de restricciones en iOS 7

Después de la publicación de iOS 7 el pasado día 18, Apple se ha apresurado a lanzar una nueva versión (la 7.0.2) que corrige dos nuevas vulnerabilidades.

Ambas están relacionadas con el código de desbloqueo de los dispositivos. La primera de ellas, con CVE-2013-5160 permite que cualquier persona con acceso al dispositivo pueda realizar llamadas sin conocer el código de desbloqueo del mismo. Esto ocurre en iPhone 4 y posteriores debido a un error conocido como puntero de deferencia nula. Estando en la pantalla de llamada de emergencia, se teclea el número al que se desea llamar y posteriormente se pulsa repetidas veces el número de llamada. El dispositivo se reiniciará y llamará al número marcado.

La segunda vulnerabilidad con CVE-2013-5161 también afectaría a los iPhone 4 y posteriores, además de los iPod touch y los iPad 2 y posteriores. Se podría tener acceso a la lista de aplicaciones, a las últimas llamadas realizadas, además de poder acceder a la aplicación de la cámara y ver/editar las fotos realizadas con esta.

La nueva actualización ya está disponible en los dispositivos a través del menú Ajustes -> General -> Actualización software.

Más información:

APPLE-SA-2013-09-26-1




Antonio Sánchez

sábado, 21 de septiembre de 2013

iOS 7 corrige 80 vulnerabilidades en los dispositivos móviles de Apple

Como ya es conocido Apple ha publicado esta semana la versión 7 de iOS, el sistema operativo de sus dispositivos móviles (iPhone, iPad e iPod touch). Además del gran número de novedades, cambios, mejoras, etc incluidas en esta nueva versión Apple ha corregido un total de 80 vulnerabilidades de diferente índole.

Las vulnerabilidades corregidas, que alcanzan la cifra de 80, son de diversa índole y afectan a gran número de componentes del sistema operativo que incluyen CoreGraphics, ,CoreMedia, Data Protection, Data Security, dyld, File Systems, ImageIO, IOKit, IOKitUser, IOSerialFamily, IPSec, Kernel, Kext Management, libxml, libxslt, Passcode Lock, Personal Hotspot, Push Notifications, Safari, Sandbox, Social, Springboard, Telephony, Twitter y WebKit. Los problemas podrían permitir acceder al dispositivo y a información sensible sin conocer la contraseña del usuario, ejecutar código arbitrario o realizar otro tipo de ataques sobre el dispositivo.

Con iOS 7 Apple también ha anunciado una actualización de los certificados raíz, se han añadido y eliminado múltiples certificados de la lista de sistemas raíz.

Aunque esta actualización acaba de publicarse apenas hace unos días y muchos usuarios aun no se han actualizado, ya empiezan a aparecer diversas vulnerabilidades que podrían permitir saltar el código de desbloqueo. Apple ya tiene vulnerabilidades para corregir en la próxima versión de iOS.

Más información:

About the security content of iOS 7

Bug en iOS 7.0 permite saltarse el código de desbloqueo


Antonio Ropero
Twitter: @aropero

martes, 6 de agosto de 2013

Ejecución de código en iPhone a través de USB y Apps maliciosas

Una nueva edición del certamen de seguridad informática por excelencia ha terminado estos días, y del nutrido grupo de presentaciones, una de las que ha tenido bastante eco en los medios ha sido la demostración pública de una vulnerabilidad que permitiría la ejecución de código en terminales iPhone a través de USB, que afectaría a todas sus versiones, incluida iOS 7 (aunque sólo hasta la beta 2). También se anunció una segunda vulnerabilidad con impacto similar a través de aplicaciones que eluden la sandbox de iOS.

MACTANS: una vulnerabilidad en los perfiles USB de iOS

Como se puede leer en el documento oficial publicado y comprobar en el video de la entrevista realizada por la CBS, los investigadores Billy Lau, Yeongjin Jang, Chengyu Song, Tielei Wang y Pak Ho Chung del grupo universitaro de la Georgia Tech Information Security Center (GTISC) han demostrado un método efectivo y automático para ejecutar código e instalar aplicaciones maliciosas de manera invisible en el terminal utilizando conexiones USB, en su caso un 'cargador' manipulado.

Este método o vector de ataque, que ya hicieron público el pasado junio, denominado MACTAN, se basa en las siguientes premisas:

  • No es un "jailbreak", no es necesario que al iPhone se le haya efectuado un "jailbreak" y disponga de una cuenta de root.
  • Es automático, sólo es necesario conectar el dispositivo y se procede con el ataque, siempre y cuando se encuentre desbloqueado o sin código de bloqueo.
  • Es totalmente transparente para el usuario.
  • Posee un nivel de acceso al dispositivo mucho mayor que ataques anteriores.
        


La vulnerabilidad de la que se sirven los investigadores para instalar código malicioso, se basa en la capacidad de emparejamiento de un dispositivo USB en iOS, ya que han demostrado que un dispositivo iPhone se empareja automáticamente sin ningún tipo de autenticación. Lo que hace posible obtener el código de identificación único (UDID) y mediante la generación de perfiles de provisionamiento de Apple (.mobileprofile) especialmente manipulados, instalar automáticamente y en segundos una aplicación  maliciosa.

La vulnerabilidad en esencia

Cuando conectamos un dispositivo iOS a otro USB se inicia un proceso de emparejamiento para poder ofrecer diferentes servicios, aparte de la consabida carga o transferencia de datos:

  • Identificación única de dispositivo UDID (UUID), números de serie del terminal, versión del terminal…
  • Realización o restauración de una copia de seguridad del dispositivo o firmware (ipsw)
  • Acceso a funciones de desarrollo (modo debug)
  • Instalación o eliminación de aplicaciones a través de perfiles de provisionamiento (.mobileprofile)

El problema viene que de serie, iOS no comprueba correctamente a qué dispositivo nos conectamos y procede al emparejamiento automático, siempre y cuando el terminal se encuentre desbloqueado (no tenemos activado la contraseña).

Tras esto, podemos obtener su identificador UDID, necesario para instalar aplicaciones en el dispositivo en conjunción con el perfil adecuado para poder instalar una aplicación. Un "provisioning profile" es un contenedor de diferentes documentos que autorizan la instalación de una aplicación:

  • Uno o más certificados de desarrollo (developer certificate), e identificador de dispositivo (device id) así como un identificador de la aplicación a instalar.

Valiéndose de la capacidad de utilizar los perfiles de provisionamiento a través de USB, se creó un sistema hardware independiente e intermedio mediante una placa Beagleboard (similar a las Raspberry Pi), y un sistema Linux modificado con todo lo necesario para realizar una conexión a los servidores de Apple, y obtener los certificados adecuados a través de cuentas de desarrollo y poder permitir la instalación de la aplicación maliciosa.

Como vemos este vector de ataque permitiría la instalación de la segunda vulnerabilidad encontrada que será demostrada durante la USENIX Security Symposium 2013

Jekyllapps: una vulnerabilidad en la sandbox de iOS

Esta vulnerabilidad (dos en realidad) permite ejecutar código de manera remota a través de la evasión del sistema de revisión de aplicaciones de Apple mediante apps especialmente manipuladas (jekyllapps).

Estas aplicaciones se han modificado para no ser detectadas en el proceso de revisión y publicación de Apple y permitirían, una vez instaladas, controlar remotamente el dispositivo u otras aplicaciones instaladas en él, eludiendo la sandbox de iOS.

"We implemented a proof-of-concept Jekyll app and successfully published it in App Store. We remotely launched the attacks on a controlled group of devices that installed the app. The result shows that, despite running inside the iOS sandbox, Jekyll app can successfully perform many malicious tasks, such as stealthily posting tweets, taking photos, stealing device identity information, sending email and SMS, attacking other apps, and even exploiting kernel vulnerabilities."

Actualmente las únicas versiones de iOS no vulnerables son las nuevas betas (3 y 4) de iOS 7. Los investigadores y la firma han coordinado la publicación de la vulnerabilidad para proveer de las actualizaciones oportunas. Como se puede observar en la captura, iOS 7 ya informa de la conexión de un dispositivo USB al que va a conectarse:


Más información:

Mactans: Injecting Malware into iOS Devices via Malicious Chargers

Jekyll Apps

Jekyll on iOS: When Benign Apps Become Evil

Attackers can compromise your iPhone through chargers and apps


José Mesa Orihuela