Stan zagrożeń w internecie znajduje się obecnie na poziomie standardowym. Nie występują duże epidemie a eksperci z Kaspersky Lab nie zanotowali żadnych poważnych incydentów związanych z bezpieczeństwem. Poziom zagrożenia: 1

Bluetooth i problemy z bezpieczeństwem

Tagi:

Konstantin Sapronov
Virus Analyst, Kaspersky Lab

Dlaczego Bluetooth? Technologia Bluetooth

Nowoczesne technologie bardzo szybko przenikają do wszystkich obszarów naszego życia. Obecnie trudno nam wyobrazić sobie funkcjonowanie bez urządzeń, które jeszcze kilka lat temu oglądaliśmy tylko w filmach science fiction.

W 1994 roku firma Ericsson zaczęła rozwijać technologię Bluetooth, a cztery lata później, wraz z firmami IBM, Nokia, Intel oraz Toshiba utworzyła konsorcjum SIG, które opracowało dla niej standard. Obecnie w Bluetooth wyposażonych jest wiele telefonów komórkowych i urządzeń peryferyjnych dla komputerów, technologię tę wykorzystują także niektórzy producenci urządzeń AGD.

Dostępne są urządzenia nadawczo-odbiorcze pozwalające na wykorzystanie technologii Bluetooth w urządzeniach, które nie zostały w nią fabrycznie wyposażone. Umożliwiają one, po podłączeniu telefonu do systemu stereo, pobranie plików MP3 lub wysłuchanie ich z pamięci telefonu. Słuchawki w technologii Bluetooth, urządzenia typu HandsFree czy klawiatury i myszy - to tylko przykłady zastosowania bezprzewodowej technologii Bluetooth w życiu codziennym.

Powszechne zastosowanie Bluetooth jak również fakt, że jest to dość nowa technologia, sprawiły, że na początku trzeciego tysiąclecia stała się ona celem ataków hakerów.

Impulsem do badań nad technologią Bluetooth stały się prace grup badawczych @stack oraz shmoo. Ze względu na możliwość rozprzestrzeniania się robaków poprzez Bluetooth technologia ta stała się obecnie przedmiotem zainteresowania branży antywirusowej. Cabir, Lasco, Comwar to przykłady robaków, które rozprzestrzeniają się na urządzeniach z systemem Symbian poprzez Bluetooth.

Laptop nie będzie już urządzeniem przenośnym, jeśli za pomocą kabli podłączymy do niego mysz, drukarkę, telefon komórkowy i przykładowo odbiornik GPS. Poza tym, może nam po prostu zabraknąć wolnych portów do podłączenia wszystkich potrzebnych urządzeń. Bluetooth został zaprojektowany w celu wyeliminowania połączeń przewodowych między urządzeniami elektronicznymi.

Z czasem jednak Bluetooth znajdował zastosowanie w lokalnych sieciach bezprzewodowych. Niektórzy uważają, że mógłby stać się alternatywą dla Wi-Fi. Według mnie, technologie te wzajemnie się uzupełniają i chociaż są do siebie podobne, mają różne zastosowania.

Technologia Bluetooth opiera się na podsieciach (ang. piconet) składających się z jednostek nadrzędnych (ang. master) zlokalizowanych w odległości do 10 metrów od jednostki podrzędnej (ang. slave). Podsieci mogą być połączone w sieci rozproszone (ang. scatternet). Jednostka nadrzędna komunikuje się z jednostkami podrzędnymi, nie istnieje natomiast bezpośrednia komunikacja pomiędzy jednostkami podrzędnymi.


Rys. 1

Urządzenia Bluetooth pracują w nielicencjonowanym paśmie częstotliwości 2,4-2,4835 GHz. W celu uniknięcia interferencji z innymi urządzeniami działającymi w tym samym paśmie technologia ta wykorzystuje algorytm przeskoków częstotliwości: Bluetooth wykonuje 1600 przeskoków częstotliwości na sekundę.

