Zhrnutie
Bezkontaktné platobné karty VISA (payWave), či Mastercard (PayPass) patria na Slovensku medzi najpopulárnejšie – preferuje ich viac ako polovica ľudí (56%).
V apríli 2012 bola na konferencii Hackito Ergo Sum v Paríži publikovaná prezentácia Hacking the NFC credit cards for fun and profit, kde bolo prvýkrát popísané, že je technicky možné plne anonymne a bez autentifikácie získať na diaľku veľké množstvo citlivých informácií a následne zneužiť. Medzi takéto informácie patrí napríklad zoznam všetkých realizovaných platobných transakcií (platby v POS termináloch, výbery z bankomatov).
Kedže ide o takmer 3 roky staré informácie, rozhodli sme sa realizovať bezpečnostnú analýzu platobných NFC kariet v Slovenskom prostredí s cieľom zistiť, či vydavatelia kariet tieto odhalenia reflektovali a začali už vydávať dostatočne bezpečné platobné NFC karty. Výsledok našej analýzy je alarmujúci – väčšina platobných NFC kariet na Slovensku ukladá stále množstvo citlivých informácií.
Tieto citlivé informácie je možné načítať ľubovoľným predajcom, ktorý disponuje NFC POS terminálom alebo bankou, ktorej bankomaty dokážu čítať bezkontaktné NFC karty, prípadne náhodným útočníkom, ktorý získa fyzický prístup k zraniteľnej platobnej NFC karte. Následne je možné uvedené informácie zneužiť na získanie nakupovacieho profilu vlastníka karty, identifikáciu krajín (na základe použitej meny), ktoré vlastník karty navštívil a kde danú kartu používal, odhadnutie jeho solventnosti a na základe toho napríklad cielený marketing. Podobne je možné kartu po načítaní fyzicky zablokovať (zaslanie 3x chybného PIN kódu).
Použité nástroje
NFC údaje uložené na samotnej bezkontaktnej platobnej karte idú načítať ľubovoľnou NFC čítačkou podporujúcou protokol ISO14443a pracujúcou na frekvencii 13.56 Mhz. V našom prípade sme použili štandardné smartfóny a tablety s podporou NFC a špecializované NFC čítačky touchatag. Ako aplikáciu sme použili Banking card reader NFC (EMV) dostupnú priamo z Google Play. Uvedená aplikácia nedokázala niektoré informácie (ako vlastníka karty) načítať. Tie bolo možné načítať napríklad aplikáciou NFC millionare, demonštračné video k dispozícii tu, kedy je to možné realizovať skutočne nenápadne.
Maximálna vzdialenosť
Čítanie kariet bolo realizované bez externej NFC antény zo vzdialenosti do 4 centimetrov. NFC štandard umožňuje túto vzdialenosť navýšiť až do vzdialenosti 20 centimetrov.
Podľa prezentácie “Hacking the NFC credit cards for fun and debit” (slajd 21) je možné pomocou externej antény dosah čítania zosilňovačom (za 2000 EUR) a anténou (za 1000 EUR) zvýšiť až do vzdialenosti 1.5 metra. Prípadne pasívnym sniffovaním až do vzdialenosti 15 metrov použitím rádio prijímača (napríklad USRP) so štandardnou teleskopickou anténou.
Video ako je možné NFC platobné karty elegantne a jednoducho načítať.
Zneužitie platobných kariet
Množstvo NFC EMV platobných kariet obsahuje citlivé informácie, ktoré na správnu funkcionalitu platobnej karty nie sú potrebné, ako meno vlastníka karty či jeho vykonanú transakčnú históriu.
Analýzou dostupných slovenských NFC EMV kariet sme odhalili, že bolo možné plne anonymne, bez autentifikácie pre množstvo testovaných kariet a behom len pár sekúnd načítať celú transakčnú históriu.
Tiež bolo možné z NFC čipu prečítať číslo karty a dátum expirácie (bez CVC kódu), ktoré je tiež vytlačené na samotnej karte, ako aj počet zostávajúcich pokusov PIN. Pomocou aplikácie NFC millionare bolo možné načítať vlastníka karty.
Informácia ako CVC/CVV kód nie je na karte uložená a nemala by sa ukladať.
Banka | Typ karty | Uložená transakčná história? | Číslo karty a dátum expirácie | Uložená informácia o zostávajúcich PIN pokusoch | Dátum expirácie |
SLSP | Visa Electron | Áno | Áno | Áno | 06/16 |
SLSP | Visa Electron | Nie | Áno | Áno | 10/17 |
SLSP | Visa Classic | Nie | Áno | Áno | 11/17 |
SLSP | Visa Electron | Áno | Áno | Áno | 09/15 |
SLSP | Visa Electron | Áno | Áno | Áno | 01/17 |
SLSP | MasterCard Maestro | Áno | Áno | Áno | 10/16 |
SLSP | Visa Electron | Áno | Áno | Áno | 08/17 |
SLSP | Visa Electron | Nie | Áno | Áno | 09/17 |
SLSP | Visa Electron | Áno | Áno | Áno | 07/15 |
SLSP | Visa Classic | Áno | Áno | Áno | 06/17 |
SLSP | Visa Classic | Nie | Áno | Áno | 06/15 |
SLSP | Visa Electron | Áno | Áno | Áno | 06/15 |
SLSP | MasterCard Maestro | Áno | Áno | Áno | 02/16 |
SLSP | MasterCard Debit | Áno | Áno | Áno | 07/15 |
mBank | Visa Classic | Áno | Áno | Áno | 04/17 |
mBank | Visa Classic | Áno | Áno | Áno | 01/17 |
mBank | Visa Classic | Áno | Áno | Áno | 12/15 |
mBank | Visa Classic | Áno | Áno | Áno | 01/18 |
mBank | Visa Classic | Áno | Áno | Áno | 09/17 |
Zuno | Visa Classic | Áno | Áno | Áno | 07/17 |
Zuno | Visa Classic | Áno | Áno | Áno | 02/18 |
Zuno | Visa Classic | Áno | Áno | Áno | 09/16 |
Zuno | Visa Classic | Nie | Áno | Áno | 07/17 |
Zuno | Mastercard | Áno | Áno | Áno | 02/17 |
Zuno | Visa Classic | Nie | Áno | Áno | 02/17 |
Zuno | MasterCard | Áno | Áno | Áno | 03/17 |
Zuno | Visa Classic | Nie | Áno | Áno | 10/17 |
VÚB | Visa Classic | Nie | Áno | Áno | 02/18 |
VÚB | Visa Classic | Nie | Áno | Áno | 08/15 |
VÚB | Visa Electron | Nie | Áno | Áno | 08/15 |
VÚB | Visa Classic | Nie | Áno | Áno | 12/16 |
VÚB | Visa Classic | Nie | Áno | Áno | 06/15 |
VÚB | Visa Classic | Nie | Áno | Áno | 01/17 |
Tatra banka | Visa Classic | Nie | Áno | Áno | 06/15 |
Tatra banka | Visa Electron | Nie | Áno | Áno | 11/15 |
Tatra banka | Visa Electron | Nie | Áno | Áno | 01/16 |
Tatra banka | Visa Electron | Nie | Áno | Áno | 03/16 |
Tatra banka | Visa Electron | Áno | Áno | Áno | 02/17 |
Tatra banka | Visa Electron | Áno | Áno | Áno | 09/16 |
Tatra banka | Visa Electron | Nie | Áno | Áno | 09/16 |
Tatra banka | Visa Classic | Áno | Áno | Áno | 07/17 |
Tatra banka | Visa Electron | Nie | Áno | Áno | 07/16 |
Tatra banka | Visa Electron | Nie | Áno | Áno | 06/17 |
Tatra banka | Visa Classic | Nie | Áno | Áno | 11/15 |
Tatra banka | Visa Electron | Áno | Áno | Áno | 02/17 |
Tatra banka | Visa Classic | Áno | Áno | Áno | 11/16 |
Tatra banka | Visa Electron | Nie | Áno | Áno | 07/15 |
Unicredit | MasterCard Maestro | Áno | Áno | Áno | XX/XX |
Unicredit | MasterCard Maestro | Áno | Áno | Áno | 05/17 |
Unicredit | MasterCard | Nie | Áno | Áno | 05/13 |
Sberbank | MasterCard Maestro | Áno | Áno | Áno | 07/18 |
ČSOB | Visa Classic | Nie | Áno | Áno | 02/18 |
ČSOB | Visa Classic | Nie | Áno | Áno | 05/17 |
ČSOB | Visa Electron | Nie | Áno | Áno | 07/15 |
ČSOB | Visa Classic | Nie | Áno | Áno | 11/17 |
ČSOB | MasterCard | Áno | Áno | Áno | 01/18 |
ČSOB | Visa Classic | Nie | Áno | Áno | 01/18 |
Banka | Typ karty | Uložená transakčná história? | Číslo karty a dátum expirácie | Uložená informácia o zostávajúcich PIN pokusoch | Dátum expirácie |
Raiffaisen | MasterCard | Áno | Áno | Áno | 04/17 |
Česká sporiteľna | Visa Classic | Nie | Áno | Áno | 01/16 |
Česka sporiteľna | Visa Classic | Nie | Áno | Áno | 10/16 |
Airbank | MasterCard | Áno | Áno | Áno | 06/17 |
Citi bank | MasterCard | Áno | Áno | Áno | 11/15 |
mBank | Visa | Áno | Áno | Áno | 04/16 |
Equa bank | Master Card | Nie | Áno | Áno | 09/13 |
Citi bank | Visa | Nie | Áno | Áno | 01/14 |
GE Money bank | Visa | Áno | Áno | Áno | 06/17 |
ČSOB | MasterCard | Nie | Áno | Áno | 01/17 |
Česká spořitelna | MasterCard | Nie | Áno | Áno | 09/16 |
mBank | Visa | Áno | Áno | Áno | 10/16 |
Česká spořitelna | Visa | Nie | Áno | Áno | 09/14 |
Citi bank | MasterCard | Nie | Áno | Áno | 06/14 |
Citi bank | MasterCard | Áno | Áno | Áno | 09/13 |
Unicredit bank | MasterCard | Nie | Áno | Áno | 04/13 |
ČSOB era | MasterCard | Áno | Áno | Áno | 07/19 |
Citi bank | MasterCard | Nie | Áno | Áno | 09/13 |
ČSOB era | MasterCard | Áno | Áno | Áno | 05/18 |
freedom Visa card | MasterCard | Nie | Áno | Áno | 07/13 |
mBank | Visa Classic | Áno | Áno | Áno | 11/16 |
Množstvo analyzovaných testovaných vzoriek platobných kariet v súčasnej dobe bohužiaľ ešte nie je dostačujúce na to, aby sme mohli vytvoriť jednoznačný záver, v každom prípade sme identifikovali, že:
- pri SLSP kartách bolo možné načítať zoznam vykonaných transakcií len pre staršie karty, ktoré majú expiráciu 09/15, 06/16, 10/16, 01/17, 08/17. Pre novšie SLSP karty s dátumami expirácie 09/17, 10/17 a 11/17 to nebolo možné a vyzerá, že nové platobné NFC karty s dátumom expirácie od 09/17 už túto informáciu už neukladajú
- v prípade menších baniek (mBank, Zuno, Unicredit, Sberbank) – podarilo sa nám získať zoznam vykonaných transakcií z každej testovanej karty a to aj z kariet, ktoré expirujú 07/18 (Sberbank). Na zistenie, či aj úplne posledné vydané karty ukladajú informácie o vykonaných transakciách, je potrebné analyzovať NFC platobné karty vydané v poslednom mesiaci.
- čo sa týka VÚB a ČSOB kariet, tak sa nám nepodarilo zo žiadnej testovanej karty načítať zoznam vykonaných transakcií
- s Tatra bankou je situácia trochu zvláštna, lebo zo starších kariet (expirujúcich 06/15 až 03/16) sa nám transakčná história nepodarila získať. Z VISA Electron karty s dátumom expirácie 02/17 sa nám uvedená informácia ale získať podarila.
V prípade, že bolo možné načítať z danej karty transakčnú históriu, tak pre každú transakciu boli dostupné nasledujúce informácie:
- typ transakcie (platba kartou, výber z bankomatu apod)
- dátum transakcie
- celková suma a použitá mena
Na základe meny krajiny, kde bola transakcia vykonaná, je možné vytvoriť geografický profil vlastníka karty teda v akých časoch, a ktoré krajiny navštívil.
Na základe periodicity a objemu samotných platieb je možné vytvoriť nakupovací profil vlastníka karty ako aj odhadnúť jeho solventnosť, teda napríklad koľko priemerne míňa peňazí za daný časový interval.
Uvedené informácie, ktoré dokáže získať ľubovoľný vlastník POS terminálu (predajca) ako aj anonymný útočník vo fyzickej blízkosti vlastníka karty, je možné zneužiť napríklad na cielený marketing alebo na získanie informácií o pohybe daného človeka v čase.
Veľa e-commerce stránok pri platbe nevyžaduje CVC/CVV kód, ale na platbu postačujú len 3 základne informácie (vlastník karty, číslo karty a dátum expirácie), ktoré z NFC čipu idú obvykle bez problémov načítať. Čím sa riziko zneužitia zvyšuje.
Podobne je možné realizovat DoS útok a kartu na diaľku zablokovať (po zaslaní 3 chybných PIN kódov).
Ako sa chrániť?
V prvom rade si overte použitím ľubovoľného Android zariadenia s podporou NFC aplikáciou Banking card reader, aké informácie je možné načítať z Vašej platobnej karty. V prípade, že ide o informácie citlivejšieho charakteru (transakčná história, prípadne vaše meno a priezvisko), kontaktujte Vašu banku a požiadajte ju o vydanie novej bezpečnejšej karty.
Pokým vaša banka bezpečnejšími NFC platobnými kartami nedisponuje a napriek tomu vyžadujete bezkontaktné platby, je dobré zvážiť alternatívu inej banky, ktorá disponuje bezpečnejšími NFC kartami.
Proti náhodnym útočníkom je možné sa chrániť umiestnením svojej platobnej karty do tzv. RFID shieldu (faradayovej klietky, ktorá blokuje akékoľvek elektromagnetické vyžarovanie).
Zapojte sa do našej analýzy!
Stále nám chýbajú informácie z NFC platobných kariet z množstva iných slovenských baniek, podobne informácie z aktuálne vydávaných kariet a kariet MasterCard.
Radi uvítame Vašu pomoc a ponúkame Vám drobný darček za poskytnutie anonymizovaných informácií z Vašej NFC platobnej karty – náš firemný RFID shield (faradayovu klietku) za každú Vašu kartu, ktorej informácie (v rozsahu vyššie uvedenej tabuľky) nám poskytnete. V prípade záujmu, nás neváhajte kontaktovať na adrese <nfc@nethemba.com>.
Mediálny ohlas
Videoreportáž o bezpečnosti bezkontaktných platobných NFC kariet už aj na Markíze.
Detailnejší a vysvetľujúci článok na žive.sk (testy robila aj samotná redakcia).
Bezkontaktné karty odhalia vaše súkromie, stačí len mobil na SME (testy robila aj samotná redakcia).
Pohodlnosť môže mať vysokú cenu. Ako sa dajú zneužiť slovenské bezkontaktné karty (článok na aktuality.sk).