Bezpieczeństwo Bluetooth

Obecnie większość osób odpowiedzialnych za bezpieczeństwo koncentruje swoje wysiłki na tworzeniu analiz ryzyka, zabezpieczeniu sieci LAN i WLAN, budowaniu systemów SIEM (Security Information and Event Management) czy innych dużych projektach. Tymczasem otoczeni jesteśmy dziesiątkami urządzeń wyposażonych w technologię, która - choć niepozorna i trochę zapomniana - w dalszym ciągu stanowi potencjalne źródło niebezpieczeństwa. To Bluetooth.

Obecnie większość osób odpowiedzialnych za bezpieczeństwo koncentruje swoje wysiłki na tworzeniu analiz ryzyka, zabezpieczeniu sieci LAN i WLAN, budowaniu systemów SIEM (Security Information and Event Management) czy innych dużych projektach. Tymczasem otoczeni jesteśmy dziesiątkami urządzeń wyposażonych w technologię, która - choć niepozorna i trochę zapomniana - w dalszym ciągu stanowi potencjalne źródło niebezpieczeństwa. To Bluetooth.

Wydaje się, że odszedł już w niebyt. Mimo to, liczba osób, która jest mocno "zintegrowana" z tą technologią, skutecznie temu stwierdzeniu zaprzecza. Błędność twierdzenia o końcu Bluetootha potwierdzają także analizy prowadzone przez IDC. Dlatego też zróbmy krótki przegląd zagrożeń, jakie może nieść ta skądinąd użyteczna technologia.

Mimo że nie pojawił się do tej pory kod złośliwy, który rozprzestrzeniając się przez Bluetootha spowodowałby kataklizm, to wcale nie znaczy, że nigdy nie powstanie - zadziałajmy więc proaktywnie! Już dawno przecież stworzono robaka o wdzięcznej nazwie Cabir (na telefony z systemem Symbian S60 2nd), który nie czynił żadnych szkód, ale znakomicie rozprzestrzeniał się przez Bluetooth, no i udowodnił, że problem nie jest wyimaginowany.

Z karabinu aż na kilometr

Bezpieczeństwo Bluetooth

Mając dobrą antenę kierunkową, możemy zwiększyć zasięg Bluetooth nawet do kilometra. Przykładem takiego Proof of Concept jest "karabin" zbudowany przez Johna Heringa (Flexilis).

W technologii Bluetooth dane przesyłane są na częstotliwości 2,4 GHz - nadawanie na niej nie wymaga specjalnej licencji. Obecnie standard Bluetooth doczekał się wersji 2.1. Z punktu widzenia bezpieczeństwa Bluetooth podobny jest do systemu, który funkcjonował w telefonach cyfrowych DECT drugiej generacji. Istnieje przekonanie, że Bluetooth nie jest szczególnie groźny ze względu na swój niewielki zasięg (przyjmuje się, że wynosi on ok. 10 metrów). To nieprawda. W zależności od klasy urządzenia (wyróżniamy trzy) Bluetooth może sam z siebie sięgać aż 100 m (klasa 1 - 100 mW). Ale skoro operuje on na częstotliwości podobnej do tej, którą wykorzystuje się w sieciach , to nic nie stoi na przeszkodzie, aby wykonać mały przeszczep anteny stosowanej np. przez punkty dostępowe. Mając dobrą antenę kierunkową, możemy zwiększyć zasięg nawet do kilometra. Przykładem takiego PoC (Proof of Concept) jest "karabin" zbudowany przez Johna Heringa. Zasięg może być zwiększany także w inny sposób: urządzenia Bluetooth łącząc się, mogą budować minisieci - tzw. piconety. Są one tworzone przez maksymalnie 8 urządzeń, z których jedno pełni rolę nadrzędną master, a pozostałe 7 pracuje w trybie podporządkowanym slave (ograniczenie do siedmiu urządzeń slave wynika z tego, że wykorzystywany jest 3-bitowy obszar adresacji). Piconety z kolei mogą łączyć się i budować bardziej złożone twory - tzw. scatternety. Scatternet powstaje wtedy, kiedy jeden z członków piconetu (master lub slave) jest jednocześnie uczestnikiem innego piconetu. W ten sposób budowany jest pomost pomiędzy kilkoma minisieciami.

