Dane ponad 100 000 posiadaczy karty miejskiej ZTM Gdańsk mogły wyciec

dodał 24 stycznia 2019 o 18:14 w kategorii Prywatność, Wpadki  z tagami:
Dane ponad 100 000 posiadaczy karty miejskiej ZTM Gdańsk mogły wyciec

Imię, nazwisko, adres zamieszkania, adres e-mail i PESEL ponad stu tysięcy osób, które wnioskowały od roku 2009 przez internet o kartę miejską ZTM w Gdańsku mogły zostać wykradzione przez włamywacza z podstawową wiedzą o atakach typu SQL injection.

Jeden z Czytelników poinformował nas o błędzie odkrytym na stronie http://www.ztm.gda.pl/hmvc/index.php/test/karta_wyszukiwarka, która pozwala sprawdzić, czy zamówiona karta miejska jest już do odbioru. Wystarczy podać w formularzu numer otrzymany w trakcie składania zamówienia:

Formularz, używając metody POST, wysyła żądanie zawierające 4 parametry, w tym 3 istotne, składające się na numer karty miejskiej. Jeśli (tak jak Czytelnikowi) omsknie nam się palec na klawiaturze i przypadkiem wpiszemy np. 02-03-199’ – strona wyświetli stosowny komunikat błędu, który komuś, kto się zna na bazach danych, może pomóc kontruować odpowiednie zapytania SQL.

„Nie tylko ostatni parametr jest podatny – drugi jest wklejany do tego samego zapytania, a pierwszy, jak się okazuje, jest identyfikatorem… punktu odbioru” – zauważył Czytelnik. To z kolei oznacza, że wpisując w formularzu np. aa-00-00000, otrzymamy komunikat:

Mamy więc do czynienia z podatnością SQL injection, która – zgodnie ze swoją nazwą – umożliwia wstrzyknięcie do aplikacji nieautoryzowanego fragmentu zapytania SQL (co wynika z niewłaściwej walidacji wpisanych do formularza danych wejściowych). Czym to może grozić? W większości przypadków uzyskaniem dostępu do zgromadzonych w bazie informacji. Czytelnik postanowił zweryfikować swoje znalezisko i stworzył następujące zapytanie:

Czy odpowiedź odbiła się w treści strony? I owszem.

Chodźmy dalej. Co się znajduje w tabeli karta…?

Według opisu pól powinniśmy tam znaleźć pełne dane osobowe użytkowników karty ZTM – imię, nazwisko, deklarowany adres zamieszkania, adres e-mail oraz PESEL. Sprawdźmy, może to pusta tabela.

Albo może te pola to tylko podpucha?

„Zatem można dostać się do bazy zawierającej 101 143 rekordy posiadaczy kart miejskich ZTM Gdańsk, pobierając ich dane osobowe” – podsumował Czytelnik, dodając, że nie przeszukiwał całej bazy, ale na pierwszy rzut oka wygląda, że takie dane zawiera tylko tabela z kartami. Znajdziemy w niej:

  • imiona,
  • nazwiska,
  • PESEL-e,
  • adresy e-mail,
  • adresy zamieszkania.

Czytelnik poprosił nas o pośrednictwo w przekazaniu ZTM w Gdańsku informacji o znalezionej podatności. Przy okazji okazało się, że rekordy w bazie sięgają roku 2009.

O błędzie poinformowaliśmy firmę we wtorek 22 stycznia.

Poprawna reakcja ZTM w Gdańsku

Na odpowiedź nie musieliśmy długo czekać. Skontaktował się z nami Zygmunt Gołąb, rzecznik prasowy Zarządu Transportu Miejskiego w Gdańsku, który potwierdził istnienie błędu, podziękował za zwrócenie na niego uwagi i poinformował, że podatność została usunięta w ciągu 1,5 godziny od otrzymania zgłoszenia.

Zapytaliśmy go, jakie dane zawarte są w bazie, do której można było dostać się w podany wyżej sposób. „Baza danych wniosków o wydanie Karty Miejskiej online zarządzana jest przez zewnętrzny podmiot, firmę hostingującą naszą stronę internetową. Aktualnie czekamy na potwierdzenie zakresu danych. Najprawdopodobniej znajdują się tam imiona, nazwiska, nr PESEL oraz adresy e-mail i zamieszkania” – poinformował przedstawiciel firmy.

Na pytanie o liczbę użytkowników, których dane były zagrożone wyciekiem, otrzymaliśmy następującą odpowiedź: „Aktualnie czekamy na potwierdzenie zakresu ilości danych. Pragnę zaznaczyć, że potencjalna możliwość naruszenia ochrony danych dotyczy jedynie osób, które złożyły wniosek o wydanie Karty Miejskiej online. Stanowi to ok. ¼ liczby wszystkich kart miejskich w systemie. Cała baza systemu zarządzana przez ZTM (dane posiadaczy kart wydanych na podstawie wniosków online oraz wniosków w wersji papierowej) znajduje się w innej lokalizacji, na serwerze nieposiadającym dostępu do sieci internetowej”.

Chcieliśmy także wiedzieć, czy ZTM zamierza poinformować użytkowników o potencjalnym wycieku ich danych. „Zgodnie z możliwościami, jakie daje nam zgłoszenie naruszenia ochrony danych osobowych oraz w związku z tym, że zbieramy informacje na temat tego incydentu, nie oceniliśmy jeszcze, czy zawiadomimy osoby, których dane dotyczą” – odpowiedział Zygmunt Gołąb.

Czy wobec tego o incydencie zostanie powiadomiony UODO? Z przekazanych przez rzecznika informacji wynika, że stosowne zgłoszenie zostało wysłane we środę 23 stycznia. Ma ono zostać uzupełnione „w terminie przewidzianym przepisami UODO” o dane dostarczone przez firmę hostingową.

Podsumowanie

Przed publikacją tego artykułu zweryfikowaliśmy, czy podatność została naprawiona. Błąd odnaleziony przez Czytelnika został usunięty, jednak sposób jego naprawy jest daleki od idealnego. Pozostaje nam mieć nadzieję, że nikt przed naszym Czytelnikiem nie natrafił na ten błąd i że w serwisie ZTM inne, podobne luki nie występują.

Jeśli podczas wędrówek w sieci natraficie na takie lub inne ciekawe błędy, to możecie nam je zgłosić – postaramy się, by problem został sprawnie rozwiązany.

Aktualizacja 2019-01-25 18:25

Zygmunt Gołąb, rzecznik prasowy ZTM w Gdańsku, przesłał nam oficjalne oświadczenie firmy. Można w nim m.in. przeczytać:

Na podstawie danych otrzymanych od firmy hostingującej naszą stronę internetową włącznie z formularzem online o wydanie Karty Miejskiej informujemy, że w wyniku przeprowadzonych badań nie stwierdzono wycieku danych, czy też ich usunięcia. Za pośrednictwem wykrytej podatności nie istniała również możliwość pobrania zdjęć załączanych przez pasażerów. Reasumując: dane są bezpieczne, a firma hostingująca stronę, formularz oraz bazę danych wniosków online o wydanie karty Miejskiej ZTM stosuje zabezpieczenia uniemożliwiające nieautoryzowane wejścia do bazy.

Z pełną treścią oświadczenia można się zapoznać na stronie ZTM w Gdańsku.