
Toolkit zum Testen des Bluetooth-Sitzungsaufbaus gegen Angriffe auf Forward- und Future-Secrecy mittels Firmware-Patching, PCAP-Analyse und automatisierter Schwachstellenprüfungen von Geräten.
Dieses Repository enthält Code zu BLUFFS: Bluetooth Forward and Future Secrecy Attacks and Defenses.
Bluetooth ist eine allgegenwärtige Technologie für drahtlose Kommunikation. Milliarden von Geräten nutzen sie in sensiblen Anwendungen und zum Austausch privater Daten. Die Sicherheit von Bluetooth hängt vom Bluetooth-Standard und seinen zwei Sicherheitsmechanismen ab: Pairing und Sitzungsaufbau. Keine frühere Arbeit, einschließlich des Standards selbst, hat die Zukunfts- und Vorwärtssicherheitsgarantien dieser Mechanismen analysiert, z. B. ob Bluetooth-Pairing und Sitzungsaufbau vergangene und zukünftige Sitzungen verteidigen, wenn der Angreifer die aktuelle Sitzung kompromittiert. Um diese Lücke zu schließen, präsentieren wir sechs neuartige Angriffe, die als BLUFFS-Angriffe bezeichnet werden und die Vorwärts- und Zukunftssicherheit von Bluetooth-Sitzungen brechen. Unsere Angriffe ermöglichen Geräte-Identitätsanmaßung und Maschine-in-der-Mitte über Sitzungen hinweg, indem sie nur einen Sitzungsschlüssel kompromittieren. Die Angriffe nutzen zwei neuartige Schwachstellen im Bluetooth-Standard, die wir entdeckt haben und die mit einseitiger und wiederholbarer Sitzungsschlüsselableitung zusammenhängen. Da die Angriffe Bluetooth auf architektonischer Ebene betreffen, sind sie unabhängig von den Hardware- und Softwaredetails des Opfers (z. B. Chip, Stack, Version und Sicherheitsmodus) wirksam.
Wir veröffentlichen außerdem BLUFFS, ein kostengünstiges Toolkit, um unsere Angriffe durchzuführen und ihre Wirksamkeit automatisch zu überprüfen. Das Toolkit verwendet sieben neuartige Patches, um die Bluetooth-Sitzungsschlüsselableitung zu manipulieren und zu überwachen, indem es eine Closed-Source-Bluetooth-Firmware, die wir reverse-engineert haben, dynamisch patcht. Wir zeigen, dass unsere Angriffe eine kritische und weitreichende Auswirkung auf das Bluetooth-Ökosystem haben, indem wir sie auf siebzehn verschiedenen Bluetooth-Chips (achtzehn Geräte) von populären Hardware- und Softwareanbietern bewerten und die gängigsten Bluetooth-Versionen unterstützen. Motiviert durch unsere empirischen Erkenntnisse entwickeln und testen wir erfolgreich eine verbesserte Schlüsselableitungsfunktion für Bluetooth, die unsere sechs Angriffe und ihre vier Grundursachen konstruktionsbedingt stoppt. Wir zeigen, wie sich unsere Korrektur effektiv in den Bluetooth-Standard integrieren lässt, und diskutieren alternative Gegenmaßnahmen auf Implementierungsebene. Wir haben unsere Beiträge verantwortungsvoll gegenüber der Bluetooth SIG offengelegt.
@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}
}
Navigiere zum pcap-Verzeichnis. Verwende den folgenden Befehl, um pcap-Beispiele zu analysieren:
wireshark file.pcap
Der checker-Ordner enthält den Parser. Um den Parser zu verwenden, führe Folgendes aus:
python checker/parser.py [arguments]
Um zu testen, ob ein Opfergerät für die BLUFFS-Angriffe anfällig ist, lies Abschnitt 6.1 des Papers und patche das Angriffsgerät mit:
python device/bluffs.py
Die einzelnen Patches sind außerdem in dedizierten *.s-Dateien enthalten.
Enthält die gepatchte asm.py, die das Flag --no-warn-rwx-segment zu ldflags hinzufügt, um einen ld-Fehler mit neueren Versionen von arm binutils zu vermeiden. Unter Linux sollte die Datei nach /usr/lib/python2.7/site-packages/pwnlib kopiert werden.