20:51
9/8/2016

Wszystko zaczęło się od błędnie działającej automatycznej bramki na Okęciu, która VIP-om pozwalała ominąć kolejki do kontroli bezpieczeństwa. Przemek Jaroszewski, który często lata i status VIP-a posiada, nie był w stanie skorzystać z tzw. “fast-tracka”. Bramka nie reagowała na kod QR nadrukowany na jego karcie pokładowej, chociaż Przemek miał odpowiednie uprawnienia pozwalające mu na szybsze przejście przez kontrolę bezpieczeństwa — czy też, jak nazywają to “przedstawienie” specjaliście z branży — “teatr bezpieczeństwa”. Ten błąd bramki tak zirytował Przemka, że postanowił on bramkę “oszukać”, generując na swoim telefonie kod QR, który bramka zaakceptuje. Mieliśmy okazję rozmawiać z Przemkiem nie tylko o lotniskach, ale także o konferencji DEF CON i pracy w CERT Polska.

Wygeneruj kod, wejdź do saloniku lub kupuj w duty-free

Przemek Jaroszewski jest ekspertem ds. bezpieczeństwa w CERT Polska. Praca zmusza go do częstego latania, a jako stały bywalec lotnisk, chętnie korzysta on z udogodnień takich jak tzw. saloniki lotniskowe — strefy dla wybranych pasażerów, oferujące wyższy poziom komfortu niż zwykłe poczekalnie i terminale. Często można w nich coś zjeść lub po prostu usiąść na wygodniejszych fotelach.

Przemkowi udało się ustalić w jaki sposób preparować poprawne kody QR, które “wpuszczają” do saloników, ale nie tylko. Z takim kodem można przejść do strefy lotniska za bramkami bezpieczeństwa (bez posiadania ważnego biletu) i robić zakupy w sklepach wolnocłowych. Można też podrobić kartę pokładową tak, żeby pomimo bycia na czarnej liście linii lotniczych (znajdują się tam np. osoby podejrzane o terroryzm) i tak odbyć lot.

Różne ceny wódki, w zależności od tego, co jako port docelowy pokazuje nasza karta pokładowa... fot. Przemek Jaroszewski

Różne ceny wódki, w zależności od tego, co jako port docelowy pokazuje nasza karta pokładowa… fot. Przemek Jaroszewski

Te “oszustwa” są możliwe, ponieważ systemy na lotniskach zczytujące kody z kart pokładowych nie łączą się z systemami rezerwacji linii lotniczych …ze względu na ochronę prywatności danych osobowych pasażerów. Innymi słowy, czytniki nie wiedzą, czy zakodowane w kodzie QR dane reprezentują faktycznie kupiony bilet na dany lot…

Przemek dla wygody stworzył stronę internetową, która jest w stanie generować kody na podstawie dowolnie podanych danych. Oto demonstracja jej działania w akcji:

aplikacja-przemka

Co zakodowane jest w kodzie QR na karcie pokładowej?

Kody na kartach pokładowych są ustandaryzowane w publicznie dostępnym dokumencie IATA Resolution 792.

format-qr-code

Surowy ciąg znaków wyglądać może tak:

Zawartość kodu na boarding passie, na czerwono zaznaczona klasa pasażera.

Zawartość kodu na boarding passie, na czerwono zaznaczona klasa pasażera.

i jak łatwo zauważyć, obejmuje:

  • imię i nazwisko pasażera,
  • dane związane z lotniskami (źródłowe, docelowe)
  • klasę pasażera (to ona warunkuje uprawnienia do np. saloników)
  • Informacje o numerze lotu i miejscu w samolocie

Powyższe tak prezentuje się na karcie pokładowej:

boarding-pass-qr

I właśnie dlatego, nie należy publikować w internecie zdjęć swoich kart pokładowych (lub wyrzucać ich do kosza).

Wysoka etyka Przemka

