03.08.2016 | 21:52

Adam Haertle

Wdrożenia Bluetooth Low Energy jako kopalnia ciekawych podatności

Kontrolowanie wyświetlacza terminala płatniczego, oszukiwanie mądrych zamków i urządzeń antykradzieżowych lub tokenów autoryzacyjnych – to tylko część podatności odkrytych przez Polaków w coraz popularniejszej technologii BLE.

Bluetooth Low Energy to technologia bardzo popularna w Internecie Rzeczy. Mądre zegarki, mądre urządzenia domowe, mądre etykiety cenowe, terminale płatnicze kontrolowane smartfonem – wszędzie dzisiaj możemy spotkać przykłady wdrożeń. Niestety okazuje się, że choć technologia oferuje przyzwoite mechanizmy bezpieczeństwa, to jej wdrożenia często ich nie obejmują, powodując liczne podatności na różne rodzaje ataków. Ich szczegóły przedstawia właśnie na konferencji Black Hat US Sławek Jasek z firmy Securing.

Szyfrowanie, parowanie, po co to komu

Wyobraźcie sobie, że do Waszego sklepu wchodzi klient. Kupuje towar, płaci kartą. Nowoczesny terminal płatniczy współpracuje z Waszym smartfonem. W momencie płatności na terminalu pojawia się napis „Transakcja zaakceptowana” podczas kiedy aplikacja na smartfonie pokazuje odrzucenie transakcji. Któremu komunikatowi zaufacie? Jeśli temu z terminala to Wy macie problem a Wasz klient urządzenie modyfikujące komunikację między smartfonem a terminalem.

Przykład ataku na terminal

Przykład ataku na terminal

Bluetooth Low Energy umożliwia parowanie urządzeń oraz szyfrowanie warstwy transmisyjnej. Niestety w wielu wdrożeniach ich autorzy uznali, że lepiej zapewnić poufność i integralność danych własnoręcznie np. na poziomie aplikacji. Doświadczenia Sławka pokazały, że na 10 testowanych urządzeń aż 8 nie wdrożyło szyfrowania kanału komunikacji. Nie był to najlepszy wybór. Najlepiej pokazuje to narzędzie GATTacker (wkrótce dostępne pod adresem GATTack.io) opracowane przez naszego rodaka. Jest to proxy BLE, umożliwiające ataki MiTM. Można je uruchomić na Raspberry Pi a następnie za jego pomocą między innymi:

  • przeprowadzić atak odmowy usługi na inteligentny dom, zamek czy terminal płatniczy,
  • podszyć się pod prawdziwe źródło sygnału (np. wyłączając alarm przeciwwłamaniowy),
  • przechwycić treść komunikacji (a zatem np. dane uwierzytelniające),
  • przejąć kontrolę nad urządzeniem po drugiej stronie połączenia.

Scenariusz ataku MiTM

W jaki sposób przeprowadzany jest atak MiTM? Zdecydowanie ułatwia go fakt, że najczęściej na warstwie połączenia nie wprowadzono mechanizmów uwierzytelnienia ani szyfrowania.

Urządzenia BLE mogą pracować w dwóch trybach:

  • rozgłoszeniowym, gdzie jedno urządzenie wysyła od czasu do czasu krótkie, 31-bajtowe pakiety zawierające proste informacje podczas gdy drugie urządzenie nasłuchuje takich komunikatów,
  • połączeniowym, gdzie urządzenia nawiązują już komunikację pomiędzy sobą.

Urządzenia BLE mogą funkcjonować naraz tylko w jednym z tych trybów, co także ułatwia atak. Pakiety wysyłane przez urządzenie rozgłaszające są widoczne dla wszystkich. W pakietach tych mogą być zawarte proste informacje takie jak np. „status zamka zamknięty”. Urządzenia zasilane z baterii optymalizują częstotliwość wysyłania tych pakietów w celu jak największej oszczędności energii.

