Bluetooth Zagrożenia w teorii i praktyce Przemysław Jaroszewski CERT Polska / NASK
Agenda Wprowadzenie Bezpieczeństwo protokołu Bezpieczeństwo implementacji Złośliwe oprogramowanie Podsumowanie
Czym jest Bluetooth? Standard komunikacji bezprzewodowej (IEEE 802.15.1) Rozwijany przez Bluetooth SIG Promoter members: Agere Systems, Ericsson, Intel, Lenovo, Microsoft, Motorola, Nokia i Toshiba 27 Associate members Adopter Members Uniwersalny może zastępować tradycyjne połączenia szeregowe w wielu zastosowaniach i wiele więcej Do uwierzytelnienia i tworzenia kluczy używany jest algorytm SAFER+. Szyfr strumieniowy E0 służy do szyfrowania transmisji.
Bezpieczeństwo protokołu
Odrobina techniki Bluetooth działa w radiowej częstotliwości 2,4 GHz Frequency hopping z częstością do 1600/s (79 kanałów o szerokości 1MHz) Nie powoduje zakłóceń z innymi technologiami w tej samej częstotliwości (np. WLAN) Znacząco utrudnia podsłuchiwanie transmisji Przepustowość: 723 kbit/s w wersji 1.1, 1.2 2.1 Mbit/s w wersji 2.0
Zasięg Teoretyczny Klasa mocy Maksymalna moc Teoretyczny zasięg Class 1 100 mw (20 dbm) ok.100 metrów Class 2 2,5 mw (4 dbm) ok. 10 metrów Class 3 1 mw (0 dbm) ok. 1 metra Praktyczny ponad 1,5 km
Adres urządzenia Adres urządzenia zgodny z MAC-48 Razem 48 bitów globalnie unikalnych dla urządzenia 2 48 = ok. 2.81 10 14 kombinacji 3 oktety przydzielane producentowi przez IEEE 3 oktety unikalne dla egzemplarza wypuszczonego przez producenta 2 24 = 16 777 216; 2 24 * 6 sekund = ok. 1165 dni Ułatwienia: Niektórzy producenci nie przydzielają adresów losowo Skanowanie można przeprowadzać równolegle, z wykorzystaniem wielu urządzeń Przyjazna nazwa Bluetooth Najczęściej jedyna wyświetlana użytkownikowi informacja Nie unikalna Swobodnie modyfikowalna
Tryb publiczny i tryb ukryty Tryb publiczny pozwala na wykrywanie obecności urządzenia przez inne. Tryb prywatny pozwala na normalne korzystanie z urządzenia - nie pozwala jedynie na wykrycie urządzenia. Z urządzeniem w trybie prywatnym nadal można się połączyć jeśli znajduje się na liście znanych urządzeń (np. w telefonie komórkowym) jeśli znamy adres MAC i interfejs pozwala na jego wprowadzenie Wnioski: Niektóre sytuacje wymagają przełączenia urządzenia w tryb publiczny należy w miarę możliwości unikać takich czynności w miejscach publicznych Przy normalnej pracy urządzenie powinno działać w trybie prywatnym
Urządzenia audio Urządzenia takie jak zestawy słuchawkowe czy głośnomówiące są domyślnie widoczne mają zapisany na stałe znany PIN typu 0000, 1234 łatwo można się z nimi połączyć Podłączając się do zestawu samochodowego, możemy wykorzystać go nie tylko jako głośnik, ale także jako urządzenie podsłuchowe Urządzenia audio zazwyczaj mogą realizować tylko jedno połączenie Bluetooth w danej chwili pozostałe (w tym wyszukiwanie) są odrzucane. Wniosek: Urządzenia tego typu powinny należy wyłączać gdy nie są używane
Parowanie i uwierzytelnienie Parowanie urządzeń Użytkownik wprowadza ten sam kod PIN na obu urządzeniach Przesyłany jest pseudolosowy ciąg IN_RAND Oba urządzenia obliczają klucz K init (IN_RAND, PIN, BD_ADDR) Oba urządzenia generują pseudolosowy ciąg LK_RAND, który przesyłany jest w postaci zaszyfrowanej K init Oba urządzenia obliczają klucz połączenia K ab (LK_RAND a,lk_rand b,bd_addr a,bd_addr b ) Uwierzytelnienie (przy połączeniu sparowanych urządzeń) Urządzenie A generuje ciąg AU_RAND i przesyła go do B Urządzenie B odsyła ten ciąg zaszyfrowany kluczem K ab Urządzenie B weryfikuje, czy ciąg został poprawnie zaszyfrowany Czynności są powtarzane z zamienionymi rolami
Parowanie i uwierzytelnienie Udowodniono, że podsłuchując proces parowania i uwierzytelnienia (wysyłane otwartym tekstem ciągi pseudolosowe IN_RAND i AU_RAND oraz zaszyfrowane postaci AU_RAND) możliwe jest odgadnięcie użytego PINu metodą brute-force w bardzo krótkim czasie. Możliwe jest także wymuszenie ponownego przeprowadzenia procesu parowania. Wnioski Proces parowania należy przeprowadzać w miejscu odosobnionym Należy wybierać dłuższy kod PIN min. 9 cyfr Tryby wymagające podania kodu PIN przed każdym połączeniem są w istocie mniej bezpieczne! Proces parowania jest rozwijany w aspektach funkcjonalnych i kryptograficznych.
Dostęp do usług Urządzenie może realizować wiele usług zdefiniowanych przez tzw. profile Bluetooth, np.: transfer plików faks usługa słuchawki usługa źródła dźwięku port szeregowy W zależności od konfiguracji, dostęp do każdej usługi może wymagać uwierzytelnienia (tylko urządzenia sparowane) a także każdorazowej autoryzacji.
Bezpieczeństwo implementacji
Zbyt łatwy dostęp do usług Uogólnienie problemu niektóre urządzenia pozwalają na dostęp do zbyt wielu funkcji bez autoryzacji Przykład: transfer plików Możliwy tylko do katalogu C:\Documents and Settings\user\My Documents\Incoming Bluetooth Files Ale... put../autostart/trumpet.wav
Bluesnarfing Błąd w obsłudze Bluetooth u niektórych producentów pozwalał m.in. na pobranie książki adresowej odczytanie numeru IMEI przegląd archiwum wiadomości przegląd plików multimedialnych (zdjęcia, filmy, dźwięki) To wszystko bez zgody a nawet wiedzy użytkownika. Ochrona patch producenta telefonu dla firmware
Bluebug Najpoważniejszy wykryty do tej pory błąd dotyczący Bluetooth. Dotyczył niektórych modeli Nokia i Sony Ericsson. Nieudokumentowany źle skonfigurowany wirtualny port szeregowy pozwalał na nieautoryzowane połączenie i wysłanie dowolnej sekwencji AT. Możliwości m.in. wykonywanie połączeń głosowych wysyłanie wiadomości przekierowanie połączeń Ochrona patch producenta telefonu dla firmware
Bezpieczeństwo implementacji
Bluetooth jako nośnik malware Bluetooth zawiera profil transmisji plików może być więc medium przenoszenia złośliwego oprogramowania jest uniwersalny, dostępny na wielu platformach systemowych względnie anonimowy (inaczej niż MMS) wygodny (inaczej niż IrDA) ma ograniczony zasięg działanie ograniczone zazwyczaj do telefonów w trybie publicznym praktycznie niemożliwe jest automatyczne uruchomienie pliku (na razie)
Cabir Złośliwe oprogramowanie na telefony Series 60 z systemem Symbian, wykryte w czerwcu 2004 r. rozsyła się do wszystkich znalezionych urządzeń korzystających z Bluetooth wgrywany jest plik instalacyjny.sis, który uzytkownik musi samodzielnie uruchomić -Czy zaakceptować połączenie od Nokia 6310i? -Czy zaakceptować transfer pliku caribe.sis? -Caribe.sis. Zapisać czy uruchomić? -Tak -Tak -Uruchom -Instaluję Caribe-VZ/29A. Tożsamość dostawcy nie może być potwierdzona. Kontynuować? -YOU ARE INFECTED! - Tak
Wnioski posługiwanie się trybem ukrytym w trakcie korzystania z Bluetooth znacząco utrudnia wykrycie urządzenia tryb publiczny należy włączać jedynie w odosobnionych miejscach aby utrudnić wykrycie urządzenia parowanie urządzeń należy przeprowadzać w odosobnionych miejscach aby utrudnić wykrycie urządzenia w trybie publicznym oraz uniemożliwić podsłuchanie transmisji i złamanie numeru PIN tam, gdzie to możliwe, należy stosować długi numer PIN (min. 9 znaków) aby utrudnić jego złamanie urządzenia, które nie mają możliwości przestawienia w tryb ukryty (słuchawki, zestawy głośnomówiące) należy wyłączać gdy nie są używane należy aktualizować oprogramowanie odpowiadające za implementację Bluetooth (sterowniki lub system w komputerze, firmware w telefonie itp.) aby uniknąć narażenia się na wynik błędów producenta
Dziękuję CERT Polska info@cert.pl +48 22 380 82 74