Tu należy podkreślić, że Przemek Jaroszewski nie tyle obszedł zabezpieczenia, co raczej dostrzegł błąd logiczny systemu. Warto też zaznaczyć, że Przemek swoje eksperymenty prowadził etycznie — nigdy nie próbował wykorzystać fałszywych kodów QR by np. odbyć lot pod obcym nazwiskiem, ani nie wchodził na fałszywych kodach do saloników, do których faktycznie nie miał dostępu ze względu na posiadany przez niego status (klasę pasażera).

Z tego samego powodu, Przemek nie udostępnił swojej strony do generowania kodów, bo — jak nam powiedział — nie chce wizyty FBI. Tu należy przypomnieć, że w roku 2003 aktywista Chris Soghoian udostępnił narzędzie do generowania fałszywych kart pokładowych. Skończyło się nalotem i problemami prawnymi.

Spoofing kodów QR był przez Przemka testowany tylko w Europie i niekoniecznie zadziała w USA. Tamtejsze kody QR wyposażone są jeszcze w element podpisu.

O swoich eksperymentach Przemek opowiedział kilka dni temu na konferencji DEF CON w Las Vegas. Każdy z was może zapoznać się ze szczegółami zaglądając do przygotowanej przez niego prezentacji.

Po swoim wystąpieniu, Przemek poświęcił nieco czasu dla Niebezpiecznika i odpowiedział na kilka naszych pytań (mimo niedogodności wynikających z różnicy czasu):

Rozmowa z Przemkiem Jaroszewskim

Marcin Maj, Niebezpiecznik: Czy opracowana przez Ciebie aplikacja pozwoliłaby na inne nadużycia np. wykorzystanie jakiegoś programu lojalnościowego by wyłudzić prezent?

Przemek Jaroszewski, CERT Polska: Ten sam mechanizm działa wszędzie tam, gdzie weryfikacja sprowadza się do zczytania danych z karty pokładowej. W przypadku programów lojalnościowych linii lotniczych to nie zadziała, bo naliczanie mil odbywa się na podstawie danych z systemu rezerwacyjnego.

Ale jest na przykład pewne lotnisko (nie chcę pisać które, bo jako jedyne bardzo przyzwoicie się ze mną komunikowało i nie ma za bardzo możliwości naprawienia czegoś, co jest zepsute “by design”), które wprowadziło program lojalnościowy dla wylatujących z niego pasażerów. Ponieważ lotnisko nie ma dostępu do danych z systemów rezerwacyjnych (bo prywatność), nalicza punkty na podstawie skanu karty pokładowej.

Innym nadużyciem może być choćby zakup alkoholu w cenie bezcłowej – ale czy te ceny są takie zwalające z nóg to nie mi oceniać ;) (poza tym, to już chyba przestępstwo karnoskarbowe czy coś).

Marcin Maj, Niebezpiecznik: Temat “fałszowania” kart pokładowych nie jest całkiem nowy. Czy to wcześniejsze osiągnięcia innych osób zachęciły Cię do zgłębienia tematu, czy przyjrzałeś się wcześniejszym pracom dopiero później?

Przemek Jaroszewski, CERT Polska: Zacząłem od tego żeby spróbować naprawić to, co Lotnisko Chopina zepsuło wprowadzając automatyczne bramki na wejściu na lotnisko. Nie zaimplementowali poprawnie weryfikacji uprawnienia do korzystania z “fast track”, co powodowało, że za każdym razem trzeba było tracić czas i fatygować obsługę. Sprawdziłem więc, czy da się samodzielnie “podbić” sobie klasę podróży, na podstawie której bramka przepuszcza lub nie. Dało się, więc zacząłem sprawdzać co jeszcze da się zmienić. Wtedy naszła mnie refleksja, że przy tylu pasażerach wydaje się niemożliwe, że nikt wcześniej nie zgłębiał tematu. I rzeczywiście, jak zauważyłeś, problem jest znany od ponad dekady. W prezentacji sporo czasu poświęciłem temu, co z tym zrobiono i czemu nadal [to] nie działa.

Marcin Maj, Niebezpiecznik: Czy wykorzystałeś uczestnictwo w DEF CON-ie w celu wypróbowania swojej aplikacji w USA?

