23:26
11/9/2012

Przeszło dwa lata temu opisywaliśmy, jak złodzieje mogą płacić znalezioną kartą płatniczą z chipem, nie znając jej PIN-u. Teraz na horyzoncie pojawił się nowy atak na karty chipowe, umożliwiający złodziejowi stworzenie klonu karty z chipem i wypłacenie przy jego pomocy środków z konta ofiary.

Płatność kartą z chipem podatna na atak pre-play

Jak tłumaczą odkrywcy ataku, transakcje wykonywane kartami płatniczymi EMV (Europay, MasterCard, Visa) są uwierzytelniane poprzez kody MAC, do generowania których wykorzystywany jest m.in.:

  • klucz symetryczny znajdujący się na chipie (z racji chipa niemożliwy do odczytania)
  • dane dotyczące transakcji (kwota, waluta, data)
  • wartość licznika transakcji (przechowywana na chipie, inkrementowana po każdej)
  • 32bit UN (Unpredictable Number) czyli nieprzewidywalny numer, który jest generowany przez terminal (bankomat lub terminal POS w sklepie).

Jeśli jednak przewidzi się owy nieprzewidwalny numer, no cóż, wtedy można “zasymulować” wynik MAC generowanego przez kartę w dowolnym czasie. Taki atak nosi w kryptografii nazwę ataku pre-play.

Jak wygląda transakcja kartą płatniczą

Jak wygląda transakcja kartą płatniczą?

Przewidywalna nieprzewidywalność

Na ślad dziury w płatnościach EMV badacze wpadli analizując logi z przypadku pewnego jegomościa, którego okradziono (fałszywe transakcje na wyciągu), a bank w odpowiedzi na reklamację stwierdził, że kwestionowane przez klienta transakcje zostały wykonane jego kartą i ze znajomością PIN-u, więc zwrotu nie będzie. Po krótkich symulacjach przeprowadzonych na kilku kupionych z eBay’a bankomatach, okazało się, że generowane przez bankomaty UN-y wcale nie są tak nieprzewidywalne, jak się wydaje…

Co ciekawe, zgodnie z wymogami EMV generator UN zostanie zaakceptowany, o ile pod rząd wygeneruje “aż” 4 różne UN-y…

Oto logi jednego z klientów:

UN chip PIN

UN transakcji okradzionego klienta

Zauważcie czasy transakcji – czy jesteście w stanie wypłacać środki z jakiegokolwiek bankomatu, w niezależnych transakcjach, z prędkością raz na 30 sekund? Przyjrzyjcie się też UN — jego pierwsza połowa zdaje się być stała, a druga to licznik, który od czasu do czasu musi się “przekręcić”.

Okazuje się, że niektóre z bankomatów korzystają z funkcji C rand do zapewnienia “losowości”, a inne posiadają implementacje, które po każdym restarcie bankomatu powodują generowanie tego samego ciągu UN-ów. Nie brzmi to najlepiej, prawda? Badacze testowali m.in. bankomaty NCR — urządzenia tego producenta spotyka się także w Polsce.

Na czym polega atak pre-play?

Złodziej, mając dostęp do karty (np. w momencie płatności przez klienta w sklepie kontrolowanym przez mafię), testuje ją na swoim terminalu, z którego wysyła na kartę UN, o którym wie, że pojawi się w konkretnym czasie na konkretnym bankomacie oraz dane dotyczące transakcji (m.in. kwotę i datę). W odpowiedzi otrzymuje od karty MAC, który potem może być użyty w bankmacie jako odpowiedź pochodząca niby od oryginalnej karty. Niewielki minus: zawczasu trzeba znać m.in. kwotę i datę złodziejskiej transakcji (ale to dla złodzieja nie jest wielki problem). 

Jeśli zastanawiacie się, jak złodziej może zmusić swój terminal do generowania dowolnego UN — poczytajcie nasze poprzednie artykuły o hackowaniu terminali POS.

Po stronie banku transakcja wykonana z użyciem wyliczonego wcześniej MAC niczym różni się od transakcji przeprowadzonej z podaniem PIN-u przy pomocy oryginalnej karty. Z tego powodu banki sukcesywnie odmawiają zwracania skradzionych środków — wmawiając klientom, że musieli zdradzić złodziejowi PIN, a to narusza regulamin (więc nici z wypłaty).

