17/07/2019

Łamanie zabezpieczeń inteligentnych domów

Technologie

Technologie stosowane w inteligentnych domach mają z założenia ułatwiać nam życie i czynić je wygodniejszym. Jednak nowe udogodnienia to również nowe problemy. Zagrożenia związane z rosnącą automatyzacją są coraz częściej przedmiotem dyskusji. Podłączanie urządzeń domowych do internetu sprawia, że ich działanie staje się zależne od jakości łącza i działania serwera. Z drugiej strony takich punktów wejścia mogą użyć cyberprzestępcy, którzy poszukują możliwości przejęcia kontroli nad dziurawym sprzętem, aby móc go wykorzystać do własnych celów.

Jak pokazały przeprowadzone niedawno badania, nadal istnieje wiele sposobów umożliwiających przecięcie kontroli nad inteligentnym domem. Jednym z nich jest na przykład luka w serwerze chmurowym, poprzez który właściciel steruje domem zdalnie, a nawet coś tak pozornie niewinnego jak inteligentny przełącznik światła.

Fibaro: zagrożenie z chmury

Jak ujawniła firma Kaspersky, inteligentny dom Fibaro umożliwiał dowolnej osobie przesłanie i pobranie danych kopii zapasowej inteligentnego huba z i na serwer chmurowy. Inteligentny hub stanowi najważniejsze urządzenie w inteligentnym domu, ponieważ steruje on całą resztą: termostatami, automatami do kawy, systemami zabezpieczającymi itp.

Dane znajdujące się w kopii zapasowej huba zawierają wiele ciekawych informacji o domu i jego właścicielu, w tym lokalizację nieruchomości oraz smartfona jego właściciela, adres e-mail, na które zarejestrowane jest konto hosta w systemie Fibaro, jak również listę połączonych urządzeń wraz z ich hasłami (wszystkie w postaci niezaszyfrowanego tekstu).

Przechowywane tam było również hasło do panelu administratora wykorzystywane do zdalnego sterowania domem. W przeciwieństwie do pozostałych haseł znajdujących się w kopii zapasowej, było ono zabezpieczone, a dokładniej zahaszowane. Jeśli jednak atakujący chciał pobrać wszystkie kopie zapasowe przechowywane w chmurze Fibaro, mógł odgadnąć najprostsze i najczęściej pojawiające się hasła — np. „password1” — dla których hashe były takie same.

Po przedostaniu się do panelu administratora haker mógł wykorzystać jedną z luk w celu zdalnego wykonania kodu i zdobycia uprawnień superużytkownika w systemie. Superużytkownicy mogą robić w domu, co tylko zechcą. Jak na ironię, prawdziwy właściciel domu nie ma takich uprawnień — producent zdecydował, że tak będzie bezpieczniej (i w wielu aspektach jest to prawda).

Fibaro: szkodliwa aktualizacja

Inny scenariusz ataku, który odkryli badacze z firmy Kaspersky, w ogóle nie wymagał łamania hasła. Jak już wspomnieliśmy, kopie zapasowe można było nie tylko pobrać z serwera Fibaro bez żadnej autoryzacji, ale również można je było tam przesłać. Co więcej, chmura umożliwiała wysłanie do właściciela domu wiadomości tekstowych lub e-maili.

Innymi słowy, wszyscy atakujący musieli tylko utworzyć szkodliwą kopię zapasową, przesłać ją na serwer i przekonać ofiarę do zainstalowania „aktualizacji”. W tym celi mogli na przykład spreparować wiadomość w imieniu firmy Fibaro (czyli wykorzystać phishing). Nawet jeśli haker zrozumiał coś źle, niczego niepodejrzewająca ofiara nadal mogła pobrać szkodliwą kopię zapasową (dając hakerowi, jak w pierwszym przykładzie, uprawnienia superużytkownika). Ostatecznie przecież wiadomość pochodziła z adresu ******@fibaro.com, który nie wzbudza podejrzeń.