Przemek Jaroszewski, CERT Polska: Niestety, nie miałem okazji (inna sprawa, czy miałbym odwagę — nie mówię o saloniku tylko kontroli TSA). Miałem za to okazję pobawić się kupionym na eBay przez innego uczestnika konferencji skanerem takim jak te używane przez TSA. Efekty są na filmie:

Marcin Maj, Niebezpiecznik: Czy jeszcze przed DEF CONEM próbowałeś alarmować linie lotnicze o problemie?

Przemek Jaroszewski, CERT Polska: Oczywiście. Odpowiedzi są w prezentacji. Wszystkie pochodzą sprzed co najmniej 2-3 miesięcy.

linie

Marcin Maj, Niebezpiecznik: Czy podróżując liniami lotniczymi natykałeś się na inne zagadnienia z zakresu bezpieczeństwa, które przykuwały Twoją uwagę?

Przemek Jaroszewski, CERT Polska: Jedyne, co mi przychodzi do głowy to to, jak bardzo linie lotnicze uzależniły się od systemów elektronicznych, które często nie mają zapewnionego odpowiedniego poziomu niezawodności. Ot, choćby z dzisiaj. Niestety, zaplanowana na defconie prezentacja o hakowaniu systemów lotniczych nie doszła do skutku :( Prelegent nie dotarł…

Marcin Maj, Niebezpiecznik: Jak było na DEF CON? Jak oceniasz tę konferencję? Czy wyróżnia się ona czymś szczególnym w porównaniu do podobnych konferencji w Polsce i w Europie?

Przemek Jaroszewski, CERT Polska: Nie mam porównania z CCC, natomiast na tle innych wydarzeń (celowo nie używam słowa konferencja), które znam wyróznia się kilkoma rzeczami:
– przede wszystkim skalą (22 tysiące osób w tym roku)
– wysoką jakością większości prelekcji (selekcja jest naprawdę ostra, ale też bardzo rzeczowa i merytoryczna)
– mnóstwem aktywności poza prelekcjami – tak naprawdę, prelekcje stanowią już chyba mniejszą część pod względem udziału uczestników, poza tym jest:
= kilkanaście warsztatów,
= 10 “wiosek” tematycznych: od otwierania zamków, przez social-engineering, kryptografię, po car-hacking, czy IoT, a w każdej wiosce ciekawi ludzie, prelekcje, zawody,
= kilkanaście różnych zawodów: od klasycznych CTF (w tym roku w nietypowej formie), po np. Social Engineering CTF – zawodnicy są zamykani w kabinie z telefonem i dzwonią do firm zajmujących się bezpieczeństwem z zadaniem pozyskania informacji :)
= Skytalks – oddzielny track z prelekcjami, które nie są i nie mogą być rejestrowane
= wiele róznych imprez od pokazów filmów po dj sety
= na pewno o czymś zapomniałem :)

Jedną z istotnych ciekawostek w tym roku na defcon było DARPA Cyber Grand Challenge – rywalizacja superkomputerów w wyszukiwaniu i łataniu błędów w kodzie. Niesamowite, gdy zdamy sobie sprawę, że komputery potrafią naprawiać własny kod, a jeszcze bardziej niesamowite, bo zwycięzca CGC startował jako zawodnik przeciw ludzkim drużynom (w tym Dragon Sector) w normalnym CTF, które także miało formułę reversowania i patchowania kodu swojego i przeciwników. I przez dłuższy czas z niektórymi drużynami wygrywał!

Marcin Maj, Niebezpiecznik: Jest jeszcze jedno pytanie nieobowiązkowe. Jak Ci się pracuje w CERT Polska? Czy możesz nam przedstawić swoją opinię na temat ostatnich zmian w obszarze “cyber”bezpieczeństwa w Polsce i zmian jakie zaszły w strukturach organizacji takich jak NCC/CERT?

