szukaj

12.11.2017 | 20:24

avatar

Adam Haertle

Nie śmiej się dziadku z cudzego wypadku. CashBill się śmiał i sam tak miał

Życie jest najlepszym nauczycielem, a nauczki pojawiają się znienacka jak rozpędzony TIR na Twoim pasie wyskakujący zza zakrętu. Takiej nauki doświadcza własnie firma CashBill, która wczoraj śmiała się z Przelewy24.

Kilka dni temu opisaliśmy problemy z bezpieczeństwem wtyczek sklepowych, oferowanych przez platformę Przelewy24. Błędy znajdujące się w kilku z nich umożliwiały dostęp do danych zapisanych w bazach kontrahentów firmy a także dowolne modyfikowanie statusów zamówień złożonych w sklepach z nich korzystających. Okazuje się, że wtyczki konkurencji też nie są pozbawione błędów.

Niezbyt mądra reakcja CashBilla

Jeden z konkurentów Przelewy24, firma CashBill, postanowił zakpić z niefortunnej wpadki konkurencji wrzucając poniższy obrazek.

Jest to mocna aluzja do nocnej akcji Przelewy24, które ciężko pracowały, by naprawić błędy i jak najszybciej powiadomić swoich klientów o problemach. Tymczasem kilkanaście godzin po wpisie CashBilla jeden, z naszych czytelników, Mateusz, znalazł we wtyczce CashBilla dla platformy Magento trywialne błędy, pozwalające każdemu użytkownikowi na zmienianie statusów transakcji – zarówno swoich, jak i cudzych. Można było zatem zarówno oznaczyć wszystkie transakcje jako opłacone czy np. wszystkie anulować. Był to zatem błąd tej samej kategorii co te, które wcześniej znaleziono w platformie Przelewy24.

Mateusz w nocy z soboty na niedzielę przekazał zgłoszenie problemu „dyżurnemu programiście”, który kilka godzin później nawiązał kontakt ze zgłaszającym. W poniedziałek o 14:50 firma przekazała Mateuszowi, że zgłoszenie trafiło dalej i kolejny kontakt nastąpi, gdy zostanie przeprowadzona wnikliwa analiza. Kontakt nigdy nie nastąpił. Po kilku dniach okazało się, że na stronie jest już nowa wtyczka, a jej pliki posiadają znaczniki czasu wskazujące na modyfikację w poniedziałek około południa. Na stronie firmy nie znaleźliśmy też żadnej informacji o błędzie.

Krótka analiza błędu

Problemy znajdowały się w pliku

app/code/community/Platnosci/Cashbill/controllers/CashbillController.php

W serwisie Diffchecker znajdziecie porównanie kodu starej i nowej wersji wtyczki. Jak tłumaczy Mateusz, głównym problemem było zaimplementowanie logiki zmiany statusu zamówienia w publicznym kontrolerze w akcjach, które były publiczne, ale nie sprawdzały sygnatury transakcji. Należała do nich funkcja ustawiająca status zamówienia – zatem wpisanie odpowiedniego wywołania do przeglądarki mogło zmienić status z „oczekującego” na „zapłacone”. W funkcji zabrakło także sprawdzenia sygnatury (sprawdzanej na wcześniejszym etapie, omijanym przez bezpośrednio wywołanie). Co więcej, parametr „id” transakcji był pobierany z żądania GET – zatem można było zmienić status dowolnej transakcji, nie tylko swojej.

Aktualizacja 2017-11-13

Dotarło do nas oświadczenie firmy CashBill, które zamieszczamy w całości:

Informujemy, że opisany na łamach Państwa serwisu post na Facebooku był z naszej strony jedynie żartobliwym nawiązaniem do zaistniałej sytuacji. Nie mamy w zwyczaju pisania źle o konkurencji, a do błędów umiemy się przyznać. Nasza wtyczka do Magento nie była przygotowana przez naszych programistów, ale bierzemy za nią pełną odpowiedzialność – tak, był problem i został usunięty. Partnerów korzystających z tej wtyczki poinformowaliśmy o nowej, bezpiecznej :) wersji, którą można już pobrać z naszej strony.

