8:50
10/2/2022

Do ciekawego incydentu, którego ofiarą padły auta marki Mazda (rok produkcji od 2014 do 2017) doszło w Seattle. Tamtejsza rozgłośnia radiowa, KUOW 94.9FM nadała 30 stycznia sygnał, który wprowadził samochodowe odbiorniki radiowe w pętlę śmierci: system multimedialny w Mazdach zaczął się bez końca restartować, ekrany przestały działać, a kierowcy nie byli w stanie zmienić radiostacji na inną.

Oto co teraz widzą właściciele Mazd na swoich ekranach. Non stop.

Winny brak …rozszerzenia dla obrazka

Incydent, który kierowców Mazd pozostawił bez dostępu do Bluetooth, nawigacji GPS i innych elementów systemu multimedialnego nie był jednak atakiem, który miał na celu uszkodzenie ich aut. Takie “zbrikowanie” samochodowych systemów rozrywki (ang. “infotainment”) było efektem nadania przez radiostację sygnału, który zawierał nie tylko standardowy dźwięk audycji, ale również dodatkową informację będącą grafiką (prawdopodobnie okładkę płyty z której pochodziła nadawana muzyka).

Radiostacja dane o obrazie nadała bez informacji o …rozszerzeniu pliku graficznego. I to spowodowało problemy w Mazdach. I tylko w Mazdach, bo najwyraźniej inni producenci samochodowych odbiorników radiowych potrafią poprawnie zinterpretować grafikę ze streamu HD na podstawie jej nagłówka (por. Magic Number).

Kosztowny błąd programisty

Jak twierdzą serwisy Mazdy, aby usunąć problem “pętli śmierci” konieczna jest wymiana CMU (koszt ok. 6000 PLN). I tu dobra i zła wiadomość dla kierujących Mazdami. Dobra jest taka, że dealerzy poczuli się do odpowiedzialności za błąd (lub brak odpowiednich testów swoich systemów) i wymiany dokonają za darmo. Ale zła wiadomość jest taka, że nieprędko, bo ze względu na problemy z dostawami chipów na rynek automotive, tych jednostek na razie nie ma dostępnych.

No cóż, mogło być gorzej. Przypomnijmy, że w 2015 roku udało się w podobny sposób przejąć całkowitą kotrolę nad Jeepem, także komunikując się z systemem infotainmentowym, zdalnie, przez internet. Tam skutki były tragiczniejsze — można było sterować nie tylko radioodbiornikiem ofiary, ale także jej skrzynią biegów, klimatyzacją a nawet hamulcami.

PS. Jeśli masz Mazdę z 2014-2017, spróbuj odsłuchać na niej ten podcast (lub dowolny z “99%” w nazwie) i daj znać w komentarzu, jakie efekty ;)

Przeczytaj także:


Dowiedz się, jak zabezpieczyć swoje pieniądze, dane i tożsamość przed cyberprzestępcami. Wpadnij na nasz kultowy 3,5 godzinny wykład pt. "Jak nie dać się zhackować?" i poznaj kilkadziesiąt praktycznych i prostych do wdrożenia porad, które skutecznie podniosą Twoje bezpieczeństwo.

Na ten wykład powinien przyjść każdy, kto korzysta z internetu na smartfonie lub komputerze. Prowadzimy go przystępnym językiem, przeplatając demonstracjami ataków na żywo -- dlatego zabierz ze sobą swoich rodziców! W najbliższych tygodniach będziemy w poniższych miastach:

Zobacz pełen opis wykładu klikając tutaj lub kup bilet w naszym internetowym sklepie.

62 komentarzy