Przemek Jaroszewski, CERT Polska: Przez 15 lat bardzo dobrze pracowało mi się w CERT Polska i uważam, że to świetne miejsce z dużym potencjałem. Ponieważ wciąż w to wierzę, przyjąłem z 1 sierpnia stanowisko szefa tego zespołu. Pomysł stworzenia NCC i usystematyzowania ochrony cyberprzestrzeni jest jak najbardziej godny pochwały, bo koordynacja i przepływ informacji między sektorami oraz służbami i urzędami pozostawiały wiele do życzenia. Warunkiem sukcesu w długim terminie jest odpowiednie zaplanowanie całego przedsięwzięcia, zapewnienie środków na jego realizację i systemu zachęt dla sektora prywatnego. Tu ogromna odpowiedzialność spoczywa na Ministerstwie Cyfryzacji. Na razie jest to inicjatywa utrzymywana w całości ze środków NASK, które – jak wskazała ubiegłoroczna kontrola NIK – już wcześniej nie były wystarczające.

Przemek Jaroszewski w koszulce naszej produkcji -- gdyby ktoś był chętny, dajcie znać na e-mail, mamy jeszcze kilka sztuk. Fot. Andy Greenberg

Przemek Jaroszewski, Fot. Andy Greenberg

Artykuł kończymy zdjęciem Przemka, które pojawiło się w WIRED. Przemek jest na nim w koszulce naszej produkcji. Gdyby ktoś z Was był chętny, mamy jeszcze kilka sztuk — przesyłajcie swoje dane osobowe i rozmiar brzucha na adres redakcji. A jak będzie potrzeba, to zamówimy więcej ;). Pełna wizualizacja koszulki wygląda tak.


Dowiedz się, jak zabezpieczyć swoje dane i pieniądze przed cyberprzestępcami. Wpadnij na nasz kultowy ~3 godzinny wykład pt. "Jak nie dać się zhackować?" i poznaj kilkadziesiąt praktycznych i przede wszystkim prostych do zastosowania porad, które skutecznie podniosą Twoje bezpieczeństwo i pomogą ochronić przed atakami Twoich najbliższych. Uczestnicy tego wykładu oceniają go na: 9,34/10!

Na ten wykład powinien przyjść każdy, kto korzysta z internetu na smartfonie lub komputerze, prywatnie albo służbowo. Wykład prowadzimy prostym językiem, wiec zrozumie go każdy, także osoby spoza branży IT. Dlatego na wykład możesz spokojnie przyjść ze swoimi rodzicami lub mniej technicznymih znajomych. W najbliższych tygodniach będziemy w poniższych miastach:

Zobacz pełen opis wykładu klikając tutaj lub kup bilet na wykład klikając tu.

54 komentarzy

