Zaintrygowany dalszym rozwojem dyskusji na temat bezpieczeństwa zbliżeniowych kart płatniczych, postanowiłem przyjrzeć się dokładniej temu, co można znaleźć w Internecie na temat tych kart. Cały ubiegły tydzień byłem na targach CeBIT, skąd z Piotrem Waszczukiem pisaliśmy reportaż w formie bloga. Teraz mogę wrócić do tematu bezpieczeństwa naszych portfeli elektronicznych. Wyniki są zatrważające. Przedstawię je w punktach:

  1. Konstrukcja zabezpieczeń zbliżeniowych rozliczeń karty Visa jest słabsza niż początkowo sądziłem. Ponieważ standard nie przewiduje autoryzacji każdej transakcji online, można jedynie liczyć na to, że w końcu bank zdecyduje się na wniosek klientów na wyłączenie obsługi modułu zbliżeniowego do transakcji. Jedynym wyjątkiem jest standard MasterCard, gdzie bank może (ale nie musi) włączyć obowiązek autoryzacji online. Niektóre banki to potrafią (HSBC), inne nie, jeszcze inne nie widzą w ogóle problemu (Pekao S.A.). Z kolei mBank twierdzi, że może wymusić autoryzację online zarówno na Visach, jak i Mastercardach, ale jak dotąd mu się to na mojej karcie nie udało.
  2. Dla mikroprocesora na karcie moduł NFC jest jednym z interfejsów, a zatem wystarczy zmiana w aplikacji Java (wszystkie polskie karty są kartami Java, jak widać Gemalto i Oberthur mają bardzo silne lobby), by wyłączyć obsługę albo parametryzować ją. Zmiana kodu na karcie wymaga recertyfikacji karty, a zatem kolejnych opłat (źródło – materiały firmy Hitachi ID, rozmowa z p. Tadeuszem Woszczyńskim). Zmiany na karcie muszą być wgrane przez bankomat albo terminal kart płatniczych w stykowej transakcji.
  3. Niestety zmiany, o których mowa, mogą być wprowadzone tylko w niektórych urządzeniach i nigdy nie wiadomo w których. Obowiązuje zatem taka procedura:
    1. klient dzwoni do centrum obsługi klienta, gdzie najpierw mówią, że nie da się wyłączyć paywave’a
    2. ponieważ klient – w tym przypadku ja – doskonale wie, że ten wynalazek da się wyłączyć, proponują wymuszenie wszystkich transakcji jako autoryzowanych online. To tylko obejście problemu, ale powiedzmy, że w dostateczny sposób zmniejsza ryzyko. Pozostaje problem płatności w sklepach sieci Rossman, które mają terminale ustawione na autoryzację offline.
    3. bank mówi, że wprowadzi odpowiednie zmiany następnego dnia i prosi o wykonanie jednej transakcji stykowej,
    4. klient idzie do bankomatu Euronet (bezpłatna sieć dla użytkowników mBanku),
    5. okazuje się, że ustawienie nie zostało wgrane na kartę, bo „bankomat tego nie potrafił”,
    6. kolejne transakcje w czterech różnych urządzeniach w różnych miastach przynoszą identyczny skutek. Kolejne transakcje w innych krajach – efekt ten sam.
    7. bank oczywiście nie informuje o tym, że wyłączenie transakcji bezstykowych jest tak skomplikowane, bo nawet nie wie który bankomat potrafi wgrać zmiany na kartę.
    8. w razie kradzieży karty, złodziej dokonuje mnóstwa transakcji offline, obciążenie schodzi na konto bez żadnego ostrzeżenia i blokady, powodując niedozwolony debet, od którego bank natychmiast pobiera karne odsetki i opłaty. Psuje się przy okazji historia kredytowa klienta. Zastrzeżenie karty nie powoduje zablokowania takich transakcji, jedynie ułatwia odzyskanie zabranych przez bank i złodzieja pieniędzy. Ale kary i opłaty nadal zostają. Przykłady można znaleźć, blog pana Samcika jest bardzo dobrym drogowskazem.

    skutek – klient zniechęca się do banku. Wcale mnie to nie dziwi. Bank dla mnie nigdy nie był instytucją zaufania, a raczej kontrahentem takim, jak sklep z fałszywym sprzedawcą, który musi zachować pozory ale w głębi duszy chce mnie orżnąć, najlepiej w białych rękawiczkach. To nie jest paranoja, to jest praktyka polskich banków i moje doświadczenie. Wystarczy poczytać na forach.

  4. Moduł NFC jest o wiele groźniejszy, gdyż umożliwia odczytanie z karty nie tylko jej numeru i daty ważności, ale także kodu CVV. Kto nie wierzy, niech obejrzy ten screen z programu NFCProxy podczas odczytu przedpłaconej karty (stąd nazwa VALUED CARDHOLDER, mam taką samą kartę, kupioną w Walgreensie w Vegas za 20 dolarów, by jak najmniej korzystać z mojej karty kredytowej za granicą).
  5. Nie wspominam o takich atakach, jak relay, czyli odczytanie cudzej karty i kupno np. biletu na cudzy koszt, bo wymaga to nieco więcej przygotowań, potrzebne są dwa telefony itp. Nie znaczy, że się nie da – pokaz transakcji odbył się na konferencji Defcon, a bardzo dobrą prezentację NFC Hacking można znaleźć tu. Dzięki Haya za link w komentarzu.
  6. Oto schemat ataku:

  7. Można kupić ubezpieczenie, ale nie obejmuje ono opłat ani innych obciążeń. Czyli w każdym przypadku okradziona osoba będzie stratna. Jest to gorsze niż gotówka, bo jeśli mam w portfelu 50zł, to złodziej nie ukradnie mi więcej. A notowaliśmy przykłady fraudów na kilka tysięcy złotych, wszystko za pomocą NFC.

Widzę zatem tylko dwa rozwiązania
– Albo bank przejmuje na siebie odpowiedzialność za wszystkie transakcje zbliżeniowe od momentu zastrzeżenia karty i zobowiązuje się do niepobierania żadnych opłat ani kar za ewentualne saldo debetowe spowodowane fraudami. Mówiąc krótko – takie transakcje od zgłoszenia nie będą obciążać konta klienta.
– Albo bank mówi klientowi w jasny sposób o ryzyku związanym z płatnościami zbliżeniowymi i ewentualnie daje możliwość WŁĄCZENIA opcji zbliżeniowej.

Polacy mają to do siebie, że dają sobie radę nawet z bardzo nieprzyjaznymi działaniami obcych korporacji. Zatem instrukcja „wyłączania” modułu zbliżeniowego przez przecięcie ścieżek jest nadal na miejscu.

Żeby nie być gołosłownym, zacytuję fragment wypowiedzi jednego z badaczy, który zajął się tematem kart zbliżeniowych:

Test, który przeprowadziłem wykonałem przy użyciu telefonu Samsung Nexus S z wbudowanym czipem NFC opartym na kontrolerze NXP PN544. Użyłem dosyć popularnej aplikacji androidowej „NFC TagInfo”, która oprócz sprawnej prezentacji różnych formatów informacji odczytywanej z karty potrafi zrobić „dumpa” (czyli zrzut – przyp.red.) pamięci kart Mifare Classic 1K, jeżeli posiada się oczywiście klucze szyfrujące.

Prawdopodobnie nie jest to dla Pana nowość, ale większość bankowych kart zbliżeniowych na rynku działa w trybie emulacji Mifare 1K, czyli zachowuje się jak karta RFID prezentująca zawartość pamięci o rozmiarze 1KB. Ujmę to kolokwialnie: „pół biedy” jeżeli taka karta jest zabezpieczona 48-bitowym kluczem Crypto1 (algorytm i tak został złamany jakiś czas temu), niestety w przypadku karty zbliżeniowej Alior Banku klucze te nie zostały ustawione i możliwe jest odczytanie wszystkich sektorów karty a co za tym idzie zrobienie kopii, która odpowiada terminalowi taką samą zawartością jak oryginalna karta, co w przypadku operacji offline’owych wiemy do czego może prowadzić.

W przypadku bardziej zaawansowanych kart, komunikacja nie sprowadza się tylko do prezentacji obrazu pamięci karty, ale ma miejsce podobnie jak w karcie SmartCard/Sim komunikacja z aplikacjami karty w standardzie ISO/IEC 1444-3 – ISO/IEC 7816-4. Przykładowe aplikacje to: PSE – Payment System Enviroment, PPSE – Proximity Payment System Enviroment.

Wykorzystanie rozszerzonych aplikacji leży jednak w gestii terminali dostępowych, a z tym może być różnie. Biorąc pod uwagę, że Polska jest teraz poligonem płatności zbliżeniowych nie zakładałbym, że obecnie stosowane terminale korzystają z w pełni bezpiecznych rozwiązań.

Dziękuję przy okazji anonimowej osobie, która przysłała mi na skrzynkę bardzo ważny materiał związany z bezpieczeństwem w zagranicznych instytucjach RP. Napiszemy o tym w poniedziałek po południu, jak tylko uzyskam odpowiedź odpowiedniego Rzecznika Prasowego.

Tagi: , , , , , , ,