22:22
25/1/2018

Nie raz i nie dwa razy zetknęliśmy się z sytuacją, gdy strona sklepu internetowego umożliwiała podgląd wielu zamówień. Po raz pierwszy jednak zobaczyliśmy, że ktoś próbował naprawić ten błąd poprzez… zmianę kodowania numerów w linkach w taki sposób, że błąd jak był, tak dalej jest. Ale przynajmniej można udawać, że nie ma.

Redaktorów Niebezpiecznika dziwne przypadki

Redakcja Niebezpiecznika kilkanaście razy w tygodniu kontaktuje się z różnymi firmami lub instytucjami w sprawie potencjalnych błędów w ich systemach, wycieków danych osobowych lub innych rodzajów naruszeń zasad bezpieczeństwa. Różnie taki kontakt wygląda. Zwykle wystarczy rozmowa z rzecznikiem prasowym, który jednocześnie uruchamia osoby “techniczne”, a te kontaktują się z nami równolegle na drodze “nieoficjalnej”. Zdarza się też, że najpierw kontaktujemy się z “technicznymi” po znajomości albo namierzonymi innymi metodami, bo firma albo nie podaje żadnego oficjalnego kontaktu dla prasy albo nasze telefony i e-maile do rzeczników prasowych zbyt długo pozostają bez odpowiedzi. Najbardziej nie lubimy infolinii, bo prawie nigdy nie “wpasowujemy się w skrypt” i nie ma takiej cyfry na klawiaturze, dzięki której robot po drugiej stronie kabla zrozumie nasz problem…

Na jeden z tych trudniejszych przypadków kontaktowych trafiliśmy pod koniec ubiegłego roku. Czytelnik zgłosił nam błąd w serwisie AllePaznokcie.pl (to sklep internetowy z artykułami kosmetycznymi). Błąd w systemie był trywialny i polegał na tym, że dane wszystkich zamówień można było zobaczyć wpisując do przeglądarki adres…

https://allepaznokcie.pl/szczegoly-zamowienia/XXXXX

…w którym XXXXX to identyfikator złożony z cyfr np. 254026. Wyglądało na to, że system ułatwiał dostęp do danych znajdujących się na 250 tys. zamówień. Oto przykład kilku:

Nasz Czytelnik zgłaszał ten błąd sklepowi zanim do nas napisał:

Sam błąd jak zawsze (już kilka takich znalazłem) zgłosiłem do obsługi sklepu na początku telefonicznie (odesłali do wiadomości email) gdzie opisałem problem, ale niestety nie uzyskałem odpowiedzi, a wiadomość prawdopodobnie czeka… tak samo jak moje jak i inne zamówienia do scrapowania danych.
Problem jest na tyle poważny, że nie jest to mały sklepik, ale naprawdę duża sieć gdzie zamówienia codziennie robią tysiące kobiet. W moim mniemaniu dużo łatwiejszy cel phishingowy gdzie całą akcję można maksymalnie uwiarygodnić mając dane całego zamówienia w tym sklepie.

Zgłoszenie błędu i jego “usunięcie”

15 grudnia napisaliśmy do sklepu pierwszy e-mail w tej sprawie. Próbowaliśmy także dzwonić na różne numery, które udało nam się skojarzyć z firmą. Pod jednym z tych numerów trafiliśmy na osobę, która obiecała przekazać sprawę szefowi. Później próbowaliśmy kontaktu przez Facebooka. Załatanie problemu nastąpiło ostatecznie w okolicach 19 grudnia (po drodze był weekend).

Za pośrednictwem Facebooka osoba związana ze sklepem poinformowała nas, że…

Cały podgląd szczegółowych zamówień na podstawie nr ID został zablokowany. Sprawdzamy również inne elementy naszego systemu, aby taka sytuacja nie miała miejsca w przyszłości.

