attacks on chip based banking cards - bme-hitbuttyan/courses/bmevihim219/2014/hw-aocbbc-… · a...
TRANSCRIPT
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 e-
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
Android OS 4.4 vagy újabb
1 NFC: Near Field Communication
4
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
5
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 // adat hitelesítés és titkosítás
Availability: a nap bármely időszakában // elérhetőség
Reliability: megfelelő komponensek pl. ATM védelme // rendszer
megbízhatósága
Atomicity: a tranzakciók megszakadásának lekezelése
Privacy: anonymity, untraceability
6
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
7
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.
8
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
9
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.
10
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.
11
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
12
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
13
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)
14
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)
15
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
16
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.
17
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
18
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.uni-
miskolc.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)