- A Creative Sound Blaster Katana V2X pode ser transformada por um atacante dentro de um alcance Bluetooth de cerca de 15 m em um dispositivo de vigilância ou em um Rubber Ducky remoto, executando comandos CTP e atualizações de firmware sem pareamento nem contato físico
- O CTP via USB exige autenticação challenge-response baseada em chave estática, mas o caminho via Bluetooth aceita os mesmos comandos CTP sem autenticação por uma characteristic GATT, permitindo leitura de informações e alteração de configurações
- O contêiner de firmware é composto por
FBOOT,FMAINeCHK2, e aceita firmware modificado desde que apenas o checksum SHA-256CHK2corresponda, sem verificação de assinatura - A PoC enviou firmware customizado por BLE durante cerca de 10 minutos e, após reiniciar, a caixa de som passou a agir como um teclado HID USB, digitando e executando
echo pwned - A Creative, após contato via SingCERT, afirmou que isso “não apresenta risco de cibersegurança” e não tratou o caso como vulnerabilidade; o firmware mais recente continua vulnerável e há apenas um patch não oficial que bloqueia CTP-over-Bluetooth
Essência da vulnerabilidade
- A Katana V2X é uma soundbar conectada ao PC por USB, e o app da Creative altera configurações como DSP, LEDs e fonte de saída usando CTP
- Para enviar comandos CTP via USB, é preciso passar antes por uma autenticação challenge-response, e a chave é um valor estático que pode ser derivado do binário incluído no Creative App
- As atualizações de firmware também são feitas sobre CTP, e a imagem inicial de firmware foi extraída capturando o tráfego USB com Wireshark
- No Bluetooth Low Energy, em alguns casos é possível conectar ao dispositivo e ler/escrever characteristics GATT sem pareamento; o pareamento cria criptografia, mas nem sempre é necessário para a conexão em si
- Dentro do firmware da Katana V2X, o handler interno de CTP estava ligado não só ao USB como também ao Bluetooth; ao escrever
5a 09 01 02na characteristic9e9daaec-3a10-4fe8-b69f-7397aff77886a partir de um notebook, foi possível ler a string completa da versão do firmware na characteristic9e9daaeb-3a10-4fe8-b69f-7397aff77886
Verificação de firmware e cadeia de ataque OTA
- O contêiner de firmware inclui
FBOOT, ligado ao modo de recuperação, o firmware principalFMAIN, executado no boot normal, eCHK2, um checksum SHA-256 de todo o contêiner FBOOTeFMAINsão código baseado em FreeRTOS, como indica a string/home/jieyi/mcuos2.5/kernel/freertos-8.2.3/, eFMAINé cerca de 6,5 vezes maior queFBOOT- O dispositivo aceitava firmware alterado desde que
CHK2estivesse correto; ao gravar um firmware em que a stringWELCOMEfoi trocada porPATCHED, o display segmentado mostrouPATCHEDna inicialização - Um script Python que reimplementou o mesmo procedimento de atualização de firmware por BLE enviou firmware customizado sem pareamento nem autenticação, levando cerca de 10 minutos para concluir por causa da velocidade do BLE
- A caixa de som tem microfone, então existe a possibilidade teórica de que um firmware customizado funcione como um dispositivo furtivo de monitoramento, ouvindo conversas e transmitindo-as por Bluetooth a um destinatário
Método de injeção via teclado USB
- A Katana V2X opera, na configuração normal, como um dispositivo confiável conectado ao PC por USB
- O dispositivo ainda não é um teclado completo, mas já se configura como um dispositivo HID Consumer Control para controles de mídia como volume e reproduzir/pausar
- Foi possível adicionar um segundo item de report descriptor USB no firmware para que o dispositivo também passasse a ser reconhecido como teclado
- Já existia no firmware uma rotina para enviar dados HID, que podia ser chamada passando os dados de tecla pressionada e tecla solta para emitir entradas de teclado
- Em vez de desviar o fluxo de execução por caminhos complexos, foi sobrescrita a tarefa
diagnosticdo FreeRTOS, que aparentemente não fazia nada importante no uso normal, para executar código customizado no boot - Essa tarefa esperava cerca de 20 segundos pela inicialização do subsistema USB, depois digitava
echo pwnedem intervalos de cerca de 20 ms, pressionava Enter e então encerrava - O patch final era composto por 83 bytes de report USB, 102 bytes de assembly ARM/Thumb para o injetor de teclas e 2 bytes para cada tecla a ser enviada
- Em um ataque real, seria possível abrir um programa como
powershell.exee colar um comando malicioso de uma linha; se o atacante desativar as rotinas de atualização de firmware nos modos normal e de recuperação, pode tornar impossível remover o firmware malicioso e aplicar futuros patches - O Bluetooth da caixa de som fica sempre ligado, mesmo em modo de economia de energia, e não parece haver forma de desativá-lo
Mitigação e histórico de divulgação
- A Creative não tinha um contato público de segurança, e mesmo meios gerais de contato eram difíceis de encontrar além do formulário de suporte no site
- Após duas tentativas de contato pelo formulário de suporte, a SingCERT entrou como mediadora
- A Creative respondeu à SingCERT quase dois meses depois, dizendo que “não apresenta risco de cibersegurança” e por isso não considerava o caso uma vulnerabilidade
- Não há patch fornecido pela Creative, e o firmware mais recente segue vulnerável
- A mitigação não oficial bloqueia CTP-over-Bluetooth no firmware, mas essa mudança provavelmente quebra o app móvel da Creative
- v2x-patcher baixa o firmware oficial dos servidores da Creative, aplica o patch em memória e depois o envia por USB para uma Katana V2X conectada
- Todos os testes e a engenharia reversa foram realizados na versão de firmware
1.3.230619.1820
Detalhes de engenharia reversa
FMAIN.binnão era uma imagem única, mas uma estrutura scatter-loaded, em que diferentes offsets do arquivo são carregados em endereços diferentes- A análise automática no Ghidra exigia o endereço-base correto e um mapa de memória adequado; depois da inferência e da aplicação de um layout validado por leitura de memória do dispositivo, a análise passou a produzir resultados válidos
- Ponteiros para strings não eram carregados diretamente, mas por pares
movwemovt; um script que encontrava pares carregados no mesmo registrador e criava referências DATA quando apontavam para memória válida gerou cerca de 13 mil referências - Para testar sem regravar o firmware toda vez, foi sobrescrito o handler de echo do opcode CTP
0x54para processar comandos de leitura, escrita e execução - O handler customizado final tinha 96 bytes e coube dentro do tamanho aproximado de 106 bytes do handler original
- Ao executar várias entradas de teclado com
mem-execno contexto da tarefa de processamento USB, os atrasos devTaskDelayse acumulavam e o dispositivo reiniciava por causa do watchdog por tarefa - Ao invés de chamar o código de teclado diretamente da tarefa USB, a injeção foi feita na tarefa de serviço
diagnostic, eliminando o problema com o watchdog
1 comentários
Comentários no Hacker News
É engraçado ver comentários de gente que claramente não leu o texto direito, ou nem leu. Isso aqui é basicamente uma situação de bucket S3 público numa placa de dispositivo Bluetooth
Ainda assim, o trabalho em si é realmente muito bom. Eu imaginava que seria bem mais difícil transformar um dispositivo conectado por USB em um vetor de ataque, mas é até engraçado que dê para fazer isso simplesmente fingindo ser um teclado, abrindo um terminal local e executando comandos maliciosos. Não seria um terminal com privilégios de administrador, então o dano seria limitado até certo ponto, mas no Windows muitos usuários simplesmente clicam para passar pelo prompt do UAC, então parece bem possível conseguir acesso total em muitos PCs
Segundo o e-mail da SingCERT, o fabricante teria dito: “isso não é considerado uma vulnerabilidade, porque não cria um risco de cibersegurança”. Ou seja, poder gravar firmware arbitrário por via sem fio num dispositivo conectado via USB ao computador de outra pessoa, sem nem precisar de pareamento, não seria uma falha de segurança
Isso faz pensar em quantas outras empresas de periféricos provavelmente operam, na prática, sem equipe de segurança alguma. Deve haver muito mais vulnerabilidades assim que só ainda não foram descobertas. Meu irmão uma vez acordou às 2 da manhã porque crianças da vizinhança se conectaram a um alto-falante Bluetooth e ficaram repetindo som de peido no volume máximo; isso é só a ponta do iceberg do uso malicioso de Bluetooth
Por definição, sempre existem vulnerabilidades de baixo risco porque o impacto é baixo ou a probabilidade é baixa. CVEs têm pontuação, mas o risco real e a aceitabilidade do risco antes e depois da mitigação dependem do caso de uso. “Sem risco => sem vulnerabilidade” é um raciocínio errado por construção; no máximo dá para concordar com “sem vulnerabilidade => sem risco”
Mas é estranho que a interface de regravação esteja exposta via Bluetooth. Até onde eu sei, para parear com um alto-falante é preciso acesso físico
Correção: eu estava errado. Isso é um endpoint BTLE que funciona sem pareamento. Nesse caso, é uma vulnerabilidade absurda. Espero que corrijam isso sem retirar a capacidade de executar o próprio software
O texto é bem escrito e fácil de entender, então vale a pena ao menos passar os olhos
Em resumo, o autor encontrou uma forma de fazer regravação arbitrária de firmware via Bluetooth na soundbar Creative Sound Blaster Katana V2X, sem necessidade de autenticação real nem de interação do usuário
Como essa soundbar se conecta diretamente ao computador hospedeiro por USB, foi possível adicionar descritores ao firmware para que ela fosse reconhecida como um teclado. A partir daí, ficou simples enviar teclas ao PC. A soundbar também tem microfone, então um invasor poderia transformá-la em um dispositivo de escuta
O caso foi reportado à Creative e à SingCERT, mas a empresa só respondeu dois meses depois dizendo que “não considera isso uma vulnerabilidade porque não cria um risco de cibersegurança”
O autor publicou um patcher de firmware que desabilita o protocolo de transporte defeituoso. É uma abordagem meio bruta, que pode até quebrar funções do app oficial via Bluetooth, mas parece ser o melhor que dá para fazer sem cooperação do fabricante
Mesmo fabricantes antigos com frequência constroem primeiro o dispositivo e depois tratam o software como algo secundário, colado por cima. Quase não dão atenção nem à segurança, nem a patches, atualizações e ao ciclo de vida de software dentro de um ecossistema em mudança
Já vi até casos em que a marca terceirizou o software para uma pequena empresa de desenvolvimento, e depois essa empresa fechou, sumiu ou abandonou o negócio, de modo que o fabricante nem sequer tinha o código-fonte. Aí ele perde totalmente a capacidade de melhorar ou corrigir o software que faz o aparelho funcionar, e depois começam a se empilhar camadas de middleware, UI e gambiarras de integração
Na prática, suspeito que não poucos desses firmwares nem tenham sido escritos por um “pequeno terceirizado”, mas por algo mais próximo de um hacker da cadeia de suprimentos
Por que pensar tão pequeno? Dá até para usar o próprio alto-falante como atacante
Qualquer script kiddie usando LLM conseguiria criar um worm que se espalhasse pela cadeia de suprimentos. Também daria para hackear os alto-falantes já no chão da fábrica e fazê-los tocar algo como um Rickroll
Fico curioso se, nesse caso, a Creative ainda diria que isso “não cria um risco de cibersegurança”
E, de bônus, se ao fechar o buraco de segurança eles também desativarem a capacidade legítima de gravar firmware, o fabricante vai ter de fazer jailbreak no alto-falante para consertá-lo, o que rende pontos extras
Não parece nada bom que, por o fabricante não considerar isso uma vulnerabilidade, o autor tenha precisado publicar um patch de terceiros
Para virar vítima, você precisa ter esse dispositivo, o atacante precisa saber disso, e ainda precisa estar por perto. Basta lembrar da fala de Fight Club
A = número de alto-falantes em campo
B = porcentagem suscetível de ser hackeada
C = valor médio de acordo extrajudicial
Decisão: se o custo de não fazer recall ou reparo for maior que o custo do recall, começa-se o recall. O maior custo seria as pessoas deixarem de comprar os alto-falantes no futuro, mas isso não parece provável
Se eu comandasse uma organização como o Mossad, gastaria uma boa parte do orçamento comprando todos os dispositivos Bluetooth do mercado e colocaria recém-formados israelenses em ciência da computação sem muito o que fazer para procurar vulnerabilidades desse tipo, transformando isso numa coleção de ferramentas fácil de implantar
Por exemplo, eu provavelmente iria querer que um ativo com acesso a escritórios do governo iraniano andasse pelo prédio com um celular na mão e comprometesse o maior número possível de computadores. Pensando bem, provavelmente é melhor assumir que eles já fazem isso
Na prática, é quase como um mestrado totalmente socializado em engenharia da computação, e, por ser uma organização de inteligência de sinais, eles aprendem esse tipo de coisa. Quando terminam 2 ou 3 anos de serviço, não têm dívida estudantil, o governo oferece bastante capital semente para startups, e o ecossistema de TLV funciona como uma pequena Bay Area
Morar com os pais também é mais aceito socialmente, então uma parcela considerável das pessoas na faixa dos 20 anos não tem dívidas, tem gastos mensais baixos, fortes capacidades técnicas adquiridas no serviço militar, está em um polo de criação de startups e tem bom acesso a capital. O resultado é uma quantidade enorme de unicórnios, especialmente em cibersegurança (https://www.techaviv.com/unicorns)
Em comparação com os EUA, lá a pessoa precisa se dedicar a uma graduação de 4 anos, assumir grandes dívidas, pagar aluguel e penar para conseguir capital semente. A mentalidade de “dá para aproveitar um pouco os restos de um sistema quebrado” perde de vista a perspectiva de simplesmente ter um sistema bem-sucedido desde o início
Eu ficaria bem surpreso se isso já não fosse prática padrão. Dito isso, talvez a produtividade seja menor do que parece e não valha o esforço. Ainda assim, este caso sugere que pode render bastante, e seria preciso comparar com outras abordagens de agências de inteligência das quais não sabemos
O que é mais fácil: marketing ou caça a bugs? :-)
Eu escrevo firmware, especialmente firmware para dispositivos com suporte a Bluetooth, e a empresa bloqueou este site
Quem ama tecnologia compra uma caixa de som ultrainteligente que se conecta a todos os computadores da casa e até controla uma cafeteira ultrainteligente para passar café fresco quando toca Miles Davis
Quem entende de tecnologia deixa um machado ao lado da torradeira
Já estou até ansioso pelo vídeo de algum canal meia-boca sobre isso aparecer na minha página inicial do YouTube em uns 4 dias úteis