블루투스가 노출하는 당신의 정보들
BLE 신호만으로 생활 패턴·위치·행동이 추적되는 원리
블루투스 기기는 주변에 자신의 존재를 알리기 위해 Advertising Packet을 지속적으로 브로드캐스트합니다. 이 패킷에는 MAC 주소, 기기명("Jack's iPhone"), 제조사 ID, BLE 서비스 UUID(심박계, 혈당계 등 기기 종류), 신호 세기(RSSI) 등이 포함됩니다. Bluehood는 KU Leuven 연구진의 WhisperPair 취약점(CVE-2025-36911, 수억 대 BT 오디오 기기의 원격 탈취/위치 추적 가능) 공개 직후 개발된 Python 기반 교육용 BLE 스캐너입니다. 수동 스캔(듣기만, 연결 안 함)으로 주변 기기를 탐지하고 Vendor+UUID 핑거프린트로 기기 종류를 분류하며, 무작위 MAC 주소를 필터링하고, 출현/사라짐 패턴을 SQLite에 기록합니다. 웹 대시보드(:8080)에서 시간대별 히트맵, 체류 시간, 연관 기기(항상 함께 나타나는 폰+워치 쌍) 분석을 시각화하고, ntfy.sh로 특정 기기의 도착/이탈 푸시 알림도 지원합니다. Docker로 바로 실행 가능하며, 제작자가 자택에서 수동 모드로 실행한 결과 택배 차량 도착 시점과 동일 기사 여부, 이웃의 출퇴근 패턴, 함께 등장하는 기기 조합까지 파악할 수 있었습니다. 보청기, 심박조율기, 차량 진단 모듈 등은 사용자가 BT를 끌 수 없어 지속 송출되며, Briar·BitChat 같은 프라이버시 앱조차 BLE 활성화를 요구해 "보호 수단이 곧 노출 경로"가 되는 모순이 존재합니다.
구조 다이어그램
동작 흐름
BLE 기기가 Advertising Packet을 주기적으로 브로드캐스트 (MAC, 기기명, UUID, RSSI 포함)
Bluehood가 수동 스캔 모드로 패킷 수집 — 연결/상호작용 없이 듣기만 (페어링 불필요)
Vendor ID + BLE 서비스 UUID 핑거프린트로 기기 종류 자동 분류 (폰/워치/차량/의료/IoT)
무작위 MAC 주소 감지 및 필터링 → 고정 MAC 기기만 추적 대상으로 분리
출현/사라짐 타임스탬프를 SQLite에 기록, 시간대별 히트맵·체류 시간·연관 기기 분석
웹 대시보드(:8080)에서 패턴 시각화 + ntfy.sh 푸시 알림으로 특정 기기 도착/이탈 통보
장점
- ✓ 수동 수집만으로 추적 가능 (페어링 불필요)
- ✓ 저렴한 장비로 구현 (라즈베리파이, ESP32)
- ✓ 벽을 투과하므로 시각적 감시보다 은밀
- ✓ 기기 종류·제조사까지 식별 가능
- ✓ 장기간 패턴 분석으로 생활 습관 파악
단점
- ✗ MAC 무작위화로 최신 기기 추적이 점점 어려워짐
- ✗ 신호 범위 제한 (Class 2 BLE: ~10m)
- ✗ 밀집 환경에서 기기 간 구분 어려움
- ✗ 법적 제약 — EU 등에서 명시적 동의 없는 추적 금지
- ✗ 메타데이터만으로는 개인 식별에 한계 (추가 정보 필요)