Okres, w którym urządzenia działają na określonej częstotliwości zwany jest oknem czasowym (ang. time slot) i trwa 625 mikrosekund. Jednostki znajdujące się w podsieci zmieniają częstotliwość w tym samym momencie, na polecenie jednostki nadrzędnej, w oparciu o pseudolosową sekwencję skoku. Pasmo częstotliwości jest podzielone na 79 kanałów oddzielonych od siebie o 1 MHz. Dane przesyłane są w ramkach, które mieć rozpiętość 1, 3 lub 5 slotów.

Istnieją dwa rodzaje łączy: ACL (asynchroniczne łącze bezpołączeniowe) oraz SCO (synchroniczne łącze połączeniowe).

Pierwszy rodzaj jest wykorzystywany do przesyłania danych, które mogą być obsługiwane w dowolnym momencie. Jednostka podrzędna może nawiązać tylko jedno połączenie ACL z jednostką nadrzędną.

Drugi rodzaj połączenia wykorzystywany jest do przesyłania danych w czasie rzeczywistym, przykładowo do transmisji głosu. Jednostka podrzędna może nawiązać do 3 połączeń SCO z jednostką nadrzędną, każde o prędkości 64 kb/s.

Specyfikacja Bluetooth dzieli urządzenia na trzy klasy:

  • Klasa 1 - 100 mW, zasięg 100m
  • Klasa 2 - 2,5 mW, zasięg 10m
  • Klasa 3 - 1 mW, zasięg 1m

Większość urządeń należy do klasy 2 lub 3.

Stos protokołów wygląda tak:


Rys. 2

Szczegóły zawiera specyfikacja Bluetooth Core Specification.

Mechanizmy bezpieczeństwa

Według specyfikacji, informacje o użytkowniku można chronić poprzez szyfrowanie przesyłanych danych, natomiast kod dostępu oraz nagłówek pakietu przesyłane są poprzez kanał nieszyfrowany. Dane szyfrowane są przy użyciu szyfru strumieniowego E0.

Wynika z tego jasno, że możliwe są ataki na połączenie komunikacyjne.

Bluetooth może działać w jednym z trzech Trybów Bezpieczeństwa:

Tryb Bezpieczeństwa 1 - niechroniony: W trybie tym nie wykorzystuje się szyfrowania ani uwierzytelnienia, a samo urządzenie działa w trybie niedyskryminacyjnym, przykładowo w trybie nadawania lub odbierania.

Tryb Bezpieczeństwa 2 - oparty na aplikacji/usłudze (L2CAP): W trybie tym po nawiązaniu połączenia Security Manager przeprowadza uwierzytelnienie, co ogranicza dostęp do urządzenia.

Tryb Bezpieczeństwa 3 – uwierzytelnianie w oparciu o PIN/szyfrowanie adresy MAC: Uwierzytelnienie dokonywane jest przed nawiązaniem połączenia. Mimo użycia szyfrowania, nawet w tym trybie możliwe jest przeprowadzenie skutecznego ataku.

Bezpieczeństwo Bluetooth opiera się na generowaniu kluczy przy użyciu kodu PIN. Klucze mogą mieć długość od 1 do 16 bajtów. Większość urządzeń stosuje obecnie PIN-y 4-bajtowe. Na początku wykorzystywany jest algorytm E2 w celu wygenerowania 16-bajtowego klucza Link Key w oparciu o kod PIN. Następnie na podstawie klucza Link Key obliczany jest przy użyciu algorytmu E3 klucz szyfrowania. Pierwszy klucz wykorzystywany jest do uwierzytelnienia, drugi do szyfrowania.


Rys. 3

