Insights > Blog

Alexa, ¿eres segura?

Germán Martín Boizas

“Del árbol del silencio pende el fruto de la seguridad” – Proverbio árabe

amazon candando

 

Lo confieso: como amante de la tecnología que soy, tengo todo tipo de cacharritos por casa. Eso incluye, por supuesto, un asistente virtual de esos tan de moda hoy en día (para sincerarme por completo, más de uno: en mi casa hay un Amazon Echo, un Echo dot y un Google Home, sin contar una Raspberry Pi con el kit de desarrollo de Alexa).

Así que, la pregunta es obvia: ¿cuán seguros son estos trastos?

Podemos comenzar preguntándoselo directamente: “Alexa, ¿eres segura?”, a lo que responde:

– Perdona. No he podido encontrar la respuesta a lo que me has preguntado.

Mmmm… Pues sí que empezamos bien. Tranquilizador no parece. Menos mal que, cuando no existía el servicio en castellano, ya me había respondido a la misma pregunta en inglés:

“Alexa, are you secure?”

– Amazon takes privacy seriously. For more information, and to view Amazon’s Privacy Notice, visit the Help section of your Alexa app.

De hecho, cambiando la pregunta consigues la respuesta equivalente en castellano: “Alexa, ¿eres una espía?”

Amazon se toma muy en serio la privacidad. Para obtener más información y para ver el aviso de privacidad de Amazon, visita la sección de Ayuda en tu app Alexa.

La respuesta tampoco es muy alentadora… Negarlo no lo niega y seguro que Mata Hari también podría decir en su defensa que se tomaba muy en serio la privacidad de aquellos a los que espiaba. Pero dejémonos de teorías conspiratorias y hablemos más en serio.

Para analizar el nivel de seguridad que tenemos habrá que considerar cómo funciona.

“Alexa, ¿grabas las conversaciones?”.

– Solamente te escucho cuando dices la palabra de activación. Para más información y para ver el aviso…

Lo cual resulta que, como veremos, no es del todo preciso. Pero bueno, ya lo reconoce ella misma: “Alexa, ¿me mientes?”

– A veces puedo equivocarme, pero según las leyes de la robótica, jamás podría mentirte.

Dejemos entonces de preguntarle y veamos entonces en detalle su funcionamiento paso a paso:

  1. Una vez encendido y configurado el dispositivo, y conectado a nuestra red Wi-Fi, está permanentemente escuchando a la espera de la palabra de activación, por defecto, ‘Alexa’.
  2. Al reconocer la palabra clave, empieza a grabar todo lo que digamos a continuación.
  3. Cuando terminamos de hablar, manda la grabación realizada a través de Internet a Amazon, a su servicio en la nube denominado Alexa Voice Services (AVS).
  4. AVS convierte la grabación en texto, es decir, en un posible comando.
  5. Interpreta los comandos para intentar realizar las acciones correspondientes. Estas acciones pueden ser muy sencillas (por ejemplo, preguntar la hora devuelve un fichero de audio con la hora que es para que el dispositivo lo diga) o complejas (por ejemplo, poner Bohemian Rhapsody hace a AVS buscar nuestro proveedor del servicio de música y enviar el comando adecuado al dispositivo para empezar a hacer streaming de la canción de Queen requerida).
  6. Los comandos pueden ser enviados a aplicaciones de terceros (denominadas skills) para realizar acciones más específicas. Por ejemplo, para pedir una hamburguesa a Burger King, necesitamos activar su skill específica. En este caso es la skill la que maneja el diálogo y determina la respuesta a enviar a través de un API de AVS.
  7. El dispositivo ejecuta la acción solicitada, típicamente reproducir el sonido enviado como respuesta, aunque también controlar dispositivos como luces, termostatos, interruptores, televisores, aspiradores, cafeteras, persianas, y hasta sistemas de seguridad como cerraduras o cámaras. El hogar digital entero, vamos.

Sin duda, se trata de dispositivos muy atractivos, potentes y útiles. Si todo va bien, para el usuario es como si el pequeño aparato que tiene en la mesa tuviera una extraordinaria inteligencia, aunque en realidad toda la potencia esté en la nube. En el caso de otros asistentes de voz, como Google Home o Siri, el proceso es muy similar, aunque empleando sus propios servicios de procesado de la voz en la nube, claro.

A la vista del proceso, podemos analizar por separado los distintos vectores de ataque, de modo semejante a como lo haría un atacante:

 

