Novo ataque acústico rouba dados de digitação com 95% de precisão
(bleepingcomputer.com)- 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
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
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
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
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
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
Muito interessante
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
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
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.
Quando alguém começa a digitar durante uma chamada, dá para ouvir com muita nitidez.
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.
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.
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.
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...
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.
O objetivo é fazer o espião reavaliar completamente suas escolhas de vida e, quem sabe, acabar se envolvendo com a própria história.
Porque vira um bom ponto de referência.