27.03.2018 | 19:47

irq

Webskimming, czyli nakładki kradnące numery kart kredytowych na stronach sklepów

Płacisz za zakupy kartą kredytową. Co byś jednak zrobił, gdyby po zakupie online okazało się, że Twoje konto zostało obciążone kilkoma dodatkowymi operacjami z wypłatą gotówki w Meksyku włącznie ?

Zapewne przeżyłbyś szok i niedowierzanie, bo przecież na stronie widniał znany wszystkim symbol zielonej kłódki. Przekleństwo zielonej kłódki polega na tym, że paradoksalnie oznaczenie to często obniża poziom cyberbezpieczeństwa, powodując uśpienie czujności klientów sklepów. Użytkownik strony wykorzystującej HTTPS został nauczony i przyzwyczajony do weryfikacji, czy dana strona jest oznaczona tym charakterystycznym symbolem, a sama obecność kłódki stała się dla niego ewidentnym dowodem na brak jakichkolwiek zagrożeń. Niestety rzeczywistość jest inna. Przestępcy świadomi takiego podejścia użytkowników wykorzystują ich nadmierną ufność w bezpieczeństwo strony w różny sposób:

  • używają darmowych certyfikatów Let’s Encrypt,
  • umieszczają na stronie ikonkę (favicon) w kształcie kłódki,
  • wstrzykują w źródło strony zainfekowany kod.

A przecież „zielona kłódka” czy też dobrze skonfigurowany serwis działający w protokole HTTPS świadczą wyłącznie o ochronie przed podsłuchaniem informacji na etapie transmisji danych (uniemożliwiają atak Man-in-the-Middle).

Szyfrowanie połączenia nie pomaga w sytuacji, kiedy dane są czytane i przekazywane przestępcom podczas ich wprowadzania do formularzy płatności online. Wielokrotnie już ostrzegaliśmy przed nakładkami na bankomaty (skimmery), które rejestrują dane o kartach celem późniejszego skopiowania. Analiza sposobów infekcji niektórych sklepów internetowych wskazuje, że przestępcy przenieśli fizyczne skimmery bankomatowe do cyberświata pod postacią webskimmerów.

 Jak to działa

Klient, wykonując przelew za zakupy, wypełnia formularz płatności, w którym podaje wszystkie dane (numer karty kredytowej, datę jej ważności, numer CVV, imię i nazwisko). Płatność jest autoryzowana przez sklep w tradycyjny sposób, a cały proces zakupu przebiega prawidłowo. W przypadku użycia webskimmera strona internetowa sklepu ma wstrzyknięty kod (wystarczy jedna linijka JavaScriptu), który powoduje, że dane wpisane do formularza są wysyłane na serwer przestępców.

Jednym z głośniejszych przestępstw tego typu był atak na stronę sklepu Partii Republikańskiej USA. Przez 6 miesięcy dane z kart kredytowych klientów były wykradane i przekazywane do rosyjskiego serwera. W serwisie umieszczona była jedna linijka pozornie niegroźnego kodu. Z obcego serwera pobierany był właściwy skrypt, który budował paczkę danych, kodował je w base64 i wysyłał na serwer zdalny. Holenderski badacz Willem de Grot prześledził domeny i kraje, za pośrednictwem których przepływały te dane, wykazując, że przez raje podatkowe (Belize, Panamę i Seszele) trafiały one do firmy działającej na pograniczu prawa (doradztwo podatkowe) i czarnego rynku. Szacując ruch sieciowy w sklepie i dane czarnorynkowe, określił, iż skradzione karty kredytowe przyniosły cyberprzestępcom zysk na poziomie 600 000 dolarów.

źródło: https://gist.github.com/gwillem/3c3f566278ac01a290560f64129d3df0

źródło: https://gist.github.com/gwillem/3c3f566278ac01a290560f64129d3df0

Po tym odkryciu Willem de Groot postanowił sprawdzić mechanizmy płatności w innych sklepach internetowych. Skrypty (realizujące funkcjonalność skimmerów), które poddał analizie, były wielopoziomowo zaciemnione, a dodatkowo często udawały pliki znanych firm (np. UPS) lub też były wywoływane jako argumenty innych popularnych bibliotek JavaScriptu. Badania wykazały, że procederem tym zajmuje się kilka niezależnych grup przestępczych (istnieje kilka podobnych do siebie rodzin malware’u). Jeszcze do niedawna badacz publikował na GitHubie listę zainfekowanych sklepów (doszedł do niemal 6000).  Mimo ostrzeżeń Willema wiele spośród nich wciąż prowadzi swą działalność bez dokonania jakichkolwiek zmian.

źródło: https://gwillem.gitlab.io/2016/10/11/5900-online-stores-found-skimming/

W bieżącym roku przy użyciu identycznej metody zostały wykradzione dane klientów producenta smartfonów OnePlus. Firma przyznała, że jej serwer został zainfekowany, a przekazywane dane kart kredytowych były podsłuchiwane bezpośrednio w przeglądarce i wysyłane do nieznanych przestępców. Podano, że w ten sposób przywłaszczono dane 40 tys. klientów.

Jak się bronić

Jednym z rozwiązań, które w znacznym stopniu mogą ograniczyć wiele z nadużyć, jest włączenie i właściwe skonfigurowanie polityk CSP (Content Security Policy). Korzystanie z tej warstwy ochrony uniemożliwia lub istotnie redukuje przeprowadzenie ataków XSS, wstrzyknięcie ramek lub CSS. Dobrze przygotowana polityka uniemożliwia pobranie zdalnych skryptów lub złośliwych payloadów.

W przebiegu kompletnego scenariusza ataku najtrudniejszym dla przestępców etapem wydaje się zainfekowanie serwisu sklepu. Jednakże biorąc pod uwagę, jak wiele jest programów działających ze znanymi lukami (oprogramowanie serwerów aplikacyjnych czy same aplikacje sklepów), nikogo nie powinien dziwić fakt, że liczba zainfekowanych serwisów stale rośnie.

Bezpowrotnie minęły czasy, kiedy po przejęciu kontroli nad serwisem WWW, przestępcy zmieniali treść strony głównej, umieszczając na niej wypisaną wielką czcionką informację „WEBSITE HACKED”. Obecnie celem ataków jest przede wszystkim zdobycie pieniędzy, a przestępcy wykorzystują wszelkie sposoby, by w każdej sytuacji odnieść wymierne korzyści finansowe. Po przejęciu strony starają się jak najdłużej pozostać w ukryciu i czerpać zyski lub wykorzystywać pozyskaną infrastrukturę.

Oczywiście, jeżeli przestępca uzyska całkowitą kontrolę nad serwerem i plikami serwisu, to może wyłączyć dowolną politykę ochronną, jednak wymagałoby to z jego strony dokładnej analizy. Tylko wąska grupa przestępców jest aż tak zdeterminowana, większość z nich w takiej sytuacji woli znaleźć sklep, który działa bez polityk ochronnych.

Coś więcej

Wstrzykiwanie złośliwego kodu w słabo zabezpieczone strony może mieć różny cel. Powyżej przedstawiliśmy cel finansowy (kradzież informacji o kartach kredytowych). Niedawno opisywaliśmy także bułgarskie skrypty wstrzykiwane na stronie Kancelarii Prezydenta RP, gdzie nie udało się jednoznacznie wskazać, jaki był cel odwołań do obcych skryptów.

Powrót

