Investigadores
de la universidad alemana de Friedrich-Alexander han descubierto como genera
iOS la clave por defecto cuando se activa la conexión de red compartida.
Cuando necesitamos que nuestro
terminal móvil actúe de proveedor de acceso a red creamos, mediante la opción
de "Compartir Internet", un
punto de acceso WiFI como el que tendríamos en casa. Si no indicamos una clave
de acceso o técnicamente una PSK (Pre-shared Key) nuestro teléfono creará una
por defecto para nuestra comodidad.
En iOS, cuando dicha clave es
generada por el sistema esta se compone de una palabra de entre 4 y 6
caracteres seguida de una cifra de cuatro dígitos. Por ejemplo: rich3137.
Hasta aquí los investigadores
encontraron una primera debilidad. La estructura de la clave de acceso generada
es débil si se efectúa un ataque de fuerza bruta sobre un WPA handshake, la
fase de negociación de la conexión entre cliente y punto de acceso configurado
con cifrado WPA.
Si este proceso es capturado por
un atacante, este podría ejercer un ataque de fuerza bruta sobre los paquetes
capturados e intentar averiguar la clave
de acceso o PSK de ese punto de acceso.
El problema se agrava cuando
descubrieron que la palabra que va delante del grupo de cuatro dígitos no es
aleatoria. Mediante el reseteo continuo del punto de acceso, los investigadores
fueron anotando las palabras usadas para componer la clave de acceso y advirtieron
que podrían provenir de un diccionario también usado por un videojuego
denominado "Scrabble". Este
diccionario contiene 52.500 entradas y fue usado con un porcentaje total de
éxito para extraer la clave de acceso.
No contentos con el resultado, ya
que les parecía excesiva la longitud del diccionario comparada con la
frecuencia de aparición de palabras en la clave, tracearon la llamada al
sistema "open()" y observaron
algo realmente curioso.
Para escoger la palabra, iOS
reusa el mecanismo de "sugerencia"
que aparece en los cuadros de entrada de texto, el mismo que va sugiriendo
palabras a medida que vamos añadiendo caracteres. A continuación se invoca un
método del Framework "ProofReader"
usado para la corrección ortográfica. Dicho método permite obtener una palabra inglesa
de entre 4 y 6 caracteres de longitud.
Ya que obtuvieron el método con
el que iOS va generando palabras usaron el mismo mecanismo en un programa
aislado. Se generó una gran cantidad de palabras y observaron como estadísticamente,
después de 250.000 invocaciones, el número de palabras se estabilizaba en una
distribución de 1.842 palabras distintas.
Junto con esta lista de palabras
y el número de cuatro cifras añadido al final consiguieron acotar el espacio de
búsqueda en un número relativamente pequeño: 1.842*104. Esto supone reducir el tiempo de búsqueda a menos de 50
segundos usando una sola GPU de última generación.
Los investigadores recomiendan no usar la clave de acceso por defecto y en
su lugar establecer una fuerte generada por el usuario.
Más información:
Usability vs. Security: The Everlasting
Trade-Off in the Context of Apple iOS Mobile Hotspots
Mobile Hotspots
David García