Jeden z kupionych na eBay bankomatów

Jeden z kupionych na eBay bankomatów

Teraz wiemy już, że przyczyną straty środków może być nie tylko ujawnienie PIN-u ale również kiepski algorytm generowania UN, którego użycie powoduje rezultat taki sam jak sklonowanie karty, (mimo, że od technicznej strony, klonowanie w ogóle nie następuje, bo złodzieje nie dostają się do klucza na chipie i nie przegrywają go na inną kartę). Paradoksalnie, chip na karcie został wprowadzony właśnie po to, aby uniemożliwić klonowanie…

Na marginesie, wprowadzenie chipu w ogóle nie spowodowało spadku fraudów, przez chwilę liczba fraudów nawet wzrosła! Przestępcy po prostu zaczęli wykonywać transakcje w których fizyczna obecność karty (i znajomość PIN-u) nie jest wymagana (telefon, internet) lub uprawiać skimming, czyli odczytywać pasek magnetyczny i PIN (np. w bankomacie), a następnie klonować pasek na czystej karcie i dokonywać wypłaty za jej pomocą w kraju gdzie ciągle akceptują transakcje “paskowe” (np. USA).

Jeśli kiedyś bank odmówi ci zwrotu środków z fałszywej transakcji kartą

Poproś bank o szczegółowe logi z transakcji (takie, które zawierają UN-y). Jeśli jesteś pewien, że złodziej nie znał twojego PIN-u, a bank twierdzi, że transakcja była przeprowadzona z jego użyciem — możesz być ofiarą ataku pre-play lub tego, który opisaliśmy 2 lata temu.

Zauważ także, że wcale nie musisz stracić swojej karty (a na jej wyciągu pojawią się lewe transakcje). Wystarczy, że płaciłeś w sklepie w którym był złośliwy terminal — atakujący sczytał PIN i w trakcie prawdziwej transakcji, którą wykonałeś, złośliwy terminal odpytał twoją kartę o kilka MAC-ów (dla różnych, wybranych UN-ów). Chwilę później, “klon” twojej karty wykorzystano do wypłaty pieniędzy w bankomacie w innym kraju, a ta fałszywa transakcja pojawiła się na twoim rachunku.

Jeśli bank kiedykolwiek odmówi ci zwrotu środków z transakcji na karcie kredytowej, której ty nie wykonałeś — przekaż im link do tego artykułu.


Przeczytaj także:



50 komentarzy

