Hay varios posts y artículos donde se indica que los dispositivos Samsung y, en algunos de esos artículos citan exáctamente al Galaxy S3, pueden ser borrados remotamente. Este problema no es específico de Samsungs sino que afecta a cualquier dispositivo cuyo firmware no esté actualizado ya que en este caso la mayoría de los móviles Android actúan igual. La única diferencia es que los códigos de borrado del dispositivo son dependiendes del fabricante y el código para los Samsung no será el mismo que para HTC, Sony, etc.
El problema del borrado remoto y «otras posibles maldades»
Las aplicaciones de Android pueden llamar a otras aplicaciones de manera que, por ejemplo, si haces click en un enlace de una página para mostrarte dónde se encuentra un lugar, puede abrir Google Maps y mostrarte ese lugar. De la misma manera un enlace podría abrirte el marcador de teléfono y dejarte marcado el teléfono para que sólo tuvieses que «pulsar» la tecla verde de marcado.
Por otro lado, existen otros códigos que todo móvil reconoce (códigos USSD ), algunos incluso móviles «no android».
|
*#06# te muestra el IMEI de tu dispositivo |
Marca *#06# y te aparecerá el IMEI en pantalla sin tener que pulsar la tecla verde de marcado (International Mobile Equipment Identity, Identificador Internacional del Equipo Móvil).
Ahora combinemos ambas e imaginemos que existe un sitio web que tiene un enlace y ese enlace «marca» *#06# en tu móvil (obviamente debes estar navegando con tu móvil). Te aparecería el IMEI sin solicitarte ningún tipo de permiso más allá de que tú hayas hecho click en el enlace. Ahora imagina que no hace falta hacer click y que esa página te redirige automáticamente a una URI «peligrosa» sin ni siquiera hacer click. De nuevo te aparecería tu IMEI pero esta vez sin ni siquiera haber tenido que clickar en ningún enlace.
Por último, imaginemos que en lugar de mostrar tu IMEI (algo totalmente inofensivo), el código borra todos tus datos y aplicaciones y te deja el móvil como recién salido de fábrica. Ahora sí que empiezas a verlo más peligroso, ¿verdad?
Debes saber que no todos los códigos USSD se ejecutan sin tener que pulsar la tecla de marcado,
Cómo saber si tu dispositivo es vulnerable
Para comprobar si tu dispositivo es vulnerable, puedes acceder a este enlace (o usar el código QR de debajo si no estás leyendo esto en el móvil). Si se muestra tu IMEI, tu dispositivo es vulnerable. Si, en cambio, te aparece el código *#06# en tu pantalla de marcado o se te abre la pantalla de marcado sin que aparezca ningún código (ésto es lo que he comprobado en mis móviles) o cualquier otro caso en el que no te aparezca el IMEI, tu dispositivo no es vulnerable.
|
Si te aparece tu IMEI, tu dispositivo es vulnerable |
Cómo volvernos «no vulnerables»
Existen 3 maneras de evitar que se ejecuten códigos USSD en nuestro móvil desde una URI sin comunicárnoslo.
- Actualiza tu versión de Android. No es necesario actualizar al último 4.1.1. La última versión de Android para tu dispositivo (a principios del verano 2012 se parchearon los funetes de Android). Por ejemplo, yo poseo un móvil con Android 2.3.6 Gingerbread actualizado a una rom de julio y no es vulnerable. Esta opción sería la mejor porque, además, parchearías otras vulnerabilidades y podrías disfrutar de nuevas características.
- Instálate la aplicación telstop desde Google Play. Esta aplicación pregunta al usuario antes de ejecutar un código USSD desde una URI. Ésta es la manera más simple. Tienes un código QR debajo para acceder a la aplicación directamente.
- Instalar otro marcador de manera que al intentar ejecutar un código USSD el móvil te pregunte con cuál quieres ejecutarlo.
|
telstop para parchear esta vulnerabilidad |
¿Te crees tan listo como para que no te pase a tí?
Si no has hecho click en ninguno de los enlaces de arriba, si no has utilizado nunca un código QR por comodidad, si no has pichando en un enlace acortado en un tweet o en cualquier otro sitio y, más importante, no piensas hacerlo nunca igual estés un poco más seguro, pero en el momento que estés en cualquier página web, leyendo tranquilamente y ésta tenga una redirección automática al «URI malvado», como decían en cierta traducción de una película, «serás borrado».
«Bueno, pues accedo desde el PC primero para saber que esa página es segura», has pensado y así puedo ver dónde apunta cada URI de esa página y puedo ver el código fuente de la página para ver si redirige a una URI malvada y no utilizo códigos QR. Bien pero, ¿y si te muestro distinto código en función del dispositivo desde el que accedas a la página? Es decir, creo una página en php donde si si entras a la página con un móvil Android, haré la redirección, sino no te llegará el código de la redirección.
«Bien, pues utilizo un navegador que me permita falsear las cabeceras y así indicarle desde el PC que navego con un navegador de móvil Android». ¿Vas a hacer eso siempre antes de pinchar en una URI con tu móvil?