HachiGuard

Kradzież kart przy płatności: formjacking i Magecart

Sklep działa. Zamówienia przychodzą, bank wypłaca pieniądze, nic nie wygląda źle. A od tygodni lub miesięcy ktoś inny zbiera dane kart Twoich klientów.

Na czym to polega

Formjacking to kradzież tego, co klient wpisuje w formularzu płatności. Magecart to nazwa nadana grupom, które robią to w sklepach internetowych od połowy lat 2010., najpierw na Magento, a potem na każdej platformie.

Atak nie psuje sklepu, bo zepsuty sklep się naprawia. Zmienia jedną drobną rzecz na ścieżce płatności i zostawia całą resztę w spokoju.

Cztery sposoby

1. Zmieniony zostaje adres płatności

Twój sklep wysyła klienta na stronę płatności banku. Atakujący zmienia ten adres na własną stronę, która wygląda tak samo, często w domenie różniącej się od prawdziwej jedną literą. Klient wpisuje tam kartę, po czym trafia na prawdziwą stronę banku, gdzie płatność kończy się normalnie. Klient myśli, że wpisał ją dwa razy. Ty widzisz opłacone zamówienie.

2. Do strony płatności zostaje dodany kod

Do pliku lub szablonu płatności w Twoim sklepie dodanych zostaje kilka linijek. Kopiują wszystko, co jest wpisywane w pola karty, i wysyłają to gdzie indziej, a formularz działa jak zwykle.

3. Zmienione zostają ustawienia płatności

W plikach nic się nie zmienia. Atakujący zmienia adres bramki płatniczej lub dane sprzedawcy zapisane w bazie danych sklepu, przez panel administracyjny lub bezpośrednio.

4. Zmieniony zostaje skrypt firmy trzeciej

Twoja strona płatności ładuje skrypt innej firmy, na przykład narzędzie czatu lub statystyk. Ta firma zostaje zhakowana, a skrypt zmieniony na jej serwerze. W Twoim sklepie nic się nie zmieniło.

Dwie sprawy, które wyszły na jaw

  • British Airways, 2018. Kod dodany do strony płatności linii lotniczej zbierał dane kart klientów. W 2020 roku brytyjski organ ochrony danych nałożył na firmę karę 20 milionów funtów.
  • Ticketmaster UK, 2018. Kod dostał się przez narzędzie czatu firmy trzeciej na stronie płatności. W 2020 roku ten sam organ nałożył na firmę karę 1,25 miliona funtów.

Duże firmy trafiają do wiadomości. Tę samą metodę stosuje się codziennie wobec małych sklepów, gdzie nikt nie patrzy.

Dlaczego zwykłe narzędzia tego nie widzą

  • Antywirus szuka znanego złośliwego kodu. Zmieniony adres internetowy to nie wirus.
  • Zapora blokuje podejrzany ruch. Gdy atakujący wejdzie ze skradzionym hasłem, zmiana wygląda jak zwykła praca.
  • Skan zewnętrzny, w tym kwartalny skan PCI, ogląda serwer z zewnątrz. Z zewnątrz sklep wygląda dobrze.
  • Ty widzisz opłacane zamówienia.

Jak sklepy zwykle się dowiadują

  • Bank lub operator kart informuje, że karty użyte w ich sklepie zostały później wykorzystane do oszustw.
  • Klienci piszą, że dwa razy proszono ich o kartę albo że widzą obciążenia, których nie rozpoznają.
  • Nie dowiadują się wcale.

Do tego czasu zmiana zwykle jest na miejscu od dawna. Potem następuje dochodzenie, możliwe zawieszenie płatności kartą i pytanie, czy trzeba powiadomić klientów i organ ochrony danych.

Co HachiGuard robi w każdym z tych przypadków

Zmieniony zostaje adres płatnościObjęte

Wykrywane przy następnym sprawdzeniu. Czysty plik wraca na miejsce automatycznie, a Ty dostajesz powiadomienie.

Do strony płatności zostaje dodany kodObjęte

Wykrywane: każda zmiana w pliku płatności jest zgłaszana, a znane wzorce kradzieży wywołują alert krytyczny. Plik jest przywracany automatycznie, gdy zmiana dodaje nieznany cel.

Zmienione zostają ustawienia płatnościWykrywane

Wykrywane i zgłaszane jako krytyczne, gdy pojawia się nieznany adres. Ustawienia nie są cofane automatycznie.

Zmieniony zostaje skrypt firmy trzeciejCzęściowo

Objęte częściowo. Nasze sprawdzenie z zewnątrz zauważa nową domenę firmy trzeciej na Twoich publicznych stronach. Zmiana wewnątrz skryptu, który już tam był, na serwerze firmy trzeciej, nie jest wykrywana.

Co jeszcze warto zrobić

  • Aktualizuj platformę i jej rozszerzenia.
  • Każdemu administratorowi daj osobne konto z silnym hasłem i logowaniem dwuetapowym tam, gdzie platforma je oferuje. Usuń konta, których nikt nie używa.
  • Gdzie to możliwe, kieruj klienta na stronę płatności samego banku, zamiast przyjmować kartę w swoim sklepie.
  • Ładuj na stronie płatności jak najmniej skryptów firm trzecich.