Os chips da Broadcom são usados em aproximadamente bilhões de dispositivos, como todos os iPhones , MacBooks , a série Samsung Galaxy S , a série mais antiga do Google Nexus , o ThinkPads mais antigos, o Raspberry Pis , vários dispositivos de IoT e muito mais. Em 2016, o Cypress adquiriu a Divisão IoT da Broadcom . Desde então, as variantes de firmware divergiram um pouco, pois a Broadcom mantinha clientes não-IT como Apple e Samsung . No entanto, o mecanismo de interação e atualização do firmware permaneceu o mesmo. Nós engenhamos como os sistemas operacionais corrigimos esse firmware e interagem com ele. Com base nisso, desenvolvemos uma estrutura de experimentação Bluetooth, capaz de corrigir o firmware. Isso permite vários recursos que, de outra forma, só seriam possíveis com uma implementação de rádio definida por software de pilha completa, como injeção e monitoramento de pacotes na camada de link.
A InternalBlue não foi usada não apenas para nossa própria pesquisa no Laboratório de Networking para Móveis (LEAELEO). Além disso, o protótipo de ataque de botão e viés foi implementado usando mensagens LMP do InternalBlue e os ataques de Sweyntooth também experimentaram o InternalBlue para criar mensagens LCP. Observe que, em contraste com ferramentas como Btlejack ou Ubertooth, o InternalBlue não tem como objetivo executar ataques de máquina no meio. No entanto, o dispositivo que executa o InternalBlue pode enviar pacotes arbitrários e também injetar -os em conexões existentes. Durante o monitoramento, todos os pacotes recebidos pelo dispositivo executando o InternalBlue são capturados e não há perda de pacotes. O InternalBlue não tem problemas com a análise de conexões criptografadas ou Bluetooth clássico. Se você tiver solicitações de recursos específicas para sua pesquisa de segurança, fique à vontade para abrir um ingresso.
Além da pesquisa de segurança, o InternalBlue também abre possibilidades para análises adicionais, como estatísticas e melhorias de desempenho de baixo teor de energia do Bluetooth. Qualquer coisa que possa ser aprimorada em uma pilha Bluetooth pode ser testada diretamente em dispositivos prontos para uso.
Nossa pesquisa recente apresenta Frankenstein, que emula o firmware, incluindo interruptores de threads e entrada do modem virtual. O firmware emulado pode ser conectado a um host Linux . Assim, a abordagem é de pilha completa. Nós o usamos principalmente para fuzzing e encontramos vulnerabilidades que incluem respostas a serem acionadas. Frankenstein está em um repositório separado, mas depende do InternalBlue para tirar instantâneos do estado etc. em um dispositivo físico.
Além disso, acabamos de publicar Polypyus. Permite difcisão binária apenas binária, independente de Ida e Ghidra . No entanto, ele se integra a esse fluxo de trabalho, identificando bons pontos de partida para análises adicionais. Já tentamos em vários firmware Broadcom Wi-Fi e Bluetooth.
Procurando nossas medições de gerador de números aleatórios que fizemos na análise do CVE-2020-6616? Você pode encontrá -los aqui.
Existem também alguns ganchos mais dinâmicos para HCI com FRIDA no iOS e Android. Usamos isso para estudar o comportamento de alerta na interface do usuário em ataques de MITM. Provavelmente útil para muitos outros experimentos, no entanto.
Devido a espectros ?? Os comandos de gravação e leitura RAM estão desativados após a inicialização do driver. As soluções alternativas para isso são descritas nas instruções de acordo com o Android e iOS , o desvio para outros dispositivos seguirão se necessário.
Copyright 2018-2021 The Internalblue Team
A permissão é concedida, gratuita, a qualquer pessoa que obtenha uma cópia deste software e arquivos de documentação associados (o "software"), para lidar com o software sem restrição, inclusive sem limitação os direitos de usar, copiar, modificar, mesclar, publicar, distribuir, mobilizar o software e/ou vender cópias do software e permitir que as pessoas a quem
O aviso de direitos autorais acima e este aviso de permissão devem ser incluídos em todas as cópias ou em partes substanciais do software.
O software é fornecido "como está", sem garantia de qualquer tipo, expresso ou implícito, incluindo, entre outros, as garantias de comercialização, aptidão para uma finalidade específica e não innoculação. Em nenhum caso os autores ou detentores de direitos autorais serão responsáveis por qualquer reclamação, danos ou outro passivo, seja em uma ação de contrato, delito ou não, decorrente de, fora ou em conexão com o software ou o uso ou outras negociações no software.