Pomysł wykorzystywania aplikacji do zdalnego sterowania samochodem brzmi bardzo atrakcyjnie. Gdy na dworze mróz, można na przykład uruchomić silnik i poczekać pod ciepłym kocem, aż pojazd się zagrzeje. Z kolei podczas upału można włączyć zdalnie klimatyzację. Poza tym nie trzeba by było pamiętać, gdzie się zaparkowało — auto samo wyśle współrzędne GPS do aplikacji mobilnej.
Brzmi kusząco, dlatego coraz więcej modeli samochodów obsługuje sterowanie przy użyciu aplikacji mobilnej. Jednak czy jest to bezpieczne? Eksperci z Kaspersky Lab przeprowadzili badanie składające się z dwóch etapów, którego celem było poznanie odpowiedzi na to pytanie.
Badanie bezpieczeństwa aplikacji przeznaczonych dla aut, które łączą się z internetem
Pierwszy etap badania odbył się pod koniec 2016 roku. Wtedy podczas konferencji RSA w lutym 2017 roku analitycy Michaił Kuzin i Wiktor Czebyszew zaprezentowali raport pod tytułem Aplikacje mobilne a kradzież auta z dostępem do internetu. Eksperci przeanalizowali aplikacje przeznaczone dla platformy Android, które umożliwiają użytkownikom zdalne sterowanie samochodami, w tym odblokowanie drzwi, uruchomienie silnika, znalezienie auta na mapie, wyświetlenie danych z deski rozdzielczej itp.
Nasi eksperci sprawdzili zabezpieczenia 9 aplikacji mobilnych autorstwa największych producentów samochodów. Ich celem było oszacowanie, czy aplikacje te są odpowiednio chronione przed trzema typowymi rodzajami ataków używanych przez szkodliwe programy dla Androida: uzyskiwanie uprawnień administratora na urządzeniu (rootowanie), nakładanie na interfejs aplikacji fałszywego okna, a także wstrzykiwanie szkodliwego kodu do legalnej aplikacji.
Najpierw wyjaśnimy, dlaczego ataki te są niebezpieczne.
Potencjalne wektory ataków
Rootowanie
W standardowym trybie działania wszystkie aplikacje dla Androida przechowują dane — także te cenne, takie jak loginy, hasła czy inne informacje — w izolowanych sekcjach pamięci, do których inne aplikacje nie mają dostępu. Rootowanie urządzenia zmienia mechanizm zabezpieczeń: mając dostęp na poziomie administratora, szkodliwa aplikacja może uzyskać dostęp do danych przechowywanych przez inną aplikację oraz może je ukraść.
Z sytuacji takiej korzysta wiele rodzajów szkodliwych programów. Około 30% najpopularniejszych szkodliwych programów dla systemu Android potrafi zrootować urządzenie przy użyciu luk w systemie operacyjnym. Co więcej, wielu użytkowników ułatwia zadanie wirusom, rootując swoje urządzenia z Androidem na własną rękę. My nie zalecamy zdejmowania oryginalnych zabezpieczeń systemowych, chyba że ktoś wie, jak chronić taki smartfon czy tablet.
Nakładanie się na interfejs aplikacji
Wspomniana sztuczka nie jest skomplikowana. Szkodliwy program śledzi działanie aplikacji uruchomionej przez użytkownika, a gdy ją zna, nakłada na nią swoje okno o łudząco podobnym wyglądzie. Dzieje się to bardzo szybko, więc użytkownik nie zauważa niczego podejrzanego.
Następnie, gdy użytkownik wprowadza informacje w fałszywym oknie, myśląc, że korzysta z zaufanej aplikacji, szkodliwy program kradnie dane logowania, hasła, numery kart kredytowych i inne informacje, którymi zwykle są zainteresowani hakerzy.
Nakładanie na aplikację własnego interfejsu to standardowa sztuczka trojanów bankowości mobilnej. Jednak coraz częściej autorzy takich trojanów gromadzą dane nie tylko z aplikacji do bankowości mobilnej, lecz tworzą fałszywe okna również dla wielu innych programów, w których użytkownicy wprowadzają numery kart kredytowych czy inne ważne informacje.
Lista aplikacji, dla których tworzony jest fałszywy interfejs, jest dosyć długa: znajdują się na niej różne systemy płatności i popularne aplikacje do komunikowania się, aplikacje służące do zakupu biletów lotniczych i rezerwowania pokoi, sklep Google Play i Android Pay, aplikacje, które umożliwiają uiszczanie opłat za mandaty i wiele innych. Niedawno autorzy jednego z takich trojanów zaczęli kraść informacje o płatności z aplikacji do zamawiania taksówek.
Szkodliwe programy
Hakerzy mogą również sprawdzić, jak działa dana aplikacja, wstrzyknąć do niej szkodliwy kod, zachowując oryginalne funkcje — i udostępnić innym za pomocą sklepu Google Play czy w innych kanałach (zwłaszcza przy pomocy szkodliwych reklam w usłudze Google AdSense).
Aby uniemożliwić infekowanie w ten sposób, twórcy aplikacji muszą sprawić, aby dokonanie inżynierii wstecznej w ich produktach oraz wstrzyknięcie do nich szkodliwego kodu zajmowało sporo czasu, czyniąc to zadanie nieopłacalnym. Do wzmocnienia swoich aplikacji programiści używają dobrze znanych technik. W świecie idealnym używaliby ich wszyscy podczas tworzenia aplikacji, które mają do czynienia z wrażliwymi danymi użytkowników. Niestety w świecie prawdziwym nie zawsze tak się dzieje.
Największe zagrożenie
Korzystając ze wspomnianych wyżej zagrożeń, szkodliwa aplikacja może ukraść dane logowania użytkownika, jego hasła i kody PIN, a także numer VIN pojazdu — czyli wszystko, co jest wymagane do poprawnego zautoryzowania się w aplikacji.
Gdy dane te wpadną w ręce osoby niepowołanej, będzie ona musiała jedynie zainstalować odpowiednią aplikację na swoim smartfonie, aby móc odblokować drzwi (funkcję tę mają wszystkie aplikacje) czy uruchomić silnik (tej funkcji nie mają wszystkie aplikacje, ale jest ona dosyć powszechna) i ukraść auto (ewentualnie śledzić właściciela).
Zagrożenie to przeszło już z obszaru teorii do praktyki. Na forach darknetu, czyli ciemnej strony internetu, co jakiś czas pojawiają się reklamy sprzedaży i zakupu prawdziwych informacji o kontach użytkowników aut łączących się z internetem. Kwoty żądane za takie dane są zaskakująco wysokie — znacznie przewyższają one te, które muszą zapłacić przestępcy za skradzione informacje związane z kartami kredytowymi.
Cyberprzestępcy dosyć szybko reagują na nowe możliwości zarobienia pieniędzy, więc częstsze wykorzystywanie szkodliwych programów do atakowania aplikacji aut połączonych z Siecią jest tylko kwestią czasu.
Część 1. 9 aplikacji do aut połączonych z internetem, 0 chronionych przed szkodliwymi programami
Pierwsza część badania została opublikowana na początku 2017 roku, eksperci zbadali wtedy 9 aplikacji dla Androida do aut łączących z się z Siecią, które zostały wydane przez największych producentów aut. Okazało się, że żadna z tych aplikacji nie była chroniona przed żadnym ze wspomnianych wyżej zagrożeń.
Potwórzmy: wszystkie zbadane aplikacje były podatne na wszystkie z najbardziej powszechnych ataków.
Przed opublikowaniem wyników eksperci z Kaspersky Lab oczywiście skontaktowali się z producentami tych aplikacji i poinformowali ich o problemie.
Część 2. 13 aplikacji do aut połączonych z internetem, 1 chroniona przed (niektórymi) szkodliwymi programami
Lubię obserwować rozwój różnych wydarzeń. Kilka dni temu Michaił Kuzin zaprezentował drugą część raportu podczas IAA 2017, międzynarodowego pokazu motoryzacyjnego we Frankfurcie.
Ekspert dodał do listy kolejne cztery aplikacje, a następnie przetestował wszystkie 13 programów. Ochronę miała tylko jedna z nowych aplikacji — i to tylko przed jednym z trzech rodzajów ataków (po wykryciu, że telefon został zrootowany, odmówiła ona działania).
Co gorsza, nowe badanie pokazało, że wszystkie dziewięć aplikacji nadal było dziurawe. Mimo że problem był producentom znany od miesięcy, nie naprawili oni niczego. Co więcej, część z tych aplikacji nie została zaktualizowana wcale.
Niestety producenci aut, mimo swojej wiedzy i talentu do tworzenia aut, wciąż nie mają wiedzy potrzebnej do właściwego zastosowania cyberbezpieczeństwa.
Problem ten jest typowy również dla producentów innych urządzeń inteligentnych i połączonych z internetem. Jednak w przypadku samochodów problem ten jest pilny i poważny, ponieważ uzyskanie do nich nielegalnego dostępu może doprowadzić do strat w dziesiątkach tysięcy dolarów, a nawet narazić czyjeś życie.
Na szczęście cyberochrony nie trzeba się uczyć w domu i nie trzeba popełniać tych samych błędów, aby się czegoś nauczyć. Nasza firma chętnie współpracuje z producentami z branży motoryzacyjnej i pomaga im w rozwiązaniu problemów z aplikacjami czy innymi z obszaru cyfryzacji.
Każdy, ko obawia się, że smartfon zostanie celem ataku, powinien zainstalować na nim rzetelną ochronę, która wykryje i zablokuje szkodliwe programy, zanim przechwycą one ważne informacje.