9:12
23/2/2015

Billy Rios, badacz bezpieczeństwa, usłyszał od swojego kolegi, pracownika stacji benzynowej, że po awarii automatycznej myjni samochodowej serwisant naprawił ją zdalnie, przez internet. Jak się zapewne domyślacie, Rios nie potrzebował więcej zachęt i ruszył do wyszukiwania adresów IP myjni w sieci. Przy okazji w oprogramowaniu myjni odkrył kilka błędów, które pozwalają na uszkodzenie samochodu podczas mycia.

Mordercza myjnia

Jeśli należycie do tej grupy osób, która odczuwa strach przed wjazdem do automatycznej myjni, to teraz możecie świecić triumfy. Okazuje się, że niektóre z automatycznych myjni pracują pod kontrolą Windowsa CE (na architekturze ARM) i można je kontrolować przez webinterfejs. Co więcej, jak się okazuje, dość powszechną praktyką jest podpinanie myjni do internetu… (m.in. po to, aby ułatwić serwisowanie). Webinterfejs myjni został na szczęście zabezpieczony hasłem. Billiemu nie udało się co prawda znaleźć podatności, która pomogłaby obejść wymóg uwierzytelnienia i uzyskać nieautoryzowany dostęp do sterowania myjnią …ale “odgadł” domyślne hasło. Ponoć nie było ono skomplikowane i choć Rios go nie ujawnia, to artykuł na Threatpost wspomina, że jest “pięcioznakowe”. (12345, admin?)

Interfejs jednej z myjni samochodowych

Interfejs jednej z myjni samochodowych — fot. archiwum prywatne

Po uzyskaniu dostępu do webinterfejsu, okazało się, że pozwala na wywołanie kilku ciekawych opcji — niestety część z nich może uszkodzić samochód, ale na szczęście nie chodzi tu o “zasuszenie go na śmierć” :-)

  • wyłączenie czujników zbliżeniowych na drzwiach wjazdowych i wyjazdowych do myjni (może w niektórych przypadkach powodować “przytrzaśnięcie” samochodu lub pasażera
  • modyfikacja nastawień szczotek (zwłaszcza na błędną, co pokazuje przypadek na stacji kolegi Riosa, może spowodować uszkodzenie samochodu podczas mycia)
  • zmiana planu mycia (darmowy upgrade!)
Komendy wysyłane są do urządzeń myjni za pomocą przemysłowego protokołu Modbus (polecenia można wydawać przez webinterfejs albo …telnet). Jak się okazało, w oprogramowaniu pełno jest podatności typu SQL injection, command injection i buffer overflow — choć trzeba uczciwie przyznać, że mają one raczej małe znaczenie, gdyż dostęp do oprogramowania myjni zgodnie z założeniami mają mieć tylko i wyłącznie zaufane osoby; a te z kolei i bez tricków w stylu SQL injection mogą wydać myjni dowolne polecenie.

Odnalezione przez Riosa podatności dotyczą myjni “PDQ LaserWash” (czy ktoś namierzył takie myjnie w Polsce?) ale zapewne inni producenci mogą postępować w podobny sposób. Obstawiamy, że wyszukiwarką Shodan można łatwo odnaleźć także inne myjnie w internecie.

Nie wpadajcie w panikę

Nie należy jednak wpadać w panikę podczas kolejnej wizyty w myjni. Każda z nich wyposażona jest w przycisk awaryjnego zatrzymania. Ale oczywiście, żeby go nacisnąć, należy — zgodnie z instrukcją — oczekiwać końca mycia poza myjnią, a nie siedząc w samochodzie…

Dodatkowo, część ze znanych nam myjni automatycznych obecnych w Polsce posiada sprzętowe czujniki zbliżeniowe, które nawet w przypadku błędnej kalibracji, podczas zetknięcia z powierzchnią samochodu od razu zatrzymają pracę myjni.

Problemem domyślne hasło

Podsumowując rewelacje Riosa — nie ma się co dziwić, że oprogramowanie myjni pozwala na jej “wysterowanie”. Od tego jest. Jedyny błąd jaki popełnili twórcy, to brak wymuszenia zmiany domyślnego hasła i ewentualnej ochrony przed atakami jego automatycznego odgadywania. Ciężko wywnioskować, kto wpadł na pomysł podpinania myjni do internetu (czy robi to producenty, czy może takiej konfiguracji dopuściła się — dla wygody — stacja benzynowa). Ponieważ jednak Riosowi udało się odkryć kilka myjni w internecie, przypadek nie należy traktować jako odosobnionego.

Ciężko jest nam zrozumieć, dlaczego myjnie (albo zbiorniki z paliwem) muszą być dostępne na publicznym adresie IP. Oczywiście dostęp do webserwera jest wymagany m.in. przez pracowników stacji benzynowej (zarządza on nie tylko technicznymi aspektami myjni, ale również nadzoruje sprzedaż), ale można go zapewnić w sposób bezpieczny — ograniczając go tylko do sieci lokalnej.

Inne metody “ataków” na myjnie

Poza atakowaniem myjni z internetu, można je także hackować bezpośrednio. Pewna sieć obecnych w Polsce zagranicznych stacji benzynowych udostępniająca możliwość skorzystania z myjni automatycznych poprzez wpisanie odpowiedniego kodu. Myjnie ma jednak tak skonfigurowane, że akceptują one kod tzw. “testowego mycia”. Testowe mycie nic nie kosztuje, a myje tak samo dobrze — dajemy na to naszą osobistą gwarancję :)

Kolejnym z pomysłów (choć tego akurat nie testowaliśmy osobiście) jest analiza zapisu informacji na pasku magnetycznym (lub chipie RFID) w innych z obecnych w Polsce sieci stacji benzynowych oraz myjni bezdotykowych niekoniecznie zlokalizowanych przy stacjach benzynowych. Być może karty te da się “sklonować”? (hint: SLE4442, HitTag2)

PS. Jeśli nie wykonujecie testów bezpieczeństwa myjni, to nie zachęcamy do ww. prób. Raz, że myjnie są monitorowane, a dwa, że nieautoryzowane testy penetracyjne to przestępstwo.

Przeczytaj także:

27 komentarzy

Dodaj komentarz
  1. > Testowe mycie nic nie kosztuje, a myje tak samo dobrze — dajemy na to naszą osobistą gwarancję :)

    Kradzione batony z marketu też nic nie kosztują, a smakują tak samo dobrze. Daję gwarancję.

    Kradzież to kradzież. Nie ma się czym chwalić.

    • bo nie pomyslales, ze ta informacja bardziej przyda sie stacjom paliwowym i wlascicielom myjni niz zlodziejom. glodnemu chleb na mysli.
      ja prowadze maly biznes z myjniami bezdotykowymi i wlasnie wisze na infolinii producenta zeby dowiedziec sie jak to w naszym sprzecie wyglada. nie mialem pojecia ze takie cos moze byc mozliwe.

    • To, że dają osobistą gwarancję, nie znaczy że robili to na lewo. Panowie “Niebezpieczni” wykonują testy penetracyjne więc mogli testować taki system :) Albo znajomy ma myjnie, lub sprawdzali za pozwoleniem :) Możliwości jest wiele, a Ty od razu “złodzieje!” Poza tym przeczytaj ostatni akapit artykułu.

    • Po pierwsze to nie napisałem o nikim złodziej, tylko że kradzież to kradzież i że nie ma się czym chwalić. “dajemy na to naszą osobistą gwarancję :)” brzmi identycznie jak puszczenie oka przy mówieniu “piwo bezalkoholowe”.

      A po drugie ostatni akapit tekstu pojawił się już po napisaniu przeze pierwszego mnie komentarza.

    • * przeze mnie pierwszego komentarza

    • Ech i muszę tłumaczyć. Otóż napisałeś – cytuję: “Kradzież to kradzież. Nie ma się czym chwalić.” więc we domyśle nazwałeś ich złodziejami, czyż nie? Jeżeli źle to zinterpretowałem, to mnie proszę popraw. W moim mniemaniu (chyba nie tylko moim) osoba, która dokonuje kradzieży nazywana jest “złodziejem”, dlatego też cudzysłów w moim poprzednim komentarzu nie oznaczał cytatu z Twojej wypowiedzi, tylko całe jej streszczenie do jednego, analogicznego słowa.

      Jak już pisałem: jeżeli źle zinterpretowałem, to mnie popraw i przedstaw właściwy kontekst Twojego pierwszego komentarza.

      Po prostu nie mam w zwyczaju atakować kogoś bezpodstawnie tylko dlatego, że “puścił oczko”.

    • Ale festiwal dorabiania ideologii tu widzę.
      Krzysztof dobrze napisał, można taką informację podać na wiele różnych sposobów i chyba nie tylko ja i on tak to odebraliśmy jak to opisał.
      Przyznam, że treść i ton komentarzy krytykujących zwrócenie przez niego uwagi podpada mi pod pewien rodzaj autocenzury obywatelskiej.

    • jest tylko jeden mały problem – nie da sie ukraść usługi.

    • srodkow czyszczacych czy zuzywajacych sie szczotek tez…

  2. Poproszę o kod do testowego mycia na myjni. Do celów edukacyjnych oczywiście :D

    • Proszę – należy przepisać taki kod na klawiaturze alfanumerycznej myjni (ostatnia litera to suma kontrolna liczona specjalnie dla kodów testowych):

      5P13R-D4L4J-1KUP5-3MYC1-E

    • Podaję hasło: OKOŃ

    • Czemu go okłamujecie? To nieładnie…
      Prawdziwe hasło to: Ptaki latają kluczem
      Musisz podejść do pani kasjerki i od razu podać hasło wtedy dostaniesz bilecik na darmowe mycie. Podobno działa to też na panów kasjerów ale nie testowałem, jak przetestujesz to daj znać czy działa :)

    • “5P13R-D4L4J-1KUP5-3MYC1-E”
      OK, przyznam że takie hasło mi się podoba :D

    • Kolega z posta wyżej chce, żeby komuś mycie stanęło OKONIEM ;).

  3. To, że “serwisant naprawił ją zdalnie, przez Internet”, to jeszcze nic złego. Myjnia mogła być przecież wpięta do VPN.

  4. sprawdziłem powyższy kod, niestety nie działa :(
    jakieś inne propozycje ?

  5. A czy przycisku awaryjnego stopu nie da się również zhackować tak, aby wyrządził szkody, tzn. nie zadziałał? ;)

    • Przyciski stop nie sa podpinane pod nic inteligentnego, glownie sama elektryka/przerwanie obwodu.

  6. Rozumiem że to takie zabawne – ale jednak komentarz jest dość obraźliwy, nie można było czegoś normalnego `zakodować`?

    • Jest to oczywiście odpowiedź do postu kolegi @CluelessKiwi

    • Domyślam się, że jego komentarz to nawiązanie do starego cytatu z basha:

      http://bash.org.pl/60962/

    • @Av: widzę, że się rozumiemy :P

  7. to takie chyba:
    http://www.laserwash.pl/realizacje/

  8. Tak. Da się uciąć kabelek albo zakleić :)

  9. na Orlenie pracownicy jak se (lub znajomemu) chca za darmo umyc to wciskaja Reklamacje – myje tak samo dobrze.

  10. myjnie na statoilu skanują lub należy wpisać cyferki z wydrukowanego kodu paskowego. tak że możliwość analizy jest otwarta :) pytanie, czy te kody nie są przypadkiem generowane w kasie i przekazywane do myjni. jeśli tak, to można je sobie “analizować”.

Twój komentarz

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