Informujemy jednocześnie, że w wyniku opisanego błędu nie wyciekły żadne dane i żadna transakcja nie została błędnie autoryzowana/anulowana. Z wdzięczności za pomoc w rozwiązaniu problemu ufundowaliśmy książki o bezpieczeństwie aplikacji. Chcielibyśmy przekazać je osobom najbardziej zaangażowanym. Jedną z książek zostawimy dla siebie!

Popularna tendencja

Przy okazji ostatniej ogromnej wpadki OVH odezwały się kolejne firmy, które za dobry pomysł uznały podpieranie się porażkami konkurencji. Niektóre w prywatnej korespondencji (dlatego nie wskazujemy nazwy):

inne za to publicznie:

Do pociągu z logo #awariaOVH wsiadały nawet firmy z innych branż:

https://twitter.com/bulldogjob/status/928539859207278592

Nauka płynąca z tego doświadczenia

Wszystkim autorom kodu, który obsługuje transakcje finansowe a nie przeszedł bardzo solidnego audytu bezpieczeństwa w renomowanej firmie (a najlepiej w dwóch) polecamy jak najszybsze zorganizowanie takiego procesu. Dlaczego jeden audyt nie wystarczy? Widzieliśmy ostatnio wyniki eksperymentu, w którym dwóch solidnych specjalistów sprawdzało niezależnie od siebie ten sam kod źródłowy. Każdy z nich znalazł inne błędy. Jeśli zatem Wasz kod dotyka pieniędzy, to nie oszczędzajcie na jego audycie – a oszczędzicie sobie wstydu a klientom kłopotu.

Bezpieczeństwo to jedna z wielu branż, w której można bardzo szybko uczyć się na błędach konkurencji. Zamiast się zatem z nich śmiać, warto sprawdzić swoje własne podwórko, ponieważ podobne kategorie błędów czy ataków często łatwo przenoszą się między firmami, branżami czy krajami. Dlatego tak ważne jest by każda szanująca się firma obserwowała  rynek i na bieżąco śledziła najważniejsze incydenty, a następnie je analizowała i weryfikowała, czy mogły się pojawić także we własnej infrastrukturze.

Jeśli nie macie ludzi i czasu, by śledzić najważniejsze wiadomości na rynku, to możemy pomóc – od kilkunastu miesięcy dostarczamy kilku firmom regularne raporty (zarówno tygodniowe jak i miesięczne), opisujące wszystko, co ważnego stało się w ostatnim czasie w branży bezpieczeństwa – w przekroju ogólnym lub sektorowym. Możecie w ten sposób zarówno weryfikować swoją wiedzę na temat istniejących ataków jak i budować świadomość bezpieczeństwa w zespołach administratorów. Lektura historii cudzych wpadek bywa bardzo pouczająca. Jeśli jesteście zainteresowani regularnym otrzymywaniem takich raportów to wystarczy do nas napisać.

Powrót