1- Envío de órdenes de voz

Hoy por hoy, Alexa no distingue la voz del usuario, por lo que cualquiera puede mandarle sin más una orden.

Resulta de lo más sencillo acercarse a Alexa en casa de un amigo cuando éste está distraído y decir “Alexa, pon una alarma a las 4 de la mañana” para quedarte sin amigo pero echar unas risas.

En el fondo, es como dejar el teclado de nuestro ordenador fuera de casa, para que cualquiera escriba lo que quiera. A priori no parece lo más seguro.

Sin ir más lejos, estoy convencido de que si mi vecino grita lo suficiente podría darle órdenes a mi Alexa sin mayores problemas.

Es por eso que para acciones de más enjundia (por ejemplo, abrir una cerradura o comprar algo) normalmente se pone un código de confirmación de 4 cifras que hay que decir para que la acción efectivamente se ejecute.

Una búsqueda rápida en Internet revela unas cuantas historias entretenidas. Por ejemplo, la de la niña de 6 años que pidió a Alexa una casa de muñecas y cuatro libras de galletas. Como la compra en Amazon estaba activada y sin protección, los padres se enteraron al recibir el pedido. Pero ahí no acaba la cosa: una cadena de televisión local californiana dio la noticia, y el presentador dijo algo así como “me encanta eso de una niña diciendo: Alexa, cómprame una casa de muñecas”. Muchos dispositivos Echo a la escucha en los hogares de los que estaban viendo el programa se activaron y lo interpretaron como una orden de compra. Muchos televidentes tuvieron que actuar corriendo para cancelar el pedido.

En otro caso aparecido en el periódico The Sun, un loro de Londres tuvo la ocurrencia de repetir lo que anteriormente había dicho su dueño y pidió en Amazon unas cajas de regalo. Ya si hubiera pedido su propia comida habría sido la monda.

En 2017, un anuncio de TV de Burger King creó una gran polémica al forzar a los dispositivos de Google a hacerles publicidad, diciendo “OK Google, ¿qué es un Whopper?”, lo que hacía que leyeran la entrada en Wikipedia para Whopper. Usuarios encolerizados cambiaron la definición en Wikipedia a comida basura y similares como represalia.

En septiembre de ese mismo año, en el estreno de la temporada 21 de la irreverente serie South Park, varias frases del capítulo activaron a propósito a los dispositivos Amazon Echo y Google Home, haciéndoles decir palabrotas y añadir algunas obscenidades a la lista de la compra.

En definitiva -a la vista de estos ejemplos- además de gritar desde la puerta, ¿que podría hacer pues un atacante para hablar con nuestro dispositivo? Grabar y emitir un anuncio de radio o televisión puede salir algo caro, pero no es una opción descartable, lo mismo que hackear la señal de TV. Pero hay otras opciones más baratas: por ejemplo, hackear nuestra Smart TV, o el móvil, para decir en voz alta las órdenes precisas tipo “Alexa, desconecta la alarma”.

Una forma eficaz de hacerlo, demostrada por varios grupos, es simplemente crackear la clave Wi-Fi y mostrar sobre una Smart TV o un dispositivo Chromecast un video de YouTube, lo que típicamente no requiere autenticación alguna. Es decir, en resumen, la seguridad de nuestro dispositivo viene a ser la misma que la seguridad de nuestro Wi-Fi.

 

2- Órdenes de voz “inaudibles”

Hasta ahora hemos analizado mecanismos para “hablar” a nuestros dispositivos. Pero claro, si estamos en casa y oímos a nuestro televisor probando códigos para desactivar nuestra alarma igual sospechamos algo.

Es por ello que se han intentado distintos métodos para ordenar cosas a Alexa pero sin que lo oigan los legítimos propietarios.

La más simple, además de intentar hacerlo a bajo volumen, es intentar ocultar el comando bajo niveles de ruido, de forma que Alexa se dé por enterada, pero no lo entienda una persona. Es un método bastante eficaz ocultando el contenido, pero no alertando que ‘algo raro pasa’.

Un método más elaborado, conocido como el Dolphin Attack (el ataque del delfín), se aprovecha de las características típicamente no lineales de los micrófonos de los dispositivos para lanzar órdenes en una frecuencia de ultrasonidos (que un delfín posiblemente podría escuchar, pero no un ser humano, de ahí el nombre). Investigadores de la universidad china de Zhejiang crearon un programa que traduce un comando de voz a frecuencias sobre los 20 KHz, usando equipo muy básico: un smartphone, un amplificador y un transductor. La buena noticia es que aparentemente el ataque únicamente es eficaz a cortas distancias (menos de un par de metros).