Dodaj komentarz
  1. Samochody francuskie w starym zestawie z CD też nie umiały czytać obrazków i nie umiały pominąć. Jak na CD z MP3 były okładki albumów, normalny zwykły JPG, to odtwarzanie się zatrzymywało jak doszło do tego pliku, ale ręczne przeskoczenie do następnego albumu działało.

    • Ja kiedyś zawiesiłem Fiata. Na pendrive miałem MP3 i ogg. Tych drugich nie obsługiwał, więc im zmieniłem rozszerzenia na mp3 i… wizyta w serwisie. Totalna zwiecha. Na szczęście był na gwarancji.

  2. to co tam się zadziało, że trzeba to sprzętowo ogarniać?

    • if stream is jpg
      show picture on screen
      else flash system update

      ;-)

    • Najprawdopodobniej w tych rocznikach nie było jeszcze OTA. Ale w samym infotainment powinno być wyjście do aktualizacji oprogramowania w autoryzowanych punktach serwisowych i u dealerów. Jeżeli nie zostawili całej możliwości to będą wymieniać skrzynki, nie ma wyjścia.

  3. Ten Jeep to był zaplanowany eksperyment, nie przypadek.

    • Dlaczego nje widać moich komentarzy?

  4. Dokąd zmierzamy? Nie jest to nawet śmieszne … jeśli ktoś zrobi to celowo, skutki będą dużo gorsze

  5. Bardzo przykra sprawa, nie chciałbym być właścicielem takiej mazdy, zanim firma naprawi wszystkim użytkownikom usterkę może minąć bardzo dużo czasu. Poza tym dzięki wam dowiedziałem się o istnieniu magicznej liczby, bardzo przydatna wiedza.
    A w ogóle to pierwszy.

  6. Bawiłem się kiedyś 2 watowym nadajnikiem FM zbudowanym z jakiegoś zestawu. Do emisji użyłem Winampa z wtyczką bodajże stereo tools. Wystarczyła karta muzyczna na RTL chyba od 888 wzwyż (chodziło o zakres częstotliwości akustycznej powyżej 20 khz), aby uruchomić audycje w pełnym stereo, z RDS i możliwością przestawiania częstotliwości, jak ktoś miał w radiu włączone TA.

    • A pociągów nie próbowałeś zatrzymywać?

    • Jak najbardziej jest to możliwe :).

  7. Aaaaale… To to nie ma nawet jakiegoś portu serwisowego do przeflashowania bez wymiany?

    Fun fact #3424: Infotainment w Subaru jest na QNXie.

    • Jest port serwisowy, trzeba tylko rozkręcić deskę i wyjąć kompa. Port serwisowy to wyprowadzona konsola, we wcześniejszych wersjach dało się połączyć ssh na roota :) Więc konieczność wymiany całego CMU to jakiś pic na wodę albo wymysł serwisu.

  8. Dlaczego musza wymieniac hardware skoro to blad w orpogramowaniu? Nie prosciej wgrac nowy software?

    • Podejrzewam że do naprawy trzeba rozkręcić deskę i dostać się do konsoli. A że ASO to wymieniacze, więc pewnie to wymieniają, wysyłają do producenta, i wkręcają ponownie w innym aucie.

    • > bartm 2022.02.10 14:42 | # |
      > Podejrzewam że do naprawy trzeba rozkręcić deskę i dostać się do konsoli. A że ASO to
      > wymieniacze, więc pewnie to
      Hehe, to troche zabawne, jak mam w pamieci nagrania jak np taka mazde 6 sie kradnie. (byl kiedys filmik u Zachara na YT). Gmera sie przy lusterku kilka sekund, po czym auto sie odtwiera, podpiecie do interfejsu, i po kolejnych kilkunastu sekundach mozna smialo jechac…

  9. Serwisy Mazdy zapewne dostaną procedurę upgrade firmware CMU…
    Propozycja wymiany całego CMU to pierwsza reakcja serwisów, które nie odróżniają HW od SW.

    • Wgrają nowy soft a klient myśli że oszczędził 6000zł.

  10. No ale żeby automatycy i programiści systemów w samochodach nie potrafili w fail-safe,
    no bo że w samolotach od dluzszego czasu fail-safe nie działa to wiadomo…

    • Co masz na myśli, że w samolotach nie działa? Akurat pracuję w branży i działa jak najbardziej.

  11. Cholera jasna komp w mazdzie 3 mi zwariował po tym podcascie. Kiepski żart :/
    Proszę o kontakt do kierownika

  12. Ale to musiało dotyczyć samochodów obsługą DAB+, nie wiem czy u nas takie sprzedawali.

    • Nie, u nich nie ma DAB/DAB+. To “HD Radio”. Wygląda na to, że trochę “mniej gorsze” względem analogu i satelitarnego Sirius/XM niż DAB(+).

    • A właśnie… zna ktoś jakiś atak przez RDS?

  13. %99 nic nie psuje. Crash jest wywoływany przez %n w nazwie. Język C traktuje %n jako zmienną do przechowania ilości znaków poprzedzających, czego mazda nie przewidziała w tym miejscu i stąd crash.
    Źródło: https://github.com/Hamled/mazda-format-string-bug#readme

    • Wybacz, ale nie uwierzę. Używanie printf do wyświetlania tekstu pochodzącego z zewnątrz w taki sposób, w jaki zaprezentował to autor repozytorium to błąd więcej niż przedszkolny. Ktokolwiek, kto programuje embedded więcej niż rok nie zrobi czegoś takiego.

    • Tomek każdemu może się to zdarzyć przez przypadek, chyba że kompilator ma włączoną funkcję błędu gdy formatka nie jest literalna

    • @Tomek masz na myśli “Proof of Concept code”, który ma odtworzyć problem?

    • Absolutnie durna wymowka. To co odbiornik otrzymuje to jest ‘data’, wykonywanie ‘data’ w jakikolwiek sposob jest ZAWSZE bledem, i jest to ZAWSZE blad programisty (i tak, to co tutaj podales tez kwalifikowalo by sie pod wykonywanie – i nie, nie jest to “wina C”).

      Jedynym realnym odstepstwem od tego bylo by naprzyklad rozszerzanie funkcjonalnosci np. zdalnym flashowaniem przez sygnal radiowy, ale cos takiego musi miec tony zabezpieczen i ze wzlegu na potencjalny malware i na wysoka korupcje danych w medium (jakim jest sygnal radiowy bez zadnych realistycznie wymaganych parametrow odbioru (od parkingu pod nadajnikiem do bunkra wypelnionego setkami losowo przeskakujacych łuków elektrycznych)).
      Gdzie potrzeba wymiany CMU sugeruje ze do takiej funkcjonalnosci jest mu raczej daleko.

    • @Tomek jasne, a błąd w log4j aka log4shell nie istniał ;-). Ludzie robią dziwne rzeczy, a firmy zatrudniają regularnie juniorów, których nie zawsze ma kto pilnować. A koncerny tną koszty i np. jak Boeing zastępują doświadczony zespół tanimi programistami bez doświadczenia… Zresztą doświadczonym osobom też zdarzają się wpadki. Jeśli nie ma procedur przeglądania i testowania kodu, to wiele rzeczy może się wydarzyć. Po ponad 20 latach programowania nadal niektóre rzeczy mnie dziwią, choć już nie szokują ;-)

  14. Brick zacny. Ale troszkę się dziwię kosztom wymiany – wymieniać hardware bo soft się zawiesił? Ten stream gdzieś w BIOSie się zapisał, czy co?

  15. To nie da się wgrać poprawionego oprogramowania do tego samego chipu, który już jest w radiu tylko koniecznie trzeba nowy? Uwalone BIOS’y w całkowicie “martwych” laptopach stawiałem na nogi programatorkiem za 60PLN… Po tej operacji laptop składał się dokładnie z tych samych części, różnił się tylko wsad kości flash.

  16. Misiaki, skąd wiosek że to radiostacja nadała ten obrazek? Nigdzie nie ma takiej informacji ¯\_(ツ)_/¯

    • Jest. Podlinkowane w pierwszym zdaniu.

  17. “PS. Jeśli masz Mazdę z 2014-2017, spróbuj odsłuchać na niej ten podcast (lub dowolny z “99%” w nazwie) i daj znać w komentarzu, jakie efekty ;)”

    Co prawda mam taki pojazd, ale jakoś wolę nie testować na nim :)

  18. Nasuwają się co najmniej dwa pytania.
    Po pierwsze – jaki mechanizm spowodował aż takie uszkodzenie softu? (fakt, że cały ten system jest zrobiony… średnio, ale aż tak?)
    Po drugie – jako że CMU jest prawie niezmienione do dziś, czy uszkodzenie było zależne od wersji firmware, a nie od daty produkcji? Fakt, że nie ma OTA, tylko trzeba update’y robić ręcznie i serwisy są mocno niechętne, bo to upierdliwy proces (w trakcie którego trzeba pamiętać ponaciskać pedały w samochodzie, żeby się zasilanie nie wyłączoyło XD).

  19. Serio zniżacie się do clickbaitów w postaci “tysiące ofiar”? Ani nikt niczego nie ofiarował, ani nikt niczego nie poświęcił. Słowo ofiara ma akonotacje ze śmiertelnymi wypadkami, a tu też nie to. Wpuściliście jakiegoś gimbusa z wąskim słownikiem żeby wam media społecznościowe psuł? Podpowiedź dla niego: POSZKODOWANI.

    • O ofiarach ataków komputerowych piszemy od 12 lat. Miło nam powitać nowego czytelnika. Teraz czekamy na Twoj wpis o stopce :)

    • “Słowo ofiara ma akonotacje ze śmiertelnymi wypadkami, a tu też nie to.”

      Slowo “ofiara” w kontekscie nowoczesnych samochodow raczej niz ich wrakow (gdzie wiekszosc skupia sie raczej na lokalizacji powstania) u olbrzymiej ilosci ludzi budzi zupelnie inne skojarzenia :p

      Ps. Poszkodowani tez technicznie nie pasuje, bo ma tylko negatywne konotacje a moze ktos sie ucieszyl ze padlo xD

  20. Piękne! ;)

  21. A zamiast wymieniać elektronikę, to nie dałoby się na CMU wgrać jakiejś poprawki (kablem serwisowym oczywiście, bo w takiej sytuacji OTA update nie pomoże)? Czy to tylko 1x w fabryce się da zaprogramować?

    • Mozliwe ze sposób bootowania to komplikuje. Generalnie na pewno by się dało. Ale pewnie prościej będzie wymienić cały moduł. Dopisalbym złośliwie, że przy okazji jeszcze pół samochodu, ale robią to na własny koszt, więc pewnie nie będą chcieli niepotrzebnie zwiększać kosztów.

    • Sposób bootowania jest jak w każdym linuxie ;)
      Dodatkowo, użycie odpowiedniego pendrive z plikiem startowym powoduje, że system zrobi upgrade systemu, więc w sumie info o wymianie jest dziwne.

    • Z tego co pisza, to to prostu zbyt szybko wstaje i zaczytuje instrukcje która go znów crashuje. Pewnie podpięcie przez jakiś debug/jtag zrobi robotę, ale może nie każde ASO ma do tego odpowiednie przeszkolenie, a łatwiej im zrobić wymianę niż napisać cały program szkoleń/procedurę/narzędzia.

    • Tam jest normalny port COM z wyprowadzoną konsolą, więc w sumie żadna filozofia. Jedyna to wykręcić CMU i nie połamać plastiku :)

  22. No nieźle

  23. 6000 za wymianę pamięci??? Chyba, że będą lutować kolbową. Dziwnie by wyglądało, gdyby np windows restartował się w czasie próby otwarcia pliku, którego rozszerzenia nie zna….

    • A może sprawa jest o tyle prosta, że Mazda po prostu nie ma już kodu źródłowego tego czegoś i po prostu nie ma co poprawić? W końcu wypuszczając sprzęt na rynku dóbr szybko-zbywalnych nie planujesz serwisowania go dłużej niż przez 2…5 lat.

  24. W moim Passerati z kolei dokładnie na wjeździe na węzeł Jerozolimskie/Łopuszańska rozłącza się Android auto. Można sparować telefon dopiero w okolicy Leclerca. Bardzo jestem ciekaw czym jest to spowodowane.

    • Bo tam jest nadajnik z Pegasusem… ;))

  25. @Piotr Konieczny: Z tego co pisza…
    IMHO to problem polega na tym ze nie tyle za szybko wstaje, co za wolno laduje USB.
    Obserwacja (bazowane na M3, M6 i Cx5): audio wstaje o co najmniej 20-30 sekund SZYBCIEJ jesli ostatnio odtwarzanie ustawione bylo na FM, DAB czy BT niz przy ostatnim ustawieniu na USB.
    Podejrzewam ze w tym przypadku po prostu: ostatnio bylo sluchane ze zrodla x, wiec przy restarcie system usiluje NAJPIERW kontynuowac odsluch z tego zrodla (wraz ze wszelkimi okolicznosciami towarzyszacymi, w tym przypadku: PADem), a potem dopiero umozliwia przelaczenie zrodla odsluchu.
    ale to tylko przypuszczenia…

  26. Fuszerka pierwszej klasy…

    Dostajac pakiet danych wybieramy z niego to co nas interesuje (i to takze testujemy) a reszte wywalamy. W rezultacie w dobrze zaprojektowanym systemie obrazek powinien automatycznie leciec do smieci, chyba ze go wspieramy, ale wtedy jest on w tych danych ktore testujemy i po zawalonym tescie on leci do smieci. Gorzej zaprojektowany zresetowalby komponent odpowiedzialny za ta funkcjonalnosc. Amatorszczyzna zresetowala by caly system. Natomiast cos takiego to żart. Cos takiego moglo by sie zdarzyc w nieoficjalnym projekcie robionym na kolanie za grosze, ale soft do danego modelu samochodu to praktycznie *jednorazowy* wydatek (jesli nawet, bo kto pisze calosc od nowa dla nowego modelu?) trzeba byc naprawde specjalna osoba zeby na tym oszczedzac…

  27. Czyli tak gdy w tesli za kilka tysięcy mamy wymianę MCU (ekran i procesor rozrywki) który dodaje nowe funkcje, wydajność itp. to jest fala hejtu, tutaj mazda nie potrafi zfashować oprogramowania od nowa i musi wymieniać całe CMU a tamte wywalić do kosza, co tam takiego siedzi że kosztuje 6000? Bo w tesli to albo mocny ARM albo x86 na atomie a tutaj?

    • Pamiętaj, że 6000 to cena ASO, więc na pewno nie rynkowa. Podejrzewam, że łatwiej im to wymienić w ASO i potem wgrać flasha nowego, a następnie wsadzić do innego auta. Więc raczej nic do kosza nie pójdzie.

  28. A nie dałoby rady normalnie zresetować ECU przykładając napięcie/uziemiając nózkę RST na procesorze? Czy amerykańscy mechanicy tego nie potrafią? Zbrickować bardziej się nie da przecież

    • No wiesz oni liczą ze im to małe chińskie rączki zrobią za pół darmo bo sami nie zamierzają się w tym bebrac. Prosciej wymienić cały moduł a to kosztuje, kosztuje właściciela..

    • Da się. Tylko policz koszta przeszkolenia kilku set ludzi, dostarczenia im materiałów, narzędzi…
      Taniej jest dostarczyć gotowy moduł i go podmienić, a stary odesłać do serwisu/centrali, gdzie zespół paru osób już go uzdrowi i poleci do kolejnego klienta.
      Do tego dochodzą jeszcze kwestie pseudo zabezpieczeń- może podobnie jak w fiacie dane urządzenie jest przypisane na stałe do danego pojazdu, i w innym nie będzie funkcjonowało/ nie będzie widoczne.
      Wypłyniecie danych jak to obejść pozwoli na uruchomienie kradzionych podzespołów, a przy takiej siatce dilerów takie informacje szybko by poszły w świat…..
      Zatem do danego auta trzeba dedykowany chip zrobić, stąd zapewne taka cena.

  29. Bez obrazy, ale chyb jakiś fejk, Mazdy z roczników 2014-2017 już dawno przerdzewiały.

  30. Heh, czyli w stanach ASO na tym samie poziomie co u nas, wymieniać wszystko po kolei, nic nie naprawiać:)

  31. Ręce opadają. Radio to radio, gps to gps. Awaria jednego nie powinna wpływać na drugie.

  32. A ja jestem trochę z automotive związany i co do systemów mazdy w tych latach to jest to MZD2 (do 2020 tak na prawdę nie 2017) ;) Postawić to można na 100 sposobów bez wymiany jednotki, tylko serwis ma to w pędzlu bo po co każdy samochód robić przez 3h jak można wkręcić nowy unit w 15 minut? tam są 2 partycje – jedna z nich to recovery. Wystarczy unit do recovery przewalić, zrobić flasha main systemu, później znów update recovery i tyle. MZD2 nie ma wcale updatów OTA – wszystko ręcznie z pendrive a pewnie 2014-2017 to roczniki podatnych wersji systemów – rzadko kto je aktualizuje dla siebie. By było śmieszniej lata to pewnie na QNX albo innym RTOS gdzie partycje systemu są tak na prawdę Read Only a cały problem to wyczyścić partycję RW. No ale nie mam takiego unitu pod ręką by sprawdzić

Twój komentarz

Zamieszczając komentarz akceptujesz regulamin dodawania komentarzy. Przez moderację nie przejdą: wycieczki osobiste, komentarze nie na temat, wulgaryzmy.

RSS dla komentarzy: