Preorder drugiego tomu książki sekuraka: Wprowadzenie do bezpieczeństwa IT. -15% z kodem: sekurak-book

Pokazali jak zmanipulować rozpoznawanie znaków w samochodach

07 sierpnia 2017, 16:06 | W biegu | komentarzy 10

Może znacie samochody, które automatycznie wykrywają znaki drogowe? Tego typu auta wcale nie muszą być autonomiczne – ot oferują dodatkową pomoc dla kierowcy.

Ta funkcja jest o wiele bardziej istotna w pojazdach autonomicznych – w końcu jakoś muszą orientować się na drodze. Pamiętajmy też, że znaki muszą być rozpoznawalne pod różnym kątem, w różnych warunkach pogodowych i oczywiście w ruchu… nie jest to w każdym razie prosty problem.

Czasem do inteligentnego wykrywania znaków używane są sieci neuronowe. I właśnie ten element udało się wprowadzić w błąd. W pracy „Robust Physical-World Attacks on Machine Learning Models” pokazali z imponującą skutecznością udany atak na podmianę znaków:

We physically realized and evaluated two attacks, one that causes a Stop sign to be misclassified as a Speed Limit sign in 100% of the testing conditions, and one that causes a Right Turn sign to be misclassified as either a Stop or Added Lane sign in 100% of the testing conditions.

Czyli znak stopu był rozpoznawany jako ograniczenie prędkości. A nakaz skrętu w prawo jako stop lub ewentualnie inny mniej znany w Polsce znak.

Jak badacze modyfikowali znaki? Na dwa sposoby – tzw. subtelnymi modyfikacjami (ogólnie niewidocznymi na pierwszy rzut oka) – ang. subtle perturbations; drugi sposób to tzw. camouflage perturbations, czyli już nieco bardziej widoczne zmiany. Patrzcie tylko na skuteczność:

We use RP2 to create two types of perturbations: subtle perturbations, which are small, undetectable changes to the entire sign, and camouflage perturbations, which are visible perturbations in the shape of graffiti or art. When the Stop sign was overlayed with a print out, subtle perturbations fooled the classifier 100% of the time under different physical conditions.

Jeden z etapów produkcji „podrobionego” znaku

Tutaj metoda numer dwa – bardziej inwazyjna:

STOP interpretowany jako limit prędkości.

Warto też pamiętać, że różni producenci mogą stosować różne systemy wykrywania znaków (zatem atak nie jest uniwersalny) i autorzy wykonali badanie na jednym systemie rozpoznawania znaków (nie napisali czy brali do testów realny samochód). Z drugiej strony, jeśli będziemy mieli na tym polu unifikację, czy bazowanie na gotowych komponentach (np. z otwartym źródłem) – może być niemiło.

–ms

Spodobał Ci się wpis? Podziel się nim ze znajomymi:



Komentarze

  1. > czy bazowanie na gotowych komponentach (np. z otwartym źródłem) – może być niemiło.

    No raczej może być miło, bo na jednego idiotę, który będzie chciał coś zepsuć będzie przypadać kilku, którzy będą chcieli poprawić tylko po to by się wykazać.

    Odpowiedz
    • To zależy… to tak jak z Androidem – jest OpenSource i dużo ludzi to bada. Ale, ile producentów telefonów daje regularne i sprawne aktualizacje?

      Odpowiedz
      • Jarek

        Może i android jest Open Source, ale nie jest Free Software – a to różnica – występuje w nim cała masa zamkniętoźródłowego kodu którego nikt nie może przejrzeć.

        Odpowiedz
        • dx

          To jakim cudem istnieje http://www.android-x86.org czy RemixOS? Jak kompilują Androida na x86 bez źródeł? :>
          source.android.com/source/licenses
          Nie myl androida z tym, co masz na telefonie jak go wyciągniesz z pudełka.

          Odpowiedz
      • Wujek Pawel

        Sony daje co miesiac patch levela. Przynajmniej do Xperii X Compact. Aktualnie 7.1.1 z PL z 1 lipca.

        Odpowiedz
  2. Milton

    Idealny przykład przerostu myśli technicznej nad zdrowym rozsądkiem. Nie prościej „wprowadzić w błąd” system rozpoznawania znaków stawiając znak ograniczenia prędkości w miejsce znaku stop lub odwrotnie?

    Odpowiedz
    • Milton: nie, ponieważ każdy zobaczy, że stoi nieprawidłowy znak i zostanie on usunięty. Tutaj mowa jest o wprowadzaniu w błąd przez zmiany niedostrzegalne albo łatwo ignorowane przez człowieka.

      Odpowiedz
    • Semp

      Nie chodzi tu o podstawianie jednego znaku w miejsce innego, ale aby utrudnić tak rozpoznawanie aby system widział inny znak.

      Choć dziwię się ze znakiem stopu – ośmiokąt jest wykorzystywany tylko w tym znaku i powinien być na tej podstawie rozpoznany bezwarunkowo.

      Odpowiedz
      • Milton

        @mpan, @Semp – nadal uważam, że to idiotyczne zabawy, a nie żaden problem.
        Mam system rozpoznawania znaków w samochodzie i bez żadnych „ataków” czasem odczyta znak ograniczenia prędkości dotyczący zjazdu z autostrady podczas gdy jadę dalej prosto? I co? Piśnie i nic więcej.
        Problem z pojazdami autonomicznymi? Jeśli taki pojazd wjedzie na skrzyżowanie wyłącznie dlatego, że pomylił znak stopu z ograniczeniem prędkości, to w ogóle nie powinien być dopuszczony do ruchu. A gdzie pozostałe system kontroli? Bądźmy poważni! Autonomiczny samochód prawidłowo rozpoznał znak stopu, zatrzymał się i będzie stał, póki ktoś nie usunie znaku.
        To wszystko przypomina mi podniecanie się niedoskonałością OCR, które głupieją przy tekście „marna mama”.

        Odpowiedz
  3. ᠎᠎᠎᠎᠎᠎᠎

    Ciekawe badania, które można również by wykorzystać zostały opublikowane w 2015 roku:
    http://www.evolvingai.org/fooling
    http://www.evolvingai.org/files/DNNsEasilyFooled_cvpr15.pdf

    Opisują one możliwość tworzenia obrazów, które dla człowieka są szumem a sieć neuronowa wykrywa je z bardzo wysokim prawdopodobieństwem jako sklasyfikowany obiekt.

    Umożliwiły by one ataki na system rozpoznawania znaków w samochodzie, który również byłby trudny do wykrycia.

    Odpowiedz

Odpowiedz