Otro método, demostrado en la conferencia USENIX Security de 2018 es embeber comandos dentro de una canción o el audio de una película. El ataque CommanderSong ataca la red neuronal detrás de los asistentes, modificando una canción poco a poco hasta conseguir que ésta reconozca (incorrectamente) un comando en la canción. He escuchado personalmente varias de estas canciones y he de reconocer que sólo se nota algo raro si las oyes justo después del original.

 

3- Atacando el dispositivo

Otro vector de ataque es, obviamente, el dispositivo hardware en sí mismo. Amazon se ha preocupado de hacerlo bastante resistente a todo tipo de ataques, y no fue hasta principios de 2017 que un especialista en seguridad, Mark Barnes, publicó como había conseguido acceder a un dispositivo Amazon Echo e instalar su propio software, de forma que lo convertía en un “micrófono siempre encendido”. Eso sí, su ataque únicamente funciona sobre dispositivos fabricados antes de 2017.

A finales de 2018 un grupo chino demostró en la conferencia de seguridad DefCon que podía acceder a nuevos dispositivos Echo. Eso sí, su método implica ciertamente habilidades realmente avanzadas de hardware (como desoldar chips de memoria para soldar otros nuevos) y completo acceso a la red Wi-Fi del cliente, así que no parece como para preocuparse. Si un atacante tiene ese nivel de acceso, ¿para qué necesita más?

Algo más sencillo es lo siguiente: reemplazar todo el hardware del interior de un dispositivo, dejando únicamente la carcasa. Como Amazon proporciona el kit de desarrollo de Alexa Voice Services de forma gratuita, podemos implementar nuestro propio hardware de Alexa sin problemas; eso sí, enviando todo lo escuchado a un servidor en Internet. Puesto que un usuario normal nunca abriría el dispositivo, éste se convierte en el espía perfecto.

Una de las peticiones más populares entre los usuarios de Alexa es la de poder cambiar la palabra de activación a cualquier otra cosa (actualmente sólo permite ‘Alexa’, ‘Computer’, ‘Echo’ o ‘Amazon’). Para conseguir hacerlo, un proyecto open-source, el proyecto alias, propone añadir un “parásito” sobre el Echo, de forma que éste se pone en medio del micrófono, únicamente activándolo cuando se oye la nueva palabra clave definida por el usuario. Eso está muy bien… pero, claro, quien pone un parásito así se arriesga a que el mismo sea hackeado (o que directamente estuviera ya contaminado) para convertirse en dispositivo de escucha.

En definitiva, no deberíamos fiarnos de un dispositivo si un posible atacante ha tenido acceso físico al mismo.

 

4- Comunicaciones

Ya hemos visto las posibilidades de ataque si tenemos acceso a la red Wi-Fi.

Afortunadamente, las comunicaciones entre el dispositivo y los servidores de Amazon están convenientemente cifrados con un algoritmo de clave pública. Por ello, salvo que un atacante pudiera comprometer las claves de Amazon o sus servidores, estamos a salvo de espías.

Amazon realiza también la actualización de nuestros dispositivos de forma remota, automática y con firma digital para evitar problemas en este sentido.

Si acaso, merece la pena comentar aquí que nuestro dispositivo típicamente está configurado desde la app de Alexa en nuestro teléfono móvil, con lo cual también tendremos que asegurar que nuestro móvil y nuestra cuenta de Amazon están suficientemente protegidos. Un atacante no podrá desde ella tomar el control del Echo (igual que no podemos nosotros) pero sí, por ejemplo, instalar sus propias skills maliciosas, como veremos después.

 

5- Atacando la nube y AVS

Como resulta obvio, si un atacante consiguiera hackear los servidores de Amazon para AVS, tendría el control absoluto sobre nuestros dispositivos Alexa. No sólo porque tendría el registro de todas las órdenes recibidas, sino porque podría potencialmente alterar el software para convertir cada dispositivo en un micrófono personalizado. Precisamente por ello, es de esperar que Amazon se tome la seguridad de esos servidores muy en serio, porque si no, Game Over.

A los amantes de las teorías conspiratorias les encanta la posibilidad de que los grandes gobiernos estén detrás de todo esto, al ser los dispositivos perfectos para espiar en el hogar. En el año 2017 fue muy comentado el hecho de que cuando le preguntabas a Alexa “¿trabajas para la CIA?”, ésta se quedaba en silencio. Amazon actualizó su servicio AVS para dejar claro que no es así; cuando hoy le hago la pregunta simplemente responde:

