
Boîte à outils pour tester l'établissement de sessions Bluetooth contre les attaques de secret de session passé et futur, utilisant le patch de firmware, l'analyse PCAP et des vérifications automatisées de vulnérabilités des appareils.
Ce dépôt contient le code lié à BLUFFS : attaques et défenses de secret avant et futur Bluetooth.
Bluetooth est une technologie omniprésente pour la communication sans fil. Des milliards d'appareils l'utilisent dans des applications sensibles et pour échanger des données privées. La sécurité de Bluetooth dépend de la norme Bluetooth et de ses deux mécanismes de sécurité : l'appairage et l'établissement de session. Aucun travail antérieur, y compris la norme elle-même, n'a analysé les garanties de secret avant et futur de ces mécanismes, par exemple si l'appairage et l'établissement de session Bluetooth défendent les sessions passées et futures lorsque l'adversaire compromet la session courante. Pour combler cette lacune, nous présentons six nouvelles attaques, définies comme les attaques BLUFFS, brisant le secret avant et futur des sessions Bluetooth. Nos attaques permettent l'usurpation d'appareil et l'interposition (machine-in-the-middle) entre les sessions en ne compromettant qu'une seule clé de session. Les attaques exploitent deux nouvelles vulnérabilités que nous découvrons dans la norme Bluetooth, liées à la dérivation de clé de session unilatérale et répétable. Comme les attaques affectent Bluetooth au niveau architectural, elles sont efficaces quels que soient les détails matériels et logiciels de la victime (par exemple, puce, pile, version et mode de sécurité).
Nous publions également BLUFFS, une boîte à outils à faible coût pour exécuter et vérifier automatiquement l'efficacité de nos attaques. La boîte à outils emploie sept correctifs originaux pour manipuler et surveiller la dérivation de clé de session Bluetooth en corrigeant dynamiquement un micrologiciel Bluetooth à code source fermé que nous avons rétro-ingénié. Nous montrons que nos attaques ont un impact critique et à grande échelle sur l'écosystème Bluetooth, en les évaluant sur dix-sept puces Bluetooth diverses (dix-huit appareils) provenant de fournisseurs matériels et logiciels populaires et en prenant en charge les versions Bluetooth les plus courantes. Motivés par nos résultats empiriques, nous développons et testons avec succès une fonction de dérivation de clé améliorée pour Bluetooth qui arrête de par sa conception nos six attaques et leurs quatre causes profondes. Nous montrons comment intégrer efficacement notre correctif dans la norme Bluetooth et discutons de mesures d'atténuation alternatives au niveau de l'implémentation. Nous avons divulgué de manière responsable nos contributions au Bluetooth SIG.
@inproceedings{antonioli23bluffs,
title={{BLUFFS: Bluetooth Forward and Future Secrecy Attacks and Defenses}},
author={Antonioli, Daniele},
booktitle={ACM conference on Computer and Communications Security (CCS)},
month={November},
year={2023}
}
CVE 2023-24023, Slides ACM CCS'23.
Naviguez vers le répertoire pcap. Utilisez la commande suivante pour analyser les échantillons pcap :
wireshark file.pcap
Le dossier checker contient l'analyseur. Pour utiliser l'analyseur, exécutez :
python checker/parser.py [arguments]
Pour tester si un appareil victime est vulnérable aux attaques BLUFFS, lisez la section 6.1 de l'article et corrigez l'appareil attaquant en utilisant :
python device/bluffs.py
Les correctifs individuels sont également fournis dans des fichiers *.s dédiés.
Contient le fichier asm.py corrigé ajoutant le drapeau --no-warn-rwx-segment à ldflags pour
éviter une erreur ld avec les versions récentes de arm binutils. Sur Linux, le fichier
doit être copié vers : /usr/lib/python2.7/site-packages/pwnlib.