Proces uwierzytelnienia przebiega w następujący sposób:

  1. Urządzenie inicjujące połączenie wysyła najpierw swój adres (BD_ADDR). Ten 48-bitowy adres jest unikatowy, tak jak adres MAC karty sieciowej. Na jego podstawie można określić producenta urządzenia.
  2. W odpowiedzi wysyłany jest wybierany losowo 128-bitowy ciąg (AU_RAND).
  3. W oparciu o BD_ADDR, Link Key oraz AU_RAND oba urządzenia generują ciąg SRES.
  4. Urządzenie próbujące nawiązać połączenie wysyła swój SRES.
  5. Drugie urządzenie porównuje otrzymany SRES ze swoim własnym, a w przypadku zgodności obu ciągów połączenie zostaje nawiązane.


Rys. 4

Mimo, że kod PIN nie jest transmitowany otwarcie, można go złamać, jeśli zostaną przechwycone BD_ADDR, AU_RAND oraz SRES.

Rodzaje Ataków Bluetooth

BlueBug

Luka ta pozwala na wykonanie nieautoryzowanych czynności na urządzeniu z włączonym Bluetoothem.

W sprzyjających okolicznościach atak BlueBug trwa zaledwie kilka sekund. Odległość od atakowanego urządzenia jest ograniczona do klasy 2, czyli do 10-15 metrów. W celu zwiększenia zasięgu może jednak zostać użyta antena kierunkowa.

Ponieważ niektóre telefony pozwalają na wydanie poleceń AT, agresor może wykonać następujące czynności:

  • zainicjować połączenie telefoniczne
  • wysłać SMS-y na dowolny numer
  • przeczytać SMS-y
  • przeczytać i zmienić dane w książce telefonicznej
  • skonfigurować przekierowywanie rozmów
  • itd.

Blueprinting

Blueprinting może być wykorzystywany do uzyskania informacji o urządzeniach z włączonym Bluetoothem. Jak już wspominaliśmy, każde urządzenie z Bluetoothem posiada unikatowy adres. Adres składa się z 6 bajtów i zazwyczaj ma formę podobną do adresów MAC: MM:MM:MM:XX:XX:XX. Pierwsze trzy bajty adresu, oznaczone jako M, zawierają informacje o producencie chipsetu. Niestety w przypadku pozostałych trzech bajtów sytuacja nie jest już taka prosta, nie można więc w 100% określić modelu urządzenia.

Wszystkie urządzenia z włączonym Bluetoothem oferują szereg różnych usług. Listę takich usług można uzyskać poprzez SDP (Service Discovery Protocol). Znając rodzaje usług można ustalić model urządzenia.

BlueSmack

BlueSmack jest rodzajem ataku DoS, który można przeprowadzić przy użyciu standardowych narzędzi oferowanych wraz z systemem Linux BlueZ.

BlueSmack przypomina dobrze znany atak na wczesne wersje systemu Microsoft Windows 95 - ICMP. Opiera się on na fakcie, iż na poziomie L2CAP możliwe jest zażądanie odpowiedzi innego urządzenia Bluetooth.

Podobnie jak w przypadku komunikatu ping dla ICMP, jego zadaniem dla L2CAP jest zbadanie dostępności oraz prędkości nawiązywania połączenia. Z pomocą narzędzia l2ping, dostępnego w standardowej dystrybucji systemu BlueZ, użytkownik może zdefiniować długość wysyłanych pakietów testowych. W celu wykonania ataku wystarczy użyć opcji -s i określić rozmiar wysyłanych pakietów na około 600 bajtów.

BlueSnarf

Jest to prawdopodobnie najpopularniejszy atak Bluetooth. Atakujący wykorzystuje OBEX Push Profile (OPP), zaprojektowany w celu wymiany wizytówek i innych obiektów. W większości przypadków usługa ta nie wymaga uwierzytelniania. Atak BlueSnarf polega na wysłaniu żądania OBEX GET dla znanych powszechnych plików, takich jak 'telecom/pb.vcf' (książka telefoniczna) lub 'telecom/cal.vcs' (kalendarz). Jeżeli oprogramowanie urządzenia nie zostało zaimplementowane poprawnie, agresor może uzyskać dostęp do wszystkich plików zapisanych na atakowanym urządzeniu.