Wykryte luki zgłosiliśmy firmie Fibaro, która niezwłocznie je wyeliminowała, więc opisane scenariusze ataku już nie są aktualne. Miejmy nadzieję, że pozostali producenci inteligentnych urządzeń nauczą się na cudzych błędach podczas tworzenia swoich systemów.

Nest: przełącznik inteligentnej kamery

Inne badanie przeprowadzone przez badaczy ze Stanów Zjednoczonych na uniwersytecie College of William & Mary oceniło bezpieczeństwo dwóch platform dla inteligentnego domu: Nest (od firmy Nest Labs, której właścicielem jest firma Google) i Hue (produkowanej przez firmę Philips). Obie platformy zawierały innej luki w bezpieczeństwie.

Programiści z firmy Nest Labs zwrócili szczególną uwagę na zabezpieczenie systemów ochronnych: aplikacje i urządzenia firm zewnętrznych nie mogą zmieniać ustawień kamer zabezpieczających oraz innych komponentów odpowiedzialnych za bezpieczeństwo domu, jak również włączać je i wyłączać. A raczej nie mogą robić tego bezpośrednio.

Jednak system ten używa pewnych atrybutów, które powszechnie występują w systemach zabezpieczających i urządzeniach, a które są znacznie mniej chronione. Wartości takich atrybutów są przechowywane w jednym magazynie, do którego mają dostęp wszystkie urządzenia, jakie ich potrzebują do działania. Co więcej, niektóre mniejsze urządzenia typu przełączniki światła czy termostaty w wielu przypadkach potrafią nie tylko odczytywać potrzebne im wartości, ale także je zmieniać.

Z jednej strony pomaga to automatyzować i upraszczać rutynowe operacje. Na przykład gdy wychodzisz rano do pracy, nie musisz wydawać poleceń dla każdego urządzenia oddzielnie. Aplikacja kontrolująca przełącznik może użyć na przykład geolokalizacji w celu określenia, że właściciel wyszedł już z domu, a następnie przesłać tę informację do magazynu i przypisać atrybutowi wartość away, który określa nieobecność.

Wartość tę odczytuje nie tylko sam przełącznik (który następnie wyłącza światło), lecz również pozostałe urządzenia. Każde z nich wykonuje zaprogramowane działanie: klimatyzacja działa mniej intensywnie, odtwarzacze muzyczne wyłączają się, a kamery monitoringu rozpoczynają nagrywanie. Jeśli jednak system uzna, że właściciel powrócił do domu, kamery zostają wyłączone, co zmniejsza ogólne bezpieczeństwo.

Dostępnych jest kilka urządzeń kompatybilnych z Nest, które mają prawo zarządzać trybami home/away. Badacze zdecydowali się sprawdzić bezpieczeństwo przełącznika Kasa autorstwa firmy TP-Link. Oprócz wspomnianej wyżej możliwości odczytu i zmiany ustawień trybu home/away, na ich wybór złożyła się także popularność aplikacji Kasa Smart służącej do zdalnego sterowania urządzeniem (ponad milion pobrań w sklepie Google Play). Po dokładniejszej analizie okazało się, że program umożliwia atakującemu przechwycenie połączenia z serwerem i wysyłanie do niego poleceń.

Błąd został wykryty w procedurze autoryzacji, a dokładniej w toku myślenia programistów aplikacji na temat jej zabezpieczeń: aby dane właścicieli konta nie wpadły w niepowołane ręce, aplikacja i serwer najpierw nawiązują połączenie szyfrowane. W tym celu aplikacja wysyła do serwera żądanie, które wyświetla jej certyfikat SSL potwierdzający, że serwer jest zaufany.

Aplikacja sprawdza autentyczność certyfikatu, a jeśli jest oryginalny, potajemnie przekazuje serwerowi token (dane wykorzystywane do identyfikacji użytkownika). Jednak podczas procedury sprawdzania wkradał się błąd, w którego wyniku aplikacja Kasa miała akceptować wszystkie certyfikaty.

Badacze opisali możliwy scenariusz ataku następująco:

  1. Cyberprzestępca śledzi właściciela atakowanego domu i czeka, aż połączy się on z publiczną siecią Wi-Fi, np. w kawiarni.
  2. Aplikacja Kasa próbuje połączyć się z serwerem.
  3. Po połączeniu się z tą samą siecią atakujący przechwytuje połączenie i pokazuje aplikacji własny certyfikat SSL.
  4. Aplikacja, błędnie biorąc cyberprzestępcę za serwer, wysyła token wymagany do autoryzacji.
  5. Cyberprzestępca przedstawia swój token prawdziwemu serwerowi, który uznaje, że ma do czynienia z właściwą aplikacją.
  6. Będąc jeszcze w kawiarni, haker wysyła do przełącznika informację, że właściciel powrócił do domu.
  7. Atrybut zostaje zmieniony z away na home.
  8. W ten sposób cel zostaje osiągnięty — kamera odczytuje tę wartość i zatrzymuje nagrywanie, po czym cyberprzestępca lub jego wspólnik może wejść do domu niepostrzeżenie.

Według badaczy najgorsze jest to, że taki atak nie wymagał żadnych specjalnych umiejętności. Jednak są i dobre wiadomości: programiści aplikacji Kasa, podobnie jak autorzy systemu Fibaro, należycie naprawili błąd, gdy dowiedzieli się o nim od badaczy ds. bezpieczeństwa.

Nest: Sprawdzanie wielu zamiast nielicznych

W teorii system Nest powinien być chroniony przed takimi atakami poprzez wbudowane skanowanie obcych urządzeń i aplikacji. Przeznaczona dla programistów strona internetowa zawiera obszerną listę wymogów dla produktów, które współdziałają z platformą. Wymogi te określają między innymi, że aplikacja lub urządzenie musi mieć poprawnie działający i bezpieczny system autoryzacyjny, który uniemożliwia podszywanie się pod właściciela.

Jednak w praktyce można ominąć weryfikację obcych aplikacji i urządzeń. System Nest sprawdza tylko te, które mają ponad 50 użytkowników, co oznacza, że może się z nim połączyć unikatowy program tworzony przez hakerów do zaatakowania konkretnego inteligentnego domu, omijając kontrolę bezpieczeństwa. Wszyscy internetowi złodzieje muszą jedynie przekonać ofiarę do pobrania ich konkretnej aplikacji i nadania jej odpowiednich uprawnień.

Ponadto skanowanie mogą ominąć nawet popularne aplikacje, które nie spełniają wymagań Nest. Tu przykładem może być opisany wyżej wątek programu Kasa Smart, który umożliwiał atakującym uzyskanie połączenia z serwerem w jego imieniu.

Okazało się również, że wiele aplikacji dla urządzeń Nest podaje niedokładne informacje na temat uprawnień dostępowych, jakich potrzebują do swojego działania. Na przykład w opisie aplikacji do sterowania termostatem można przeczytać, że potrzebny jest dostęp do atrybutu home/away w celu sterowania samym termostatem, gdy w rzeczywistości atrybut ten jest powszechnie wykorzystywany w całym systemie oraz przez pozostałe urządzenia, które również zareagują, gdy zostanie on zmieniony. Mówiąc wprost, opis wprowadza w błąd.

Hue: aplikacje innych firm mile widziane

Problem z uprawnieniami nadawanymi aplikacjom zewnętrznym dotyczy również inteligentnego systemu oświetleniowego Philips Hue. Został on zaprojektowany w ten sposób, aby każdy program wymagał od właściciela zgody na nawiązanie połączenia z inteligentnym domem.