Komentarze

  • avatar
    2017.11.12 20:58 DJ

    Dlaczego maskować nazwisko, skoro każdy może je zobaczyć na FB? :D

    Odpowiedz
  • avatar
    2017.11.12 21:38 Duży Pies

    Bardzo mądry i merytoryczny wpis Adamie.
    Czyta się go z przyjemnością.

    Odpowiedz
  • avatar
    2017.11.12 22:35 dziatek

    dziatku*

    Odpowiedz
    • avatar
      2017.11.14 22:05 Greg

      Wcale to nie jest niepoprawne. Otóż staropolskie 'dziatki’ to nic innego jak dzieci. A całe przysłowie znaczy ni mniej ni więcej: Nie śmiej się dziecko [czyli ktoś, kto jeszcze nic nie wie i nie rozumie] z cudzego przypadku.

      Odpowiedz
  • avatar
    2017.11.12 23:26 markac

    Mam wrażenie, że programista nie uczy się na błędach.
    Świat idzie do przodu, pewne powtarzalne zadania enkapsuluje się w funkcje, klasy, biblioteki, ale nie… Każda firma musi przecież wymyślać koło na nowo, popełniać te same błędy na których i tak się nic nie nauczy, bo każdy nowy programista nie będzie przecież poprawiał po poprzedniku, tylko wymyśli rozwiązanie na nowo…

    Odpowiedz
    • avatar
      2017.11.21 13:15 C. Bolek

      A ja myślę zupełnie inaczej. Poza wyjątkami/fahowcami, przeciętny programista nie będzie wymyślał koła na nowo tylko ściągnie gotowca i zastosuje go, nie bardzo kumając czasami jak toto działa i jak bezpiecznie tego użyć (i czy wogóle jest bezpieczne).
      Ważne, że odda kod w jak najkrótszym czasie – klient będzie zadowolony i zapłaci, a klient nie dba o bezpieczeństwo, tylko żeby mu działało.
      Myślę, że tak to się kręci.

      Odpowiedz
  • avatar
    2017.11.13 03:21 romek

    pocket ty zyjesz 0.0

    Odpowiedz
  • avatar
    2017.11.13 04:44 q

    Ja mam wrażenie że audyty często robione są po macoszemu albo wszelkie sugestie są najzwyczajniej ignorowane.

    Odpowiedz
  • avatar
    2017.11.13 10:04 Andrzej

    Bardzo dobrze im tak. Zajmują się obsługą większości scamów na rynku. Ponadto ostatnio była duża afera wokół tego jak przywłaszczyli sobie czyjąś kasę, której ponoć dalej nie wypłacili.
    platnoscisms . com/cashbill-pl-bezpieczne-platnosci-on-line/
    platnosci24 . com/pages/systemy-platnosci/cashbill.php
    Zastanawia mnie jak to możliwe, że ta niespełniająca żadnych standardów firma wciąż ma uprawnienia od KNF.

    Odpowiedz
  • avatar
    2017.11.13 11:54 zyzakin

    „Dlaczego jeden audyt nie wystarczy? Widzieliśmy ostatnio wyniki eksperymentu, w którym dwóch solidnych specjalistów sprawdzało niezależnie od siebie ten sam kod źródłowy. Każdy z nich znalazł inne błędy”
    Wygląda na to, że testy były robione w modelu BlackBox. Niestety model ten weryfikuje głównie kreatywność pentesterów. Od czegoś jednak trzeba zacząć :)

    Odpowiedz
  • avatar
    2017.11.13 12:18 Bulldogjob

    „If your employer just went bankrupt because of #ovhdown you can always find a new one at @bulldogjob ? #AlwaysLookOnTheBrightSideOfLife”

    Chcieliśmy się odnieść do naszego wpisu z twittera. Drugie dno jest takie, że jeżeli nie zabezpieczy się przed takimi infrastrukturalnymi problemami, to firma faktycznie może pójść na dno. Wtedy ciężko będzie szukać pozytywów.

    Odpowiedz
  • avatar
    2017.11.13 17:36 Piotr

    Nosił wilk razy kilka, ponieśli i wilka, czyli karma wraca platnoscisms . com/cashbill-pl-bezpieczne-platnosci-on-line/

    Odpowiedz
  • avatar
    2017.11.14 10:33 Krzysztof Kozłowski

    Taka reklama że my błędów niet albo że nasze wtyczki bezpieczne bądź też nasze DC działa i jest niezatapialne to po prostu taki hardkorowy sposób przeprowadzania testów bezpieczeństwa za darmo.
    Jak widać działa ;)
    Mogli zapłacić za testy a tak mają je za darmo….

    Odpowiedz
  • avatar
    2017.11.14 11:38 starszy oborowy

    Eeee, maje wtyczki są bezpieczne. nigdy ich nie wyciągam z gniazdka …

    Odpowiedz
  • avatar
    2017.11.14 17:28 czytelnik

    szacun dla Mateusza.
    W dzisiejszych polskich realiach trzeba się liczyć, że potencjalna firma u której znalazło się błąd zamiast podziękować pójdzie na milicję.

    Odpowiedz
  • avatar
    2017.11.17 05:42 Adam [ale nie autor Z3S]

    > (audyt) w renomowanej firmie
    > Dlaczego jeden audyt nie wystarczy?
    Widzę nakręcanie spirali dodatkowych kosztów. Ponadto skoro audyt taki renomowany i tak nie wystarcza, to skąd jakakolwiek pewność, że dwa wystarczą?

    Odpowiedz
    • avatar
      2017.11.20 18:17 penkły

      dwa renomowane wezne panie Kaziu

      Odpowiedz

Zostaw odpowiedź

Jeśli chcesz zwrócić uwagę na literówkę lub inny błąd techniczny, zapraszamy do formularza kontaktowego. Reagujemy równie szybko.

Nie śmiej się dziadku z cudzego wypadku. CashBill się śmiał i sam tak miał

Komentarze