BlueSnarf++

Przypomina atak typu BlueSnarf, od którego różni się głównie metodą zdobywania dostępu do systemu plików urządzenia ofiary. BlueSnarf++ pozwala agresorowi na uzyskanie pełnych uprawnień odczytu i zapisu poprzez usługę OBEX Push Profile. Jeżeli na urządzeniu uruchomiony jest serwer OBEX FTP, możliwe jest nawiązanie połączenia poprzez OBEX Push bez konieczności parowania urządzeń.

Agresor może przeglądać wszystkie obiekty w systemie plików (za pomocą polecenia ls), a nawet je usuwać (polecenie rm). Możliwe jest również przeprowadzenie operacji na każdej zainstalowanej w urządzeniu pamięci, łącznie z kartami rozszerzającymi pamięci, takimi jak Memory Stick, SD czy Compact Flash.

HelloMoto

Jest to połączenie ataków BlueSnarf i BlueBug.

Atak wykorzystuje nieprawidłowe przetwarzanie 'zaufanych urządzeń' w niektórych modelach telefonów firmy Morotola.

Agresor nawiązuje połączenie przy pomocy OBEX Push Profile symulując wysłanie wizytówki vCard. Proces wysyłania zostaje przerwany, ale urządzenie agresora pozostaje na liście urządzeń godnych zaufania w telefonie ofiary. Dzięki temu agresor może łączyć się z telefonem bez uwierzytelniania. Po nawiązaniu połączenia agresor może przy użyciu poleceń AT przejąć kontrolę nad urządzeniem.

BlueBump

Ten rodzaj ataku wykorzystuje socjotechnikę i polega na nawiązaniu z urządzeniem ofiary zaufanego połączenia. Można to osiągnąć wysyłając cyfrową wizytówkę w celu nakłonienia odbiorcy do przeprowadzenia uwierzytelniania. Agresor utrzymuje połączenie w stanie otwartym lecz prosi ofiarę o usunięcie klucza Link Key dla atakującego urządzenia. Ofiara nie wie o tym, że połączenie jest w dalszym ciągu aktywne. Następnie agresor wysyła żądanie ponownego wygenerowania klucza Link Key. W rezultacie urządzenie agresora otrzymuje prawo do nawiązywania połączenia bez potrzeby uwierzytelniania. Agresor ma więc dostęp do urządzenia ofiary, aż do momentu usunięcia przez nią klucza Link Key.

BlueDump

W przypadku tego ataku agresor musi znać BDADDR zestawu sparowanych urządzeń. Agresor fałszuje adres jednego z urządzeń i łączy się z innym. Ze względu na to, że agresor nie posiada klucza Link Key, gdy urządzenie ofiary zażąda uwierzytelniania, urządzenie agresora odpowie komunikatem 'HCI_Link_Key_Request_Negative_Reply'. W pewnych okolicznościach może to spowodować usunięcie klucza Link Key na urządzeniu ofiary i w efekcie - przejście w tryb parowania.

BlueChop

Celem tego ataku jest zakłócenie ustanowionej podsieci piconet poprzez wykorzystanie urządzenia, które nie jest jej składnikiem. Atak bazuje na tym, że jednostka nadrzędna obsługuje wielokrotne połączenia, które mogą posłużyć do utworzenia rozszerzonej sieci (scatternet). Agresor podszywa się pod adres losowego urządzenia będącego składnikiem sieci piconet i łączy się z jednostką nadrzędną, co prowadzi do zakłócenia funkcjonowania sieci.

Świąteczny test

Przed świętami spędzamy mnóstwo czasu w sklepach szukając prezentów. Jest to idealny moment na przeprowadzenie badania, które między innymi da odpowiedź na następujące pytania: jak wiele urządzeń w technologii Bluetooth w trybie otwartym (wykrywalnym) można wykryć w miejscach publicznych? Które z nich posiadają luki? To również doskonała okazja, żeby wybrać prezenty dla najbliższych!

