Les puces Broadcom sont utilisées dans environ un milliard d'appareils, tels que tous les iPhones , MacBooks , la série Samsung Galaxy S , l'ancienne série Google Nexus , les ThinkPads plus âgés, les Raspberry Pis , divers appareils IoT, et plus encore. En 2016, Cypress a acquis la division IoT de Broadcom . Depuis lors, les variantes du firmware ont légèrement divergé, car Broadcom a gardé des clients non iot comme Apple et Samsung . Cependant, le mécanisme d'interaction et de mise à jour du micrologiciel est resté le même. Nous avons inversé la façon dont les systèmes d'exploitation corrigent ce firmware et interagissent avec lui. Sur la base de cela, nous avons développé un cadre d'expérimentation Bluetooth, qui est capable de corriger le firmware. Cela permet de diverses fonctionnalités qui autrement ne seraient possibles qu'avec une implémentation radio définie par logiciel complète, telles que l'injection et la surveillance des paquets sur la couche de liaison.
InternalBlue n'a pas seulement été utilisé pour nos propres recherches au Secure Mobile Networking Lab (Searoo). De plus, le prototype d'attaque du bouton et du biais a été implémenté à l'aide de messages LMP interne et les attaques Sweyntooth ont également expérimenté Internalblue pour l'élaboration de messages LCP. Notez que contrairement à des outils comme Btlejack ou Ubertooth, InternalBlue ne vise pas à effectuer des attaques machine dans le milieu. Cependant, l'appareil exécutant InternalBlue peut envoyer des paquets arbitraires et également les injecter dans les connexions existantes. Pendant la surveillance, tous les paquets reçus par l'appareil exécutant InternalBlue sont capturés et il n'y a pas de perte de paquets. InternalBlue n'a aucun problème avec l'analyse des connexions cryptées ou du Bluetooth classique. Si vous avez des demandes de fonctionnalités spécifiques pour vos recherches sur la sécurité, n'hésitez pas à ouvrir un billet.
En plus de la recherche sur la sécurité, Internalblue ouvre également des possibilités pour une analyse plus approfondie telle que les statistiques Bluetooth à faible performance énergétique et les améliorations. Tout ce qui peut être amélioré dans une pile Bluetooth peut être testé directement sur des périphériques standard.
Notre recherche récente présente Frankenstein, qui émule le firmware, y compris les commutateurs de threads et l'entrée du modem virtuel. Le firmware émulé peut être attaché à un hôte Linux . Ainsi, l'approche est complète. Nous l'avons principalement utilisé pour le fuzzing et avons trouvé des vulnérabilités qui incluent les réponses hôtes à déclencher. Frankenstein est dans un référentiel séparé, mais dépend de InternalBlue pour prendre des instantanés d'état, etc. sur un appareil physique.
De plus, nous venons de publier Polypyus. Il permet une diffusion binaire binaire uniquement, indépendante de l'IDA et du Ghidra . Cependant, il s'intègre dans ce flux de travail en identifiant de bons points de départ pour une analyse plus approfondie. Nous l'avons déjà essayé sur divers firmware Wi-Fi Broadcom et Bluetooth.
Vous cherchez nos mesures de générateur de nombres aléatoires que nous avons effectuées dans l'analyse de CVE-2010-6616? Vous pouvez les trouver ici.
Il existe également des crochets plus dynamiques pour HCI avec Frida sur iOS et Android. Nous l'avons utilisé pour étudier le comportement d'avertissement dans l'interface utilisateur lors des attaques MITM. Probablement utile pour beaucoup d'autres expériences, cependant.
En raison de spectres ?? Les commandes d'écriture et de lecture RAM sont désactivées après l'initialisation du pilote. Des solutions de contournement pour cela sont décrites dans les instructions Android et iOS selon, les contournements pour d'autres appareils suivront si nécessaire.
Copyright 2018-2021 L'équipe interneBlue
L'autorisation est accordée gratuitement à toute personne qui obtient une copie de ce logiciel et des fichiers de documentation associés (le "logiciel"), pour traiter le logiciel sans restriction, y compris sans limiter les droits d'utilisation, de copie, de modification, de fusion, de publication, de distribution, de sublince et / ou de vendre des copies des conditions suivantes.
L'avis de droit d'auteur ci-dessus et le présent avis d'autorisation sont inclus dans toutes les copies ou des parties substantielles du logiciel.
Le logiciel est fourni "tel quel", sans garantie d'aucune sorte, express ou implicite, y compris, mais sans s'y limiter, les garanties de qualité marchande, d'adéquation à un usage particulier et de non-contrefaçon. En aucun cas, les auteurs ou les détenteurs de droits d'auteur ne seront pas responsables de toute réclamation, dommage ou autre responsabilité, que ce soit dans une action de contrat, de délit ou autre, découlant de, hors du logiciel ou de l'utilisation ou d'autres relations dans le logiciel.