7 puntos por GN⁺ 2023-08-06 | 1 comentarios | Compartir por WhatsApp
  • Un ataque acústico de canal lateral que infiere qué teclas presiona un usuario solo a partir del sonido del teclado, combinado con aprendizaje profundo, logró hasta un 95% de precisión
  • Un atacante puede exponer información sensible como contraseñas, conversaciones y mensajes usando un micrófono cercano, un smartphone infectado con malware con permiso de micrófono, o el sonido de las pulsaciones en una llamada de Zoom
  • El experimento se realizó recolectando los sonidos de 36 teclas en una MacBook Pro reciente, presionando cada una 25 veces, generando formas de onda y espectrogramas, y entrenando el clasificador de imágenes CoAtNet
  • En un entorno con la misma laptop y un iPhone 13 mini a 17 cm de distancia, las grabaciones del smartphone alcanzaron 95% de precisión, las de Zoom 93% y las de Skype 91.7%
  • Como mitigaciones se mencionan cambiar la forma de teclear, usar contraseñas aleatorias, ruido blanco, filtros de audio y autenticación biométrica, pero cambiar a un teclado silencioso por sí solo no basta como defensa

Robo de datos mediante el sonido de las pulsaciones

  • Investigadores de universidades del Reino Unido entrenaron un modelo de aprendizaje profundo para inferir datos de pulsaciones usando sonidos de teclado grabados con micrófono
  • En ataques basados en grabaciones de micrófono, el modelo alcanzó 95% de precisión
  • Cuando se entrenó con audio recolectado a través de Zoom, la precisión bajó a 93%, pero según ese medio sigue siendo un nivel alto y un resultado récord
  • Si el ataque tiene éxito, contraseñas, conversaciones, mensajes y otra información sensible pueden filtrarse a terceros maliciosos

Por qué los canales laterales acústicos son realistas

  • Otros ataques de canal lateral pueden verse afectados por condiciones especiales, tasas de transferencia de datos o limitaciones de distancia
  • Como los dispositivos con micrófono están ampliamente difundidos y ya permiten capturar audio de alta calidad, la dificultad práctica de ejecutar ataques acústicos disminuye
  • Combinados con los avances del aprendizaje automático, los ataques de canal lateral basados en sonido se vuelven más viables y peligrosos de lo que se pensaba antes

Procedimiento del ataque y recolección de datos

  • El primer paso es grabar el sonido de las pulsaciones del teclado objetivo
    • Puede hacerse con un micrófono cercano
    • También es posible con un teléfono infectado con malware que tenga permiso de acceso al micrófono
    • En una llamada de Zoom, un participante malicioso puede correlacionar los mensajes que escribe la víctima con los sonidos grabados
  • Los investigadores registraron el sonido producido por 36 teclas de una MacBook Pro reciente, presionando cada una 25 veces
  • A partir de las grabaciones generaron formas de onda y espectrogramas para visualizar diferencias identificables entre teclas
  • La señal pasó por pasos específicos de procesamiento de datos para poder usarse en la identificación de pulsaciones

Entrenamiento del modelo y entorno experimental

  • Las imágenes de espectrogramas se usaron para entrenar CoAtNet, un clasificador de imágenes
  • Los investigadores probaron épocas, tasa de aprendizaje y parámetros de partición de datos para obtener la mejor precisión de predicción
  • El entorno experimental fue el siguiente
    • La misma laptop con el teclado usado en portátiles Apple durante los últimos 2 años
    • Un iPhone 13 mini a 17 cm del objetivo
    • Zoom
  • La precisión del clasificador varió según el medio
    • Grabación con smartphone: 95%
    • Grabación con Zoom: 93%
    • Grabación con Skype: 91.7%