Aby połączyć się z urządzeniem Bluetooth Smart aplikacja mobilna w pierwszej kolejności nasłuchuje określonych pakietów rozgłoszeniowych. W momencie gdy na podstawie analizy treści pakietu rozpozna że został on wysłany od poszukiwanego urządzenia, zatrzymuje dalsze skanowanie i nawiązuje połączenie z tym urządzeniem.

Spójrzmy na przykład w którym atakujący chce podsłuchiwać ruch między terminalem płatniczym a smartfonem. Wystarczy, by urządzenie przeprowadzające atak MiTM swoje pakiety rozgłoszeniowe, sklonowane z oryginalnego sygnału terminala, wysyłało dużo częściej – by to właśnie fałszywe pakiety zostały najpierw zauważone przez smartfona. Gdy smartfon nawiąże już sesję z urządzeniem MiTM, przestaje reagować na pakiety rozgłoszeniowe terminala. Wtedy urządzenie MiTM może zacząć udawać smartfona i połączyć się z terminalem, uzyskując pozycję umożliwiającą podsłuch i modykację przesyłanych treści. Oczywiście ze względu na specyfikę transmisji aby przeprowadzić taki atak trzeba znajdować się w bezpośredniej bliskości atakowanych urządzeń (skuteczny zasięg transmisji wynosi kilka metrów).

Niektóre urządzenia nie weryfikują nawet adresu MAC drugiej strony połączenia – można wtedy podszywać się bez konieczności klonowania adresu. Jeśli jednak taka weryfikacja następuje, również nie stanowi to problemu, bo sklonowanie adresu jest trywialne. Pewnym zabezpieczeniem połączenia jest proces parowania urządzeń, jednak najczęściej stosowana metoda (“Just Works”) jest bardzo uproszczona (przez co mniej bezpieczna). Relacja zaufania pomiędzy urządzeniami jest zapisywana na poziomie systemu operacyjnego, aplikacja mobilna nie ma do niej bezpośredniego dostępu. Niemożliwe staje się więc np. przeniesienie parowania na inny telefon czyli chociażby wysłanie uprawnień do inteligentnego zamka w formie wiadomości wewnątrz aplikacji do innego urządzenia. Na domiar złego z powodu ograniczeń sprzętowych miniaturowych urządzeń niektóre z nich potrafią zapamiętać tylko 8 kluczy parujących naraz. W związku z tym producenci sprzętu często wprowadzają własne mechanizmy bezpieczeństwa na wyższych warstwach komunikacji, niestety czasem z opłakanym skutkiem.

Przykładowe ataki

Oprócz opisywanego powyżej fałszowania wiadomości na terminalu (możliwemu dzięki temu, ze choć dane karty są przesyłane w zaszyfrowanej formie, to już pakiety z poleceniami obsługi wyświetlacza szyfrowane nie są) możliwe są także inne ciekawe ataki:

  • oszukiwanie systemu antykradzieżowego opartego na odczycie sygnałów rozgłaszanych przez urządzenie – sygnałów, które można bardzo prosto sklonować i uniemożliwić wystąpienie alarmu w telefonie mimo kradzieży bagażu

  • blokowanie zamknięcia zamka w drzwiach poprzez wysyłanie komunikatu „zamek jest już zamknięty” (sklonowanego z wcześniejszego podsłuchu, nawet jeśli był zaszyfrowany) ogłupia aplikację, która uznaje, że do zamknięcia doszło

  • otwieranie drzwi podczas gdy klucz znajduje się ciągle w kieszeni właściciela w dowolnej odległości od drzwi poprzez klonowanie sygnałów klucza i przesyłanie przez internet do urządzenia znajdującego się koło drzwi
  • uzyskanie np. listy wszystkich kluczy uprawnionych do otwierania danego zamka poprzez wstrzyknięcie odpowiedniego polecenia do prawidłowo uwierzytelnionej sesji między smartfonem a zamkiem (sesja nawiązywana jest bezpiecznie, ale po jej nawiązaniu można odtworzyć jej klucz i wykorzystać do wstrzyknięcia swojej komunikacji)
  • nabicie karty lojalnościowej z założenia ładowanej podczas wizyty w restauracji poprzez przyłożenie telefonu do odpowiedniego nadajnika (sygnał łatwo sklonować i nabijać odwiedziny w domowym zaciszu)
  • oraz inne ataki opisane przez autora w dokumentacji dostępnej na stronie GATTack.io

