7 pontos por GN⁺ 2023-08-06 | 1 comentários | Compartilhar no WhatsApp
  • Um ataque acústico por canal lateral que estima quais teclas o usuário pressionou apenas pelo som do teclado, combinado com deep learning, alcançou até 95% de precisão
  • Um invasor pode expor informações sensíveis como senhas, conversas e mensagens usando um microfone próximo, um smartphone infectado por malware com permissão de acesso ao microfone ou o som das teclas em uma chamada no Zoom
  • O experimento foi conduzido coletando os sons de 36 teclas de um MacBook Pro recente, cada uma pressionada 25 vezes, gerando formas de onda e espectrogramas e treinando o classificador de imagens CoAtNet
  • Em um ambiente com o mesmo notebook e um iPhone 13 mini a 17 cm de distância, a gravação pelo smartphone registrou 95% de precisão, a gravação no Zoom 93% e no Skype 91,7%
  • Mudar a forma de digitar, usar senhas aleatórias, ruído branco, filtros de áudio e autenticação biométrica são citados como medidas de mitigação, mas apenas trocar para um teclado silencioso não é suficiente para se defender

Roubo de dados usando o som das teclas

  • Pesquisadores de universidades do Reino Unido treinaram um modelo de deep learning para estimar dados de digitação usando sons de teclado gravados por microfone
  • No ataque baseado em gravação por microfone, o modelo alcançou 95% de precisão
  • Quando treinado com áudio coletado pelo Zoom, a precisão caiu para 93%, mas ainda assim foi um nível alto e um resultado recorde para esse meio
  • Se o ataque for bem-sucedido, senhas, conversas, mensagens e outras informações sensíveis podem vazar para terceiros mal-intencionados

Por que o canal lateral acústico é algo realista

  • Outros ataques por canal lateral podem ser afetados por condições especiais, taxa de transmissão de dados e limitações de distância
  • Como dispositivos com microfone estão amplamente difundidos e a captura de áudio de alta qualidade ficou mais viável, a dificuldade prática de executar ataques acústicos diminuiu
  • Combinados com os avanços em machine learning, os ataques por canal lateral baseados em som se tornaram mais viáveis e perigosos do que se imaginava anteriormente

Procedimento do ataque e coleta de dados

  • A primeira etapa é a gravação do som das teclas do teclado alvo
    • Isso pode ser feito com um microfone próximo
    • Também é possível com um celular infectado por malware que tenha permissão de acesso ao microfone
    • Em uma chamada no Zoom, um participante malicioso da reunião pode correlacionar as mensagens digitadas pela vítima com os sons gravados
  • Os pesquisadores registraram os sons gerados ao pressionar 36 teclas de um MacBook Pro recente, 25 vezes cada uma
  • A partir das gravações, foram geradas formas de onda e espectrogramas para visualizar diferenças identificáveis entre as teclas
  • O sinal passou por etapas específicas de processamento de dados para que pudesse ser usado na identificação das teclas pressionadas

Treinamento do modelo e ambiente experimental

  • As imagens dos espectrogramas foram usadas no treinamento do CoAtNet, um classificador de imagens
  • Os pesquisadores testaram parâmetros de época, taxa de aprendizado e divisão de dados para obter a melhor precisão de previsão
  • O ambiente experimental foi o seguinte
    • O mesmo notebook com o teclado usado nos notebooks Apple dos últimos 2 anos
    • Um iPhone 13 mini a 17 cm do alvo
    • Zoom
  • A precisão do classificador variou de acordo com o meio
    • Gravação por smartphone: 95%
    • Gravação no Zoom: 93%
    • Gravação no Skype: 91,7%

