Vulnerabilidade de segurança na conexão rápida dos AirPods
(blogs.gnome.org)- Por causa da CVE-2024-27867 no firmware dos AirPods, alguém que conheça o endereço MAC Bluetooth pode se conectar ao dispositivo para ouvir o microfone ou reproduzir música
- A vulnerabilidade ocorre porque, no caminho do Fast Connect, protocolo proprietário da Apple, o estado de autenticação e criptografia não é verificado explicitamente
- O endereço MAC Bluetooth necessário para o ataque não é totalmente privado e pode ser obtido por rádio quando o dispositivo está em modo de pareamento ou quando os AirPods estão ativos
- Se os AirPods estiverem dentro do estojo de recarga fechado, ou os AirPods Max dentro do Smart Case, a função sem fio é desativada e a própria conexão se torna impossível
- A Apple distribuiu atualizações de firmware para AirPods e alguns Beats, mas usuários de Android, Windows e Linux que os usam sem iOS ou macOS podem ter um procedimento de atualização mais trabalhoso
Vulnerabilidade no firmware dos AirPods e escopo do impacto
- Há uma vulnerabilidade de segurança CVE-2024-27867 no firmware dos Apple AirPods
- Quem souber o endereço MAC Bluetooth pode se conectar aos AirPods e realizar as seguintes ações
- Ouvir o microfone
- Reproduzir música
- Verificar e pausar a música em reprodução em outro dispositivo conectado
- Executar algumas ações compatíveis com o protocolo AAP
- Enviar mensagens malformadas para causar crash nos AirPods
- Mesmo que os AirPods já estejam conectados a um celular, o invasor pode se conectar adicionalmente
- Porém, se o invasor ligar o microfone, a reprodução de música será interrompida
- Se os AirPods estiverem dentro do estojo de recarga fechado, ou se os AirPods Max estiverem dentro do Smart Case, a função sem fio é desativada e nenhuma conexão é possível
Como a vulnerabilidade foi descoberta
- Os AirPods 3 funcionavam naturalmente com vários recursos na combinação de macOS e dispositivos Apple, mas, ao inicializar o mesmo notebook com Linux, eles não se conectavam simultaneamente ao celular e ao notebook
- Por causa dessa diferença, supôs-se que havia um protocolo exclusivo da Apple não presente em fones Bluetooth comuns, e a análise começou para reimplementar alguns recursos no Linux
- Durante a análise, foi encontrada uma vulnerabilidade no recurso Fast Connect da Apple para conectar periféricos Bluetooth
Como o Fast Connect funciona
- O Fast Connect é um protocolo proprietário da Apple e usa de forma criativa a função ping da especificação Bluetooth
- O objetivo é reduzir o tempo de estabelecimento de conexão entre dois dispositivos Apple de cerca de 1 segundo para cerca de 0,5 segundo
- Antes de se autenticar com o dispositivo de destino, os dois dispositivos trocam mensagens L2CAP ping
- A Apple coloca mensagens do protocolo dentro do payload do ping
- Dessa forma, verifica se ambos os lados oferecem suporte ao Fast Connect sem violar a especificação Bluetooth
- Depois disso, são feitas negociações necessárias para a conexão em mais 3 mensagens adicionais de ida e volta
- Como o total é de apenas 4 mensagens de ida e volta, o processo é mais rápido do que o procedimento de uma conexão Bluetooth comum, que troca descritores SDP e configura canais
Falta de verificação de autenticação
- O problema é que uma verificação importante ficou ausente no caminho de código separado que implementa o Fast Connect
- Os AirPods não verificam se a outra parte da conexão realmente se autenticou e ativou a criptografia
- Em condições normais, iOS e macOS executam a etapa de autenticação e ativação da criptografia depois da mensagem inicial do Fast Connect
- Mesmo que um invasor pule essa etapa, os AirPods continuam o procedimento de Fast Connect
- Ao conectar aos AirPods pelo método Bluetooth comum, sem Fast Connect, a etapa de autenticação fica implicitamente incluída; por isso, é possível que a verificação explícita tenha ficado ausente no caminho de código do Fast Connect
Condição do endereço MAC Bluetooth
- O invasor precisa conhecer o endereço MAC Bluetooth fixo dos AirPods
- Esse endereço não é uma informação totalmente privada
- Ele é anunciado por rádio quando o dispositivo Bluetooth está em modo de pareamento
- Quando os AirPods estão ativos, pode ser obtido facilmente pelo sinal de rádio com hardware como o Ubertooth One
Atualizações e o problema para usuários fora do ecossistema Apple
- Nos últimos dias, a Apple distribuiu várias atualizações de firmware que corrigem essa vulnerabilidade
- Os modelos contemplados são AirPods 2, AirPods 3, AirPods Pro, AirPods Pro 2, AirPods Max e alguns fones Beats
- Usuários devem verificar se o firmware dos AirPods está atualizado
- Informações sobre atualizações de segurança: página de segurança da Apple
- Como atualizar: guia de atualização de firmware dos AirPods
- O firmware dos AirPods é atualizado automaticamente, mas apenas quando usado com um iPhone ou MacBook
- Quem usa AirPods sem um dispositivo iOS ou macOS, como usuários de Android, Windows ou Linux, pode ter dificuldade para atualizar facilmente o firmware
- Ao que parece, esses usuários podem receber a atualização de firmware em uma Apple Store
Relato e ferramentas
- Jiska Classen, da University of Potsdam, ajudou com perguntas relacionadas a Bluetooth e com o processo de divulgação pública
- Ferramentas da comunidade Linux, como o BlueZ, foram necessárias para encontrar esse problema
1 comentários
Opiniões do Hacker News
Gostaria de saber quais fatores determinam a unidade de tempo desse processo
No fim, o handshake que verifica quais recursos os dois lados suportam e decide qual protocolo de camada física usar acaba consumindo tempo
Existem alguns apps de terceiros, mas são pouco confiáveis; felizmente, no Mac dá para fazer a maior parte disso, mas o teste de encaixe só exige um iPhone. A atualização de firmware não pode ser controlada pelo usuário e não há nenhuma informação de status ou progresso, tornando tudo o mais confuso possível
Uma vez, um funcionário de suporte da Apple Store disse para “colocar os AirPods no estojo aberto enquanto conectados ao Mac, conectar o estojo à energia e deixá-los assim por cerca de 30 minutos”, mas, na prática, parece haver bastante aleatoriedade na atualização. Os funcionários da Apple Store também pareciam ter um conhecimento às vezes bem vago sobre a integração entre produtos Apple que não fossem o iPhone, e ficaram surpresos duas vezes ao saber que eu usava AirPods só com Mac e Android, sem iPhone
https://support.apple.com/en-us/106340
A versão dos EUA mostra números de firmware mais recentes diferentes; por exemplo, o AirPods Pro de 2ª geração está em 6F8, enquanto a versão indiana mostra 6B34
Fico aguardando um artigo de continuação sobre a implementação no Linux
Gostaria que houvesse mais controle sobre as atualizações
https://support.apple.com/en-us/106340
É verdade que mais de 95% dos usuários de AirPods não precisam saber de atualizações de firmware, mas quem se importa com isso deveria ter uma forma de verificar o que está acontecendo
Normalmente não é um grande problema, mas já recebi firmware dos AirPods com alguns dias de atraso, e pode chegar um momento em que uma atualização imediata seja importante
Se o método envolve derrubar uma conexão existente, parece difícil escutar uma chamada ou um stream de áudio sem o usuário perceber. Não sei se o pior cenário é escanear endereços MAC a curta distância, conectar automaticamente e tocar ruído no ouvido da pessoa, ou se há um problema maior
Talvez seja possível “sequestrar” os AirPods de uma celebridade importante ou de um político durante uma videochamada, mas isso provavelmente seria percebido imediatamente; fico me perguntando se há algo pior que isso
Além disso, assumir o controle de uma conexão Bluetooth dá uma superfície de ataque bem ampla, então, se o atacante souber de outras vulnerabilidades, abre-se o caminho para uma cadeia de exploits adicional
Como o protocolo “Fast Connect” parece permitir “conexão” com vários dispositivos ao mesmo tempo, o usuário provavelmente não perceberia. Outro ataque seria espalhar dispositivos em formato de porta-copos pelo escritório, como se fossem deixados pela equipe de limpeza, para capturar o áudio de AirPods próximos
A parte essencialmente difícil já estaria resolvida; bastaria criar um dispositivo com uma bateria pequena, transmissor Bluetooth e armazenamento para coletar áudio de alta qualidade perto de onde as pessoas conversam
Ainda assim, como é preciso estar dentro do alcance do Bluetooth, talvez seja mais fácil simplesmente bisbilhotar do jeito comum
Se não tivesse sido corrigido, alguém teria criado um app de interferência de AirPods para Flipper Zero para cortar o áudio dos AirPods de todo mundo em locais públicos e irritar as pessoas
6A326 parece ser a versão que inclui a correção
https://support.apple.com/en-us/HT214111
Provavelmente é a versão para o AirPods Pro de 2ª geração