Tweets by @buherablog
profile for buherator at IT Security Stack Exchange, Q&A for IT security professionals

A BitBetyár Blog

Túljártál a nagyokosok eszén? Küldd be a mutatványodat! (e-mail a buherator gmailkomra jöhet)

Full-Disclosure / Névjegy / Coming out


Promó

H.A.C.K.

Címkék

0day (110) adobe (87) adobe reader (21) anonymous (26) apple (60) az olvasó ír (49) blackhat (20) botnet (22) bug (200) buherablog (44) buhera sörözés (39) bukta (49) deface (38) dns (22) dos (29) esemény (82) facebook (26) firefox (64) flash (33) gondolat (31) google (59) google chrome (36) hacktivity (37) hírek (117) incidens (224) internet explorer (88) iphone (35) java (50) jog (22) kína (21) kriptográfia (68) kultúra (21) linux (24) malware (43) microsoft (142) móka (48) mozilla (23) office (26) oracle (40) os x (43) patch (197) php (20) politika (31) privacy (58) programozás (22) safari (34) sql injection (62) windows (85) xss (77) Címkefelhő

Licensz

Creative Commons Licenc

PIN és chip

2010.02.13. 14:46 | buherator | 11 komment

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.

Címkék: chip and pin

Kommentek:

A hozzászólások a vonatkozó jogszabályok  értelmében felhasználói tartalomnak minősülnek, értük a szolgáltatás technikai  üzemeltetője semmilyen felelősséget nem vállal, azokat nem ellenőrzi. Kifogás esetén forduljon a blog szerkesztőjéhez. Részletek a  Felhasználási feltételekben és az adatvédelmi tájékoztatóban.

|Z| 2010.02.13. 17:27:52

Pár fontos rész a publikációból:

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

Már sok-sok éve azt mondják a bankosok, hogy amíg a beruházási költség nagyobb, mint a bankkártyás csalások mértéke, addig nem állnak át a mágnescsíkosról a chipkártyára. Talán ez egy újabb löket lesz... Igaz, az sem feltétlenül elég, ha a titkos kulcsunk biztonságban van, a protokoll attól még ugyanúgy lehet sz@r (ld. ezt a MITM-et). Nem tudom, hogy pl. a K&H-s chipkártyánál hogy megy ez? Más a protokoll? Gyanítom, hogy chipkártyás esetben nincs is kripto nélküli "tulajdonos verifikáció"...

Északi szél 2010.02.15. 08:33:28

OMV benzinkúton OTP chipes (és még pár egyéb tipusú szintén chipes) bankkártyát simán el lehet fogadtatni pin nélkül, alárírással!!!!!

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

Aspe,
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

Az a szörnyű az egészben, hogy chipes vásárlásnál (BCC MasterCard. Credit) a legtöbb esetben nem kell pin, még chip-es beolvasásánál sem. Sőt amennyiben nekem van (volt egy évig) hitelesített terminálom elég a kártyaszámot, és a lejáratot beütnöm, a cvv nem is kell. Az aláírást 98%-ban nem ellenőrzik, legalább 5%-ban kézi a bevitel ("olvashatatlan a csík", "nem jó a chip"). Ugyanez debittel hasonló (Maestro debit). Ráadásul a kártyaszámot ott is fel lehet vinni, manuálisan (akkor kér kódot). Más a kezelője, viszont ott soha nem kell aláírás.

É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

@Itschykhatschy: van, ahol biztosan, mert pár éve pont Angliában tréfált meg alaposan, h egy ottani boltban (és utána a többiben is) elfogadták az American Expressem chipjét: ahogy a betolta a terminálba, már kezdtem mondani, h "nem lesz jó, csak a mágnescsíkot szereti", amikor már kérte is a PIN kódot...
(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

Lehet kicsit félre értettek. De röviden még1x. A példaként
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

@THK:
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

@aspe: uhh. ott a pont a pin vs biztosítás témában. tényleg nem biztosítja a kártyát pin esetén a bank. belenéztem a szerződésbe. a hitelkari viszont biztosítva van minden tekintetben. sőt, még biztosítás (utazásra, balesetre szóló) is van benne az éves díjban.

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

Offline tranzakciónál működik igazán. Online tranzakció esetén könnyű lebuktatani. Viszont abban is igaz, hogy az online rendszerek nem mindig ellenőriznek mindent, amit lehetne, kellene. Az is igaz, hogy ezek EMV szabványon kívüli adatok, ezért a kibocsátónak van módja ellenőrizni, a terminál nem ellenőrzi. (De azt elhallgatták, hogy a Visa / MasterCardnál vannak rá társasági szabványok.)

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

@Itschykhatschy: Tényleg volt olyan chipes kártyád (kizárólag chipes, tehát nem dual-interfészes, mágnescsíkos), ami nem kért PIN kódot? Az elég durvának tűnik... Én is csak azért kérdeztem rá, hogy mi van a sima chipes kártyákkal, mert anno már voltak olyan protokollok, mint pl. SET (Secure Electronic Transaction), aminek kidolgozását pont a VISA és a MasterCard vezette, tehát gondoltam, hogy akkor ezeket már más országokban esetleg használják...

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