Possíveis medidas de mitigação

  • O artigo sugere, para usuários muito preocupados com ataques acústicos por canal lateral, mudar a forma de digitar ou usar senhas aleatórias
  • Outras defesas incluem software que reproduz sons de teclas, ruído branco e filtros de áudio baseados em software para sons de digitação
  • Esse modelo de ataque mostrou alta eficácia mesmo em teclados muito silenciosos, então medidas como adicionar material de absorção sonora a teclados mecânicos ou trocar para teclados de membrana dificilmente ajudam
  • Quando possível, usar autenticação biométrica e um gerenciador de senhas para evitar digitar manualmente informações sensíveis também ajuda a mitigar o risco

Recomendações adicionais do Zoom

  • O Zoom afirmou que trata a privacidade e a segurança dos usuários com seriedade
  • Além das medidas de mitigação propostas pelos pesquisadores, usuários do Zoom podem manter suas informações mais seguras com as seguintes configurações
    • Configurar a supressão de ruído de fundo para um nível mais alto
    • Entrar em reuniões com o microfone desativado por padrão
    • Manter o microfone desativado ao digitar durante a reunião

1 comentários

 
GN⁺ 2023-08-06
Opiniões no Hacker News
  • Os dados de treinamento e de teste foram criados no mesmo notebook, microfone e ambiente, e é possível até que a mesma pessoa tenha pressionado as teclas
    O modelo para Zoom também foi treinado do zero com dados coletados no Zoom; embora chamem isso de um ataque de canal lateral prático, parecem não ter verificado de forma alguma se essa abordagem se generaliza

    • Acho que a forma generalizável desse ataque é justamente essa
      Não é um ataque que tenta aprender o som de um teclado qualquer, mas sim aprender o som de um alvo específico
      Por exemplo, se um streamer da Twitch digita uma resposta no chat com o microfone da live ligado e depois digita a senha da Twitch, seria possível treinar com o áudio da primeira situação e aplicar à segunda
    • Com uma superfície de ataque limitada assim, acho que pode funcionar sem generalizar um único modelo para várias pessoas ou teclados
      A vantagem do ataque no Zoom é que, se você conseguir fazer o alvo digitar na janela de chat, obtém o “texto em claro” logo depois de ouvir o “texto cifrado”
      Digitação ouvida em outros contextos também tende a se encaixar em algumas gramáticas que um LLM já consegue reconhecer, como linguagem natural, linguagens de programação, comandos ou entradas de cálculo; se não se encaixar, provavelmente é uma senha
    • Fico me perguntando se hoje em dia o Zoom ainda transmite sons de teclas assim
      A remoção de ruído recente está tão agressiva que, mesmo quando alguém diz “desculpem o barulho de motor/ambulância/cidade”, muitas vezes os outros nem entendem do que a pessoa está falando
    • Para ataques direcionados, não precisa se generalizar
    • Não entendo por que supressão de som de teclado não é uma opção padrão em todos os apps de comunicação online
      Som de teclado é bastante distinguível, então nem parece algo tão difícil
  • Fiz um ataque acústico de canal lateral parecido como projeto de conclusão da faculdade, e há bastante resultado nessa área; parece que ela só está esperando alguém combinar as metodologias
    Abordagens que combinam modelos geométricos, modelos estatísticos com/sem aprendizado como este e vários modelos de linguagem produzem resultados bem bons
    Alguns dos artigos que li foram estes
    https://doi.org/10.1007/s10207-019-00449-8 - SonarSnoop. Emite ultrassom pelo alto-falante do celular para perfilar interações do usuário, por exemplo entrada de senha baseada em gestos de deslizar
    https://people.eecs.berkeley.edu/~daw/papers/ssh-use01.pdf - “Timing Analysis of Keystrokes and Timing Attacks on SSH”. Artigo de 2001 que usa um modelo estatístico do timing das teclas para recuperar senhas a partir de tráfego SSH criptografado
    https://doi.org/10.1145/1609956.1609959 - “Keyboard acoustic emanations revisited”. Usa modelos ocultos de Markov e características do inglês para recuperar texto por classificação baseada em características cepstrais
    https://doi.org/10.1145/2660267.2660296 - “Context-free Attacks Using Keyboard Acoustic Emanations”. Usa uma abordagem geométrica que estima probabilisticamente a posição física a partir da diferença no tempo de chegada

  • Não entendo muito bem por que estão minimizando isso como se não fosse nada
    Do ponto de vista de segurança e espionagem, é bem significativo, e quer dizer que aprendizado por áudio chegou ao ponto de poder transformar dispositivos de escuta sensíveis, na prática, em keyloggers
    Em muitos contextos é muito mais fácil instalar um dispositivo de escuta de áudio do que realizar ataques de rede tradicionais, e com microfones shotgun modernos talvez nem seja preciso entrar no prédio
    Isso tem aplicações muito mais amplas do que roubo de senhas
    Sempre tive interesse nesse vetor de ataque e me perguntava se ele realmente chegaria a este ponto

    • Todos os canais laterais físicos possíveis, como Tempest, agora parecem se encaixar bem em abordagens de aprendizado de máquina
      Muito interessante
    • Fico me perguntando se reproduzir sons de digitação o tempo todo ajudaria
      Não sons abstratos, mas gravações reais de eu digitando naquele teclado, misturadas em frases ou sequências que soem realistas
      Se houvesse pausas muito curtas para permitir que o som real das teclas se misturasse, acho que ficaria muito difícil decifrar ou correlacionar com outros eventos, como o momento de digitar uma senha
      Melhor ainda seria deixar ruído branco tocando no ambiente; ouvi dizer que isso às vezes é feito em reuniões realmente importantes
      Se você não for uma pessoa tão importante assim, basta digitar coisas importantes apenas no celular. Espero que telas sensíveis ao toque não façam som suficiente
    • É preciso associar a entrada do microfone às teclas realmente digitadas e também ter volume suficiente para treinar o modelo
      Parece algo trivial
  • Interessante. Tenho muita curiosidade sobre quais características acústicas são reconhecidas
    Será algo mais próximo de uma impressão digital física de cada tecla, de modo que seria preciso atualizar o modelo ao trocar keycaps ou molas? É parecido com a identificação forense de máquinas de escrever antigas por inconsistências de fabricação?
    Ou as teclas em si são idênticas, mas, por causa do formato dos objetos ao redor, cada tecla produz um padrão de ressonância diferente dentro do teclado ou do notebook? Se você mudar o teclado de lugar no cômodo, precisa treinar o modelo de novo?
    Também tenho curiosidade se a força com que a tecla é pressionada não faz diferença nenhuma ou se faz bastante diferença
    Entre teclados, comparando as teclas finas de um MacBook e um teclado externo de altura completa, também fico curioso para saber em qual deles é mais fácil ou mais difícil identificar cada tecla

    • Expandindo, dá para olhar para (1) características da própria tecla, (2) características da tecla em comparação com outras teclas, (3) caminho de propagação do som e ambiente entre a tecla e o microfone, (4) relação entre a tecla e o dedo, e (5) relação entre a tecla e os dendritos associados
    • Acho que o estilo de digitação também importa
      A velocidade com que a pessoa alcança cada tecla, o ritmo, a tendência de bater com mais força em certas teclas etc. devem influenciar
      Parece mais um perfilamento da pessoa do que do teclado
  • Para referência, alguns — provavelmente a maioria dos softwares de videoconferência — removem sons de teclado do áudio.
    Em notebooks, isso se torna um problema especialmente distrativo porque o microfone fica bem ao lado das teclas.
    Tenho quase certeza de que o Zoom faz isso por padrão como parte da remoção de ruído. Como ele poderia usar eventos de keydown não só para o stream de áudio, mas também para ajudar na identificação, talvez seja ainda mais fácil.
    Só de deixar a remoção básica de ruído ativada, isso provavelmente já impediria esse tipo de ataque em videoconferências comuns.
    Por isso, não consigo pensar facilmente em uma situação em que isso seja uma ameaça realista sem que o atacante já tenha acesso físico suficiente para instalar um keylogger comum ou uma câmera escondida.

    • No Teams, com certeza parece não existir. Pelo menos não é o padrão, ou não é o padrão da minha empresa.
      Quando alguém começa a digitar durante uma chamada, dá para ouvir com muita nitidez.
    • Reuniões entre organizações, refeitórios com pessoas de vários escritórios, cafés etc. são cenários possíveis.
    • Acho que pode ser um problema se uma página web qualquer conseguir permissão de acesso ao microfone.
  • Georgi Gerganov já tinha feito um desses alguns anos atrás.
    https://github.com/ggerganov/kbd-audio

  • A imagem de exemplo mostra uma tecla sendo pressionada a cada 0,5 segundo, o que sugere uma digitação de dois dedos de cerca de 24 wpm.
    Desse jeito, o modelo obtém uma forma de onda muito limpa.
    Fico curioso se essa abordagem também funcionaria bem para digitadores médios ou rápidos. Pode ser muito mais difícil associar perfis sonoros a letras.

    • Mesmo com ambiguidades, é melhor do que não ter dado nenhum.
      Com dados de treinamento suficientes, acho que seria possível encontrar padrões repetíveis em digitadores padrão.
      Por exemplo, em um layout QWERTY, pode haver padrões de tempo por pares em que, depois de digitar “A”, “Q” leva de 1,2 a 2,3 vezes mais tempo para ser digitado do que “J”.
      Isso ajuda a reduzir o espaço de busca em vez de tentar todas as letras candidatas por força bruta.
      Se o alvo usar uma frase-senha, ao identificar com alta probabilidade algumas letras de referência, algo como “hXXXse battXXX stXXXXX cXXXXXX” pode se tornar interpretável.
    • A União Soviética conseguiu fazer escuta de sons de máquinas de escrever já nos anos 1970.
  • Depois de ver este texto, publiquei como open source um projeto inicial de uma variação dessa ideia: https://github.com/secretlessai/audio-mnist
    Há muito tempo eu tinha interesse em aplicar técnicas de classificação de imagens, como CNNs, a dados de áudio.
    Alguns anos atrás, como projeto de fim de semana, criei um dataset simples “audio-mnist” a partir de gravações de áudio de dígitos manuscritos, mas depois de alguns dias de trabalho não consegui avançar mais.
    Mesmo assim, fazia um tempo que eu pensava em publicar isso como open source, e este texto me fez agir.
    Se eu coletar mais dados e incluir exemplos básicos de CNN etc., isso pode ser um bom ponto de partida para várias pesquisas e ferramentas.
    O código separado para fazer as gravações e dividir o áudio ainda preciso encontrar e organizar de um jeito compreensível.
    Espero que ajude alguém para quem parte desse processo seja interessante ou útil.

  • Seria bom ter um teclado sem fio que funcionasse assim.
    Não precisaria de bateria, carregamento nem pareamento.

    • Alguns controles remotos antigos de TV funcionavam desse jeito.
      Era o controle Space Command, da Zenith, e dizem que é por isso que controles remotos de TV às vezes são chamados de “clicker”.
      https://www.theverge.com/23810061/zenith-space-command-remot...
    • Basta imaginar a experiência do usuário em que 1 de cada 20 caracteres digitados é inferido incorretamente.
      O impacto de probabilidade de falha × custo parece difícil de tolerar mesmo com uma melhora de uma ordem de grandeza na taxa de erro.
  • Agora é hora de injetar áudio de fundo em que eu digito “fuck you” nas chamadas do Zoom.

    • É só transformar texto em áudio de teclas, mas usando como texto o prompt de LLM “fanfic em pentâmetro jâmbico baseada em Love It or List It, da HGTV, com um corretor de imóveis Ewok e uma designer de interiores Klingon”.
      O objetivo é fazer o espião reavaliar completamente suas escolhas de vida e, quem sabe, acabar se envolvendo com a própria história.
    • Ou pode até facilitar a decodificação.
      Porque vira um bom ponto de referência.