Uprawnienie to może zostać nadane poprzez wciśnięcie fizycznego przycisku na jednostce sterującej, poprzez którą działają urządzenia Hue. Aplikacja oraz jednostka sterująca muszą znajdować się w tej samej sieci lokalnej, co oznacza, że zarówno sąsiedzi, jak i osoby przechodzące w pobliżu nie mogą połączyć się z Twoim inteligentnym domem, wyczekując na odpowiedni moment w celu wysyłania żądania. Ogólnie, z perspektywy bezpieczeństwa jest to wspaniały pomysł, jednak jego wdrożenie nie poszło zgodnie z założeniem.

Jak odkryli badacze, przycisk ten może zostać wciśnięty nie tylko przez użytkownika, lecz również przez każdy program, który jest już połączony z urządzeniem Hue. A to dlatego, że ten „mózg” systemu określa, czy przycisk został aktywowany zgodnie z wartością jednego z ustawień jednostki sterującej. Wartość ta może być jednak modyfikowana przez aplikacje. Oznacza to, że program, którego działanie wzbudza wątpliwości i który ma dostęp do platformy, może dowolnie nadawać dostęp innym. Ale to nie wszystko: używając tych samych ustawień, może on również odmówić dostępu do legalnych urządzeń połączonych przez właściciela.

Może się wydawać, że ponieważ platforma Hue jest wykorzystywana tylko do sterowania oświetleniem, błąd ten jest znacznie mniej niebezpieczny niż luka w platformie Nest. Jednak urządzenia Hue również mogą łączyć się z systemem Nest, który — jak już wiemy — nie tylko ma dostęp do zamków w drzwiach i kamer, ale w niektórych przypadkach umożliwia aplikacjom innych producentów wyłączenie ich.

Jak zabezpieczyć swój inteligentny dom

Luki w bezpieczeństwie są znajdowane w niemal każdym zautomatyzowanym urządzeniu domowym. Czy jest się czego bać? Chociaż mrugające światło lub brak kontroli nad ogrzewaniem nie jest wygodne, nie stwarza zbyt dużego zagrożenia i nie leży jakoś szczególnie w kręgu zainteresowania cyberprzestępców. Zhakowany inteligentny zamek lub kamera bezpieczeństwa to już zupełnie inna sprawa. Warto tu pamiętać, że bardziej prawdopodobne jest, że w celu pokonania tych problemów znaczna większość złodziei użyje łomu, a nie exploitów.

Tak czy inaczej, decyzja odnośnie tego, czy unowocześnić swój dom o nowe technologie, należy do ich właścicieli. Jeśli postanowisz mieć inteligentny dom, rozsądnie będzie zminimalizować ryzyko złamania jego cyberzabezpieczeń. Poniżej podajemy przykłady, jak się za to zabrać:

  • Czytaj opinie i badaj bezpieczeństwo urządzeń, zanim je kupisz. Zwróć uwagę, w jaki sposób producent reaguje na wykrycie w jego urządzeniach luk. Jeśli szybko eliminuje ujawnione przez badaczy błędy, to dobry znak.
  • Jeśli zdecydujesz się na konkretną aplikację lub urządzenie, regularnie sprawdzaj aktualizacje i wykryte luki. Niezwłocznie instaluj wszelkie aktualizacje udostępnianie przez programistów.
  • Chroń urządzenia i panele kontrolne przy użyciu silnego i unikatowego hasła. W ten sposób atakujący nie będzie złamie klucza do Twojego domu przy użyciu metody siłowej.
  • Poprawnie skonfiguruj domową sieć Wi-Fi.
  • Programy pobieraj tylko z oficjalnych stron i nie udzielaj im niepotrzebnych uprawnień.
  • Łącząc się ze swoim inteligentnym domem za pośrednictwem publicznej sieci Wi-Fi, pamiętaj, że ktoś obcy może przechwycić informacje, jakie są wysyłane przez Ciebie i Twoje aplikacje przez internet, w tym hasła i tokeny autoryzacyjne. Aby tego uniknąć, skorzystaj z bezpiecznego połączenia przy użyciu technologii VPN.