20.10.2013 | 22:53

Adam Haertle

Wyciąganie danych kart kredytowych przez Google Analytics

Einstein twierdził, że tylko dwie rzeczy są nieskończone: wszechświat i ludzka głupota. My musimy dodać do tej listy również kreatywność internetowych przestępców, którzy nie przestają nas zaskakiwać ciekawymi pomysłami.

Dane kart kredytowych zawsze były popularnym celem przestępców. Za dawnych czasów podstawowym sposobem ich zdobycia było fizyczne odczytanie z karty. W ostatnich latach wraz ze wzrostem popularności kart mikroprocesorowych oraz transakcji internetowych, coraz częściej widzimy ataki na systemy komputerowe, przetwarzające dane interesujące przestępców. Wygodnym punktem ataku dla przestępców są formularze, w których klienci różnych instytucji podają dane swoich kart kredytowych. Takie dane wystarczy skopiować w trakcie wprowadzania i przekazać w inne miejsce. Przekazanie nie jest jednak takie proste – i tu z pomocą przychodzi najnowszy wynalazek internetowych rabusiów.

Jak nie narobić hałasu

Dane karty kredytowej, zapisane za pomocą zmodyfikowanego formularza, można na przykład przesłać na inny serwer za pomocą żądania GET lub POST lub chociażby wysłać przy użyciu poczty elektronicznej. Obie te metody mają podstawową wadę – są dość łatwe do wykrycia przez czujnego administratora. Dziwne połączenia, sesje otwierane z nieznanymi serwerami – aż proszą się o zwrócenie uwagi. By uniknąć tego ryzyka, przestępcy wymyślili sposób na wykorzystanie jednego z już istniejących i zaufanych kanałów komunikacji.

Google Analytics jako prywatny komunikator

Specjaliści Trustwave SpiderLabs odkryli metodę przesyłania skradzionych danych kart kredytowych za pomocą usług Google Analytics. Jak to możliwe? Okazuje się, że metoda jest bardzo prosta i dość skuteczna. Operacja zaczyna się od utworzenia ciągu, zakodowanego w base64, zawierającego wszystkie ważne dane, które chce pozyskać przestępca.

Krok pierwszy (źródło: SpiderLabs)

Krok pierwszy (źródło: SpiderLabs)

Dane, skopiowane w trakcie wypełniania przez klienta formularza płatności, są zapisywane w formie ciągu base64 w zmiennej $a. W drugim etapie modyfikowany jest kod skryptu, obsługującego wywołanie mechanizmów Google Analytics.

Drugi krok (źródło: SpiderLabs)

Drugi krok (źródło: SpiderLabs)

W czwartym wierszu skryptu zmienna $a jest przekazywana jako odwiedzona strona. Przestępca modyfikuje także identyfikator Google Analytics, by przekierować statystyki na swoje konto. W trzecim kroku dane są odczytywane z konta Google Analytics – wyraźnie widać żądanie, zawierające zakodowane dane karty kredytowej. Co prawda ciąg base64 wyświetlany na stronie GA jest obcięty, jednak jego pełna forma znajduje się w kodzie źródłowym witryny GA.

Krok trzeci (źródło: SpiderLabs)

Krok trzeci (źródło: SpiderLabs)

Metoda ta jest genialna w swojej prostocie. Po stronie zaatakowanego klienta widać jedynie żądanie do serwera Google Analytics – prawie takie samo, jak zwykle, bogatsze tylko o jedną, zakodowaną zmienną. Konia z rzędem temu, kto zwróci na to uwagę. Co ciekawe, Google Analytics nie wymaga w tym wypadku potwierdzenia uprawnień do odbierania ruchu z zaatakowanej domeny, umożliwiając skuteczne przeprowadzenie całej operacji. Pozostaje pogratulować kreatywności autorom tego pomysłu.

Powrót

Komentarze

  • 2013.10.21 05:06 piotr

    równie dobrze atakujący może sobie mejla wysłać -.-

    „Po stronie zaatakowanego klienta widać jedynie żądanie do serwera Google Analytics”

    jak atakujący wyśle sobie z php mejla to nie będzie po stronie klienta niczego widać

    na siłę chyba ten artykuł napisaliście

    Odpowiedz
    • 2013.10.21 07:45 HowAboutNo?

      „ak atakujący wyśle sobie z php mejla to nie będzie po stronie klienta niczego widać”

      Pierdzielisz waćpan. W logach będzie widać że mail został wysłany.

      Odpowiedz
      • 2013.10.21 09:21 Jarek

        A tam, odrazu pierdzielisz. Może to P. Kunieczny dowiedział się czegoś nowego. Będzie mógł poopowiadać na kursach ;]

        Odpowiedz
    • 2013.10.21 16:15 sowiq

      A przeczytałeś to zdanie? „Obie te metody mają podstawową wadę – są dość łatwe do wykrycia przez czujnego administratora.”

      Odpowiedz
  • 2013.10.21 11:01 Michał Błaszczak

    No tak, ale jeśli zmienią identyfikator statystyk google analytics to przestaną uzupełniać się statystyki na koncie właściciela serwisu – czyli jedno z głownych narzędzi biznesowch dla właściciela serwisu przestanie działać, a wtedy to admin najpierw sprawdzi kod statystyk – metoda moim zdaniem mało genialna, bo na bardzo krótką metę.

    Odpowiedz
  • 2013.10.21 19:00 Jan

    Jak zwykle NoScript, No Problem :)

    Odpowiedz
  • 2013.10.21 19:23 steppe

    Kolejny argument za używaniem dodatków wycinających GA ;)

    Odpowiedz
  • 2013.10.21 19:29 4ndy

    dobranoc!
    127.0.0.1 *google-analytics.com
    127.0.0.1 *gstatic.com
    127.0.0.1 tbn.l.google.com
    127.0.0.1 *newrelic.com
    127.0.0.1 *googleusercontent.com
    127.0.0.1 *weheartit.com
    itp…

    Odpowiedz
  • 2013.10.21 22:31 przejazdem

    teoretycznie to gdzie kod wkleisz stamtad bedzie dane przesylal, szalu ni ma…

    Praktycznie wiekszosc platnosci online, zwlaszcza karta kredytowa jest obslugiwana third party, na systemach, ktore nie uzywaja google analytics ( z wielu oczywistych wzgledow).

    Odpowiedz
  • 2013.11.13 07:26 Rob_Now

    A co jeśli zainstaluję w przeglądarkę dodatek Ghostery ( http://www.ghostery.com/download ). Jest do różnych i wszystkich tych podstawowych przeglądarek. Tych desktop i mobilnych.

    Czy osiągnę wystarczający skutek zabezpieczający?

    Proszę o info od specjalistów.

    Odpowiedz

Zostaw odpowiedź do Wyciąganie danych kart kredytowych przez Google Analytics | kwestierozne

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

Wyciąganie danych kart kredytowych przez Google Analytics

Komentarze