
Bluetoothセッション確立を前方秘匿性(forward secrecy)および将来秘匿性(future secrecy)攻撃に対してテストするためのツールキットです。ファームウェアパッチング、PCAP解析、自動化されたデバイス脆弱性チェックを活用します。
このリポジトリには、 BLUFFS: Bluetoothの前方秘匿性と未来秘匿性に対する攻撃と防御に関連するコードが含まれています。
Bluetoothは、無線通信における広く普及した技術です。何十億ものデバイスが、機密性の高いアプリケーションや個人データの交換にBluetoothを使用しています。Bluetoothのセキュリティは、Bluetooth標準と、ペアリングとセッション確立という2つのセキュリティメカニズムに依存しています。標準自体を含め、これまでの研究では、これらのメカニズムの未来秘匿性と前方秘匿性の保証、例えば、攻撃者が現在のセッションを侵害した場合に、Bluetoothのペアリングとセッション確立が過去および将来のセッションを防御できるかどうかは分析されていませんでした。このギャップに対処するため、我々はBLUFFS攻撃と定義される6つの新しい攻撃を提示し、Bluetoothセッションの前方秘匿性と未来秘匿性を破ります。我々の攻撃は、わずか1つのセッション鍵を侵害するだけで、セッションをまたいだデバイス偽装と中間者(machine-in-the-middle)攻撃を可能にします。これらの攻撃は、一方的かつ反復可能なセッション鍵導出に関する、Bluetooth標準における2つの新たな脆弱性を悪用します。攻撃はアーキテクチャレベルでBluetoothに影響を与えるため、被害者のハードウェアやソフトウェアの詳細(例:チップ、スタック、バージョン、セキュリティモード)にかかわらず有効です。
また、我々はBLUFFSを、攻撃を実行し、その有効性を自動的にチェックする低コストのツールキットとして公開しています。このツールキットは、リバースエンジニアリングしたクローズドソースのBluetoothファームウェアを動的にパッチすることで、Bluetoothセッション鍵の導出を操作・監視する7つの独自パッチを採用しています。我々は、主要なハードウェア・ソフトウェアベンダーの17種類の多様なBluetoothチップ(18デバイス)で攻撃を評価し、最も普及しているBluetoothバージョンをサポートすることで、我々の攻撃がBluetoothエコシステムに重大かつ大規模な影響を与えることを示します。我々は、実証的な発見に基づき、設計上、6つの攻撃とその4つの根本原因を阻止する強化されたBluetooth鍵導出関数を開発し、テストに成功しました。また、この修正をBluetooth標準に効果的に組み込む方法を示し、代替となる実装レベルの緩和策について議論します。我々はこれらの成果を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, ACM CCS'23 slides.
pcapディレクトリに移動します。 次のコマンドを使用してpcapサンプルを解析します:
wireshark file.pcap
checkerフォルダにはパーサーが含まれています。 パーサーを使用するには、次のコマンドを実行します:
python checker/parser.py [arguments]
被害者デバイスがBLUFFS攻撃に対して脆弱かどうかをテストするには、論文のセクション6.1を読み、次のコマンドで攻撃デバイスにパッチを適用します:
python device/bluffs.py
個々のパッチは専用の *.s ファイルとしても提供されています。
修正済みの asm.py が含まれており、最近のarm binutilsの ld エラーを回避するために ldflags に --no-warn-rwx-segment フラグを追加します。Linuxでは、ファイルを /usr/lib/python2.7/site-packages/pwnlib にコピーする必要があります。