– Amazon no es una agencia gubernamental.

Amazon afirma que no comparte ningún tipo de información con nadie “a menos que estemos obligados a hacerlo para cumplir con la ley o una orden válida y vinculante de un organismo gubernamental o reguladora”.

De hecho, en EEUU ha habido ya varios casos de asesinato en los que la policía encontró un Echo en el escenario del crimen y solicitó a Amazon las grabaciones para determinar si por casualidad había grabado algo importante. En todos los casos, Amazon se resistió a entregarlas, aduciendo la privacidad de sus clientes.

En diciembre de 2018, un usuario de Alexa solicitó a Amazon poder escuchar grabaciones de sus propias actividades, pero en su lugar (al parecer por un “error humano”, según la compañía) recibió un enlace con 1.700 archivos de sonidos de una pareja desconocida, hasta el punto de que una revista tecnológica alemana pudo identificarlos y contactar con ellos.

En algunos otros casos “extraños” reportados, al parecer Alexa malinterpretó la palabra de activación y envió mensajes de voz a otros usuarios con conversaciones intrascendentes.

Por otro lado, hace unas semanas era noticia que Amazon emplea cientos de personas en todo el mundo para mejorar las capacidades de Alexa, mediante un procedimiento muy sencillo: los equipos de Amazon escuchan las grabaciones de voz capturadas de los usuarios y comprueban los resultados realizados por Alexa, con el objetivo de mejorar la comprensión que AVS hace de las peticiones.

No sé de qué se sorprenden… ¿de qué otra forma podría aprender? Se quejaban también que en muchas ocasiones el equipo tiene información sobre la localización del origen de la grabación. ¡Pues claro! Ya me imagino a Alexa intentando aprender qué quiere decir un andaluz cuando le dice “Alersa, mi arma“. Como no se lo diga alguien, no hay machine learning que valga.

Obviamente a esos equipos de trabajo se les hará firmar todo tipo de contratos de confidencialidad, etc, y seguramente no tendrán las identificaciones de usuarios individuales. Pero, en todo caso, siempre es mejor no decirle a Alexa nada que no queramos que se haga potencialmente público.

 

6- Skills

Como ya hemos comentado, las skills son aplicaciones de terceros que podemos ejecutar en Alexa, añadiéndole una mayor funcionalidad.

Hay muchas aplicaciones de juegos, utilidades, etc. Y más que habrá en el futuro: se espera que ocurra lo mismo que ha ocurrido para los ‘Markets’ de aplicaciones para teléfonos móviles.

Al igual que ocurre con las Apps del móvil, deberemos tener en cuenta:

Por un lado, la seguridad de la propia Skill. Si estamos usando una skill para manejar nuestra cuenta corriente, lógicamente toda vulnerabilidad en la propia skill nos afectará a nosotros.

Por otro, la posible aparición de skills maliciosas. Para prevenirlo, el ‘mercado’ de skills es un mercado controlado y las aplicaciones deben ser validadas por Amazon antes de ser publicadas y usadas por el gran público. Aún así, hay algunos ataques posibles:

La llamada Skill Squatting, busca hacerse pasar por otra skill a base de usar un nombre similar o que se pronuncie exactamente igual, usando caracteres homófonos. Es un ataque obviamente más popular en inglés, puesto que hay muchas más opciones de escribir una palabra para que Alexa la reconozca como igual.

La idea es que, por ejemplo, publiquemos una skill que se llame ‘Vanco Pepe’ o ‘ Ban copepe’ para que cuando un usuario diga “Alexa, abre Banco Pepe” en realidad interactúe con la nuestra y tengamos la oportunidad de robar sus claves, por ejemplo. En las pruebas que he realizado da la impresión de que se carga una skill u otra de nombre similar de forma aleatoria.

Un ataque similar es aprovecharse de la gente educada, o con muletillas al hablar, poniendo a las skills nombres de forma que se llame a la nuestra; siguiendo con el ejemplo anterior, si llamo a mi skill ‘Por favor Banco Pepe’, cuando un usuario diga ‘Alexa, abre por favor Banco Pepe’ el programa que Alexa va a invocar va a ser el mío en lugar del oficial del Banco.