Idąc na zakupy z przyjacielem, zabrałem ze sobą laptopa z adapterem Bluetooth. Do naszych badań wykorzystaliśmy następujący sprzęt i oprogramowanie:

  1. Laptop Sony Vaio fxa 53
  2. System operacyjny SuSE 10.0
  3. Adapter Bluetooth PCMCIA
  4. btscanner 2.1

Odwiedzając kilka centrów handlowych zgromadziliśmy poniższe dane.

Telefony komórkowe i urządzenia PDA w technologii Bluetooth mogą pracować w trybie wykrywalnym lub niewykrywalnym. Skanowanie urządzeń w trybie niewykrywalnym jest możliwe, ale tylko za pomocą metody brute force. My jednak ograniczyliśmy się do skanowania urządzeń w trybie wykrywalnym.


Rys. 5

W sumie wykryliśmy 194 urządzenia, w większości telefony komórkowe. Rysunek 6 pokazuje rozkład tych urządzeń według producentów. Dominuje Nokia i Sony-Ericsson, co potwierdzają również inne badania.


Rys. 6


Rys. 7

Najpowszechniej używane urządzenia są również najbardziej narażone na najpopularniejsze ataki Bluetooth. Jak wykazał program btscanner, 25% wszystkich skanowanych urządzeń podatnych jest na atak snarf.

Poza tym, 25% użytkowników wykrytych urządzeń przyjęło na swoje urządzenia przesyłane pliki.

Wniosek jest dość zasmucający: większość użytkowników w ogóle nie przejmuje się kwestią bezpieczeństwa, dopóki nie padnie ofiarą ataku. Z czasem może grozić to poważnymi konsekwencjami. Na rynku dostępne są już samochody wyposażone w komunikację Bluetooth. Nietrudno sobie wyobrazić, jak bardzo zagrożone byłoby życie kierowcy, pasażerów i przechodniów, gdyby doszło do udanego ataku na komputer pokładowy takiego samochodu.

Poza tym, niechronione telefony komórkowe umożliwiają błyskawiczne rozprzestrzenianie się złośliwych programów, co z kolei może doprowadzić do rozległych epidemii.

Ochrona

Ochronę zapewnia:

  • Przestawienie urządzenia w tryb niewykrywalny
  • Włączenie uwierzytelniania na podstawie kodu PIN
  • Stosowanie oprogramowania antywirusowego

    Czołowi producenci oprogramowania antywirusowego mają w swej ofercie także rozwiązania dla urządzeń przenośnych. Firma Kaspersky Lab oferuje dwa takie produkty: Kaspersky Mobile dla smartfonów z systemem Symbian oraz Kaspersky Security for PDA.

  • Dodatkowe oprogramowanie (Blooover, Blooover II, BT Audit)

Blooover jest darmową aplikacją napisaną w języku programowania Java. Może być wykorzystany w telefonach obsługujących J2ME MIDP 2.0 VM z JSR-82 API. Takie wymagania spełniają między innymi następujące modele telefonów: Nokia 6600, Nokia 7610, Sony Ericsson P900 oraz Siemens S65. Blooover jest skanerem luk, za pomocą którego można sprawdzić, czy telefon komórkowy zawiera luki wykorzystywane w określonych atakach. Blooover został po raz pierwszy opublikowany w grudniu 2004 roku, od tego czasu program został pobrany 150 tys. razy. Dodatkowe ataki potrafi wykrywać Blooover II, opublikowany w grudniu 2005 roku.

BT Audit skanuje otwarte kanały RFCOMM oraz L2CAP PSM, a następnie generuje raporty o ich stanie.

Zalecana bibliografia:

  1. www.trifinite.org
  2. www.shmoo.com
  3. www.bluetooth.org
  4. www.bluez.org
  5. www.atstake.org