No to jak jest z tym bezpieczeństwem?

Bezpieczeństwo Bluetooth

Typowy proces nawiązywania komunikacji

Zacznijmy od procesu ustanawiania połączenia. Przed jego zestawieniem podejmowana jest decyzja o tym, jaką politykę zastosować. Odpowiada za ten proces tzw. security manager. Ta decyzja oparta jest na rodzaju usługi i urządzenia, z którym będzie nawiązywane połączenie oraz na stosowanym przez nie poziomie czy trybie bezpieczeństwa (Security Level). Wyróżnia się trzy takie tryby:

  • Tryb 1 - tutaj nie ma zaimplementowanych żadnych mechanizmów bezpieczeństwa. Możliwe jest zatem ustanowienie połączenia z dowolnym urządzeniem. Pod żadnym pozorem tryb ten nie powinien być stosowany.
  • Tryb 2 - zabezpieczenia występują na poziomie aplikacji. Urządzenia pracujące w tym trybie wykorzystują uwierzytelnienie i autoryzację w warstwie L2CAP (Logical Link Control and Adaptation Protocol) i wyższych (patrz rysunek "Architektura Bluetooth"). Zatem z punktu widzenia urządzenia nie ma większej różnicy w porównaniu z trybem 1.
  • Tryb 3 - zabezpieczenia już na poziomie urządzenia. Mechanizmami bezpieczeństwa zostaje objęte każde połączenie w fazie jego nawiązywania. Dzieje się to na poziomie warstwy LMP (Link Manager Protocol). Możliwe jest przeprowadzenie uwierzytelniania, po którym generowane są klucze wykorzystywane do ustanowienia szyfrowanego kanału komunikacji. To czyni tryb 3 najbezpieczniejszym z całej trójki.
Ale wymienione tryby bezpieczeństwa to nie wszystko. Oprócz nich występuje także rozróżnienie na urządzenia zaufane, niezaufane oraz nieznane. Jak łatwo się domyślić, urządzenie zaufane będzie miało nieograniczony dostęp do wszelkich usług, a niezaufane dostęp ograniczony. Urządzenia nieznane, czyli takie, z których nie można "wyciągnąć" żadnych informacji o bezpieczeństwie, są zrównane w uprawnieniach z urządzeniami niezaufanymi. Zasada jest taka, że każde nowo przyłączane urządzenie jest traktowane jako niezaufane. Aby więc np. słuchawka Bluetooth mogła być zaufana, wymagane jest jej ręczne uwierzytelnienie (wygenerowanie kluczy), po którym zostanie dodana do bazy urządzeń zaufanych. Także na poziomie usług występują dalsze rozgraniczenia i podział na trzy kolejne poziomy bezpieczeństwa. Poziom 1 - tutaj dostęp do usługi wymaga zarówno uwierzytelnienia, jak i autoryzacji. Na poziomie 2 konieczne jest tylko uwierzytelnienie. I wreszcie poziom 3, gdzie dowolne urządzenie może uzyskać dostęp do usługi pod warunkiem, że osiągnięta przez niego komunikacja jest szyfrowana.

Bezpieczeństwo Bluetooth

Architektura Bluetooth