4 dni to nie jest najgorszy czas i sądziliśmy, że zapomnimy o tej sprawie — naprawdę o wielu mniejszych wpadkach różnych polskich firm nie piszemy artykułów, wystarcza nam satysfakcja, że mogliśmy pomóc jakiemuś czytelnikowi albo ograniczyć jakiś wyciek danych. Nie widzieliśmy powodu by publikować artykuł, więc schowaliśmy sprawę do redakcyjnej szuflady, gdzie zbieramy teczki na wypadek, gdybyśmy kiedyś doszli do władzy ;)

Ej, ale Base64 jako zabezpiecznie?

17 stycznia znów odezwał się do nas Czytelnik z informacją, że zamówienia ciągle można podglądać. Z tą różnicą, że zamiast identyfikatorów w postaci kolejnych liczb wprowadzono liczby zakodowane w Base64. Sprawdziliśmy i rzeczywiście! Oto podgląd przykładowego zamówienia:

Kodowanie w Base64 to nie jest “zabezpieczenie”. Poza tym nawet osoba, która nie wie czym jest Base64, mogła uzyskiwać dostęp do różnych zamówień manipulując linkiem na chybił trafił (tj. zmieniając literki i cyferki w adresie) — ktoś z Czytelników jest w stanie podać prawdopodobieństwo trafienia?

Teraz napiszemy “oczywistą oczywistość”, ale wypada to zrobić dla porządku. Problemem w tego typu sytuacjach jest przede wszystkim możliwość podejrzenia zamówień innych osób w przeglądarce, bez konieczności zalogowania. Poziom skomplikowania adresów jest w takim przypadku jedynym zabezpieczeniem, nie może on więc być przewidywalny.

Co więcej nasz Czytelnik zauważył, że dodając w odpowiednim adresie adres e-mail zakodowany w Base64 uzyskiwało się dostęp do takiej strony:

Wyglądało na to, że istniała możliwość zmiany hasła dowolnemu użytkownikowi. Nie sprawdzaliśmy jak to działa, ale sam dostęp do tej strony nie robił najlepszego wrażenia. Oczywiście po raz kolejny zgłosiliśmy błąd i tym razem reakcja była natychmiastowa.

Prowadzę firmę lub jestem kierownikiem. Co robić? Jak żyć?

Na przykładzie Allepaznokcie.pl można dać właścicielom sklepów internetowych zwłaszcza jedną poradę. Miejcie procedury na wypadek wykrycia błędu lub wycieku danych. Czasami takie błędy może odnaleźć przypadkowa osoba korzystająca z Google albo bardziej “techniczny” klient, który z przyzwyczajenia a nie chęci zaszkodzenia sprawdzi czy np. zmiana linka z zamówieniem spowoduje wyświetlenie danych innej osoby. To się po prostu zdarza i nie musi to być koniec świata, o ile osoba znajdująca błąd będzie mogła skutecznie zgłosić to obsłudze sklepu i nie poczuje się zignorowana. Większość “białych kapeluszy” zadowoli się nawet zwykłym dziękuje — choć bardzo nas cieszy, że w kilku ostatnich sprawach z minionych tygodni, czytelnicy którzy wykryli jakąś usterkę i zgłosili nam błędy, a my “anonimowo” skontaktowaliśmy ich z bezpiecznikami firmy-ofiary, byli wynagradzani, choćby drobnostkami w postaci koszulki firmy-ofiary czy vouchera na zakupy w tym czy innym sklepie.

W przypadku Allepaznokcie, nasz czytelnik otrzymał… płatki do oczu z usuniętą datą ważności, który to prezent — jak podejrzewa Czytelnik — był przeterminowany. Całość swoich przygód opisał więc na Wykopie.