Dodaj komentarz
  1. Dobry ziomek Przemek

  2. No to teraz wiem jak bezpłatnie wbić na koncert :DDDD

    • Na Ursynalia (juwenalia warszawskiego SGGW) wymyślili w tym roku rejestrację (darmowe bilety, ale liczba ograniczona, jakoś strasznie mało w porównaniu z rozmachem poprzednich ursynaliów). System nawet jakoś działał. Ale w końcu bilety się skończyły.
      Znajomy (student informatyki) chciał się dostać, no ale problem z podrobieniem biletu: kod QR. Ale nie podpisany ani nic. Wygenerował kod, wydrukował bilet wyglądający jak z systemu. Na bramce: “Nie ma Cię w systemie… ale masz bilet, więc to pewnie jakiś błąd” i wszedł. :D

  3. Przemek dla wygody napisał aplikację na Androida, która jest w stanie generować kody na podstawie dowolnie podanych danych.

    Z tego co zauważyłem to jest raczej skryot odpalany w przeglądarce a nie aplikacja na andorida.

    • A słyszał nie-szanowny kolega o czymś takim jak jQuery?

    • A co ma jQuery, biblioteka Javascriptu do aplikacji na Androida?

  4. W sumie to nie aplikacja tylko skrypt i stronka www. To samo można zrobić chociażby w php lub w czymkolwiek innym co odpowiednio ustawi pixele.

  5. O Kolejach Mazowieckich (czytniki QR offline) nie wspominając.

  6. Szczytania, nie “zczytania”.

    • Autofail – walnąłem literówkę. Powinno być “sczytania”.

    • Jeśli już się czepiamy literówek, to należy poprawić:
      “to “przedstawienie” specjaliście z branży” na
      “to “przedstawienie” specjaliści z branży”

  7. “… i zamachy stają się prostsze!” mogłoby być sloganem.

  8. To jest kod Aztec, nie QR :)

    • Zgadza się. Na powyższym zdjęciu karty pokładowej nie ma w ogóle obrazka QR Code, chociaż opis po prawej twierdzi coś innego. Ja tam widzę tylko PDF417, Aztec i DataMatrix.

    • Wskazówka: trzy ody, cztery apisy (:

  9. a gdzie kryptografia w tych kodach? przecież wystarczyłoby podpisywanie kluczem prywatnym lini lotniczej i weryfikacja podpisu offline przy odczycie danych. Może podpis jest zbyt długi aby go zmieścić w kodzie QR?

    • To jest obowiązkowe tylko w liniach działających w Stanach (widać działanie czytnika TSA przy odczycie niepoprawnego podpisu cyfrowego). Każdy inny przechodzi bez podpisu z adnotacją “manual check required”.

  10. “Niestety, zaplanowana na defconie prezentacja o hakowaniu systemów lotniczych nie doszła do skutku :( Prelegent nie dotarł…”
    Prelegent nie dotarł, bo tak skutecznie zhakował system lotniczy, że samolot nie poleciał ;-)

  11. Co trzeba zrobić żeby Przemek został moim kolegą? :)

    • Zatrudnić się w CERT Polska, rekrutujemy.

  12. “Z tego samego powodu, Przemek nie udostępnił swojej strony do generowania kodów”

    Niby nie udostepnil, ale patrzac na zdjecia w artykule chyba kazdy moze sobie coś takiego wygenerować w dowolym publicznym generatorze tego typu kodów?

    • Tak. Cała zabawa polega na tym że całe generowanie kodów jest trywialne (dla kogoś znającego się na security). Ale mimo to jest wiele powodów dla których NIE chciałbyś wypuszczać w świat generatora kodów, np. żeby nie być zatrzymanym przez FBI (google it)

  13. Koszulki sa nadal dostępne :)?

  14. Dlaczego na niebezpieczniku tak często zmienia się tytuły “artukułow”? Ten powyżej to zaliczył conajmniej 3 zmiany.
    Inne również są co pewien czas zmieniane.
    Czy ktoś z niebezpiecznika może mi to wytłumaczyć?
    Tomuś

  15. Drogi Niebezpieczniku. Bardzo sprytna choć raczej nieoryginalna próba wyłudzenia danych osobowych na koniec, ale nie ze mną te numery. Przyślijcie koszulkę bez tych danych :D

    • @Jacek Zamów na słupa ;)

    • Za namową Marcina poproszę koszulkę,
      Wymiary słupa:
      średnica górna 20 cm,
      średnica dolna 35 cm,
      wysokość 50 cm.

  16. *sczytujące

  17. Próbując odkodować cały kod QR wg specyfikacji w podanym dokumencie natrafiłem na coś śmiesznego. Str 50 – 5.2.3 Encoding multiple flight legs Item number: 46 Date of flight (julian date). Znaczy to, że datę lotu na kodzie QR zapisuje się w postaci daty juliańskiej, czyli liczbie dni, która upłynęła od 1 stycznia roku 4713 p.n.e. Datę podaje się tuż przed symbolem klasy pasażera – jest to 3 cyfrowa liczba. W przykładzie podano 226 (w komentarzu dodano, że oznacza to 14 sierpień). Jak wklepiemy 226 w kalkulator okazuje się, że faktycznie jest to 14 sierpień, ale jak już się pewnie domyślacie bynajmniej nie roku 2009 (w którym sporządzono ten dokument) ale wciąż w 4713 p.n.e . Natomiast jak przeliczymy datę z lotu Przemka, tj. 666 wychodzi nam wtorek 28 października 4712 roku przed naszą erą. xD

    • Może to się zawija co 1000 dni i można sobie wejść “przez pomyłkę” z oryginalną kartą sprzed niecałych 2 lat?

    • Ta data to po prostu kolejny dzień danego roku, generowanie tego w PHP wygląda mniej więcej tak dla dzisiejszej daty date(‘z’) + 1; cała rozpiska jest tutaj http://landweb.nascom.nasa.gov/browse/calendar.html

  18. czy jest jakis powod, przez ktoregy tytul tego newsa zmienil sie juz 5 razy ?

    • Tak. Każda zmiana powoduje nowe wejścia na stronę, bo RSS oznacza wówczas dany wpis jako nowy…

    • To zepsuty masz czytnik rss.

  19. Tak. Dotarli do strefy wolnocłowej i kupili wódkę :P W poprzednim tytule byli jeszcze “czeźwi”

  20. w sklepie na osiedlu zoladkowa de lux kosztuje 19,99pln

    • Ale to jest za litra…

  21. Luudzie!!
    Ja rozumiem, że każdy lubi szczytować (including me) ale do jasnej anielki jesteśmy Polakami i próbujmy chociaż wyrażać się poprawnie: albo “odczytywać” albo “skanować” kody.

  22. Czy na terenie Polski wizyta FBI jest możliwa ? Z artykułu wynika ,że jak najbardziej TAK. Na tej samej zasadzie wiele lat temu można było spodziewać się “wizyty” NKWD lub KGB :)
    Wszystko zależy od tego pod czyim butem aktualnie się znajdujemy, kiedyś ZSRR, teraz USA, zostają jeszcze Chiny :D :D :D

    • no to jak nie efbeejs, to ABC wpdanie, i zrobi Ci taki popłoch W PL, że bedziesz nastawial tylek w wiezieniu o kilka papierosow

  23. To już 5 czy 6 tytuł artykułu, proponuje zrobić randoma i losować, może więcej osób wejdzie, a dla Pana Jaroszewskiego – brawo tak trzymać.

    • Ta, dziesiąty. Pewnie przez chemtrailsy się tak mnożą :(

    • Ten jest najsłabszy … Najbardziej ‘hakerski’ był – hackowanie kart pokładowych ! ; )

    • no i kolejny, aż tak słabo z ciekawymi artykułami ?

  24. Co tu się ostatnio dzieje z tymi tytułami? Brzydka zagrywka.

  25. Te tytuły to jakiś Easter Egg?

  26. Za każdym razem przy odświeżeniu jest inny tytuł.

  27. przystojniak…

  28. Ciekaw jestem ile razy jeszcze zmienicie tytuł tego artykułu.

  29. Może zaczniecie sprzedawać swoje koszulki? ;)

  30. Panie Piotrze, pisal Pan:
    “To zepsuty masz czytnik rss.”

    Ja pytalem:
    “czy jest jakis powod, przez ktoregy tytul tego newsa zmienil sie juz 5 razy ?”
    (dop. user: pisownia oryginalna, z literowka) ;)

    Czy moze Pan cos teges w tej sprawie?

  31. Bo chłopaki pewnie na urlopie i piszą te newsy podczas pikniku, przepijają szkocką i popalają blanta w międzyczasie i potem sami nie wiedzą czy tytuł ma być taki, siaki, czy inny bo to wszystko zależy od natchnienia w danej chwili, no ale jak zwykle znajdzie się ktoś taki jak ty kto o byle co d#-%e zawraca :)

  32. hmm, wiec ja nadal bede drazyl temat, naliczylem juz 7 osob ktorym chce sie o tym pisac w komentarzach, czyt. wku!@#$ “auto zmiana” tytulu.

    Mnie osobiscie wku!@#$ fakt ciszy ze strony redakcji lub Pana Piotra w tej sprawie, wyjatkowa wybiorczosc w odpisywaniu na ten temat. To jest NIEWYGODNE dla uzytkownika, lamie podstawowe zasady UX.

    Pisalem o tym dalej niz rok temu, z takim samym skutkiem, czyli brakiem odpowiedzi.
    SEO wypasik (jesli o to chodzi??) jest wazniejszy niz wygoda stalych uzytkownikow?

Odpowiadasz na komentarz Tomus_Lolus

Kliknij tu, aby anulować

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

RSS dla komentarzy: