13/03/2018

Klonowanie kart czipowych z PIN-em: brazylijska robota

Projekt specjalny

Niedawno Stany Zjednoczone zrezygnowały z korzystania z kart kredytowych i debetowych z paskami magnetycznymi na rzecz lepiej zabezpieczonych kat z czipem, które wymagają podania kodu PIN. Związane z nimi regulacje określa standard EMV. To wielki krok naprzód w kierunku zwiększenia bezpieczeństwa transakcji i zmniejszenia oszustw związanych z kartami. Można pomyśleć, że zbliża się koniec zagrożenia polegającego na klonowaniu kart.

Nasi badacze niedawno odkryli, że grupa oszustów z Brazylii wymyśliła sposób, jak kraść dane kart i je klonować, programując nowe karty. Nasi badacze zaprezentowali swoje wyniki podczas spotkania Security Analyst Summit 2018, a w dzisiejszym poście omówimy pokrótce, jak to działa.

Oszukiwanie bankomatów i nie tylko

Podczas badania szkodliwego programu dla bankomatów, którym posługiwała się brazylijska grupa o nazwie Prilex, nasi eksperci natknęli się na zmodyfikowaną wersję tego szkodliwego programu zawierającą dodatkowe funkcje, które służyły do infekowania terminali usługowych i gromadzenia danych z kart.

Wspomniane szkodliwe oprogramowanie potrafiło modyfikować oprogramowanie terminala, umożliwiając osobom postronnym przechwytywanie danych przesyłanych przez urządzenie do banku. W ten sposób oszuści uzyskiwali dane kart. W rzeczywistości wyglądało to tak, że podczas dokonywania płatności w sklepie lokalnym z zainfekowanym terminalem dane karty były przesyłane prosto w ręce przestępców.

Jednak posiadanie danych z karty to tylko połowa sukcesu: aby ukraść pieniądze, musieli oni również mieć możliwość sklonowania kart, a proces ten był bardziej skomplikowany przez obecność czipów i ich wieloetapową autoryzację.

Grupa Prilex utworzyła infrastrukturę, która umożliwiała ich „klientom” tworzenie sklonowanych kart — co teoretycznie nie powinno być możliwe do wykonania.

Aby dowiedzieć się, dlaczego tak się działo, należy najpierw poznać mechanizm działania kart EMV. Postaramy się przedstawić klonowanie w możliwie najprostszy sposób.

Jak działa standard kart z czipem i kodem PIN

Czip na karcie jest nie tylko pamięcią flash, lecz pełnoprawnym, choć maleńkim komputerem, który może uruchamiać aplikacje. Gdy czip znajdzie się w terminalu, rozpoczyna się sekwencja określonych działań.

Pierwszy krok jest nazwany inicjalizacją: terminal otrzymuje podstawowe informacje, takie jak imię i nazwisko właściciela karty, datę jej wygaśnięcia czy listę aplikacji, które mogą zostać przez tę kartę uruchomione.

Drugi krok jest opcjonalny i nazywa się autoryzacją danych. W tym miejscu terminal sprawdza, czy karta jest oryginalna, a w procesie tym są wykorzystane algorytmy kryptograficzne. Dalsze kroki tego etapu są znacznie bardziej skomplikowane, więc na tym poprzestaniemy.

Trzeci krok jest również opcjonalny i nosi nazwę wersyfikacja właściciela karty: teraz użytkownik karty musi wprowadzić kod PIN lub podpis (w zależności od tego, jak karta została zaprogramowana). Celem tego etapu jest poświadczenie, że osoba, która próbuje zapłacić przy użyciu danej karty, jest tą, na którą karta została wydana.

Następnie ma miejsce krok o nazwie transakcja. Warto podkreślić, że obowiązkowy jest tylko krok 1 i 4. Innymi słowy, etap autoryzacji i weryfikacji można pominąć — co wykorzystywali Brazylijczycy.

Korzystanie z kart bez kontroli

Mamy zatem kartę, która może uruchamiać aplikacje, a podczas jej użycia terminal wymaga od niej podania informacji, jakich aplikacji może ona używać. Liczba i stopień skomplikowania kroków wymaganych do przeprowadzenia transakcji zależy od dostępnych aplikacji.

Osoby zajmujące się klonowaniem kart utworzyły aplikację w języku Java, która sprawiała, że mogły one działać. Aplikacja ta może między innymi informować terminal, że nie ma konieczności wykonywania autoryzacji danych. Oznacza to, że nie ma konieczności wykonywania szyfrowania, co eliminuje prawie niewykonywalne zadanie, jakim jest uzyskanie prywatnych kluczy kryptograficznych karty.

Jednak sytuacja ta nadal wymaga autoryzacji przy użyciu kodu PIN. W standardzie EMV istnieje możliwość zdecydowania, że podmiotem sprawdzającym poprawność kodu PIN ma być… właśnie ta karta. A mówiąc dokładniej, działająca na niej aplikacja.

Tak, to prawda: utworzona przez cyberprzestępców aplikacja może stwierdzić, czy kod PIN jest poprawny, bez względu na to, jakie cyfry wprowadził użytkownik. Wobec tego oszust posiadający kartę może zwyczajnie podać cztery losowe cyfry, które zawsze zostaną zaakceptowane.

Oszustwa związane z kartami jako usługi

Utworzona przez grupę Prilex infrastruktura zawiera opisany powyżej aplet Java, czyli aplikację kliencką o nazwie „Daphne”, odpowiedzialną za zapisywanie informacji na inteligentnych kartach (czytniki inteligentnych kart / urządzenia służące do zapisu oraz czyste inteligentne karty nie są drogie i można je kupić całkowicie legalnie.) Ta sama aplikacja jest wykorzystywana do sprawdzania kwoty, która może zostać z niej wypłacona.

W infrastrukturze tej znajduje się również baza danych z numerami kart oraz innymi danymi. Nie ma znaczenia, czy karta jest debetowa, czy kredytowa; „Daphne” potrafi sklonować oba rodzaje. Oszuści sprzedają je w postaci pakietu, przeważnie innym oszustom w Brazylii, którzy następnie tworzą sklonowane karty i ich używają.

Podsumowanie

Według raportu firmy Aite pt. „2016 Global Consumer Card Fraud” lepiej jest zakładać, że zhakowani zostali wszyscy użytkownicy. Nie jest ważne, czy używasz karty z paskiem magnetycznym, czy jej bezpieczniejszej wersji — z czipem i kodem PIN: jeśli masz kartę, znajdujące się na niej informacje zostały prawdopodobnie skradzione.

Przestępcy stworzyli metodę klonowania kart, co powoli wydaje się być bardzo poważnym oszustwem finansowym. Jeśli nie chcesz stracić pieniędzy w wyniku oszustwa, pamiętaj o kilku podstawowych zasadach:

  • Zwracaj wagę na historię transakcji dokonywanych przy użyciu karty; włącz mobilne powiadomienia push lub powiadomienia przez SMS. Jeśli zauważysz coś podejrzanego, natychmiast poinformuj o tym bank i zablokuj kartę.
  • W razie możliwości używaj technologii AndroidPay lub ApplePay. Te metody płatności nie przekazują terminalowi danych karty. Dlatego są one bezpieczniejsze niż wkładanie karty do maszyny.
  • Korzystaj z oddzielnej karty do płatności internetowych i nie przechowuj na niej dużych kwot.