Problem reagowania na zgłoszenia incydentów bezpieczeństwa poruszamy m.in. na naszych szkoleniach dla pracowników “nietechnicznych”. I co się okazuje — w większości mówią, że oni rozumieją i przekazują, ale “góra” nie zawsze traktuje sprawę poważnie. Dlatego postanowiliśmy ostatnio stworzyć specjalny wariant tego szkolenia dla managerów i kadry zarządzającej, gdzie wspominamy o tym jak poprawnie i efektywnie wdrożyć i wspierać (to najważniejsze!) procesy bezpieczeństwa w firmie. Bez wsparcia i zrozumienia “góry”, nawet jeśli “dół” jest doskonały, całość nie będzie dobrze działała. Zwłaszcza, że nierzadko po głębszej analizie okazuje się, iż “drobne sprawy” stają się wpadką roku. A od maja ignorowanie takich drobnostek może się zakończyć bardzo dotkliwą karą dla firmy… Więc gdybyście chcieli swoją górę przeszkolić z odpowiedniego podejścia do bezpieczeństwa, także w kontekście aspektów prawnych, dajcie nam znać.

Przeczytaj także:

10 komentarzy

Dodaj komentarz
  1. Morele.net do niedawna miało tak samo, można było przeglądać zamówienie bez konieczności logowania. Tak jak dla zamówienia już nie ma takiej możliwość tak taka możliwość nadal istnieje dla “informacji o zamówieniu”, czyli korespondencji na temat zmian w zamówieniu bądź obsługi posprzedażowej dla danego zamówienia.

    • Gdy kupowałem komputer 2 lata temu nie było takiego problemu, była za to możliwość resetu hasła znając adres email. Hasło było resetowane bez potwierdzenia mailowego. Zwyczajnie na email wysyłano losowe hasło.

  2. Swojego czasu (ok roku temu) kilka dużych sklepów m.in. z elektroniką miało podobny błąd – dało się pobrać PDF z potwierdzeniem zamówienia – również zmieniając numer na końcu. Było o tyle trudniej że był to losowy ciąg znaków.
    Ale… te PDFy zostały zaindeksowane w google :D

  3. Płatki do oczu – brzmi bardzo symbolicznie, jakby mamy sobie położyć płatki na oczy i nie widzieć problemu. Prezentem ze sklepu z gospodarstwem domowym mogłaby być miotła do zamiatania pod dywan…

  4. Generalnie “góra” nie ma nawyku uczenia się.
    To jest największy błąd. W biznesie obowiązuje zasada – jak masz zapłacić za coś pieniędzmi to jest to najmniejsza cena.

    Problem szczególnie może dotknąć instytucje państwowe. Biznes jakoś sobie poradzi (jak zawsze).

  5. Jedna mała uwaga do tekstu: u Was kolejność wydarzeń/akapitów i budowa zdań może sugerować, że te przeterminowane płatki były nagrodą za znalezione podatności, tymczasem na wykopkach autor napisał iż za zgłoszenie nie było nic, a płatki były gratisami do obu zamówień jakie zrobił. To w końcu jak było? ;o)

    A co do samej sprawy: postawa sklepu naganna, reakcja na zgłoszenia też. Fajnie się czytało opowieść, gdyby na końcu autor nie przujanuszył groźbami (PIH< Sanepid) już w pytaniu oraz kłótniami z obsługą sklepu – w takich sytuacjach trzeba po prostu wysłać info lub zawiadomienie i już, w większych firmach osoby obsługujące zamówienia nie są pracownikami magazynu i towaru w ogóle nie widzą. Nikogo tu nie bronię, stwierdzam tylko fakt.

  6. Przeglądając screeny doszedłem do wniosku, że najbardziej przerażającym jest fakt że coś “do paznokci” może być warte 360 PLN :)

  7. Ktoś wie co to za silnik sklepowy?

    • Żaden silnik. Autorski twór na Zend Framework

  8. takiezakupy.pl podobnie wystawiało dane klientów w taki sposób. No, może ciut bardziej złożony, ale szczegóły mogę przekazać do wiadomości redakcji, nie będę postować na forum :)
    Chociaż nie mam pewności, czy nadal tak udostępniają – trzeba byłoby zweryfikować.

Twój komentarz

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