Komentarze

  • 2018.03.28 03:45 Janush

    Dlatego korzystam tylko z karty Revolut i przed każdym zakupem doładowuję odpowiednią kwotę(+ włączona ochrona oparta na lokalizacji, w meksyku nikt tym nie zapłaci). Nikt mnie nie okradnie bo mam tam przeważnie 0 zł a na minus nie da się wejść. Polecam.

    Odpowiedz
    • 2018.03.28 07:54 Oskar

      Przesyłanie skanu dowodu/prawa jazdy firmie-krzak założonej przez dwóch Rosjan finansowanych przez bliżej nieokreśloną grupę inwestorów? No rzeczywiście, bezpieczeństwo na maksa.

      Odpowiedz
      • 2018.03.28 10:45 Alf/red/

        W dodatku aplikacja chce dostępu do wszystkiego (od książki adresowej poprzez manipulację SMS do aparatu foto i mikrofonu), i nie mówcie że można tego zabronić, bo na połowie andków nie można.

        Odpowiedz
        • 2018.03.31 22:52 Mac

          Nie, Revolut nie chce mieć dostępu do wszystkiego. Na pewno nie na iOS. Zresztą po weryfikacji możesz dostępy np. do kamery wyłączyć. Dokument wysyłasz, tak jak w wielu przypadkach w Polsce, bo jak niby mają Cię inaczej zweryfikować? Dla mnie przy tej skali udogodnień to absolutnie minimalne ryzyko. Drobiazgiem ale jednak wymownym jest to, że aplikacja nie zapamiętuje security code przy rejestracji karty, którą zasilasz konto Revoluta. Za każdym razem musisz go wpisać, co zwiększa znacząco poziom bezpieczeństwa.

          Odpowiedz
          • 2018.04.03 10:39 Paweł Nyczaj

            Dostęp do kamery służy też do zaciągnięcia danych karty z jej zdjęcia. Nie wiem, czy robi to apka, czy serwer Revoluta. Naturalnie po założeniu konta Revolut można ten dostęp odebrać i ręcznie wpisywać dane nowo dodawanej karty

    • 2018.03.28 07:58 Michał

      Powtarzaszsię

      Odpowiedz
      • 2018.03.28 09:24 eMZik

        Ale on ma racje – jaka jest wiarygodnosc tej firmy?

        Odpowiedz
    • 2018.03.28 08:53 plm

      Większość „dużych” banków umożliwia już prowadzenie karty wirtualnej do płatności w internecie lub prepaidowej więc nie widzę sensu w powierzaniu jakichkolwiek danych kolejnym firmom.

      Odpowiedz
      • 2018.03.28 17:31 ABC

        @plm
        Jaki bank ma w ofercie kartę prepaidową?

        Odpowiedz
        • 2018.03.29 10:38 harl

          @ABC
          Żaden. Z kart pre-paidowych nie można już korzystać. Banki oferują klientom specjalne karty do płatności w Internecie.

          Odpowiedz
        • 2018.04.03 10:41 Paweł Nyczaj

          Kilka banków oferuje karty prepaid lub karty wirtualne tylko do płatności internetowych, ale trzeba być ich klientem. Takie karty fizyczne oferuje Millennium a wirtualna oferuje mBank. Nie da się ich nabyć nie mając tam konta

          Odpowiedz
  • 2018.03.28 09:05 harl

    A w jaki sposób ma się zabezpieczyć zwykły użytkownik? Jest certyfikat, jest szyfrowane połączenie, jest zielona kłódka?

    Odpowiedz
    • 2018.03.28 14:09 Upss

      Forsa w kopertę i poleconym!

      Odpowiedz
      • 2018.03.28 19:12 Grzesiek

        Poten okaze ze i tak cie wy******i bo oferta sklepu to byl scam i nie wysylaja towaru.

        Ja kupuje za pobraniem ze sprawdzeniem zawartosci

        Raz sie naciąłem bo towar byl ale nie działał ;(

        Dlatego sklepy stacjonarne jeszcze istnieja zebys mogl sprawdzic podotykac pomarudzic np „czy jest niebieski bo ten pomarancz razi w oczy” i w koncu miał tą swiadomosc ze sklep ci wymieni towar albo oddasz bo „cos tam widzimiśie” i sklep odda ci kase

        Odpowiedz
  • 2018.03.28 22:13 Lysy

    ING ma kartę wirtualna, super sprawa

    Odpowiedz
  • 2018.03.29 17:53 JonSnow

    Tylko w jaki sposób mają wypłacić tą gotówkę w bankomacie. Do wypłaty w bankomacie potrzebny jest jeszcze nr PIN którego nie podaje się przy tego typu operacjach. Co innego użycie tak pozyskanych danych do płatności w internecie.

    Odpowiedz
  • 2018.04.05 10:54 a

    A nie wystarczy zablokować w przeglądarce wykonywania skryptów spoza domeny sklepu? (bo teraz strony sklepu działającą bez js to pewnie się nie znajdzie…)

    Odpowiedz

Zostaw odpowiedź do plm

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

Webskimming, czyli nakładki kradnące numery kart kredytowych na stronach sklepów

Komentarze