Cómo ya habréis leído ayer se informó sobre una vulnerabilidad en los teléfonos Samsung (incluído el Galaxy SIII) que podría permitir a un sitio web malicioso wipear el dispositivo de un usuario sin ninguna confirmación por su parte. No muy tarde, la compañía coreana publicaba un parche para solucionarlo, pero están saliendo a la luz nuevos detalles que indican que el problema va más allá de la línea de productos de Samsung...
¿En qué consiste la vulnerabilidad?
Los teléfonos son compatibles con códigos de marcado especiales llamados USSDs que pueden mostrar cierta información o proceder a realizar características especiales. Entre ellos se encuentran los más comunes (*#06# para ver el número IMEI) y algunos otros específicos según el modelo de teléfono (incluyendo en algunos teléfonos un código de restablecimiento de fábrica ;)).
Por otra parte hay un prefijo URL llamado 'tel' que puede, en teoría, usarse como un enlace para llamar a números de teléfono. Es decir, al hacer clic en el enlace con 'tel' se iniciará el marcador del teléfono para llamar a ese número.
En algunos teléfonos el marcador o dialer procesará automáticamente el número entrante. Y si se trata de un código USSD entonces se manejará exactamente como si se hubiera tecleado manualmente - pero sin requerir la intervención del usuario para ejecutarse, ups!.
Como seguro ya habéis imaginado, una URL con 'tel' puede ser utilizada por un sitio hostil, por ejemplo dentro de un iframe (o potencialmente otros recursos como hojas de estilo o scripts), para actuar en consecuencia sin la intervención del usuario, es decir, para ejecutar automáticamente en el peor de los casos un código USSD que haga un wipe del teléfono mientras el usuario del teléfono observa estupefacto.
Esto se traduce a que una sóla línea de código HTML puede mandar tu teléfono al traste: <frame src="tel:*2767*3855%23" /> , o lo que es lo mismo, un factory reset sin confirmación...
¿Sólo afecta a Samsung? ¿Cómo compruebo si mi teléfono de otra marca es vulnerable?
No sólo afecta a terminales de Samsung, parece que el dialer de algunas versiones de Android puede ser la causa. Dylan Reeve por ejemplo escribió que era capaz de replicar el mismo comportamiento en un HTC One X corriendo HTC Sense 4.0 y en un Motorola Defy ejecutando una versión de CyanogenMod. The Next Web ha confirmado el problema también existe en el HTC Desire con Android 2.2.
De hecho el error se corrigió en Android a principios de este año, pero no todos los teléfonos pueden estar ejecutando el código actualizado. Con el fin de comprobar si el teléfono sufre de la vulnerabilidad, Reeve ha creado una página web para poner a prueba cada dispositivo (si tu teléfono es vulnerable el sitio web hará que muestre su IMEI automáticamente).
¿Y cómo hago para solucionar esta vulnerabilidad?
Actualizar, siempre actualizar. Y en este caso particularmente os recomendamos instalar alguna aplicación del market que "controlan" los clics hacia direcciones con uris Tel: como TelStop, No Tel: URL o Auto-reset Blocker.
Fuentes:
Remote wipe attack not limited to Samsung phones, Android dialer may be to blame
Remote USSD Attack - Prevention
¿En qué consiste la vulnerabilidad?
Los teléfonos son compatibles con códigos de marcado especiales llamados USSDs que pueden mostrar cierta información o proceder a realizar características especiales. Entre ellos se encuentran los más comunes (*#06# para ver el número IMEI) y algunos otros específicos según el modelo de teléfono (incluyendo en algunos teléfonos un código de restablecimiento de fábrica ;)).
Por otra parte hay un prefijo URL llamado 'tel' que puede, en teoría, usarse como un enlace para llamar a números de teléfono. Es decir, al hacer clic en el enlace con 'tel' se iniciará el marcador del teléfono para llamar a ese número.
En algunos teléfonos el marcador o dialer procesará automáticamente el número entrante. Y si se trata de un código USSD entonces se manejará exactamente como si se hubiera tecleado manualmente - pero sin requerir la intervención del usuario para ejecutarse, ups!.
Como seguro ya habéis imaginado, una URL con 'tel' puede ser utilizada por un sitio hostil, por ejemplo dentro de un iframe (o potencialmente otros recursos como hojas de estilo o scripts), para actuar en consecuencia sin la intervención del usuario, es decir, para ejecutar automáticamente en el peor de los casos un código USSD que haga un wipe del teléfono mientras el usuario del teléfono observa estupefacto.
Esto se traduce a que una sóla línea de código HTML puede mandar tu teléfono al traste: <frame src="tel:*2767*3855%23" /> , o lo que es lo mismo, un factory reset sin confirmación...
¿Sólo afecta a Samsung? ¿Cómo compruebo si mi teléfono de otra marca es vulnerable?
No sólo afecta a terminales de Samsung, parece que el dialer de algunas versiones de Android puede ser la causa. Dylan Reeve por ejemplo escribió que era capaz de replicar el mismo comportamiento en un HTC One X corriendo HTC Sense 4.0 y en un Motorola Defy ejecutando una versión de CyanogenMod. The Next Web ha confirmado el problema también existe en el HTC Desire con Android 2.2.
De hecho el error se corrigió en Android a principios de este año, pero no todos los teléfonos pueden estar ejecutando el código actualizado. Con el fin de comprobar si el teléfono sufre de la vulnerabilidad, Reeve ha creado una página web para poner a prueba cada dispositivo (si tu teléfono es vulnerable el sitio web hará que muestre su IMEI automáticamente).
¿Y cómo hago para solucionar esta vulnerabilidad?
Actualizar, siempre actualizar. Y en este caso particularmente os recomendamos instalar alguna aplicación del market que "controlan" los clics hacia direcciones con uris Tel: como TelStop, No Tel: URL o Auto-reset Blocker.
Fuentes:
Remote wipe attack not limited to Samsung phones, Android dialer may be to blame
Remote USSD Attack - Prevention
Comentarios
Publicar un comentario