haker
9

Te samochody mogą być zaatakowane przez hakerów. Wszystko przez ten moduł

Czym więcej elektroniki w samochodzie, tym gorzej - tak ogólnikowo powie przeciętny "Janusz" motoryzacji. I będzie mieć w tym trochę słuszności, bowiem w niektórych sprawach, nowoczesne rozwiązania mogą być problematyczne. Sami spójrzcie, do czego może doprowadzić wadliwy modem sieci komórkowej, tzw. TCU w niektórych samochodach.

TCU to modemy 2G, które wykorzystywane są przez producentów samochodów do wysyłania / odbierania danych dotyczących funkcjonowania samochodu. Tego typu urządzenia są pomocne, jeżeli możemy sterować niektórymi funkcjami samochodu np. za pomocą aplikacji mobilnej lub strony internetowej. Moduły TCU są w stanie zbierać i wysyłać dalej dane dotyczące stanu technicznego auta, np. w celach diagnostycznych. Okazuje się jednak, że i tego typu urządzenia można złamać. Przyczyniły się do tego dwie poważne luki bezpieczeństwa, już dobrze udokumentowane przez ekspertów. Jeden z ataków polega na przepełnieniu bufora, co stwarza poważne zagrożenie dla oprogramowania zainstalowanego w samochodzie. Drugi natomiast pozwala już na wykonanie złośliwego kodu za pomocą TCU.

samochód infinity

Wśród zagrożonych pojazdów znajdują się:

BMW niektóre modele z lat 2009-2010
Niektóre modele Forda
Infiniti 2013 JX35
Infiniti 2014-2016 QX60
Infiniti 2014-2016 QX60 Hybrid
Infiniti 2014-2015 QX50
Infiniti 2014-2015 QX50 Hybrid
Infiniti 2013 M37/M56
Infiniti 2014-2016 Q70
Infiniti 2014-2016 Q70L
Infiniti 2015-2016 Q70 Hybrid
Infiniti 2013 QX56
Infiniti 2014-2016 QX 80
Nissan 2011-2015 Leaf

Producenci zagrożonych atakiem samochodów obiecują jednak, że owe podatności pozwalają jedynie na uzyskanie dostępu do funkcji multimedialnych w samochodach, nie mają one wpływu na krytyczne podsystemy zawarte w samochodach. Niemożliwe będzie zatem wykonanie kodu, który w określonej sytuacji np. odetnie dostęp do hamulców, co może zakończyć się tragedią. Nietrudno jednak wyobrazić sobie sytuację, w której cyberprzestępcy uzyskują dostęp do takich funkcji. Firmy motoryzacyjne, których auta wykazują powyższe podatności zapowiedziały już prace nad zniwelowaniem zagrożenia. BMW zaoferuje nieodpłatne czynności naprawcze klientom, którzy posiadają zagrożone auta. Nissan natomiast (do którego należy również Infinity) obiecuje, że każdy klient, który posiada auto, któremu grozi atak może liczyć na bezpłatne zdezaktowywanie modemu 2G w samochodzie.

Pewne jest to, że tego typu ataków będzie więcej – tym więcej, im częściej w samochodach będą instalowane takie rozwiązania. Może się okazać, że w przyszłości nie napiszemy dla Was już nie o ransomware atakującym komputery, lecz o wirusie, który infekuje samochody. I to właśnie tam żąda okupu, by móc uruchomić auto. Wyobrażacie sobie paraliż, który mógłby nastąpić po takim incydencie? Wszystko jednak ku temu zmierza – również i idea inteligentnych domów, internetu rzeczy stawia przed nami nowe wyzwania, o których moglibyśmy nie myśleć jeszcze dekadę temu. Pewne jest jedno – eksperci do spraw cyberbezpieczeństwa będą mieć pełne ręce roboty.

  • PN27

    Nie rozumiem błędów typu „przepełnienie bufora”. O co w tym chodzi? Kiedyś pisałem sobie programy na Atari, i przepełnienie bufora było w nich niemożliwe. Program „wiedział” jaki ma bufor i nie pozwolił załadować więcej znaków, niż było miejsca w buforze. Z drugiej strony nie rozumiem jak można ważne funkcje samochodu podłączyć do komputera, nad którym możliwe jest zdalne przejęcie kontroli?

    • mglamowski

      W języku C bardzo łatwo o przepełnienie bufora. Program sam z siebie nie kontroluje tego, co, skąd i dokąd kopiujesz. Jeżeli programista zapomni sam o to zadbać, to prędzej czy później ktoś to wykorzysta. Z drugiej strony, jest to tak książkowy błąd, że nie powinien się zdarzać. Może nie robią code review, a testy po łebkach.

    • garrappachc

      W bardziej złożonych programach nawet mimo testów i code review można przeoczyć wyciek pamięci i podatność na przepełnienie bufora.

    • garrappachc

      Nie wiem jak było na Atari, ale obecnie program też „wie” jaki ma bufor dopóki korzystamy wyłącznie ze stosu. Jednak korzystanie ze stosu nie zawsze jest najlepszym rozwiązaniem i dlatego korzysta się ze sterty, a tutaj C daje już programiście wolną rękę. Jeżeli wiemy jak wygląda dany program, znamy jego podatności i wiemy jakimi bajtami musimy mu przepełnić bufor żeby osiągnąć nasz cel, to nic już nie stoi na przeszkodzie.

  • Ymnytor

    Strach przed zamachami wykonywanymi przez hakerów na samochody jest dość duży, według mnie niepotrzebnie. Dopiero gdy będzie możliwość zdalnego przejęcia kontroli, bądź zainfekowania układu sterowania będą powody do prawdziwych obaw. Dziś dobrze, że firmy starają się łatać luki w bezpieczeństwie, ale nie wpadajmy w panikę. Nawet obecnie można wykonać ataki na czyjeś życie niszcząc np. system hamulcowy.

    • aaaaa

      Nawet nie świadomie, taki „atak” może być wykonany przez jakiegoś gryzonia :)

  • hjgvcygv

    Skoro ten moduł jest od wysyłania danych diagnostycznych to dlaczego jego błędy mają wpływ na funkcje multimedialne? Reszta systemów nie powinna całkowicie ignorować jego poleceń?

  • mikkel

    Przepełnienie bufora jest możliwe np. po przez użycie wskaźnika, zresztą po przez index też raczej.
    Druga kwestia to jeśli programiści nie testują takiej opcji to niech lepiej zajmą się czymś innym. No chyba że to robili studenci na praktykach co też by mnie specjalnie nie zdziwiło.

  • Hardkor

    No i za ileś lat podczas takiego ataku zobaczymy czy łatwiej odpali moja Astra F 1998 czy jakieś nowe auto :)