Ataki na Bluetooth i BLE
Przechwytywanie komunikacji Bluetooth i wykorzystywanie urządzeń
Ataki na Bluetooth i BLE to bezpłatna lekcja Cyber Security Academy na CoddyKit. To lekcja 2 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Cyber Security Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Cyber Security Academy zawiera 4 lekcji w sumie.
Powierzchnia ataku Bluetooth
Bluetooth jest wszędzie: w zestawach słuchawkowych, zamkach, urządzeniach medycznych, opaskach fitness, systemach multimedialnych samochodów i czujnikach przemysłowych. Pod tą samą marką występują dwie odrębne technologie:
- Bluetooth Classic (BR/EDR) — większa przepustowość, wykorzystywany do przesyłania dźwięku i plików.
- Bluetooth Low Energy (BLE) — niski pobór energii, wykorzystywany przez IoT, urządzenia ubieralne i inteligentne zamki.
Technologie te różnią się działaniem radia, parowaniem i stosami protokołów, dlatego ataki na jedną z nich rzadko mają zastosowanie do drugiej. BLE dominuje w IoT i jest przedmiotem większości współczesnych ocen bezpieczeństwa ze względu na częste wdrażanie go bez odpowiednich zabezpieczeń.
Jak komunikuje się BLE
BLE działa w paśmie 2,4 GHz na 40 kanałach. Trzy z nich (37, 38 i 39) to kanały rozgłoszeniowe używane do wykrywania urządzeń; pozostałe 37 przenosi dane w ramach połączeń.
Podstawowym modelem danych jest GATT (Generic Attribute Profile):
- Usługi grupują powiązane funkcje.
- Charakterystyki to pojedyncze punkty danych, które można odczytywać, zapisywać lub subskrybować.
- Każdy element ma UUID i uchwyt.
Enumeracja tabeli GATT ujawnia dokładnie to, co udostępnia urządzenie, i stanowi podstawę oceny BLE.
Wykrywanie i enumeracja urządzeń
Rozpoznanie rozpoczyna się od skanowania pakietów rozgłoszeniowych w celu ustalenia, jakie urządzenia znajdują się w zasięgu, a następnie od połączenia się z urządzeniem i wyliczenia zawartości bazy danych GATT.
W systemie Linux stos BlueZ i narzędzia takie jak bluetoothctl, hcitool i gatttool umożliwiają skanowanie oraz odpytywanie urządzeń. nRF Connect na telefonie jest doskonałą alternatywą graficzną.
# Scan for advertising BLE devices
sudo hcitool lescan
# Interactive scan and connect
bluetoothctl
scan on
connect AA:BB:CC:DD:EE:FF
# Enumerate the full GATT database
gatttool -b AA:BB:CC:DD:EE:FF --primary
gatttool -b AA:BB:CC:DD:EE:FF --characteristicsSniffowanie ruchu BLE
Aby obserwować komunikację między urządzeniem a jego aplikacją, należy sniffować transmisję w eterze. Ponieważ BLE przeskakuje między kanałami, sniffer musi śledzić połączenie.
- nRF52840 dongle z wtyczką nRF Sniffer do Wireshark jest standardowym, niedrogim narzędziem do przechwytywania.
- Ubertooth One może przechwytywać zarówno ruch BLE, jak i część ruchu Classic.
- Należy przechwytywać ruch podczas zdarzenia połączenia, aby uchwycić początkowy handshake.
Wireshark analizuje przechwycone pakiety, przedstawiając dane rozgłoszeniowe, żądania połączenia i operacje GATT, dzięki czemu można dokładnie odwzorować to, co aplikacja odczytuje i zapisuje.
Parowanie BLE i jego słabości
Bezpieczeństwo BLE zależy od metody parowania wybranej podczas ustanawiania powiązania:
- Just Works — brak weryfikacji użytkownika; konstrukcyjnie podatne na atak man-in-the-middle. Niezwykle częste w tanich urządzeniach IoT.
- Passkey Entry — 6-cyfrowy kod, zapewniający większe bezpieczeństwo, ale możliwy do złamania metodą brute force przy nieprawidłowej implementacji.
- Numeric Comparison — oba urządzenia wyświetlają liczbę, którą należy potwierdzić (LE Secure Connections).
Starsze parowanie (sprzed wersji 4.2) jest słabe kryptograficznie, a jego klucze można odzyskać z przechwyconego handshake'u. LE Secure Connections wykorzystuje ECDH i jest jedyną metodą uznawaną za odporną.
Łamanie starszego parowania
Gdy urządzenie korzysta ze starszego parowania BLE, przechwyconą wymianę podczas parowania można zaatakować metodą brute force, aby odzyskać Temporary Key, a ostatecznie Long Term Key.
Narzędzie crackle automatyzuje ten proces na podstawie pliku pcap zawierającego zdarzenie parowania. Po odzyskaniu kluczy można odszyfrować wcześniej zaszyfrowany ruch znajdujący się w przechwyconych danych.
# Recover keys from a captured legacy pairing
crackle -i pairing_capture.pcap
# Decrypt the traffic using a recovered Long Term Key
crackle -i encrypted.pcap -o decrypted.pcap -l <recovered_ltk>Aktywne ataki: spoofing i operacje zapisu
Wiele urządzeń BLE ufa każdemu, kto może się z nimi połączyć. Po wyliczeniu charakterystyk obsługujących zapis często można wydawać polecenia bezpośrednio, bez uwierzytelniania.
- Zapisy bez uwierzytelnienia — wysłanie spreparowanych wartości do charakterystyki sterującej może odblokować inteligentne zamki lub przełączać przekaźniki.
- Spoofing urządzenia — sklonowanie adresu MAC urządzenia peryferyjnego i jego komunikatu rozgłoszeniowego w celu podszycia się pod nie przed aplikacją ofiary.
- GATTacker / Mirage — platformy umożliwiające atak man-in-the-middle na urządzenie peryferyjne przez przekazywanie ruchu GATT za pośrednictwem proxy.
Klasycznym przykładem jest inteligentny zamek, którego polecenie odblokowania jest statycznym zapisem w postaci jawnego tekstu, możliwym do ponownego odtworzenia przez każdego.
Atak man-in-the-middle z użyciem proxy
Proxy MITM BLE klonuje docelowe urządzenie peryferyjne, umożliwia aplikacji ofiary połączenie z klonem i przekazuje ruch do prawdziwego urządzenia. Ujawnia to pełną komunikację i pozwala na jej modyfikowanie w czasie rzeczywistym.
Platformy takie jak Mirage i GATTacker automatyzują klonowanie komunikatów rozgłoszeniowych oraz mostkowanie dwóch interfejsów radiowych. Umożliwiają przechwytywanie, modyfikowanie lub ponowne odtwarzanie dowolnej operacji GATT podczas transmisji.
# Clone and MITM a BLE peripheral with Mirage
mirage ble_mitm TARGET=AA:BB:CC:DD:EE:FF
# Scan and enumerate as part of recon
mirage ble_scan
mirage ble_info TARGET=AA:BB:CC:DD:EE:FFKwestie dotyczące Bluetooth Classic
Bluetooth Classic ma własną historię problemów. Do znanych przykładów należą BlueBorne (zestaw podatności stosu umożliwiających zdalne wykonanie kodu) oraz KNOB (Key Negotiation of Bluetooth), który wymusza skrócenie klucza szyfrującego do długości możliwej do złamania metodą brute force.
- Wiele zestawów słuchawkowych i samochodowych zestawów głośnomówiących nadal akceptuje słabe lub domyślne kody PIN.
- Wykrywanie usług za pomocą SDP może ujawnić możliwości urządzenia i wskazówki dotyczące wersji oprogramowania układowego.
- Starsze stosy mogą nie zawierać poprawek dotyczących znanych CVE.
W przypadku Classic ocena koncentruje się na wersji stosu, sile parowania i znanych podatnościach oprogramowania układowego.
Zasięg i prywatność związana ze śledzeniem
Urządzenia BLE, które stale nadają komunikaty rozgłoszeniowe, stwarzają zagrożenia dla prywatności i śledzenia. Stały adres MAC umożliwia obserwatorowi śledzenie osoby w różnych lokalizacjach.
- Randomizacja adresu MAC okresowo zmienia adres, aby utrudnić śledzenie, ale wiele urządzeń implementuje ją nieprawidłowo lub wcale.
- Identyfikujące dane w komunikatach rozgłoszeniowych (stałe nazwy i dane producenta) mogą ponownie wskazać urządzenie nawet przy losowym adresie MAC.
- Kierunkowe anteny dalekiego zasięgu zwiększają praktyczną odległość sniffowania znacznie poza nominalne 10 metrów.
Ocena narażenia na śledzenie jest uzasadnioną i ważną częścią przeglądu prywatności BLE.
Wzmacnianie zabezpieczeń urządzeń Bluetooth
Zalecenia obronne wynikające z oceny BLE zazwyczaj obejmują:
- Należy używać LE Secure Connections z porównaniem numerycznym; w przypadku funkcji wrażliwych nigdy nie należy stosować Just Works.
- Należy stosować szyfrowanie i uwierzytelnianie na poziomie aplikacji dodatkowo, ponad zabezpieczeniami warstwy łącza, aby atak MITM nie mógł ponownie odtwarzać ani fałszować poleceń.
- Należy wdrożyć wartości nonce dla każdej sesji lub kody kroczące dla poleceń sterujących, takich jak odblokowanie zamka.
- Należy włączyć prawidłową randomizację adresu MAC i usuwać identyfikujące dane rozgłoszeniowe.
- Należy utrzymywać stos Bluetooth z aktualnymi poprawkami chroniącymi przed BlueBorne, KNOB i podobnymi problemami.
Powtarzający się wniosek jest następujący: zabezpieczenia warstwy łącza nie wystarczają, gdy aplikacja ufa każdemu połączonemu klientowi.
Szybki sprawdzian
Proszę sprawdzić znajomość bezpieczeństwa parowania BLE.
Podsumowanie
Mogą już Państwo oceniać urządzenia Bluetooth i BLE kompleksowo:
- BLE korzysta z 40 kanałów i udostępnia dane w modelu GATT, opartym na usługach i charakterystykach.
- Rozpoznanie obejmuje skanowanie komunikatów rozgłoszeniowych i enumerację bazy danych GATT za pomocą narzędzi BlueZ lub nRF Connect.
- Sniffowanie przy użyciu nRF52840 lub Ubertooth dostarcza danych do Wireshark na potrzeby analizy protokołu.
- Just Works i starsze parowanie są słabe; crackle odzyskuje klucze z przechwyconych handshake'ów starszego parowania.
- Aktywne ataki wykorzystują zapisy bez uwierzytelnienia i proxy MITM, takie jak Mirage i GATTacker.
- Obrona wymaga LE Secure Connections, a także uwierzytelniania na poziomie aplikacji i poleceń wykorzystujących kody kroczące.
Następnie przejdą Państwo od protokołów wykorzystujących połączenia do znaczników bezstykowych, poznając RFID i NFC.
Często zadawane pytania
Czy lekcja „Ataki na Bluetooth i BLE” jest bezpłatna?
Tak — pełny tekst „Ataki na Bluetooth i BLE” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Cyber Security Academy, przejdź na CoddyKit PRO. Kurs Cyber Security Academy zawiera 4 lekcji w sumie.
Co nauczysz się w „Ataki na Bluetooth i BLE”?
Przechwytywanie komunikacji Bluetooth i wykorzystywanie urządzeń Ćwiczysz Cyber Security Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć Cyber Security Academy?
Nie wymagamy żadnego doświadczenia. Cyber Security Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 2 z 4.
Ile czasu zajmuje lekcja „Ataki na Bluetooth i BLE”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji Cyber Security Academy?
Tak. Każda lekcja Cyber Security Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- Podstawy RF i SDR
- Ataki na Bluetooth i BLE
- Bezpieczeństwo RFID i NFC
- Przechwytywanie i odtwarzanie sygnałów