Jeden z naszych czytelników “Andzik” zauważył ciekawy błąd w aplikacji mobilnej sieci sklepów Piotr i Paweł. Dzięki dziurze i prostemu trikowi, aplikacja pozwalała każdemu na pobranie danych osobowych stałych klientów sklepu. Taki fuckup wykorzystać mogłaby np. konkurencjna sieć hipermarketów, która przy pomocy promocji mogłaby przejąć wartościowych klientów. Na czym polegał błąd? Aplikacja mobilna Piotra i Pawła posiada funkcję przyśpieszającą zakładanie konta. Polega ona na wykorzystaniu kamery smartphona do zeskanowania kodu kreskowego karty stałego klienta — po odczytaniu kodu kreskowego, formularz rejestracji konta automagicznie wypełnia się danymi z karty (pobieranymi z serwera PiP na podstawie numeru klienta zakodowanego w kodzie kreskowym). Są to: imię i nazwisko adres e-mail Aplikacja Piotra i Pawła Ktoś jednak nie do końca przemyślał tę funkcję… Jak pisze nasz czytelnik: Aplikacja PiP umożliwia pobieranie danych klienta automatycznie, po zeskanowaniu kodu kreskowego w formacie EAN-13 zapisanego na plastikowej karcie wydanej wcześniej w sklepie. Dokonuje tego po szyfrowanym (SSL/TLS) połączeniu do serwerów OVH. (…) Innymi słowy: umożliwia pobranie danych (losowego) klienta poprzez przedstawienie dla skanera zgodnego kodu kreskowego. Format kodów kreskowych EAN-13 to: Format Kodu Kreskowego Jak zauważa Andzik, format kodów kreskowych EAN-13 dla kart stałego klienta jest zgodny ze standardem, tj: 2 011100 XXXXX Y gdzie: Y - cyfra kontrolna X - kod produktu (aczkolwiek możliwe, iż część “kodu wytwórcy” zmienia się wraz z rozrostem ilości wydanych kart) Enumeracja wszystkich kart jest więc możliwa — wystarczy wybrać dowolne 5 cyfr, podstawić pod pola oznaczone jako X i wyliczyć sumę kontrolną, np. za pomocą tego generatora W ten sposób można wygenerować, np. te 2 przykładowe kody: 2 011100 12345 0 2 011100 12346 7 Jeden pozwala pobrać dane Pana Jerzego, drugi pozwala pobrać dane Pana Arkadiusza — o czym przekonujemy się skanując wizualizacje kodów: Pobranie danych klienta Piotra i Pawła na podstawie wygenerowanego kodu Teraz już posta droga, aby z “wiarygodnego” konta założonego na dane klienta zacząć trolling… Co na to Piotr i Paweł Próbowaliśmy się skontaktować z Piotrem i Pawłem. Była to droga przez mękę. Pierwszy raz napisaliśmy e-maila 9 września na adres rzecznika prasowego, p. Ewy Aleszczyk-Kalinowskiej. Cisza. Ponowiliśmy próbę kontaktu 19 września. Dalej cisza. 26 września napisaliśmy, że dłużej nie czekamy i publikujemy artykuł, niech się dzieje, co ma się dziać. Dopiero wtedy pani Ewa Aleszczyk-Kalinowska, dyrektor departamentu marketingu i PR, odpowiedziała. Uprzejmie dziękujemy za zgłoszenie możliwości nieuprawnionego pobrania danych z naszej aplikacji mobilnej Piotr i Paweł. Nasz system został przygotowany z zachowaniem wszelkich niezbędnych środków zabezpieczających dane osobowe naszych klientów, Wykonawcą aplikacji była firma Serious Impact. Po informacji z Państwa strony, ww. firma w trybie natychmiastowym usunęła opisaną przez Państwa lukę w konstrukcji całego systemu aplikacji. Przeprowadzona obecnie analiza danych pozwoliła stwierdzić, iż nie doszło do masowego wycieku danych. Zmiana polega na tym, że próba zeskanowania kodu najprawdopodobniej została całkiem zablokowana po stronie API — każde naciśnięcie (dalej istniejącego w aplikacji przycisku “zeskanuj kartę”) kończy się bowiem komunikatem: Jak można naprawić tego typu błąd logiczny w aplikacji? “Dziury”, jak zauważa Andzik, można było w prosty sposób uniknąć, np. wprowadząc wymóg uwierzytelnienia się klienta przed wysłaniem zapytania poprzez API do bazy klientów. Uwierzytelnienie mogłoby odbywać się poprzez podanie np. e-maila. Drugą alternatywną proponowaną przez czytelnika metodą jest — po zeskanowaniu numeru karty — wysłanie e-maila z linkiem, który klient musi kliknąć aby potwierdzić posiadanie karty. Dopiero wtedy jego dane są dodawane do aplikacji. PS. Jeśli interesuje Was analiza aplikacji mobilnych pod kątem bezpieczeństwa, przypominamy, że 23-24 października prowadzimy szkolenie z tego tematu w Krakowie. Wciąż są wolne miejsca! Przeczytaj także:
Aplikacja POLCOVID-19 pomaga w samoocenie stanu zdrowia w czasie pandemii. Z danych od użytkowników - zebranych od kwietnia do połowy czerwca – wynikło, że dolegliwości kojarzące się z infekcją koronawirusa najczęściej odczuwały te osoby, które nie stosowały się do oficjalnych zaleceń – podsumowują twórcy projektu.