Bluetooth i problemy z bezpiecze艅stwem

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