Oczywiście opisywane podatności nie oznaczają końca znanego nam świata ani konieczności natychmiastowego wyrzucenia wszystkich podatnych na nie urządzeń. Jest to jednak klasyczny przykład niskiego poziomu dojrzałości nowych technologii a narzędzie GATTacker opracowane i opublikowane przez Sławka bez wątpienia przyniesie jeszcze niejedno odkrycie w tej dziedzinie – oby z pożytkiem dla ogólnego poziomu bezpieczeństwa IoT.

 

Powrót

Komentarze

  • 2016.08.03 22:47 szteniek

    Pytanie przy okazji – sam włączający się bluetooth w Xperia Z1 to norma czy szukać hakjerów wkoło? PS jak jest włączony, to wyłącza się zaraz po tym gdy włączę ekran.

    Odpowiedz
    • 2016.08.04 15:35 johnny

      usun yanosik lub wylcz ustawienia yanosik connect, nowa wersja powoduje taki efekt

      Odpowiedz
    • 2017.10.22 10:21 Adrian

      W moim LG K10 2017, podczas przywracania ustawień fabrycznych, na ekranie ze zgodami z regulaminami, nie ma możliwości braku zgody na samowolne włączanie Bluetooth Low Energy przez telefon. Obowiązkowo wymagana zgoda na:
      „KOMUNIKACJA BLUETOOTH LOW ENERGY (BLE)
      URZĄDZENIE MOŻE WŁĄCZAĆ KOMUNIKACJĘ BLE. KOMUNIKACJA BLE JEST WŁĄCZONA PODCZAS KORZYSTANIA Z NIEKTÓRYCH APLIKACJI, TAKICH JAK „Menadżer Połączeń”. PO WŁĄCZENIU KOMUNIKACJA BLE BĘDZIE CAŁY CZAS PRÓBOWAŁA NAWIĄZAĆ POŁĄCZENIE Z INNYMI URZĄDZENIAMI. (…) JEŚLI UŻYTKOWNIK NIE CHCE, ABY JEGO NAZWA BLUETOOTH BYŁA WYŚWIETLANA NA INNYCH URZĄDZENIACH, POWINIEN OGRANICZYĆ KORZYSTANIE Z TEGO TYPU APLIKACJI”.
      Czyli żeby nie być podatnym, nie mogę nigdzie dzwonić, w takim razie po co mi ten telefon?

      Odpowiedz
  • 2016.08.03 23:40 Słoń

    A nie masz czasem Androida 6?

    Odpowiedz
  • 2016.08.04 06:12 Ja

    Yanosik? Jeśli tak to trzeba wyłączyć opcję bluetooth w dwóch miejscach.

    Odpowiedz
    • 2016.08.04 13:53 Wojtek

      A możesz powiedzieć gdzie są te dwa miejsca? Jednym jest opcja bluetooth w ustawieniach samej aplikacji a drugie?

      Odpowiedz
      • 2016.08.06 10:08 Ja

        Zdaje się, że była aktualizacja. Obecnie widzę opcję Yanosik connect wyłącznie w jednym miejscu. Ustawienia, Bluetooth, Yanosik Connect. Trzeba dać off.

        Odpowiedz
  • 2016.08.04 18:57 M4k5

    A co z twoim Mi bandem :-)?

    Odpowiedz
  • 2016.09.05 16:27 KB

    OBTW Ten mPOS to PIN+ (-> SumUp).

    Odpowiedz

Zostaw odpowiedź do Słoń

Jeśli chcesz zwrócić uwagę na literówkę lub inny błąd techniczny, zapraszamy do formularza kontaktowego. Reagujemy równie szybko.

Wdrożenia Bluetooth Low Energy jako kopalnia ciekawych podatności

Komentarze