Przyjrzyjmy się trochę bliżej zabezpieczeniom oferowanym przez tryb 3. Na poziomie warstwy łącza danych każde urządzenie Bluetooth otrzymuje 48-bitowy identyfikator - BD_ADDR (Bluetooth Device Address), czyli coś, co można porównać z adresem MAC. Pierwsze 24 bity tego identyfikatora przydzielane są przez producenta sprzętu, a pozostałe 24 odgórnie narzucane przez organizację IEEE. Ponadto takie urządzenie zabezpieczone jest kodem PIN. Długość tego kodu może wahać się od 8 do 128 bitów - zależnie od sposobu implementacji. Większość producentów niestety umożliwia wprowadzenie jedynie 4 cyfr. To właśnie te dwie wartości - PIN oraz BD_ADDR są podstawą do ustanowienia połączenia. W procesie szyfrowania stosowany jest zmodyfikowany algorytm SAFER+ wykorzystujący klucz o długości 128 bitów.

Architektura Bluetootha, z punktu widzenia bezpieczeństwa ma swoje ograniczenia. Mówiliśmy, że stosowane jest uwierzytelnianie - ale tylko uwierzytelnianie urządzenia, a nie użytkownika. Jeżeli zatem zależy nam na uwierzytelnieniu użytkownika, to będziemy musieli skorzystać z mechanizmów udostępnianych przez warstwę aplikacyjną. Kolejny mankament dotyczy autoryzacji - nie istnieje żaden mechanizm, który pozwalałby na autoryzację do poszczególnych usług. Innym problemem jest także wymuszanie czy też ograniczanie kierunku, w którym możliwa jest komunikacja. Mechanizmy bezpieczeństwa działają tylko w momencie ustanawiania połączenia. Potem dane mogą już swobodnie płynąć w obydwu kierunkach. Specjaliści załamują także ręce nad słabością szyfru E0 - niskopoziomowego szyfru stosowanego do zapewnienia poufności komunikacji. Szyfr ten w teorii wykorzystuje klucze o długości 128 bitów, ale testy dowiodły, że w rzeczywistości efektywna siła szyfrowania oscyluje w granicach 84 bitów. Co więcej, jeżeli E0 znalazłby się poza systemem Bluetooth, jego efektywna siła szyfrowania spadłaby nawet do 39 bitów.

Atak wizytówką i wyciąganie kontaktów

Bezpieczeństwo Bluetooth

Projekt BlueMaho - platforma do przeprowadzania testów bezpieczeństwa Bluetooth

Jakie ataki mogą zatem zostać przeprowadzone z wykorzystaniem podatności lub niedoskonałości urządzeń Bluetooth? Jest ich co najmniej kilkanaście. My przytoczymy tylko kilka najpopularniejszych.

Jednym z pierwszych historycznie ataków był BlueJacking. Nie stosuje on co prawda żadnych luk samego protokołu, ale jego funkcjonalną cechę - umiejętność przesyłania wizytówek (vCard). BlueJacking jest wykorzystywany nie tylko w niecnych celach. W taki właśnie sposób rozsyłane są np. informatory na konferencjach. Podczas tegorocznych targów Mobile World Congress 2008 w Barcelonie właśnie dzięki takiemu "atakowi" dziennikarze mogli otrzymywać komunikaty prasowe wprost na swoje komórki.

Inne ataki możemy podzielić na takie, które wymierzone są w różne sfery funkcjonowania. Zacznijmy od najbardziej "prymitywnych" ataków, które mają na celu odcięcie nas od usług, a więc ataków DoS. Ponieważ urządzenia wyposażone są najczęściej w baterie jako podstawowe źródło zasilania, ataki DoS ukierunkowane są na ich szybkie wyczerpanie.

Ataki te mogą także być przeprowadzane podobnie do dobrze znanych z sieci ethernetowych ataków typu Ping of death. Jednym z nich jest BlueSmack, który polega na wysłaniu bluetoothowego pinga (z poziomu warstwy L2CAP) o zmodyfikowanej wielkości pakietu do innego urządzenia. Odpowiednio duży pakiet potrafi spowodować przepełnienie bufora i "wywrócenie się" atakowanego sprzętu. Innym rodzajem ataku typu DoS jest BlueStab.


TOP 200