Budapesti Műszaki és Gazdaságtudományi Egyetem Villamosmérnöki és Informatikai Kar Automatizálási és Alkalmazott Informatikai Tanszék
BERKE DÁVID
ATTACKS ON CHIP BASED BANKING CARDS Mérnökinformatika Msc - Hírközlő rendszerek biztonsága szakirány - A biztonságos e-kereskedelem alapjai (házifeladat kiselőadás kivonat)
2014.11.24
Tartalomjegyzék 1 Bankkártyák, chipkártyák bevezető .......................................................................... 3 1.1 Kronológia .............................................................................................................. 3 1.2 Bankkártya típusok ................................................................................................. 4 1.3 Bankkártyás fizetés ................................................................................................. 5 1.4 Főbb biztonsági követelmények ............................................................................. 5 2 CBBC elleni támadások, protokollok, megoldások .................................................. 6 2.1 Támadási statisztikák .............................................................................................. 6 2.2 Attack on EMV protocol......................................................................................... 7 2.2.1 EMV protokoll működése ................................................................................ 7 2.2.2 MITM attack on Cardholder verification......................................................... 9 2.2.3 Pre-play attack: weak RNG ........................................................................... 10 2.2.4 Pre-play attack: UN manipuláció ................................................................... 11 2.2.5 Pre-play elleni védelem ................................................................................. 13 2.3 System-level failures of tamper proofing ............................................................. 13 2.3.1 Anti-tampering mechanism............................................................................ 13 2.3.2 Signal eavesdropping attack .......................................................................... 14 2.3.3 Shim-in-the middle attack .............................................................................. 15 2.3.4 Védelmi megoldások ..................................................................................... 16 Irodalomjegyzék............................................................................................................ 18
1 Bankkártyák, chipkártyák bevezető [1] [2] 1.1 Kronológia
1900-as évek eleje: Olajtársaságok adtak ki saját kártyát üzletfeleiknek
1950-től: Műanyag kártyák (Diners Club)
1966: Első banki alkalmazás: Bank of America Visa
1970-től: Mágneskártyák o kezdetben csak olvasható felület o később író felület: tárolás kb. 50-100bit/inch o könnyű lemásolni, klónozni
1979-től: chipkártyák o memóriakártyák o mikroprocesszoros chipkártyák // pl. diákigazolvány o programozhatók: Smart Card
Jelen: o 2003-től: PayPass [3]
plusz funkció: PIN megadás nélküli gyors fizetés (kényelmi szempont), de csak limitált összegig (5000 HUF)
karórába tehető chip
RFID továbbfejlesztés: NFC1 (cm-es hatótáv)
o 2007-től: PayPal
Cloud
alapú
pénzforgalmi
szolgáltatás
speciálisan
kereskedelemre
belső számlával
o 2011: Google Wallet
„Virtuális pénztárca”, több számla együttes kezelésével
Smart Phone-nal történő fizetés PayPass terminálon keresztül
1
NFC: Near Field Communication
Android OS 4.4 vagy újabb
e-
Jövőképek: o Kényelmi szempontok tovább javulása
Smart Watch
o Biztonság növelése
testen belüli chipek
1.2 Bankkártya típusok [2]
Pénzhasználat o Betéti (debit): csak fedezet esetén használható o Hitel (credit): nem szükséges fedezet o Terhelési (charge): a felhasznált összeget havonta kell visszafizetni
Lokalitás o Konvertibilis: nemzetközi használatra alkalmas o Belföldi: csak az adott országon belül
Funkcionalitás o ATM kártyák: CSAK készpénzfelvételre alkalmas o Elektronikus kártyák: KP felvétel + korlátlan POS2 terminál fizetés o Dombornyomású kártyák: KP felvétel + limitösszegű POS
2
POS: Point of Sale-Terminals
4
1.3 Bankkártyás fizetés
1. ábra - Bankkártyás fizetés (forrás: http://www.hit.bme.hu/~buttyan/courses/BMEVIHIM219/index.html)
1.4 Főbb biztonsági követelmények
Authentication: fizető fél hitelesítése
Authorisation: a tranzakció engedélyezése
Data confidentiality, authenticity
Availability: a nap bármely időszakában
Reliability: megfelelő megbízhatósága
Atomicity: a tranzakciók megszakadásának lekezelése
Privacy: anonymity, untraceability
// adat hitelesítés és titkosítás
komponensek
5
// elérhetőség pl.
ATM
védelme
//
rendszer
2 CBBC3 elleni támadások, protokollok, megoldások [4] [5] [7] 2.1 Támadási statisztikák [5] Különböző visszaélési módokról beszélhetünk:
2. ábra - Bankkártyás visszaélések (UK) 2004-2013
Látható, hogy az EMV bevezetését követően hogyan alakul az egyes visszaélési variációk száma, aránya. [6] Card-not-present: elég csak a kártya számát, azonosítóját megadni, PIN-t nem, pl. online vásárlások, jegyrendelés stb. Counterfeit: kártyahamisítás, másolás, klónozás legyen szó mágneskártyáról vagy chipkártyáról Lost and stolen: a kártya fizikailag történő elválasztása a tulajdonosától Mail non-receipt: új vagy cserélt kártya rossz kezekbe kerül, még mielőtt megkapná az ügyfél Cheque fraud: csekkhamisítás (idehaza kevésbé elterjedt) ID theft: személyes információk megszerzése és a velük való visszaélés. pl. másik fél megszemélyesítése, személyes adatok átírása (pl. bankkártya postázási cím) Online banking: internetes vásárlás Phone banking: pl. telefon ellopása esetén Google Wallet
3
CBBC: Chip Based Banking Cards
6
2.2 Attack on EMV protocol [5] [7] Az EMV4 protokollt „Chip and PIN” ként is szokták emlegetni. Az 1990-es évek közepén fejlesztették ki. Jelenleg ez a legelterjedtebb debit és credit kártyás fizetések esetén (több mint 1,6 milliárd kártya van használatban). Az EMV titkosítja a tranzakcióban küldött üzenetek egy részét, szimmetrikus kulcs alapján számol MAC-et. A chipek és a terminálok tamper-resistrance-szel vannak ellátva, ezáltal védik a saját titkos kulcsukat. Ezen kívül a felhasználó a PIN segítségével végez azonosítást, csökkentve ezzel a kártyalopás esetén történő kártyahasználat sikerességét.
2.2.1 EMV protokoll működése Minden tranzakcióhoz egy-egy nonce érték kerül felhasználásra, melyek az üzenetek visszafejthetetlenségét és frissességét hivatottak biztosítani. Az ATM-ek által generált random nonce értékek gyakran túl gyengék (értékük számlálón, aktuális időn alapszik). Egy EMV protokollon keresztül küldött tranzakció lebonyolítása 3 lépésből áll [7] 1) kártya azonosítás: ATM vagy a POS végzi el a kártya olvasásakor (kártya típusa, érvényessége, kiállító bank azonosítása), a kártya RSA aláírást ad 2) ügyfél azonosítás 2) ügyfél azonosítás: PIN vagy digitális aláírás tranzakció indítása 3) tranzakció engedélyezés: a bank dönti el, hogy az adott tranzakció lefolytatható-e vagy sem, pl. KP felvételi limit, számlaegyenleg alapján
4
EMV: Europay, MasterCard and Visa esetén használt szabvány. Egy chip és a hozzátartóz PIN
hitelesítési eljárás együttes technológiát szokták érteni alatta.
7
3. ábra - Az EMV protokoll működése ATM-en keresztül folytatott tranzakció esetén [7]
Szereplők: issure (bank), terminal (POS, ATM), card. Card auth.: az ATM lekéri a kártyától a szükségek információkat, melyek egy részét RSA digitális aláírással lát el: Sig(signed records). A többi megy aláírás nélkül. Érdemes észrevenni, hogy minden információ titkosítatlanul kerül elküldésre. Cradholder ver.: a PIN megadása a terminálon keresztül történik, az azonosítást (PIN érték helyességét) a card végzi. A kártyahasználat engedélyezése viszont a terminal feladata, aki a PIN OK verifikációs üzenet esetén ezt meg is teszi. Transaction auth: A folyamat: az ügyfél a terminálon keresztül beállítja az általa kívánt tranzakciót (üzletben való fizetés, ATM KP felvétel). A terminál a tranzakció paramétereit és egy általa generált nonce értéket elküld a kártyának (T). // terminal card A kártya a kapott adatokból generál egy tranzakciós üzenetet (ARQC), ami tartalmazza a T lenyomatát, egy visszajátszás ellen védő 16 bites értéket (ATC) és kártyainformációkat a banknak (IAD). A teljes üzenetet a kártya továbbítja a terminálnak. // terminal card A terminál ellenőrzi, hogy a kártya megfelelő ARQC tranzakciós üzenetet állított-e elő (pl. jól lett felhasználva az általa küldött nonce érték: nem egy másik nonce értékű üzenet lett visszajátszva). Ha rendben, akkor a kártya üzenetét (ARQC), az ügyfél által beállított tranzakciós paramétereket (T) és ami az ábráról kimaradt: a kártya PIN-jét titkosítva elküldi a banknak. // issuer bank 8
A bank leellenőrzi a kapott paraméterek a kártyáról és a tranzakcióról is, utóbbit pedig engedélyezi vagy elutasítja (pl. kártyalimiten felüli KP felvétel, számlám lévő összegnél nagyobb értékű tranzakció, nem megszokott kártyatevékenységű tranzakció stb.). A válasz az ARPC titkosított üzenetben megy a terminálnak. // issuer terminal card A kártya a neki szánt ARPC üzenetet tudja csak dekódolni, a benne lévő üzenetelemeket felhasználni. Ezekből az elemekből készít egy ellenőrző üzenetet, jelezve, hogy a bank által küldött üzenetet fel tudja használni (TC). // issuer terminal crad A fontosabb üzenetek:
ARQC: Application ReQuest Cryptogram: engedélyezés kérdésére szolgáló kriptogram ATC: Application Transaction Counter (16 bit): folyamatosan nő, visszajátszás ellen véd IAD: Issuer Application Data: issuernek szánt adatok a kártyáról ARC: Authorization Response Code ARPC: Authorization ResPonse Cryptogram TC: Transaction Certificate
2.2.2 MITM attack on Cardholder verification [7] A PIN megadás során a terminal és card közötti üzentek nincsenek titkosítva.
4. ábra - Man-in-the-Middle támadás PIN hitelesítés esetén
Látható, hogy a PIN VERIFY üzenet beállításával a PIN ismerete nélkül is engedélyezhetünk kártyát, vagy épp helyes PIN megadást követően elutasíthatjuk azt.
9
2.2.3 Pre-play attack: weak RNG [5] Broblémák:
kriptográfiailag gyenge nonce (UN) értékek használata az ATM-nél
ATM számlálójának újraindulása minden nap azonos időben
kezdetleges ATM hitelesítés: csak az un. Country Code alapján
Támadás leírása: legyen adott egy kis üzletben egy POS terminál, melyet a támadó szabadon manipulálhat. A támadás célja, hogy a POS terminált használó kártya információit felhasználva képesek legyünk egy teljesen idegen ATM-en keresztül tranzakciót lefolytatni (aminek még csak a közelébe sem ment a célpont kártya). Step 1. A sérülékeny ATM-ek megkeresése: Log fájlok vizsgálata, ATM-ek aktív szkennelése, reverse engineering (részletesen lásd [5] pp. 5-7) RNG vizsgálata: a gyenge RNG-k 3 fajtája: o
Egyértelműen gyenge RNG algoritmusok: counters, órák
o
RNG kicsi seed értékkel: hamar körbefordul
o
RNG, ami átvihető „predictable” állapotba: pl. seed manipulálás, ha az függ az előző tranzakciótól
// olyan ATM-t keresünk, amely gyenge UN értéket generál, a számlálójának újraindításának időpontja meghatározható. Step 2. Adatgyűjtés: a támadó által manipulált POS terminált arra kényszeríti, hogy a támadandó kártyának 1-nél több tranzakciós üzenetet (ARQC) kelljen előállítania. Különböző UN értékhez generáltat ARQC üzeneteket, melyeket listában eltárol. Step 3. Készpénzfelvétel: gyenge ATM támadható úgy, hogy megfelelő időpontban a megfelelő UN értékhez tartozó ARQC üzenetet kell elküldeni
neki.
Az
időpontot
szinkronizációs
eljárással
lehet
meghatározni, amire egy Smart Card már képes lehet. Az ATM UN értékét csak bizonyos valószínűséggel lehet csak meghatározni, ezért kell viszonylag sok ARQC üzenet. 216 db már elegendő, hogy nagy valószínűséggel legyen jó ARQC üzenetünk.
10
5. ábra - Pre-play attack via gyenge RNG
2.2.4 Pre-play attack: UN manipuláció [5] Nézzünk pár további támadást, melyek közül az UN manipulációt tárgyaljuk részletesebben. Malware infection: számos malware fertőzött ATM működik Nyugat-Európában – ami elsősorban a nem megfelelő ATM tervezés és építés miatt lehetséges – melyek az UN nonce-ok módosítására is lehetőséget adnak. Collusive merchant: a kereskedő / üzletvezető tudtával történik a támadás. Ez esetben szabadon módosíthatják az EMV protokollt úgy, hogy az sebezhető legyen, vagy az autentikációs rendszernek visszajátszhatnak régebbi kártya adatokat. Lopott vagy klónozott kártyák használata is fennáll. // a weak RNG-s támadás során a POS terminált így módosítottuk 11
UN modification in the network: MITM egység a POS és a bank között. Nagy-tételű tranzakciók esetén használatos (ékszerek, beruházások), ahol eleve számítanak célzott támadásra. Egy ilyen pre-play támadás sokkal nehezebben detektálható, mint az olyan fajták, amelyek a rossz hitelesítési üzenetekből próbálnak megfelelőt fabrikálni. Ennél a támadásnál nincs szükség az ATM, POS előzetes feltérképezésére, a támadó egyszerűen csak választ egy tetszőlege UN értéket, megfigyeli egy ehhez tartozó tranzakciót, ami során megszerzi a célpont kártyájának adatait és ARQC üzenetet (Step 1).
6. ábra - Pre-play attack via UN manipulation
A támadó megszerzi egy adott nonce (UN)-hoz tartozó érvényes üzeneteket, majd a terminál és a bank közé állva átírja a célpont tranzakció nonce értékét (UN1), ami következtében akár többször is végrehatathatja a szóban forgó tranzakciót (Step 2). Ennek az
12
eljárásnak az oka, hogy az EMV protokoll a tranzakciók sorrendhelyességét követeli csak meg, az üzenetek frissességét nem.
2.2.5 Pre-play elleni védelem Pre-play korlátai:
a támadandó országot előre meg kell választani (Country Code ATM hitelesítés)
a támadások pontos idejét előre ki kell számolni (az adott nonce mikor lesz újra érvényes)
a tranzakció összegét is pontosan meg kell választani (pl. kártya limit feletti összeget nem lehet érvényesíteni)
a PIN kódot minden esetben meg kell adni (meg kell szerezni), vagy MITM a kártya és az ATM közé
az ATC számláló ciklusának nagyságától függ az un. támadási ablak
Védelmi módszerek:
Védelem a RN támadásokkal szemben
Védelem a protokoll támadásaival szemben
2.3 System-level failures of tamper proofing [4] 2.3.1 Anti-tampering mechanism Az Ingenico PED5 eszközök olyan burkolattal vannak ellátva, összecsavarozva, melyek a hagyományos kinyitást, felnyitást könnyen detektálni tudják. Ilyen esemény esetén garantáltan sérül a burkolat alatt lévő felügyelő áramkör (supervisory circuit). Sűrű szenzorhálózat elhelyezése esetén a drilling (fúrás) alapú támadás is detektálható (1mm-es távolságú szenzorelhelyezés). Egy, a billentyűzet eltávolítását jelzőrendszer is be van építve. Létezik ultrahanggal működő behatolásjelző rendszer is (Dione), de ez a drilling ellen nem tud védeni, csak a hagyományos szétszerelés ellen. A leütött billentyű értékének detektálása viszont nehezebb ultrahangos védelemmel ellátott egységek esetén.
5
PED: PIN Entry Devices (pl. ATM, POS)
13
Mindkét rendszer feladata, hogy a tárolt kriptográfiai kulcsok megfelelően védve legyenek, de a PED smartcard interfészének adatsora így is védelem nélkül van, hiszen az ezen keresztül folytatott adatcsere nincs titkosítva. A támadók célja ezek után, hogy ezt, a titkosítatlan csatornát hallgassák le.
2.3.2 Signal eavesdropping attack A támadást egy Ingenico eszközön szimulálták, melynek alapötlete, hogy az egység hátsó része - a felhasználók számára hozzáférhető rész - nincs behatolás védelemmel ellátva. Ezen keresztül ugyan sok mindenhez hozzá lehet férni az eszközön belül, de a titkosítás nélküli adatsort így is 1 mm-es behatolást érzékelő védelemmel látták el. Ez az 1 mm kevésnek bizonyul, ugyanis egy egyszerű gémkapocs 0,8 mm-es átmérőjével gond nélkül „drillingelhető” (lásd 7. ábra). Ehhez kell egy tű és egy megfelelő kábel, ami a megtámadott eszköz jelforgalmát küldi egy FPGA-nak, ami értelmezi azt, és tetszőleges laptopra továbbítja (lásd 8. ábra). Látható tehát, hogy ez a módszer olcsón és gyorsan (pár perc alatt) kivitelezhető. A problémája az, hogy ez a beavatkozás egy külső megfigyelő számára látható lesz. A módszert kicsit módosíthatjuk annyiban, hogy az eszköz hátoldalán lévő panellap alá egy kisebb mérető nem-felejtő memóriával rendelkező eszközt rejtünk, így az adatok kinyerése egy külső szemlélő elől rejtve marad.
7. ábra - Signal eavesdropping attack I. (drilling)
14
8. ábra - Signal eavesdropping attack I. (attacking system)
Ez az utóbbi módszer még mindig elég kockázatosnak bizonyul, ugyanis a támadás kivitelezhetetlen az üzletben dolgozók / üzletvezető tudta nélkül. A módszer számukra kockázatos, hiszen nem tagadhatják le, hogy tudtak a lehallgató eszközről.
2.3.3 Shim6-in-the middle attack A támadás lényege, hogy a kártyát helyezendő résbe (card slot) helyezünk egy vékony áramköri egységet (Shim). Ez a SITM: „Shim in the Middle”, amikor a támadó egység a kártya és az olvasó rész között helyezkedik el, azaz a card és POS közti kommunikáció rajta keresztül megy végbe. Ez a fajta támadás nehezen lenyomozható, mivel az összes behatolásjelző eljárást kikerüli, és az alkalmazottak tudta nélkül is végrehajtható. Amire felmerül az esetleges támadás ténye, addigra a legtöbb shim eszközt eltávolítják. A legnagyobb probléma épp ez, mivel ha fény derül egy ilyen eszköz használatára, a tulajdonos / dolgozók könnyedén tagadhatnak, hiszen a támadó eszközt akár egy vásárló is elhelyezhette…
6
Shim: alátét, alátétlemez
15
9. ábra - Shim-in-the-Middle
2.3.4 Védelmi megoldások Léteznek a vizsgált eszközöknél erősebb védelemmel rendelkezők, vagy alternatív megoldások pl. átlátszó card slot, de támadások zöme kiküszöbölhető, az EMV protokoll javításával. Lássunk pár konkrét védelmi megoldást:
Titkosított PIN: probléma volt, hogy a PIN nyíltan kerül átvitelre kártya és a terminál között, ezt a problémát küszöböli ki az eljárás. Meg kell gondolni, hogy a titkosítás milyen kulcsokkal működjön szimmetrikus / aszimmetrikus, a kulcsgenerálás kinek a feladata stb. Kérdésként merül fel, hogy milyen támadási felületet hagynak azok a további paraméterek, melyek még titkosított PIN esetén is nyíltan kerülnek átvitelre (ATC, IAD, PIN VERIFY üzenet).
iCVV: Visa ajánlás arra, hogy a mágnescsíkon tárolt kriptográfiai ellenőrzőösszeg helyett lássuk el a kártyát egy saját tanúsítvánnyal (iCVV). Ez esetben hiába szerezzük meg a megfelelő PIN, nonce és egyéb paramétereket, a kártya fizikai jelenléte nélkül nem lehet tranzakciót lefolytatni.
Megbízható felhasználói interfész: az előző két módszer együttes alkalmazása esetén is lehetséges támadás: relay attack, amikor egy korrupt terminál továbbítja a tranzakció adatait egy másik, a támadó által kézben tartott kártyára. Többfajta módon is kivédhető ez a támadás, ezek közül az egyik az „megbízható felhasználói felület” módszer.
16
o Az alapötlet, hogy adjunk a felhasználóknak egy zsebszámológép méretű kártyaolvasót, billentyűzettel ellátva. Az ügyfél ezzel tudja hitelesíteni a kártyáját a CAP7 protokoll használatával. o A hitelesítés során a felhasználó megadja a PIN kódját, a tranzakció értékét (pl. átutalási összeg) és a kedvezményezett felhasználói azonosítóját (pl. számlaszám). o Ezek alapján a kártyaolvasó kiszámol egy kódot, amit megjelenít a képernyőjén. Ezt a kódot kell online megadni a tranzakció érvényesítéséhez. o Előnyök:
erős védelem a PIN-re és tranzakcióra
relay támadás nem lehetséges
otthoni tranzakció indításra is alkalmas
o Hátrányok:
elég statikus a működések, mobil környezetben kevésbé kényelmes használni
Real-time tranzakció értesítés: detektáló és nem megelőző módszer. Az eljárás lényege, hogy bizonyos kártya és/vagy számlatevékenység esetén valós időben értesítést kap az ügyfél a tranzakció pontos idejéről, helyéről, összegéről, stb. Az értesítés tipikusan az SMS üzenet formájában érkezik, egy az ügyfél által előre
megadott
mobil
telefonszámra
(MSISDN).
A
szolgáltatás
információközlés funkcióján kívül lopás vagy csalás detektáló szerepet is betölt (lásd előadás: Esettanulmány).
Kérdések:
[email protected]
7
CAP: Chip Authentication Protocol
17
Irodalomjegyzék [1]
Bankkártyák fejlődése URL: http://www.creditcards.com/credit-card-news/credit-cards-history-1264.php (2014.11.18)
[2]
Bankkártya fejlődés, E-BUSINESS Digitális Pénzügyek II., előadásfólia URL: http://www.google.hu/url?sa=t&rct=j&q=&esrc=s&source=web&cd=3&ved=0CD0QFj AC&url=http%3A%2F%2Fwww.iit.unimiskolc.hu%2F~pance%2Feloadas2.ppt&ei=dD1rVIDJD4eiyAOw2ILoCA&usg=AFQj CNG6bUFf0dyzDYA-Z6tnjayq4zwqUA&sig2=Pdzb_aUDk0uFKHK9707Dg&bvm=bv.79908130,d.bGQ (2014.11.18)
[3]
PayPass és felhasználhatósága, Mastercard hivatalos oldala URL: http://www.mastercard.com/hu/personal/hu/paypass/ (2014.11.18)
[4]
S. Drimer, S. J. Murdoch, R. Anderson, University of Cambridge, Thinking inside the box: system.level failures of tamper proofing, 2008, ISSN 1476-2986 URL: http://www.cl.cam.ac.uk/techreports/ (2014.11.19)
[5]
M. Bond, O. Choudary, S. J. Murdoch, S. Skorobogatov, R. Anderson, Cumputer Laboratory, University os Cambridge, UK, Chip and Skim: cloning EMV cards with the pre-play attack, 2014 URL: http://www.cl.cam.ac.uk/~sjm217/papers/oakland14chipandskim.pdf (2014.11.18)
[6]
Bankkártya és banki tranzakciós visszaélések URL: http://www.financialfraudaction.org.uk/ (2014.11.18)
[7]
S. Drimer, S. J. Murdoch, R. Anderson, M. Bond; University of Cambridge, Chip and PIN is Broken, IEEE Symposium on Security and Privacy, , 2010 URL: http://www.cl.cam.ac.uk/~sjm217/papers/oakland10chipbroken.pdf (2014.11.19)
18