Bluetoothが暴露するあなたの情報
BLE信号だけで生活パターン・位置・行動が追跡される原理
Bluetooth機器は周囲に自身の存在を知らせるためAdvertising Packetを持続的にブロードキャストします。このパケットにはMACアドレス、デバイス名("Jack's iPhone")、製造元ID、BLEサービスUUID(心拍計、血糖計などデバイス種類)、信号強度(RSSI)などが含まれます。BluehoodはKU Leuven研究チームのWhisperPair脆弱性(CVE-2025-36911、数億台のBTオーディオ機器のリモート乗っ取り/位置追跡が可能)公開直後に開発されたPythonベースの教育用BLEスキャナーです。パッシブスキャン(聞くだけ、接続なし)で周辺機器を検出し、Vendor+UUIDフィンガープリントでデバイス種類を分類し、ランダムMACアドレスをフィルタリングし、出現/消失パターンをSQLiteに記録します。Webダッシュボード(:8080)で時間帯別ヒートマップ、滞在時間、関連デバイス(常に一緒に現れるスマホ+ウォッチのペア)分析を可視化し、ntfy.shで特定デバイスの到着/離脱プッシュ通知もサポートします。Dockerですぐ実行可能で、制作者が自宅でパッシブモードで実行した結果、宅配車両の到着時点と同一配達員かどうか、隣人の通勤パターン、一緒に登場するデバイスの組み合わせまで把握できました。補聴器、心臓ペースメーカー、車両診断モジュールなどはユーザーがBTをオフにできず持続送出され、Briar・BitChatのようなプライバシーアプリでさえBLE有効化を要求し「保護手段がすなわち露出経路」となる矛盾が存在します。
構造ダイアグラム
動作フロー
BLEデバイスがAdvertising Packetを周期的にブロードキャスト(MAC、デバイス名、UUID、RSSI含む)
Bluehoodがパッシブスキャンモードでパケット収集 — 接続/インタラクションなしで聴取のみ(ペアリング不要)
Vendor ID + BLEサービスUUIDフィンガープリントでデバイス種類を自動分類(スマホ/ウォッチ/車両/医療/IoT)
ランダムMACアドレス検出およびフィルタリング → 固定MACデバイスのみを追跡対象として分離
出現/消失タイムスタンプをSQLiteに記録、時間帯別ヒートマップ・滞在時間・関連デバイス分析
Webダッシュボード(:8080)でパターン可視化 + ntfy.shプッシュ通知で特定デバイスの到着/離脱を通報
メリット
- ✓ パッシブ収集のみで追跡可能(ペアリング不要)
- ✓ 安価な機器で実装可能(ラズベリーパイ、ESP32)
- ✓ 壁を透過するため視覚的監視より隠密
- ✓ デバイス種類・製造元まで識別可能
- ✓ 長期間パターン分析で生活習慣を把握
デメリット
- ✗ MACランダム化で最新デバイスの追跡が次第に困難に
- ✗ 信号範囲制限(Class 2 BLE: ~10m)
- ✗ 密集環境でデバイス間の区別が困難
- ✗ 法的制約 — EUなどで明示的同意のない追跡が禁止
- ✗ メタデータだけでは個人識別に限界(追加情報が必要)