La ventaja es que, de momento, en castellano Alexa no carga las skills simplemente con nombrarlas, sino que deben ser activadas por el usuario. Pero en inglés el modo por defecto es así, y es posible que se extienda este comportamiento a otros idiomas.

Otra posibilidad sobre la que se ha discutido mucho es la posibilidad de crear una skill-espía. Es decir, una skill que -una vez activada- se dedique a espiar al usuario. Frente a esto hay que decir que, por un lado, como programador de skills nunca tenemos acceso a las grabaciones de usuario, sino únicamente al texto asociado una vez procesado por AVS. Por otro lado, como medida de protección, Amazon simplemente ‘corta’ una skill si el usuario no dice nada durante 7 segundos. (Técnicamente, al cabo de esos 7 segundos lanza un ‘reprompt’ volviendo a preguntar al usuario qué es lo que quiere, por lo que el tiempo en realidad son 14 segundos).

Sin embargo, aunque no es perfecta, sí puede hacerse algo bastante apañado. A modo de prueba, he creado una skill que simula hacer algo útil (por ejemplo, dar la clasificación de la liga de fútbol) y decir ‘Adiós’… cuando en realidad no termina, sino que hace sonar un fichero mp3 que no contiene más que silencio durante 10 segundos. Jugando con los tiempos de espera y ese mp3 es realmente factible obtener algunos diálogos no previstos, siempre que el usuario diga algo en plazos de 14 segundos.

Finalmente, para perfeccionar nuestra aplicación espía, podemos poner en el lado servidor de la misma un interfaz con AVS para responder a preguntas de Alexa y así intentar no salir nunca de nuestra skill.

Las probabilidades de que Amazon me dejase publicar una skill así son nulas… Pero es teóricamente posible complicar el código para que no sea tan sencillo determinar el comportamiento malicioso y pasar sus chequeos. Otra opción es invitar a posibles víctimas a probar la skill en modo Beta, para lo que sólo hace falta el consentimiento del usuario a través de un correo electrónico, lo que puede conseguirse mediante técnicas de ingeniería social.

 

Conclusiones

¿Qué podemos hacer entonces para mejorar nuestra seguridad? Aquí van algunas recomendaciones:

– No comprar dispositivos en cualquier sitio; sólo hacerlo en sitios de confianza.

– Proteger nuestra Wi-Fi y nuestra cuenta de Amazon asociada al dispositivo.

– Deshabilitar compras online, o al menos habilitar un Pin de confirmación para usarlas.

– Evitar usar Alexa para temas relevantes (como skills bancarias) cuando estemos usando un dispositivo Echo ‘inseguro’, por ejemplo, en un hotel.

– No usar Alexa para la seguridad de nuestro hogar (sí, lo sé, es algo radical, pero me parece demasiado arriesgado). Y si, aun así, quiere hacerlo, asegurar que ponemos cuantos pines o passwords adicionales sea posible.

– Cuando esté disponible el servicio de voces personalizadas (que Alexa reconozca únicamente nuestra propia voz) por supuesto usarlo inmediatamente.

– Revisar periódicamente la configuración en la App y borrar el histórico de conversaciones.

– No aceptar participar en skills en beta si no tenemos plena confianza en el desarrollador, ya que potencialmente podrían tener contenido malicioso.

– En la medida de lo posible, tener el botón de ‘Apagar micrófono’ cuando no sea necesario interactuar con Alexa.

 

A pesar de todo lo comentado hasta ahora quiero dejar bien claro que, en mi opinión, los asistentes virtuales son el futuro y que, en concreto, los dispositivos de Amazon tienen un nivel de seguridad muy bueno como lo demuestra el bajo número de vulnerabilidades detectadas a pesar de ser un objetivo tan codiciado.

Eso sí, yo comprendo que muy comercial no es, señores de Amazon, pero en el fondo me gustaría que, la próxima vez que le pregunte, la conversación discurriera más en estos términos:

“Alexa, ¿eres segura?”.

Pues verás, eso depende. Ya sabes que cien por cien seguro no hay nada, pero lo intento. Déjame explicarte cómo funciono y darte unos consejos para minimizar tus riesgos…

Did you enjoy this blog article? Comment below with your feedback.

0 Comments

Submit a Comment

Your email address will not be published. Required fields are marked *

RECIBE NUESTRAS NOTÍCIAS!

Information Security Maturity Self-Assessment Survey

Más información

•  Whitepapers
•  E-books
•  Checklists
•  Self-Assessments
•  Webcasts
•  Infographics