Az elmúlt napokban a magyar online médiát is bejárta a hír, hogy "feltörték" a chipkártyák PIN kódos védelmét. Természetesen néhány újságíró még mindig nem érti rendesen az idegen nyelveket, ezért megpróbálom nagy vonalakban összefoglalni, hogy miről van szó:
Amikor chip-es bankkártyával fizetünk egy három részre bontható protokoll játszódik le a kártya és az olvasó terminál között:
- Kártya autentikáció: A terminál ellenőrzi, hogy a kártya nincs-e megmachinálva
- Tulajdonos verifikáció: Normális esetben itt győzödik meg a terminál arról, hogy az általa bekért PIN kód megegyezik a kártyán tárolttal
- Tranzakció autorizáció: A kártya a terminál által szolgáltatott adatok alapján lérehoz egy kriptográfiai kódot, melynek segítségével a terminál meggyőződhet arról, hogy a kibocsátó bank valóban engedélyezte-e a tranzakciót.
A Cambridge Egyetem kutatói által demonstrált probléma közbeékelődéses támadást tesz lehetővé, azaz a terminál és a kártya az elvárásnak megfelelően működik, de a protokoll lehetőséget ad a tulajdonos verifikáció megkerülésére.
A támadó építhet egy olyan eszközt, amely egyik oldalán egy kártya, a másik oldalon egy terminál interfészt valósít meg, alapesetben pedig csak egyszerűen biztosítja a kommunikációt két legitim eszköz között, így az első és a harmadik - kriptográfiailag biztosított - fázis probléma nélkül lejátszódhat. A protokoll második fázisa nem csak PIN alapú verifikációt támogat, hanem aláírást használót és verifikáció nélküli módokat is. Ezekre pl. olyan esetekben lehet szükség, amikor a terminál nem ad lehetőséget PIN kód beírásra, vagy a tulajdonos nem képes a PIN kódos azonosításra (pl. látáskárosultak). A használt verifikációs eljárásban tehát a két hardvernek minden esetben meg kell egyezni.
A támadó által használ eszköz el tudja hitetni a terminállal, hogy PIN-kódos, a kártyával pedig hogy aláírásos verifikáció következik, utóbbi esetben a kártyának nincs beleszólása az eseményekbe, csak egy aláírás kerül rá egy papírfecnire. Sikeres PIN kódos azonosítás esetén a protokoll azt írja elő, hogy a kártya a 0x9000 kódot küldje vissza a terminálnak - itt nincs semmilyen hitelesítés, azaz a támadó eszköze adott pillanatban megszakíthatja a kommunikációt a valódi kártya és terminál között, megvárja míg beérkezik a PIN a terminálról, majd visszaküldi a 0x9000-t, és visszaállítja a kapcsolatot az eredeti kártyával, amely ezek után autorizálhatja a tranzakciót.
Fontos megjegyezni, hogy a probléma az ATM-es pénzfelvételt nem érinti, csak a bankkártyás vásárlásokat, előbbi esetben ugyanis a terminál közvetlenül a bankhoz fordul PIN egyeztetés miatt.
A támadásról éles demót készített a BBC, itt lehet megnézni. A felvételen látható, hogy a támadshoz szükséges eszköz már most elfér egy kisebb táskában, de mivel még csak prototípusról van szó, a jövőben várhatóan az egész ketyere egy távirányító méretű dobozkába lesz sűríthető.
A sebezhetőség több neves bank szerint is jelentős, és az egész iparágat érinti. Érdekes kérdés, hogy meg lehet-e oldani úgy a protokoll továbbfejlesztését, hogy ne kelljen az összes terminált és kártyát lecserélni. Még érdekesebb, hogy meg akarják-e majd oldani...
A teljes publikáció itt olvasható el.
|Z| 2010.02.13. 17:27:52
There was a closed design process, with no open external review of the architecture and its supporting protocols.
The core EMV protocols are now 707 pages long, there are further 2126 pagess of testing documentation... Security critical details are scattered throughout, and there is no one section which is sufficient to understand the protocol, overall threat model, or security policy. In fact, much detail is not specified at all, instead being left as an implementation decision by individual issuers.
A szép a sztoriban, hogy nagyon valószínű, miszerint a "kártyapiac" már használta ezt a támadást a publikáció előtt is...
Nem baj, úgyis a zemberekkel fizettetik meg ezeket a költségeket is, mint mindenhol....
Aron bacsi 2010.02.13. 22:05:26
Északi szél 2010.02.15. 08:33:28
Az aláírást pedig elég hanyagul ellenőrzik vagy egyáltalán nem. 2 okból, 1. mit tesz ha nem egyezik az aláírás, 2. nem lehet visszacsinálni.
Pedig ezek a kártyák elvileg minden vásárlásnál kérnek kódot. Azóta változott a terminál így arról nem tudok nyilatkozni. Viszont rengeteg más elfogadó helyen van még ilyen K&H terminál amin biztosan működik.
A legjobb, hogy a kezelő nem szerepel ebben történetben. Mindent a kártya "tulajdonos" intézz a PIN padon. A kezelő semmit nem fog észre venni csak azt hogy alá kell íratni papírt. Egyetlen vállrándítással fog tovább haladni az ügy.
THK 2010.02.16. 10:52:15
ez attól a banktól függ, aki telepítette a terminált.
Nem csak benzinkúton, hanem Magyarországon az ÖSSZES elfogadóhelyen vmiért tényleg úgy vannak beállítva ezek, h pl. az American Express hitelkártyákon ki is írják a kezelőnek, h "ne a chipet, hanem a mágnescsíkot használja" - és akkor PIN kódot sem kér...
Külföldön ugyanakkor (legyen az akár csak Horvátország) ugyanaz a kárya már használható a chipes részén, és persze kéri a kódot
itschykhatschy · http://www.itschykhatschy.com/ 2010.02.16. 13:10:18
És akkor nézzük a másik oldalát. A netes vásárlásoknál nem kell fizikailag ott lennie a kártyának. Mind a négy (már csak kettő) kártyám + digipassom adatait meg tudom jegyezni, egyedül a digipass kell, a direct banki belépéshez. De. MC fizetés neten (telefon, vásárlás, paypal, neteller, stb) nem kell kártya, csak a számocskák. Nem kell megkerülni az autentikációt, közbeékelődni. A számok emberei vagyunk. Gondolom mindannyian meg tudunk jegyezni egy 16 jegyű számot négyes tagolásban, egy négyjegyű lejáratot, valamint a CVV-t három számjegy erejéig. Mindezt 5 másodperc alatt. Vagy felírni, vagy valami. Én speciel nem hordom magammal az MC-met, mert minek. A kicsit is csak tankoláshoz, meg közértbe mert oda fizikálisan kell.
Z véleményét osztom abban, hogy mindezt a végpontok fizetik meg. Viszont minden kártya (hangsúlyozom minden kártya) le van biztosítva ilyen akciókra. És valóban, ameddig kevesebb kárt okoz a balhé, mint a fejlesztési költségek másfélszerese, addig nem fognak az ügyben lépni.
aspe: hehe, tényleg. viszont ne felejtsük el az egyolvasós, pad nélküli terminálokat. ráadásul irányelv, hogy fizikálisan meg kell fogni a kártyát a kezelőnek. az ügyfél nem helyezheti bele a terminálba a kártyáját. egyrészt, mert nem tudja hogyan kell, másrészt meg kell győződni róla, hogy nincs-e látható machináció.
THK: Nem mindenhol van chipes elfogadás. Németországban, Angliában, Franciaországban sem. Ott persze jön a mágnescsík, meg az aláírás. Az aláírás meg azért vicces, mert senki sem ír kétszer ugyanúgy alá. Akkor meg mit ellenőriznek rajta.
Ez az egész még rátesz egy lapáttal az amúgy is bizonytalan fizetési-piac hátára. Ahogyan erre Buherátor is rávilágított pár napja.
Ez a hex9k valahonnan ismerős. Talán a matáv kártyás kütyüiből? Azt tudom, hogy ez egy feldolgozási válasz tkom frémekben és minden esetben "Success"-t jelent. Azt hiszem, hogy valahol 0x9014-nél volt a vége a mindenféle válaszoknak (hibaüzenet, rendszerüzenet). Volt benne lekötött, meg visszautasítva, karbantartás, ilyesmi. Ehh. Régen volt.
THK 2010.02.16. 13:25:22
(amit persze nem is tudtam rögtön, mert itthon sosem kéri, többi kártyáéval azonosra pedig nem engedi megváltoztatni - szerencsére a telefon elektronikus tárcájában megvolt)
Északi szél 2010.02.16. 15:34:58
OTP VISA (chipes) mindig minden esetben kéri a PIN-t. Még akkor is ha a mágnes csíkkal huzzák le. De egy kis ügyeskedéssel nem fogja kérni a szuper bizti kártya PIN-t.OTP vagy K&H (két leggyakoribb) terminal mindegy.
Tehát ha találok egy kártyát irány benzinkút. Ez a legtutibb, mert sokan vannak, hanyag az ellenörzés. Kártya lehúz, összeg elfogad zöldgombal, a pin beütése helyett már jön is az aláírós bizonylat.
Valóban a bank illetve terminál dönti el mely kártyákra kér PIN-t és melyekre nem. De amelyikre pin kellene kérni azt is át lehet b@szni.
A legjobb pedig az egészben, hogy a hivatalosan PIN kódos kártyáknak kárát nem téréti a bank. Mert a hivatalosan a PIN ismerete nélkül nem lehet vásárolni vele. ebből következik, ha használják akkor a tulaj volt a felelőtlen a kártyájával illetve a pin kódjával.
Véleményem szerint a legjobb rendszer amúgy most az OMv van a kezelőnek nem kell fizikailag kapcsolatba kerülni a kártyával. Így a dombornyomott kártyák is biztonságban vannak. A kezelő nem tudja meg a számát ami a hátára van írva. Ettől a ponttól pedig a neten nem tudja használni.
Egyébként mikor a kezelőnek átadják az emberek a kártyát nem gondolnak rá, hogy azt bárki is megjegyzi, nem kell megjegyezni. A kontroll szalag megörzi a számokat, kártyaszám lejárat. Elég megjelölni a szalagot. A visszaéléshez nem kell csak a 3 szám a hátoldalról.
A paraszt viheti a magával a kártyát. Az éjszaka közepén mikor telefonja ki van kapcsolva, le is nullázható a számlája a neten. Reggel pedig nem kell kv az ebredéshez.
Északi szél 2010.02.16. 15:39:59
Az amex kértyákra a legjobb tudomásom szerint a bank nem kért PIN kódot. Ezért szünt meg az elfogadása OMV-n.
Egyébként pedig rendkívül jellemző az emberekre a hanyagság. Olyan kártya is van aminek a hátulja filcel rá van irva pin kódja, mert mindig elfelejti a hülye.
De erről még tudnék órákat mesélni. Gondolom lejött a terminál belső oldalán álltam.
itschykhatschy · http://www.itschykhatschy.com/ 2010.02.17. 12:44:44
Jókat írsz. Én gondoltam rosszul. Köszi, hogy helyretettél. Amúgy ahány ország, annyi szokás. Nálunk tapizás van.
cirmos cica 2010.02.17. 14:44:26
A módszer elve világos és valós. A következtetés?
Ellenérvek, amiket felsoroltak a különböző fórumokon:
- Tökéletes biztonság nincs
- A módszer elve ismert volt, de nem illett beszélni róla
- Egy olyan jelentkező is akadt, aki az első közlést vitatja. Két évvel ezelőtt készített egyetemi előadás prezijére hivatkozik, szerepelt az oktatási anyagában.
Mellékszál, de szerintem a szerzőnek annál fontosabb, hogy egy IEEE konferenciára adta be a publikációját, és mintha el is fogadták volna., Gyanítom, hogy akkor fordult a nyilvánossághoz, amikor megkapta az értesítést. Ha rajtam múlna, most utasítanám el, mint publikációt. Ne így szerezzen nagy idézettségi indexet, hanem valódi kutatással.
Aron bacsi 2010.02.18. 00:24:05
Egy ilyen SET-es folyamatnál viszont chipes kártya kell, PIN kódot mindig meg kell adni, különben nem lehet kódolásra bírni a chipen tárolt titkos kulcsot (chipnek beküldött hash kódolása), a terminál csak a PIN-t és a kimeneten megkapott digit aláírást láthatja, de magát a titkos kulcsot nem, tehát elvileg egy ilyen megoldás már jónak tűnik a terminálos adatrögzítős csalók ellen. Jó, persze visszajátszani még lehet egy tranzakciót, ha az app fejlesztője semmi randomot nem használ a rendszerben...
Egyébként pont Franciaország, mint a chipkártya szülőhazája én úgy tudom, hogy élen jár ezen a téren, sőt, ami bankkártyás csalást hallottam magyar ismerősöktől, az pont francia esetekhez köthető (francia szállodában lehúzott mágnescsíkos kártya adataival vettek fel pénzt francia automatából). Egy dologra nem számítottak (állítólag ez hazai sajátosság): az SMS értesítésre. Miután megcsinálták a próbavásárlást kint, utána SMS ment az áldozat mobiljára itthon, aki azonnal letiltotta a kártyát, így a következő, éles pénzfelvétel már nem ment a csalóknak. :D