Posibles mitigaciones

  • El artículo sugiere a los usuarios especialmente preocupados por los ataques acústicos de canal lateral cambiar su forma de teclear o usar contraseñas aleatorias
  • Otras defensas incluyen software que reproduzca sonidos de pulsación, ruido blanco y filtros de audio de pulsaciones basados en software
  • Este modelo de ataque mostró alta efectividad incluso en teclados muy silenciosos, por lo que añadir material absorbente a un teclado mecánico o cambiar a uno de membrana difícilmente ayudaría
  • Cuando sea posible, también ayudan la autenticación biométrica y el uso de un gestor de contraseñas para no introducir manualmente información sensible

Recomendaciones adicionales de Zoom

  • Zoom afirmó que da gran importancia a la privacidad y seguridad de los usuarios
  • Además de las mitigaciones propuestas por los investigadores, los usuarios de Zoom pueden mantener su información más segura con estos ajustes
    • Configurar la supresión de ruido de fondo en un nivel más alto
    • Entrar a las reuniones con el micrófono silenciado por defecto
    • Silenciar el micrófono al escribir durante una reunión

1 comentarios

 
GN⁺ 2023-08-06
Opiniones de Hacker News
  • Los datos de entrenamiento y de prueba se generaron en la misma laptop, con el mismo micrófono y en el mismo entorno, e incluso es posible que la misma persona haya presionado las teclas.
    El modelo para Zoom también se volvió a entrenar con datos recopilados en Zoom; aunque lo llaman un ataque de canal lateral práctico, parece que no verificaron en absoluto si este enfoque se generaliza.

    • Creo que la forma generalizable de este ataque es precisamente esa.
      No se trata de entrenar con el sonido de cualquier teclado, sino de entrenar con el sonido de un objetivo específico.
      Por ejemplo, si un streamer de Twitch escribe respuestas en el chat con el micrófono en vivo encendido y luego ingresa su contraseña de Twitch, se podría entrenar con el audio de la primera situación y aplicarlo a la segunda.
    • Con una superficie de ataque limitada así, creo que podría funcionar sin generalizar un modelo a muchas personas o teclados.
      La ventaja del ataque en Zoom es que, si puedes hacer que el objetivo escriba en la ventana de chat, obtienes el “texto claro” justo después de escuchar el “texto cifrado”.
      Lo que se teclea en otros contextos también suele encajar en unas cuantas gramáticas que un LLM ya puede reconocer: lenguaje natural, lenguajes de programación, comandos, entradas de cálculos, etc.; y si no encaja, probablemente sea una contraseña.
    • Me pregunto si hoy en día Zoom todavía transmite tal cual el sonido de las teclas.
      Últimamente la cancelación de ruido es tan agresiva que, aunque alguien diga “perdón por el ruido del motor/la ambulancia/la ciudad”, muchas veces los demás ni saben de qué está hablando.
    • Si es para un ataque dirigido, no necesita generalizarse.
    • No entiendo por qué todas las apps de comunicación en línea no incluyen como opción estándar la supresión del sonido del teclado.
      El sonido del teclado es bastante distinguible, así que no debería ser tan difícil.
  • Para mi proyecto de graduación en la universidad hice un ataque acústico de canal lateral parecido, y en este campo ya hay bastantes resultados; solo falta que alguien combine las metodologías.
    Se obtienen resultados bastante buenos combinando modelos geométricos, modelos estadísticos con/sin aprendizaje de este estilo y varios modelos de lenguaje.
    Estos son algunos de los papers que leí:
    https://doi.org/10.1007/s10207-019-00449-8 - SonarSnoop. Emite ultrasonido desde el altavoz de un teléfono para perfilar las interacciones del usuario, por ejemplo la entrada de contraseñas basada en swipes.
    https://people.eecs.berkeley.edu/~daw/papers/ssh-use01.pdf - “Timing Analysis of Keystrokes and Timing Attacks on SSH”. Paper de 2001 que usa un modelo estadístico de los tiempos de pulsación para recuperar contraseñas a partir de tráfico SSH cifrado.
    https://doi.org/10.1145/1609956.1609959 - “Keyboard acoustic emanations revisited”. Recupera texto mediante clasificación basada en características cepstrales, usando modelos ocultos de Markov y propiedades del inglés.
    https://doi.org/10.1145/2660267.2660296 - “Context-free Attacks Using Keyboard Acoustic Emanations”. Usa un enfoque geométrico que estima probabilísticamente la ubicación física mediante diferencias de tiempo de llegada.

  • No entiendo muy bien por qué algunos minimizan esto como si no fuera gran cosa.
    Desde el punto de vista de seguridad e inteligencia, es bastante significativo, y quiere decir que el aprendizaje sobre audio ya llegó al punto de poder convertir en la práctica un dispositivo de escucha sensible en un keylogger.
    Hay muchos contextos en los que es mucho más fácil instalar un dispositivo de escucha que realizar ataques de red tradicionales, y con un micrófono shotgun moderno quizá ni siquiera haga falta entrar al edificio.
    Esto es aplicable a mucho más que el robo de contraseñas.
    Este vector de ataque me interesaba desde hace tiempo, y me preguntaba si de verdad llegaríamos a este punto.

    • Parece que todos los canales laterales físicos posibles, como Tempest, ahora encajan bien con enfoques de machine learning.
      Es realmente interesante.
    • Me pregunto si ayudaría reproducir continuamente sonidos de tipeo.
      No un sonido abstracto, sino grabaciones reales de mí tecleando en ese teclado, mezcladas y reproducidas como frases o secuencias que suenen realistas.
      Si se hacen pausas muy breves para que se mezcle el sonido real de las pulsaciones, creo que sería muy difícil descifrarlo o correlacionarlo con otros eventos, como el momento en que se ingresa una contraseña.
      Mejor aún, también se podría poner ruido blanco alrededor; de hecho, escuché que a veces se hace en reuniones muy importantes.
      Si no eres una persona tan importante, basta con ingresar lo sensible solo en el celular. Espero que las pantallas táctiles no hagan suficiente ruido.
    • Hay que vincular la entrada del micrófono con las teclas realmente ingresadas, y además se necesita una cantidad suficiente para entrenar el modelo.
      Parece algo nada trivial.
  • Interesante. Tengo mucha curiosidad por saber qué características acústicas reconoce.
    Me pregunto si se trata de algo cercano a una huella física de cada tecla, de modo que habría que actualizar el modelo si cambias las keycaps o los resortes. ¿Es parecido a cómo antes se identificaban forensemente las máquinas de escribir por inconsistencias de fabricación?
    ¿O las teclas en sí son idénticas, pero por la forma de los objetos alrededor cada tecla produce un patrón de resonancia distinto dentro del teclado o la laptop? ¿Habría que reentrenar el modelo si se mueve el teclado dentro de la habitación?
    También me pregunto si la fuerza con que se presiona una tecla no cambia nada, o si cambia mucho.
    Por teclado, comparando las teclas delgadas de una MacBook con un teclado externo de altura completa, también me pregunto en cuál sería más fácil o más difícil identificar cada tecla.

    • Ampliando la idea, se puede mirar (1) las características de la tecla en sí, (2) las características de una tecla frente a otras, (3) la ruta de transmisión del sonido y el entorno entre la tecla y el micrófono, (4) la relación entre la tecla y el dedo, y (5) la relación entre la tecla y las dendritas relacionadas.
    • Creo que el estilo de tipeo también sería importante.
      Factores como qué tan rápido llegas a cada tecla, el ritmo y la tendencia a golpear ciertas teclas con más fuerza podrían influir.
      Se siente más como perfilar a la persona que al teclado.
  • Como referencia, parte —probablemente la mayoría— del software de videoconferencia elimina de audio los sonidos del teclado
    En las laptops, esto se vuelve especialmente molesto porque el micrófono está justo al lado de las teclas
    Estoy bastante seguro de que Zoom hace esto por defecto como parte de la reducción de ruido. Usar eventos de tecla presionada podría ayudar no solo con el flujo de audio, sino también con la identificación, así que podría ser más fácil
    Con solo tener activada la reducción de ruido predeterminada, en videoconferencias normales esto debería poder bloquear este tipo de ataque
    Por eso, me cuesta imaginar casos en los que esto sea una amenaza realista si el atacante no tiene ya acceso físico suficiente como para instalar un keylogger común o una cámara oculta

    • Teams definitivamente parece no tenerlo. Al menos no por defecto, o no con la configuración predeterminada de nuestra empresa
      Cuando alguien empieza a escribir durante una llamada, se escucha clarísimo
    • Podría darse en reuniones entre organizaciones, cafeterías donde se mezclan varias oficinas, cafeterías, etc.
    • Creo que podría ser un problema si cualquier página web obtiene permiso de acceso al micrófono
  • Georgi Gerganov ya hizo uno hace algunos años
    https://github.com/ggerganov/kbd-audio

  • La imagen de ejemplo muestra que se presiona una tecla cada 0.5 segundos, lo que sugiere una escritura con dos dedos de unas 24 ppm
    Con este método, el modelo obtiene una forma de onda muy limpia
    Me pregunto si este enfoque funcionaría bien también con mecanógrafos promedio o rápidos. Podría ser mucho más difícil asociar los perfiles de sonido con las letras

    • Incluso con ambigüedad, es mejor que no tener datos
      Si hay suficientes datos de entrenamiento, creo que se podrían encontrar patrones repetibles en mecanógrafos estándar
      Por ejemplo, en una distribución QWERTY podría haber patrones de tempo por pares, como que después de teclear “A”, ingresar “Q” tarda entre 1.2 y 2.3 veces más que “J”
      Ayuda a reducir el espacio de búsqueda frente a probar todos los caracteres candidatos por fuerza bruta
      Si el objetivo usa una frase de contraseña, al identificar con alta probabilidad algunos caracteres de referencia, como “hXXXse battXXX stXXXXX cXXXXXX”, se vuelve interpretable
    • La Unión Soviética ya había logrado espiar sonidos de máquinas de escribir en la década de 1970
  • Al ver este artículo, publiqué como open source un proyecto inicial sobre una variante de esta idea: https://github.com/secretlessai/audio-mnist
    Desde hace tiempo me interesaba aplicar técnicas de clasificación de imágenes, como CNN, a datos de audio
    Hace algunos años, como proyecto de fin de semana, hice un dataset sencillo tipo “audio-mnist” con grabaciones de audio de dígitos escritos a mano, pero después de unos días de trabajo no seguí avanzando
    Aun así, llevaba tiempo pensando que debía publicarlo como open source, y este artículo me hizo ponerme en acción
    Si se reúnen más datos y se agregan ejemplos básicos de CNN, etc., podría ser un buen punto de partida para varias investigaciones y herramientas
    Todavía tengo que encontrar y ordenar para que sea entendible el código separado que crea las grabaciones y divide el audio
    Espero que ayude a quienes encuentren interesante o útil parte de este proceso

  • Sería genial tener un teclado inalámbrico que funcione con esto
    No necesitaría batería, carga ni sincronización

    • Algunos controles remotos de TV antiguos funcionaban así
      Eran los controles Space Command de Zenith, y dicen que por eso a veces se les dice “clicker” a los controles remotos de TV
      https://www.theverge.com/23810061/zenith-space-command-remot...
    • Basta imaginar la experiencia de usuario de que 1 de cada 20 caracteres ingresados se infiera mal
      El impacto de probabilidad de falla × costo parece difícil de tolerar incluso si la tasa de error mejora en un orden de magnitud
  • Ahora es momento de inyectar en una llamada de Zoom audio de fondo de mí tecleando “fuck you”

    • Convertir el texto en audio de pulsaciones de teclas, pero que el texto venga del prompt para LLM: “fanfic en pentámetro yámbico basado en Love It or List It de HGTV, con un agente inmobiliario Ewok y un diseñador de interiores Klingon”
      El objetivo es hacer que quien esté espiando reevalúe por completo sus decisiones de vida y quizá termine enganchado con la historia
    • De hecho, podría facilitar la decodificación
      Porque serviría como un buen punto de referencia