10:55
3/1/2017

Jeśli podróżujecie samolotami, to wiecie, że aby sprawdzić szczegóły swojej rezerwacji, trzeba podać specjalny kod i nazwisko. Te dane wcale nie są trudne do zdobycia przez osoby postronne, a uzyskanie dostępu do rezerwacji danego pasażera jest łatwe, może zostać zautomatyzowane, nie wymaga hasła i można na tym nieźle zarobić lub — latać za darmo (tzn. na czyjś koszt).

Autor: Jorge Díaz (https://www.flickr.com/photos/xurde/), lic. CC BY-SA 2.0.

Problem z GDS-ami

Systemy GDS (Global Distribution System) umożliwiają zautomatyzowane transakcje pomiędzy dostawcami usług dla podróżnych (tj. liniami lotniczymi, hotelami i wypożyczalniami aut) a przedsiębiorstwami turystycznymi. Zazwyczaj te przedsiębiorstwa korzystają z GDS by zapewnić odpowiednie usługi dla klienta końcowego.

Systemy GDS

Systemy GDS

Przykładowym GDS jest Amadeus — system rezerwacji będący własnością firmy Amadeus IT z Madrytu. Korzystają z niego m.in. Polskie Linie Lotnicze LOT. Inne duże systemy tego typu to SABRE i Travelport. Zdaniem Security Research Labs wspomniane trzy systemy cechuje przestarzałe podejście do bezpieczeństwa pomimo, że zostały one połączone z usługami webowymi. Jednym z niedociągnięć jest słabe uwierzytelnianie.

Podczas gdy reszta Internetu rozważa korzystanie z dwóch lub trzech składników (uwierzytelniania), GDS-y nie oferują nawet jednoskładnikowego uwierzytelniania. Zamiast tego kod rezerwacji (określany jako PNR Locator, 6-znakowy alfanumeryczny łańcuch taki jak 8EI29V) jest używany by uzyskać dostęp i zmieniać dane o podróżnych

Co może pójść nie tak?

Wspomniany “uwierzytelniacz” jest drukowany na kartach pokładowych i oznaczeniach bagażu. Można te dane utrwalić robiąc zdjęcia. Następnie można wykorzystać kod, by uzyskać dostęp do danych osobowych, danych kontaktowych i adresowych podróżnego przez stronę GDS (taką jak np. CheckMyTrip czy Travelport) lub stronę danej linii lotniczej.

Serwisy dające dostęp do GDS, w tym serwisy linii lotniczych, umożliwiają wpisywanie tysięcy kodów z jednego adresu IP. Oznacza to możliwość pozyskiwania danych pasażerów o popularnych nazwiskach metodą brute-force, która jest tu uproszczona w stosunku do tradycyjnego łamania haseł (numery rezerwacji przez niektóre z GDS-ów są nadawane kolejno, mają też ograniczony zestaw znaków). Zdaniem badaczy, otwiera to drogę nie tylko do naruszania prywatności podróżnych — możliwa jest także:

  • kradzież lotów (tzn. podróżowanie za darmo, po wcześniejszym anulowaniu komuś lotu w zamian za voucher),
  • zdobywanie kolejnych mil bez odbywania lotów (poprzez podmianę numeru karty w rezerwacji)
  • ataki phishingowe (z wykorzystaniem socjotechnik i danych osobowych pasażera wyciągniętych z GDS).

Firma Amadeus w wypowiedzi dla Reuters już oświadczyła, że przygląda się ustaleniom SR Labs. Ich zdaniem strona CheckMyTrip jest zabezpieczona przed atakiem ze strony robota. Przedstawiciele SABRE stwierdzili, że “mają wiele warstw bezpieczeństwa” i nie będą o nich dyskutować gdyż to szkodziłoby to bezpieczeństwu. Travelport natomiast nie skomentował sprawy.

SR Labs radzi, by GDS-y stosowały na swoich stronach możliwość sprawdzenia rezerwacji po podaniu hasła. Strona powinna też ograniczać liczbę sprawdzeń z danego adresu IP oraz używać mechanizmu CAPTCHA utrudniającego pracę ewentualnym scraperom danych pasażerów.

Ale problemy techniczne to nie wszystko — GDS-y mają też problemy na warstwie “logicznej”. Okazuje się, że w GDS-ach brak jest granularnej kontroli uprawnień: pracownicy GDS-ów mają dostęp do wszystkich rezerwacji, pracownicy poszczególnych biur podróży do wszystkich rezerwacji skojarzonych z danym biurem, a pracownicy linii lotniczych do wszystkich rezerwacji dotyczącej danej linii.

Dodatkowo, numery rezerwacji i nazwiska pasażerów każdy może pozyskać “offline”. Przyjrzyjcie się nalepkom na bagaże lub zdjęciom na instagramie otagowanym jako “lot”, “wakacje”, “lotnisko”, “samolot”, boardingpass, itp. Na wielu z nich znajdziecie uwiecznione zdjęcia kart pokładowych albo nalepek na bagaże, które zwierają i nazwisko pasażera i numer rezerwacji z GDS. Na tej podstawie można pozyskać dodatkowe informacje o “ofierze” i wykorzystać to do ataków spear-phishingowych — jeden z przykładów takiego ataku zaprezentowaliśmy rok temu w naszym “Januszowym” cyklu.

boardning pass

boardning pass z instagrama

Jeśli kogoś z Was interesuje ten temat, badacze wygłosili ciekawą prelekcję na konferencji CCC. Do pobrania są też slajdy. Ciekawe informacje w temacie znajdziecie też w tym artykule

Inne lotnicze problemy

W Niebezpieczniku kilka miesięcy temu pisaliśmy o hackowaniu kart pokładowych. Polski ekspert Przemek Jaroszewski znalazł sposób na oszukanie bramek broniących dostępu do saloników VIP linii lotniczych i powiadomił o tym linie, ale te niespecjalnie się przejęły. Co istotne, Przemek Jaroszewski nie był pierwszym badaczem poruszającym ten problem. Linie lotnicze w ogromnym stopniu uzależniły się od pewnych systemów elektronicznych. Skoro takie systemy działają od lat i “nic się nie dzieje” to można dojść do wniosku, iż wszystko jest bezpieczne. Czy naprawdę jest?

Przeczytaj także:

15 komentarzy

Dodaj komentarz
  1. Niektóre linie lotnicze bronią się przed atakami tą drogą. Kto chciał przez agenta United zrobić zmiany w rezerwacji biletu kupionego z kodem Lufthansy (i odwrotnie) ten wie. Przynajmniej tak było jeszcze dwa lata temu, gdy więcej latałem. Saloniki są słabo zabezpieczone, wystarczy lewa karta pokładowa (pominę detale). Widziałem to w akcji, ktoś zrobił apkę. Najwyraźniej jest to prostsze od lewej karty lojalnościowej, chociaż takie też czasami widywałem. Wiem, że była podrabiana, bo wiem jak powinna była wyglądać. Rzecz w tym, że w przypadku saloników straty są nieduże i nie opłaca się budowanie lepszych zabezpieczeń. Teraz już nie latam, świat się zmienia.

    • A to akurat polega na czym innym – united widzi “niekompletną” wersję rezerwacji i nie wszystkie zmiany agent może zrobić.

      A jeśli o bezpieczeństwo chodzi – to trochę kwestia nisko postwawionej poprzeczki – co z tego, że PNR (rezerwacja) zrobiona na stronie linii lotniczej ma wszystkie dane i może być zabezpieczona, skoro drugie tyle rezerwacji będzie ze stron agentów z minimalną ilością danych – więc nie da się użyć czegoś, co ma każda rezerwacja.

      Różnego rodzaju fraud w liniach lotniczych to zresztą długi i ciekawy temat; głównie w płatnościach; przewoźnicy z niektórych krajów miewali więcej lewych niż prawdziwych transakcji.

  2. “Przedstawiciele SABRE stwierdzili, że >>mają wiele warstw bezpieczeństwa<< i nie będą o nich dyskutować gdyż to szkodziłoby to bezpieczeństwu " – czyli "by obscurity", albo wcale. Dziękujemy, do widzenia.

    • Jeszcze może być w głębokim ukryciu jak CV w PKO.

    • Sabre to beton. Nie mam nic do nich, każdy może być głupi, bo to wolny świat, ale kłopot w tym, że przetwarzają nieswoje dane i o nie nie dbają.

    • I tak dałoby się obejść Emacsem przez Sendmail

    • @Bartas: co najwyżej emacsem przez movemail! Sendmail nie ma nic do emacsa.

  3. Nieco w tym researchu błędów i nieścisłości. Sporo danych można podejrzeć znając numer rezerwacji i nazwisko, w tym na przykład numer telefonu, upodobania kulinarne itp. To fakt. Zmodyfikować coś już trudniej, zwłaszcza bezpośrednio z poziomu GDS. Część tych możliwych modyfikacji, np zmiana emaila czy przypisanego miejsca może być upierdliwa, to też fakt. Anulować lub zmienić rezerwację najłatwiej jest przez stronę linii i to wtedy, gdy bilet był kupiony bezpośrednio u przewoźnika. W innych przypadkach niekoniecznie. Z możliwością anulowania lotu w zamian za voucher – w dodatku na osobę trzecią (okaziciela?) – nie spotkałem się nigdzie. Dodanie karty na mile na osobę inną niż pasażer nie zadziała. Dane są porównywane z manifestem. To tyle na szybko.
    Swoją drogą taki np Ryanair każe się logować dodatkowymi danymi typu email, trasa lotu, końcówka numeru karty… Strasznie to upierdliwe, a czy bezpieczniejsze – dyskutowałbym :)

  4. Często powtarzana anegdota (nie wiem na ile autentyczną) głosi, że kod potwierdzenia ma taki format, bo pierwotnie był to adres na dysku gdzie leżały dane konkretnej rezerwacji.

    • No chyba nie bo to nie jest heksadecymalne, w kodzie potwierdzenia mogą być używane litery alfabetu inne niż A-F.

    • to nie anegdota tylko podstawa każdego systemu GDS – dawno temu wszystkie dane trzymane były na taśmach i indeksowane przez z/TPFa. System Sabre jak i Amadeusa opiera się na tym samym sprzęcie i właściwie tym samym API od IBM okodowanym pierwotnie w asemblerze. Jak ktoś jest ciekaw niech szuka w guglu haseł z/TPF, LREC, np:

      http://www.ibm.com/support/knowledgecenter/SSB23S_1.1.0.13/gtpd1/cdbdesxmp.html

  5. Podczas odprawy online w locie oprócz numeru rezerwacji i nazwiska należy podać lotnisko z którego nasz lot startuje .

  6. Dodanie dodatkowej weryfikacji poprzez podawanie oprócz PNR i nazwiska, jeszcze np. maila lub daty urodzenia, nie jest problemem. Wydaje mi się, że to raczej klienci GDSów, czyli agencje i linnie lotnicze, nie są zainteresowane podwyższeniem standardów bezpieczeństwa w systemach informatycznych. I może być to spowodowane z dwóch wzajemnie wykluczających się powodów: albo agenci/linie lotnicze nie stawiają sobie za priorytet dobra pasażerów, albo wręcz odwrotnie, mając na celu ich jak największą wygodę, nie chcą narzucać zbyt restrykcyjnych/uciążliwych systemów weryfikacji.

    Co do wglądu pracowników w dane wszystkich pasażerów – cóż, a w bankach jak jest…

  7. no dobra podmienicie kogoś dane na bilecie i co spotkacie się z tą osoba na lotnisku? ona podejdzie to wyjaśnić a z obsługi powiedzą że właśnie za pana leci ta osoba. lub leci już i siedzi tu i tu :) i siara

  8. Strona ryaaira pozwala na dostanie się do rezerwacji metodą brute force.
    Wystarczy podać nr rezerwacji i skryptem zrobionym na kolanie “wylosować” 4 ostatnie cyfry karty. 15 minut roboty.

Twój komentarz

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

RSS dla komentarzy: