Bezpieczeństwo w systemie Bluetooth Kamil Adamczyk Bluetooth jest technologią umożliwiającą bezprzewodowe połączenie ze sobą urządzeń elektronicznych obsługujących ten standard. Jest to bezprzewodowy protokół komunikacyjny, niestety o krótkim zasięgu i niedużej przepływności. Te dwie wady są równoważone przez małe rozmiary urządzeń, mały pobór mocy i ich mobilność. Obecnie na rynku istnieje kilka wersji standardu Bluetooth, z czego najnowsza to 2.0, lecz większość urządzeń wyposażona jest w 1.1 lub 1.0. Protokół Bluetooth został opisany w standardzie IEEE 802.15.1. Najczęściej w Bluetooth są wyposażane małe urządzenia, takie jak aparaty fotograficzne i telefony komórkowe, drukarki, laptopy i palmtopy. Ostatnio wykorzystywany jest również w instalacjach alarmowych do sterowania oraz przesyłania sygnalizacji i odczytów z czujników. Technologia sieci Bluetooth Bluetooth jest bezprzewodowym protokołem transmisji danych pracującym w bezpłatnym paśmie 2,4 GHz. Począwszy od wersji 1.2, umożliwia nadawanie w systemie FH (co wprowadzono w celu uniknięcia nakładania się transmisji urządzeń pracujących na tych samych zakresach i pozbycia się szkodliwych interferencji). Wykorzystuje zakres częstotliwości 2,4 2,485 GHz w kanałach f = 2402 + k, k = 0, 1,..., 78 MHz. Na podstawie wzoru określającego liczbę dostępnych kanałów widać, że na 79 różnych kanałach można wykonywać do 1600 skoków na sekundę (czyli zmian kanałów). Taki rodzaj transmisji już stanowi pewnego rodzaju zabezpieczenie przed osobami, które chcą przychwycić nasz sygnał, gdyż nie pracujemy cały czas na jednej częstotliwości, ale z drugiej strony mała liczba możliwych kanałów powoduje, że przechwycenie transmisji nie jest niemożliwe. Urządzenia typu Bluetooth mają różne zasięgi, w zależności od mocy, z jaką nadają, i co ważne większość popularnych urządzeń ma możliwość regulacji jej poziomu. Parametry mocowe urządzeń Bluetooth zestawiono w tabeli I. Maksymalna oferowana przepływność dla BT 1.0 jest równa 1 Mb/s, ale rzeczywista nie przekracza 720 kb/s, natomiast dla BT 2.0 maksymalna przepływność to 2 Mb/s. Technologia połączeń sieciowych Wszystkie urządzenia typu Bluetooth otrzymują unikalny adres, zwany Bluetooth Device Adress (BDA). Jest to 48-bitowa liczba, przypisana w czasie procesu produkcyjnego (jest bardzo podobna do adresu MAC, nadawanego kartom sieciowym). BDA ma strukturę podobną do MAC jest to zbiór 6 liczb w systemie szesnastkowym, oddzielonych od siebie krokami. Mgr inż. Kamil Adamczyk Wojskowa Akademia Techniczna, Wydział Elektroniki, Instytut Telekomunikacji, Warszawa Rys. 1. Sieć typu Wireless Private Area Network WPAN TABELA I Klasa mocy Moc wyjściowa [mw] minimalna maksymalna Zasięg [m] 1 1 100 100 2 0,25 2,5 10 3 1 1 1 Procedury bezpieczeństwa w systemie Bluetooth W systemie Bluetooth możemy wykorzystywać istniejące protokoły bezpieczeństwa, takie jak TLS lub IPsec, implementując je w warstwie transportowej, jednakże sam standard ma pewne wbudowane mechanizmy zabezpieczające. Są to: rozpoznawanie urządzenia, autoryzacja użytkownika, szyfrowanie przesyłanych danych. Mechanizmy te operują na warstwie zarządzania łącza, która należy do protokołów warstwy transportowej, takich jak L2CAP i RFCOMM. L2CAP jest protokołem wysokiego poziomu, który odpowiada za zorientowanie połączenia oraz bezpołączeniową sygnalizację do niższych protokołów. Ponadto odpowiada za kontrolę połączenia, detekcję błędów oraz dzielenie i rozprowadzanie pakietów. Może pracować w trybie podstawowym, kontroli przepływu oraz w trybie retransmisji. Struktury pakietów L2CAP i ramki informacyjnej przedstawiono na rysunku 2. 26 Rok LXXVI 2008 nr 8
RFCOMM jest oparty na L2CAP i oferuje emulacje na połączenie kablowe, czyli umożliwia pracę ze standardem Bluetooth dla aplikacji przystosowanych dla transmisji szeregowej na RS232. Planowano wykorzystać go jako bezprzewodową alternatywę dla tego interfejsu przewodowego. Oferuje do 20 kanałów połączeniowych. Protokół ten był często stosowany, zanim pojawił się tryb retransmisyjny w L2CAP. Komunikacja urządzeń w systemie Bluetooth Połączenie urządzeń pod względem bezpieczeństwa może odbywać się na 3 możliwe sposoby: tryb niezabezpieczony, tryb niezabezpieczony do momentu ustalenia połączenia kanałów, pełne zabezpieczenie zarówno w procesie ustanawiania połączenia, jak i wymiany danych. Tryby zabezpieczeń komunikacyjnych między elementami systemu Bluetooth przedstawiono na rysunku 3. Rozpoznanie pytanie co robisz i kim jesteś? Jest to proces, w którym urządzenia wzajemnie się weryfikują i wyrażają zgodę na połączenie. Polega on na wiedzy o wspólnym tajnym kluczu PIN i znajomości swoich adresów. Można powiedzieć, że w procesie rozpoznania ustalane są również warunki połączenia. Tajny kod PIN nie jest transmitowany do urządzeń. Często tworzone są tablice znanych urządzeń, przez co możemy łącząc się z nimi ponownie uniknąć procedury podawania kodu PIN. Proces rozpoznania poprzedzany jest procesem parowania urządzeń (rys. 4), natomiast algorytm rozpoznania pokazany jest na rysunku 5. Rys. 2. Struktury pakietów L2CAP i ramki informacyjnej standardu Bluetooth Rys. 3. Tryby zabezpieczeń komunikacyjnych między elementami systemu Bluetooth Rys. 4. Algorytm parowania w systemie Bluetooth Rok LXXVI 2008 nr 8 27
Poufność jest kolejnym sposobem zabezpieczenia transmisji. Może uchronić przed atakiem pasywnym. Urządzenie rozsyła wiadomość, że tylko użytkownicy z uprawnieniami mają dostęp do jego zasobów. Autoryzacja umożliwia korzystanie z zasobów tylko urządzeniom wcześniej zarejestrowanym, które otrzymały dostęp do zasobów. Rys. 5. Algorytm rozpoznania w systemie Bluetooth Tworzenie klucza połączenia Klucz ten jest tworzony podczas fazy ustanawiania połączenia. Powstaje na podstawie kodów PIN, jakie użytkownicy wpisują do urządzeń. Kody te muszą być identyczne. Po inicjacji urządzenia są automatycznie rozpoznawane i wykorzystują szyfrowane łącza. Wspomniany kod PIN może mieć długość od 1 do 16 bajtów. Najczęściej spotykany jest kod 4-cyfrowy, gdzie każda cyfra zajmuje jeden bajt danych. Algorytm generowania klucza połączeniowego przedstawiono na rysunku 6. Autoryzacja w systemie Bluetooth Rozpoznanie (poznanie) towarzyszy pierwszorazowemu połączeniu. Procedura autoryzacji opiera się na interakcji dwóch urządzeń i wysyłaniu do siebie wzajemnych zapytań i odpowiedzi. Wymiana zapytań i odpowiedzi zatwierdza urządzenia, w oparciu o weryfikację tajnego klucza Bluetooth Link Key (klucz łącza). Algorytm procesu autoryzacji w Bluetooth przedstawiono na rysunku 7. Proces autoryzacji przebiega według następującego algorytmu: aplikant transmituje 48-bitowy adres BD_ADDR do urządzenia weryfikującego, weryfikator wysyła 128-bitową losową liczbę do aplikanta, weryfikator używa algorytmu E1 do wytworzenia odpowiedzi (authentication response), wykorzystując adres sieciowy aplikanta, klucz łącza i 128-bitową losową liczbę. Aplikacja następuje według tego samego schematu: aplikant zwraca wygenerowaną odpowiedź SRES do weryfikatora, weryfikator porównuje wygenerowane odpowiedzi SRES, jeżeli 32-bitowe odpowiedzi są zgodne, następuje połączenie, a w przypadku niezgodności rozłączenie. Jeżeli proces rozpoznawania nie powiedzie się, urządzenia odczekują pewien przedział czasu i ponownie nawiązują próbę połączenia. Za każdym nieudanym połączeniem przedział czasu oczekiwania rośnie ekspotencjalnie. Typowe parametry procesu autoryzacji w Bluetooth zawiera tabela II. Rys. 6. Algorytm generowania klucza połączeniowego w systemie Bluetooth TABELA II Parametr Długość [bit] Tajność Adres urządzenia 48 publiczny Liczba losowa 128 publiczny nieprzewidywalny Odpowiedź SRES 32 publiczny Klucz łącza 128 tajny 28 Rok LXXVI 2008 nr 8
Zabezpieczenie poufności danych w Bluetooth Poza procesami rozpoznawania i autoryzacji, Bluetooth umożliwia usługę poufności. Pakiety wymieniane pomiędzy dwoma urządzeniami są szyfrowane. Ciąg danych wyjściowych jest tworzony poprzez funkcje Ex-OR bitów danych użytkowych i klucza strumieniowego. Klucz strumieniowy jest tworzony na podstawie algorytmu kryptograficznego bazującego na rejestrze przesuwnym z liniowym sprzężeniem zwrotnym (Linear Feedback Shift Register). Funkcja szyfrowania opiera się na: identyfikacji aplikanta (BD_ADDR), generacji liczby losowej (EN_RAND), numerze slotu, kluczu szyfrowania, który inicjuje LFSR przed transmisją każdego pakietu, jeżeli szyfrowanie jest włączone. Algorytm procesu szyfrowania i deszyfrowania w Bluetooth przedstawiono na rysunku 8. Klucz szyfrujący dostarczany do algorytmu szyfrującego jest wytwarzany w oparciu o wewnętrzny generator klucza KG i może mieć długość od 8 do 128 bitów, w zależności od parametrów połączenia. Wytwarza on ciągi kluczy, bazując na kluczu łącza (link key), liczbie losowej i wartości ACO. Parametr ACO to 96-bitowy nadmiarowy szyfr, wytwarzany w procesie rozpoznawania poprzez algorytm E1. Rys. 7. Algorytm procesu autoryzacji w Bluetooth Rys. 8. Algorytm procesu szyfrowania i deszyfrowania w Bluetooth Rok LXXVI 2008 nr 8 29
Ocena mechanizmów bezpieczeństwa w Bluetooth Podstawowe mechanizmy bezpieczeństwa w Bluetooth zawiera poniższa tabela. TABELA III Procedura bezpieczeństwa Znane są sposoby generacji liczb losowych przez RNG Krótki kod PIN Znajomość kodu PIN przez wielu użytkowników, szczególnie w dużych sieciach (słaba dystrybucja) Długość klucza kodującego jest zmienna i negocjowana Klucz Mastera jest dzielony pomiędzy użytkowników Próby rozpoznawania są ponawiane Adres aplikanta BD_ADDR może zostać przechwycony Proces rozpoznawania jest oparty o szereg zapytań i odpowiedzi, z wykorzystaniem prostego klucza dzielonego pomiędzy urządzenia Rodzaje ataków na Bluetooth Atrybut Generowanie liczb w sposób statyczny lub okresowy zmniejsza efektywność procesu rozpoznawania. Krótki PIN może być łatwo odgadnięty, co prowadzi do odtworzenia klucza szyfrującego i łącza. Kod PIN może zostać przejęty przez nieuprawnione osoby. Klucz ten powinien mieć określoną i możliwie największą długość. Należy wprowadzić lepszy sposób na rozsyłanie klucza. Poza rosnącym opóźnieniem pomiędzy kolejnymi próbami, należy wprowadzić pewien ich limit. Jeżeli adres BD_ADDR zostanie skojarzony z jednym użytkownikiem, to intruz może uzyskać dostęp do zasobów, podszywając się pod niego. Tego typy transmisja jest narażona na atak typu Man in the Middle. Dodatkowo jest to transmisja w jedną stronę. Transmisja w dwie strony, czyli każde z urządzeń rozpoznaje drugie, zmniejsza możliwość tego typu ataku. BlueSnarf publicznie dostępne pliki na OBEX. Atakujący wykorzystuje OBEX Push Profile (OPP), zaprojektowany w celu wymiany wizytówek i innych obiektów. Najczęściej 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. BlueBug ukryte kanały RFCOMM udostępniające komendy AT. 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 do 10-15 metrów. W celu zwiększenia zasięgu, można użyć anteny kierunkowej. Niektóre telefony pozwalają na wydanie poleceń AT, przez co agresor może wykonać połączenie telefoniczne, wysłać SMS-y na dowolny numer, czytać i zmieniać dane w książce telefonicznej itd. BlueSmack atak typu DoS. Można go przeprowadzić przy użyciu BlueZ (standardowe narzędzie Linuxa). BlueSmack przypomina atak na wczesne wersje Microsoft Windows 95 ICMP. Polega on na tym, 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 (systemu BlueZ) użytkownik może zdefiniować długość wysyłanych pakietów testowych. Wystarczy użyć opcji -s i określić rozmiar wysyłanych pakietów na około 600 bajtów, by przeprowadzić atak. Blueprinting fingerprinting urządzenia. Wykorzystywany do uzyskania informacji o urządzeniach z włączonym Bluetoothem. Każde urządzenie z Bluetoothem posiada unikatowy adres składający się z 6 bajtów i zazwyczaj ma formę podobną do adresów MAC: MM:MM:MM:XX:XX:XX. Pierwsze trzy bajty adresu (lit. M) zawierają informacje o producencie chipsetu. Pozostałe trzy trudniej zdefiniować, więc nie można w 100% określić modelu urządzenia. Listę usług oferowanych przez urządzenia z włączonym Bluetooth em można uzyskać poprzez SDP (Service Discovery Protocol). Znając ich rodzaje, można ustalić model urządzenia. BlueSnarf++. Przypomina atak typu BlueSnarf, od którego różni się głównie metodą zdobywania dostępu do systemu plików urządzenia ofiary. 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 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 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 utrzymanie otwartego połączenia bez autoryzacji. Ten rodzaj ataku wykorzystuje socjotechnikę i polega na nawiązaniu z urządzeniem ofiary zaufanego połączenia. Osiąga się to, 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 kasowanie istniejącego parowania po udanym spoofingu. Agresor musi znać BD_ADDR zestawu sparowanych urządzeń. Fałszuje adres jednego z nich 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. 30 Rok LXXVI 2008 nr 8
WYDAWNICTWA 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. Car Whisperer. Umożliwia korzystanie z bezprzewodowego samochodowego zestawu głośnomówiącego ofiary (odbieranie danych dźwiękowych z mikrofonów, wysyłanie dźwięku do głośników). Bazuje na standardowych kodach PIN ( 0000 ) i zestawach, które nie są sparowane. Eksperymenty prowadzone na niemieckich autostradach pokazały, że w praktyce wykonalna i możliwa jest komunikacja Bluetooth pomiędzy dwoma samochodami. W testowanym scenariuszu zespół jadący kilkaset metrów za ofiarą był w stanie bez problemu podsłuchiwać rozmowy w śledzonym samochodzie za pomocą zainstalowanego fabrycznie zestawu głośnomówiącego Bluetooth. Podsumowanie Analizując mechanizmy zabezpieczenia danych w standardzie Bluetooth, nasuwają się pytania: czy są one skuteczne oraz czy można włamać się do sieci Bluetooth? Odpowiadając na nie, trudno znaleźć jednoznaczną odpowiedź, przynajmniej jeśli chodzi o skuteczność mechanizmów bezpieczeństwa zawsze znajdą się ludzie, którzy odkryją luki w standardach i złamią zabezpieczenia, ale to właśnie jest motorem napędowym prac nad lepszymi zabezpieczeniami. Istnieją aplikacje, takie jak HID attack lub BTexploit, umożliwiające włamanie do sieci Bluetooth. W 2004 roku pokazano, że korzystając z tzw. sniffera Bluetooth i odpowiedniego oprogramowania, można przechwycić 128-bitowy klucz i przeprowadzić procesy identyfikacyjne, poprzez zapętlenie procedury wpisywania PIN-u. Atak ten można było przeprowadzić tylko podczas pierwszorazowego parowania się urządzeń, kiedy użytkownik wyraża zgodę na połączenie. Sposobem na uniknięcie części omówionych problemów jest przestrzeganie kilku podstawowych zasad, takich jak możliwie długie kody PIN i niekorzystanie ze standardowych ustawień interfejsu. Poza tym warto zaimplementować wcześniej wspomniane mechanizmy zabezpieczeń danych, stosowane typowo w sieciach komputerowych. Jeśli nie musimy, to nie należy utrzymywać cały czas interfejsu włączonego powinien być czynny tylko w czasie jego realnego wykorzystania (dotyczy to szczególnie telefonów komórkowych, do których można się włamać przez aktywny interfejs i sczytywać dane oraz zmieniać wpisy). Wspominając o podstawowych zasadach bezpiecznego wykorzystania standardu Bluetooth, pamiętajmy że ma on krótki zasięg, więc potencjalny napastnik musi być w naszym pobliżu. Jeśli możemy, utrudniajmy mu to jak najbardziej. LITERATURA [1] http://members.hellug.gr/nmav/papers/other/bluetooth%20security.pdf [2] Karygianis T., Owens L.: Wireless Network. Gaithersburg 2002 [3] Miller B., Bisdikian C.: Uwolnij się od kabli. Bluetooth. Wydawnictwo Helion, Gliwice 2003 [4] http://bluejacking.pl Metrologia elektryczna wielkości nieelektrycznych Marian Miłek: Metrologia elektryczna wielkości nieelektrycznych. Oficyna Wydawnicza Uniwersytetu Zielonogórskiego, Zielona Góra 2006 Oficyna Wydawnicza Uniwersytetu Zielonogórskiego wydała książkę, w której opisano czujniki wielkości nieelektrycznych przetwarzające te wielkości na wielkości elektryczne oraz układy pomiarowe służące do pomiaru takich wielkości jak: przesunięcie, prędkość, przyspieszenie, siła i moment, ciśnienie, temperatura, wilgotność oraz wielkości opisujące przepływ płynów. Autor w następujący sposób charakteryzuje swoją książkę: ( ) Zwrócenie w książce szczególnej uwagi na zjawiska fizyczne umożliwi czytelnikowi uzupełnienie swojej wiedzy z zakresu fizyki lub poznanie nieznanych zjawisk. Dlatego przed opisem ( ) znajduje się wprowadzenie do tematyki. Książka jest przeznaczona dla studentów i absolwentów kierunków kształcenia: elektrotechnika, energetyka, automatyka, robotyka oraz może być pomocna dla innych specjalistów mechaników i mechatroników. W poszczególnych rozdziałach Autor omawia: Wielkości uogólnione siła i prędkość, impedancja, analityczny opis przetwarzania energetycznego, Właściwości dynamiczne przetworników sygnały wzorcowe, przetworniki bezinercyjne zerowego rzędu, przetworniki inercyjne pierwszego i drugiego rzędu, Pomiary wielkości opisujące ruch czujniki przemieszczeń liniowych ze zmianą parametrów obwodów elektrycznych, pomiary przemieszczeń liniowych za pomocą ultradźwięków, czujniki optoelektroniczne, pomiary przyspieszeń liniowych, pomiary prędkości liniowych i kątowych, Pomiary poziomu czujniki: pływakowe, hydrostatyczne, optoelektroniczne, przetworniki ultradźwiękowe i mikrofalowe, izotopowe mierniki poziomu, Pomiary siły i masy metody pomiaru, tensometryczne czujniki siły, czujniki piezoelektryczne siły, czujniki światłowodowe masy i siły, izotopowe mierniki masy, Pomiar momentu obrotowego pomiar tensometryczny, metoda optoelektroniczna, Pomiary ciśnienia przegląd metod i przyrządów pomiarowych, Pomiary temperatury skale temperatury, podział metod pomiaru temperatury, termometry rezystancyjne metalowe i półprzewodnikowe, czujniki temperatury półprzewodnikowe i termoelektryczne, termometry: szumowe, kwarcowe, pirometry, Pomiary natężenia przepływu płynów podział przepływomierzy, Pomiary wilgotności metody pomiaru wilgotności powietrza, pomiary wilgotności ciał stałych. Każdy z rozdziałów książki uzupełnia bogaty zestaw literatury. Książka ma przejrzystą i czytelną szatę graficzną. K.W. Rok LXXVI 2008 nr 8 31