Dodaj komentarz
  1. Im więcej Waszych wpisów czytam, tym w większą paranoję popadam. Chyba czas zlikwidować wszystkie moje karty

    • +1, ja już od jakiegoś czasu płacę tylko w naturze.

    • Powiedziałbym, że człowiek na korzyść się czegoś nowego dowiaduje.

    • Na wykładach z bezpieczeństwa teleinformatycznego profesor mówił nie raz że po jego zajęciach studenci zaczynają paranoicznie dbać o swoje laptopy i komputery. Potwierdzam, a Niebezpiecznik to tylko podsyca ;)
      Ale jak to mówił G.I. Joe “Knowing is half the Battle”

    • “ja już od jakiegoś czasu płacę tylko w naturze.”

      PADŁEM (if u know what i mean)

    • @foxbond padłeś? powstań!

    • “Złodziej, mając dostęp do karty (np. w momencie płatności przez klienta w sklepie kontrolowanym przez mafię)”

      Jakim cudem złodziej może mieć dostęp do karty w momencie kiedy ja nią płacę.

    • No chyba ,że faktycznie podmienił terminal na swój ”
      podrobiony”

  2. Ja poszedłem w regres technologiczny i mam kartę w Inteligo – jedynie pasek magnetyczny. Transakcje sklepowe autoryzowane są nie pinem, a podpisem. Kod CV2 zaklejony nieprzezroczystą taśmą klejąca, a w miejsce podpisu na karcie mam wpisane “Proszę zażądać okazania dowodu osobistego”. Jeżeli kiedykolwiek będę musiał zgłosić reklamację, to wiosek + skan karty załatwią sprawę. Obejdzie się bez interwencji grafologa. (PS. Wychodząc ma imprezę w jedne kieszeni mam dowód, a kartę w innej).

    • Brawo, utrudniasz sobie życie, a złodziej skopiuje sobie kartę i ma gdzieś zaklejania i napisy.

    • Skopiować może zawsze i bez moich zabiegów. Co następnie może zrobić? Pójdzie do sklepu ze sfałszowaną karta i podpisze się moim nazwiskiem? Podpisany paragon zostaje, na mój wniosek reklamacyjny operator karty go odgrzebuje i zwraca mi środki. Drugi pozytywny plus jest z ograniczenia ilości obsługi pinem – nie wklepuje go w każdym sklepie, a jedynie w bankomacie, a tutaj już standardowa czujność.

    • I jeszcze na Orlenie :p

  3. Znam bankomat, który przeprowadza operacje w czasie <30 sek. Ponieważ byłem w szoku szybkości przeprowadzenia transakcji osobiście mierzyłem mu kilka razy czas i rekordem było 20 sekund (+-sekunda). Dodam, że nie stoi on w banku, a w budynku należącym do Fiata.

  4. ja mam tylko kartę do płatności internetowych – cała reszta to żywa gotówka :D

    • Gotówka jest passe, lepiej kup złoto. Najlepiej w Ambe… oh wait!

    • złoto? bitcoin to jedyna pewna inwestycja, nawet 300% miesięcznie xD

  5. nie “owy numer” tylko “ów numer” !!!

    • i “z rzędu”, a nie “pod rząd”.

      Nie mów pod rząd, bo zrobisz błąd; mów z rzędu, nie będzie błędu.

  6. A to nie mogli zamontować w bankomacie sprzętowego generatora TRNG do obliczania UN? Jak widać banki mają bezpieczeństwo swoich klientów w głębokim poważaniu!

    • Instalacja tego typu rozwiazania w kazdym bankomacie = ??? $
      Fraudy zwiazane z brakiem tego rozwiazania = 1 mln EUR (wg szacunkow researcherow)

      Rachunek jest prosty ;)

    • Zwłaszcza jak za te fraudy płacą klienci a więc zerowe straty banków! :)

    • @Piotr Konieczny
      Fraudy zwiazane z brakiem tego rozwiazania = 1 mln EUR (wg szacunkow researcherow)
      Rachunek jest prosty ;)

      Ano jest – dlatego wciska się na siłę EMV, dające BEZPIECZEŃSTWO. I to stuośmioprocentowe bezpieczeństwo. Może o fraud trochę trudniej ale o pozytywnie rozstrzygniętą reklamację jeszcze trudniej. KArty z EMV są na prawdę bezpieczne – dla banków oczywiście. Jak widać, zawsze mogą powiedzieć, że transakcja wykonana Twoją kartą, z Twoim pinem, więc sam jesteś sobie winny.

    • Polecam czytam ze zrozumieim.Potrzebna jest jeszcze dokładna data oraz suma zakupu kartą w slepie. Koles po prostu musiał dać dostęp komuś do karty i tyle….jak dla mnie

  7. A tak w ogóle to dlaczego UN generuje bankomat lub terminal? Czy tego nie powinien robić serwer banku, ten który potem weryfikuje otrzymany MAC???

    • wtedy byłoby jeszcze łatwiej. do ataku potrzebny byłby tylko mac ;)

    • No nie, bo aby powstał MAC, karta musi podpisać UN swoim kluczem prywatnym. A to serwer banku dbałby o to, żeby dla każdej transakcji UN był unikalny i LOSOWY! Co w takim przypadku da przechwycenie gotowego MAC-a jak przy następnej transakcji trzeba będzie podpisać inny UN? A z tego wyjdzie inny MAC.

  8. Tak, już widzę jak bank wydaje mi logi transakcji bankomatowej: “Ze względów bezpieczeństwa nie możemy przekazywać takich informacji klientom” albo jak reagują na przesłanie linka do artykułu: “Dziękujemy za przekazane informacje, weźmiemy je pod uwagę w przyszłości”

    • Polecam skorzystanie z usług prawnika. To mit, że porady są drogie. To prawda, że pisma od prawników często otwierają “nowe możliwości rozwiązania Pańskiego problemu” ;-)

  9. Nie jestem specjalistą, ale jeśli do generowania MAC jest wykorzystywana wartość licznika transakcji przechowywana na chipie, inkrementowana po każdej to nie mamy czasem MACów wygenerowanych z wartościami licznika które są “stare”.

  10. >np. w momencie płatności przez klienta w sklepie kontrolowanym przez mafię
    wat

  11. Są takie stare bankomaty BZ WBK (jeszcze z wyświetlaczem CRT), które wykonują transakcje w mgnieniu oka, dosłownie 15 sekund bez wydruku paragonu. Między kolejnymi ekranami nie ma żadnego laga, wszystko dzieje się natychmiast, kasa wychodzi po kilku sekundach.

    • bo te jeszcze stoja na starym dobrym windows NT, nowsze modele to albo 2003 lub xp, w extremalnych przypadkach [ szybkie bankomaty ] stoja na wlasnym systemie – linux, unix, itp

  12. Czy Niebezpiecznik już posiada swój bankomat, kupiony na eBayu albo gdzieś? Czy planowane są szkolenia i testy penetracyjne systemów kartowych? :)

    • “Wystarczy, że płaciłeś w sklepie w którym był złośliwy terminal — atakujący sczytał PIN i w trakcie prawdziwej transakcji, którą wykonałeś, złośliwy terminal odpytał twoją kartę o kilka MAC-ów (dla różnych, wybranych UN-ów).”

      Taaa… złośliwy terminal ;)
      Nawet dziura w kernelu EMV na terminalach VeriFone – o której Niebezpiecznik jakoś nie napisał jeszcze – a która umożliwia wykonanie kodu po włożeniu “trochę” przerobionej karty chipowej – nie została jeszcze wykorzystana w praktyce (a to co umożliwiło ten atak znane jest od ładnych paru lat).
      Inne dziury (w terminalach innych producetnów) też leżą i czekają aż ktoś je wykorzysta. I co – i nic… Jedyne udane ataki na terminale miały naturę sprzętową (choć np. to o czym “wszyscy” mówili kiedyś – że Chińczycy w fabryce dodawali moduł logujący i potem trzeba było terminale ważyć – to “urban legend”). Pomijam fakt podmiany terminala z VeriFone np. na WeriFone – to droga na skróty ;)

      BTW – terminale EFT POS mają całkiem sensowne generatory (pseudo)losowe – bazujące na szumie diody spolaryzowanej zaporowo. OS przy bootowaniu robi testy statystyczne generatora – i nie uruchomi się jeśli jest jakiś fakap.

    • Niebezpiecznik napisał, chyba przeoczyłeś: https://niebezpiecznik.pl/post/powazna-dziura-w-sklepowych-terminlach-platniczych-verifone/

    • Nie mogę Panu P.K. odpowiedzieć, to odpowiem sobie.

      Nie w tą dziurę :P

      Artema to taki VeriFone jak z koziej… no ;) W PL Artemy to egzotyka – ja słyszałem tylko o jednej z ich wersji w PKP.
      Znacznie poważniejsza dziura to http://www.wired.com/threatlevel/2012/07/pinpadpwned

      W PL Vx510 (ten na którym odpalono gierkę “z karty czipowej”) jest najpopularniejszym terminalem.

  13. literówka: *bankmacie*

  14. A co by się stało w Polsce gdyby turysta z paskiem, a bez cipa włożył kartę do bankomatu? Wypłaciłby?

  15. Dla mnie działanie na zasadzie “mam kartę do konta gdzie mam wszystkie środki” jest kompletnie niezrozumiałe i jest tożsame z “mam ze sobą w portfelu w portfelu wszystkie pieniądze i czuję się z tym dobrze”.

    Ja robię tak, że w trakcie zakładania konta, do którego dostaję karę do bankomatu, zakładam też drugie konto, do którego nie zamawiam karty (większość banków oferuje wtedy takie konto bez żadnych opłat). Konto, do którego mam kartę traktuję jak portfel, gdzie trafia potrzebna mi ilość środków na wykonanie danej transakcji (bezpłatny przelew przez Internet), kiedy i w jakiej kwocie potrzebuję. Idę do sklepu/bankomatu, wykonuję transakcję i stan konta ~0zł. Każda kradzież/skopiowanie karty rozbija się tu o stan środków a ten = 0zł :)

    Problem może być wtedy, gdy w sklepie trafiam coś co “muszę kupić” a akurat stan środów = 0zł, ale problem to żadem bo w erze smartphone’ów i mobilnego dostępu do Internetu można przecież machnąć szybki przelew przez telefon i już środki są. Teraz to już działam nawet tak, że do sklepu idę bez środków na karcie i bez gotówki, jak widzę coś co warto kupić to telefon->przelew i środki są, a problem z pilnowaniem karty z głowy.

    Nie wiem czy to już paranoja :P, czy tylko ostrożność, ale jak do tej pory to działa :)

    • Robię dokładnie tak samo z tą różnicą że trzymam zawsze na koncie max 100-200 pln na wypadek szybkiego zakupu/wypłaty z bankomatu, żeby nie bawić się właśnie w takie przelewanie przez telefon (zawsze jest ryzyko że akurat będzie jakaś awaria, brak internetu itp). W przypadku kradzieży/skopiowania strata będzie właśnie maksymalnie 200 zł

    • Równie dobrze można zadzwonić i przez IVR zrobić przelew.
      I jak pisał przedmówca stojąc przy kasie w kolejce przelewam sobie pożądaną kwotę.
      Mam tez drugie konto z paypass’em (to dopiero niebezpieczne) gdzie mam tak do 50 zł na płatności zbliżeniowe.

  16. “Co ciekawe, zgodnie z wymogami EMV generator UN zostanie zaakceptowany, o ile pod rząd wygeneruje “aż” 4 różne UN-y…”

    tak z ciekawości, można wiedzieć z jakich specyfikacji EMV sa wzięte te “aż 4 rózne” UNy ?

    Z EMV Booków wynika, że “Ideally the Unpredictable Number generated by a terminal should be truly unpredictable even given access to all previous such numbers generated by the terminal and it should be infeasible for an attacker to control the next Unpredictable Number that the terminal generates.”

  17. Dlatego warto inwestować we własna firmę lub inwestować w obiecujace Start Up’y. Dobre pomysły biznesowe pozwalaja osigna wiekszy zwrot z inwestycji niż lokaty bankowe. Aniołowie biznesu dbaja o swoja prywatność i korzystaja z kart firmowych:-)

  18. “klucz symetryczny znajdujący się na chipie (z racji chipa niemożliwy do odczytania)”
    Zastanawiam się, czy w laboratoryjnych warunkach (mikroskop, precyzyjny robot itd.) nie dałoby rady dostać się do tego fragmentu chip’a, w którym zapisany jest ów klucz? Mam na myśli podpięcie się bezpośrednio do odpowiednich “pól” struktury krzemowej chip’a i zczytanie kodu. Abstrahuję od konieczności poznania dokładnej budowy chip’u – chodzi mi o sam sposób postępowania.

  19. Chipy od kart są specjalnie zabezpieczone prze takim atakiem – struktura nie jest tak łatwa do wypreparowania. Dodatkowo część z numerem jest gdzieś na dnie pod kilkoma warstwami. No i zniszczenie karty wymaga uzyskania do niej stałego dostępu co i tak zaowocuje jej zablokowaniem przez użytkownika któremu ją gwizdniesz.

  20. Dlatego warto unikać niektórych kart płatniczych – np. wszystkich kart Citibanku. Dlaczego? Bo debile w citibanku nie dopuszczają możliwości zablokowania transakcji gotówkowych na karcie kredytowej, nie można też ustalać żadnych górnych limitów poza samym limitem kredytowym na karcie. Wszystkie inne banki jakoś potrafią zrozumieć że jest to podstawa, ale szanowne citi nie bardzo…

  21. Mimo wszystko karty z chipem to gwarancja bezpieczenstwa.Szansa ,że ktoś nas okradnie jest w skali jeden do 10.

  22. Skoro jeden do 10 to całkiem duża szansa -> 10%
    Znaczy to, że wg ciebie co dziesiąty może zostać okradziony :P

Twój komentarz

Zamieszczając komentarz akceptujesz regulamin dodawania komentarzy. Przez moderację nie przejdą: wycieczki osobiste, komentarze nie na temat, wulgaryzmy.

RSS dla komentarzy: