22 jul 2013

Finalmente, hacking y rooting de SIM Cards

Después de tres años de investigación, el criptógrafo alemán Karsten Nohl afirma haber encontrado defectos en el cifrado de las tarjetas SIM (Subscriber Identification Module), que darían acceso a los teléfonos móviles.

Nohl presentará los resultados en la conferencia Black Hat, pero mientras tanto lo ha hecho en su blog, después de probar las vulnerabilidad que permiten enviar SMS de forma oculta en cerca de 1.000 tarjetas SIM. La falla, se divide en dos partes: uno de los errores está basado en el uso del estándar antiguo de cifrado DES y el otro en errores en el código Java de sandboxing. Ambos podrían permitir a los atacantes infectar remotamente una SIM, enviar mensajes de texto, o realizar, redireccionar o grabar llamadas subrepticiamente.

No hay ningún patrón obvio en la falla más allá del estándar de cifrado antiguo. "Las diferentes tarjetas SIM tienen el fallo o no, es aleatorio", dice Nohl. En su estudio, al menos una cuarta parte de todas las tarjetas SIM que probaron fueran hackeadas, pero dado que los estándares de cifrado varían ampliamente entre los países, se estima que un octavo de las tarjetas SIM en el mundo podrían ser vulnerable, o cerca de 500 millones de móviles.

Nohl, que ya fue publicado en Forbes por su trabajo en romper los estándares de cifrado móviles, cree que es poco probable que los ciberdelincuentes ya han encontrado el error. Ahora que se ha hecho público, espera que les tomaría al menos seis meses en encontrarla, tiempo en el cual la industria inalámbrica podría implementar las soluciones disponibles.



Nohl dice que al menos dos grandes compañías ya han comenzado a aplicar el parche para la vulnerabilidad y van a compartir su conocimiento con otros operadores de la industria inalámbrica a través del GSM Association.

El mercado de tarjetas SIM se alimenta casi en su totalidad por los operadores de telefonía móvil, y los suministros lo hacen dos proveedores líderes a nivel mundial, Gemalto y Oberthur Technologies. Ambos se han beneficiado en gran medida del enorme crecimiento de los teléfonos móviles: hace dos años había mil millones de tarjetas SIM en todo el mundo, y hoy en día hay más de 5 mil millones, dice el analista de ABI Research John Devlin, aunque el mercado está llegando lentamente a una meseta.

La GSMA ha visto el análisis de Nohl y coincidieron en que "una minoría de SIMs producidas con normas más antiguas podría ser vulnerable".

"Dame un número de teléfono y hay alguna oportunidad de que en pocos minutos pueda controlar de forma remota la tarjeta SIM e incluso hacer una copia de la misma", dice Nohl.

Las tarjetas SIM son esencialmente mini-computadoras con su propio sistema operativo y software preinstalado. Para mantener la seguridad, muchos fabricantes se basan en el estándar de cifrado llamado DES, inventado por IBM en los años 70 y mejorado por la NSA. Algunas redes, como AT&T han dejado de utilizarlo, pero otros no. Aunque Nohl no identificó un patrón de SIMs vulnerables en cuanto a fabricantes, podrían estar utilizando el viejo estándar de cifrado.

La clave para el hack es Java Card, un lenguaje de programación de propósito general que es utilizado en 6 mil millones de tarjetas SIM. Si los operadores tienen que actualizar algo en la tarjeta SIM, por ejemplo, permitiendo la interoperabilidad con un vehículo en otro país, se ejecutan aplicaciones sobre Java Card en la tarjeta SIM, mediante el envío de SMS binarios al móvil. Se trata de un mensaje de texto que nunca se verá, enviado a través del método Over-The-Air (OTA).

A principios de 2011, el equipo de Nohl comenzó a jugar con el protocolo OTA y se dio cuenta de que cuando se utiliza para enviar comandos a varias tarjetas SIM, algunas niegan el comando debido a una firma criptográfica incorrecta.

Con esta firma y el uso de Rainbow Tables, Nohl fue capaz de romper la clave de cifrado en la tarjeta SIM en aproximadamente un minuto. Los carriers utilizan esta clave, única para cada tarjeta, para programar remotamente la SIM.

"Cualquier persona que conozca la clave de una SIM en particular puede cargar cualquier aplicación en la tarjeta, incluyendo código malicioso", dice Jasper Van Woudenberg, CTO de Riscure.

Luego, Nohl encontró un segundo error, sin relación con el anterior en la clave de cifrado débil. Java Card utiliza sandboxing, en la que los programas preinstalados en la SIM están protegidos de otros. "Este mecanismo de caja de arena se puede rompen en las tarjetas SIM más utilizadoa" dice Nohl. La forma en que esto funciona es algo complejo, pero el virus de Nohl básicamente ocasiona un buffer overflow en Java, lo que elimina los controles básicos de seguridad y se dá acceso como "root" a la memoria.

Según Nohl, el riesgo de explotación remoto se puede mitigar en tres capas:
  • Mejores tarjetas SIM. Las tarjetas necesitan utilizar criptografía siguiendo el estado-de-arte actual y con claves lo suficientemente largas y se deben implementar mayor seguridad en las máquinas virtuales Java. Si bien algunas tarjetas ya se acercan a este objetivo, los años necesarios para reemplazar todas las tarjetas vulnerables, merecen defensas complementarias.
  • Firewall de SMS en el equipo. Una capa de protección adicional podría estar asociada a los teléfonos: Cada usuario debería poder decidir en qué fuentes de SMS binarios confiar.
  • Filtrado de SMS dentro de la red. Los atacantes remotos se basan en redes de telefonía móvil para ofrecer SMS binarios desde y hacia teléfonos de las víctimas. Tales SMS sólo se deberían permitir desde unas pocas fuentes conocidas. La mayoría de las redes no han aplicado tales filtrado todavía.
Cristian de la Redacción de Segu-Info

Suscríbete a nuestro Boletín

0 Comments:

Publicar un comentario

Gracias por dejar un comentario en Segu-Info.

Gracias por comentar!