Jepp, offline PIN på svenska kort

Godmorgon! Nya ideér!

I går kväll innan jag somnade slog det mig att den ena biten av pusslet; om korten accepterar offline PIN eller inte, är enkelt att testa: (1) tag ett stycke bankdosa från Nordea, (2) stoppa in kort, (3) ange kortets PIN-kod, (4) voilà, offline-PIN. Som minst borde det alltså fungera med Nordeas kort men jag har även testat det med SEB:s kort och det fungerade utmärkt.

(Om jag var personrånare skulle jag ha med mig en Nordea-dosa för att kunna verifirera att mitt offer inte gav mig fel kod till bankkortet.)


Kvar är den andra biten i pusslet; terminalerna. Har de något att säga i frågan? Kan de kräva hur PIN-koden ska kontrolleras?

Uppdatering @ 08:21:
Såja! Nu har Björn Brolin på TrueSec pratat med CS och berättat att korten visst accepterar offline PIN verification:

Nu uppger säkerhetsexperter på Truesec att de har återskapat attacken och testat en rad kort från svenska banker. Samma brister hittades där som i de brittiska korten. Det avgörande är att korten accepterar verifiering med ickekrypterad pin-kod. Det säger Björn Brolin, säkerhetsexpert på Truesec.

Med hjälp av en kortläsare kopplad till en dator har han gått igenom de svenska korten och kartlagt vilken typ av kodverifiering de godkänner. Slutsatsen är att samma typ av bedrägeri som utfördes av Cambridgeforskarna mycket väl kan genomföras med ett svenskt kort.

[...]

Nu arbetar Björn Brolin och hans kollegor med att ta fram hårdvara och mjukvara för att praktiskt verifiera angreppet.

– Målsättningen är att vara klara inom de närmaste dagarna, säger han.


Artikeln uttrycker sig lite illa, det är rätt stor skillnad på att "återskapa attacken" och att "kartlägga vilken typ av kodverifiering de godkänner". Hoppas att de kommer längre med hårdvaran.

--
Stefan Pettersson

Klarhet eller fortsatt förvirring?

John har kommenterat ett uttalande från en svensk bank om attacken mot chipkorten. Bankens sätt att uttrycka sig tyder på att de helt enkelt inte har läst rapporten. Underhållande läsning i a f.

I en uppföljande post har John, precis som jag, blivit fundersam över om det verkligen är så att Svensk Handel och banken som nämndes ovan avser online PIN verification när de säger att de flesta terminalerna i Sverige är "online".

Jag tog mig friheten att fråga forskarna via bloggkommentarerna:

71. Stefan Pettersson  |  February 16th, 2010 at 19:08 UTC
Here in Sweden word has gotten out from representatives of the merchants that our terminals are unaffected because they’re “online unlike in the UK”. This seems fishy at first since the paper makes quite a thing of the attack working against terminals that are online. Also, the paper mentions that the vast majority of your  terminals are online as well.

My immediate conclusion is that our terminals are “online” as in “online PIN” in the way you describe ATMs on p. 3 in the paper.

Could this be correct?

If it is, why can’t all merchant’s terminals just do online PIN verfications like the ATMs?

72. Steven J. Murdoch  |  February 16th, 2010 at 19:17 UTC
@Stefan,

Yes, it appears the Swedish banks have misunderstood the attack. UK terminals are almost exclusively online, yet the attack still works (all our tests were online). They are also claiming that CDA fixes the problem, but this is incorrect.

It could be that the terminals are doing online-PIN, but it wouldn’t surprise me if the banks are simply confusing this attack with an older one which only works for online authorization (as the French banks did).
[...]
To do online PIN verification, the terminal needs to be given cryptographic keys to protect the PIN as it is sent back to the acquirer. This adds complexity and expense, so is not done in the UK.


Man kan ju ifrågasätta vad Murdoch vet om hur systemet är utrullat i Sverige på samma sätt som jag redan har ifrågasatt Svensk Handels kunskap om hur det är utrullat i UK. Vad jag finner mer intressant är sista paragrafen i svaret; att bankomater har kryptonycklar för att kommunicera känner jag till. Hur är det med terminalerna? Spontant känns det ohållbart att varje terminal i varje butik i Sverige skulle ha en delad nyckel med sin bank, sånt har vi asymmetrisk kryptering till.

Vi vet alltså fortfarande inte om de svenska terminalerna klarar sig mot attacken eller inte.

Förvirring kring attacken mot smartkort

Som ingen förmodligen kunnat undgå publicerade Steven Murdoch och gänget på Cambridge en attack mot EMV-protokollet (kortbetalningar via smartkort) i förra veckan. Med hjälp av attacken är det möjligt att genomföra ett köp som autentiseras med PIN-kod utan att kunna PIN-koden. Tyvärr lämnar mainstream-media en del att önska vad gäller rapporteringen.

Det verkar riktigt, riktigt illa. Till skillnad från tidigare attacker är denna avsevärt mindre "akademisk" och de har genomfört ett flertal köp med diverse journalisters kort framför deras ögon. (Spana in Youtube-klippet i länken ovan.)

Hur attacken fungerar
Säkerhetsproblemet ligger i att en viss del av kommunikationen mellan bankkortet och kortterminalen i kassan inte autentiseras ordentligt. Detta gör det möjligt att sätta en dator mellan de två och med denna ändra kommunikationen "on-the-fly" utan att varken kortet eller terminalen märker det. (En man-in-the-middle-attack för den bevandrade.)

Betalningar med chipkort skiljer sig från magnetremsor på flera sätt men en av de viktigare är att din PIN-kod finns lagrat på kortet. När du slår in koden på terminalen i kassan för att godkänna ett köp kan terminalen fråga kortet om PIN-koden du slog in stämmer, Just den här kommunikationen är inte skyddad. Genom att ändra kommunikationen mellan kort och terminal kan de alltså lura terminalen och säga "jajamen, PIN-koden som slogs in stämde" (terminalen tror att den pratar med kortet). Kortet, i sin tur, som har missat den här kommunikationen kommer att tro att köpet gjordes utan PIN-kod (som t ex när man betalar i vissa parkeringsautomater). Resten av köpet fortgår som vanligt.

Förvirring
Nyhetskanalen (TV 4) publicerade igår artikeln "Bankkorten säkra i Sverige". Två intervjuer görs där med Dick Malmlund (säkerhetschef för Svensk Handel) där han först är oroad för att hela utrullningen som pågår i Sverige ska ta stryk och sedan för att sådana här nyheter ofta leder till att man (banker och kortföretag) "lägger locket på". I den andra intervjun hävdar han sedan att attacken inte påverkar Sverige eftersom majoriteten av våra terminaler är "online" d v s terminalen har direktkontakt med utfärdande bank. Däremot ska kort stulna i Sverige kunna användas i t ex Storbritannien där det finns många offline-terminaler som är sårbara.

Det uppstår en del förvirring här. För att citera rapporten (pdf) på ett antal ställen:

[...] In this paper we describe and demonstrate a protocol flaw which allows criminals to use a genuine card to make a payment without knowing the card's PIN, and to remain undetected even when the merchant has an online connection to the banking network.

[...] The attack we describe applies to most, if not all, current deployments.

[...] cards (which prior to 2009 all UK banks issued) are vulnerable to a trivial and well-known replay attack in which the certificate is read from a card and written to a counterfeit one (these are often called "yes cards" because they will respond "yes" to a PIN verification request, no matter what PIN is entered). The card is then used at a point-of-sale terminal which has no online connection to the banking
network, and because there is no real-time interaction, the MAC produced during transaction authorization cannot be checked by the bank before the goods have already been handed over. However, the vast majority of UK point of sale terminals maintain a permanent online connection, so such attacks normally can be detected.


[...] offline flows are beyond the scope of this discussion, but our attack applies just as well to these.

Okej, författarna är väldigt noga med att attacken inte beror av att handlarens terminal är offline. De är dessutom noga med att det inte handlar om den redan kända replayattacken med "yes cards". De klämmer till och med in att även Storbritannien huvudsakligen har online-terminaler. Ligger det en hund begraven? Har Dick Malmlund "lagt locket på"? Det låter så i hans andra intervju och den nya infotexten på Svensk Handels hemsida. Det känns lite "det finns inget att se här, cirkulera...".

En sak ska man dock hålla i minnet; EMV är ingen enhetlig specifikation, implementeringar varierar. Attacken som beskrivs i rapporten fungerar t ex inte mot bankomater eftersom dessa inte kontrollerar PIN-koden mot kortet utan mot banken. Något som kallas "online PIN":

ATM cardholder verification works differently, and uses a method known as "online PIN", as opposed to "offline PIN" described above. Here, the PIN is encrypted by the ATM, and sent to the issuer over a payment network. The issuer then compares the PIN to their own records, and sends the result back to the ATM. The attack we present in this paper only applies to offline PIN cardholder verification and therefore ATM transactions are outside of its scope.


Är det så enkelt att det finns två olika online; "online" samt "online PIN" och att Sverige använder "online PIN" i 95 % av fallen, som Dick Malmlund säger? Fungerar verifikationen på samma sätt i bankomater som i kassaterminaler?

Det ska bli intressant att få veta. Om vi får veta...

--
Stefan Pettersson


Verified by VISA under lupp

Det här har jag längtat efter. Gubbarna från Cambridge har kikat på 3-D Secure, mer känt som Verified by VISA eller MasterCard SecureCode. Det ser inte bra ut.

Verified by VISA och MasterCard SecureCode är egentligen samma sak. Det är när du får sätta ett lösenord för ditt kort på internetbanken, ett lösenord som sedan måste anges innan ett köp slutförs i en webbshop. Det kommer att bli vanligare och vanligare framöver att handlare gör den här kollen, det minskar nämligen deras risk eftersom bankerna tar på sig smällen vid eventuella bedrägerier. De har alltså incitament att öka sin säkerhet.


I rapporten Verified by Visa and MasterCard SecureCode: or, How Not to Design Authentication (pdf) diskuterar de ett antal svagheter i systemet. Framförallt handlar det om att systemet uppmuntrar användare till ett riskbeteende. Viktigt att veta är dock att säkerheten i viss grad beror på hur banker implementerar det så YMMV när du jämför din egen bank med rapporten.

Så vad rekommenderar Steven J. Murdoch och Ross Anderson att trion (banker, handlare och betalningsnätverken) ska göra åt saken egentligen?

What should be done techincally? We believe that single sign-on is the wrong model. What's needed is transaction authentication. The system should ask the customer, "You're about to pay $X to merchant Y. If this is OK, enter the auth code". This could be added to 3DS using SMS messaging, or systems like Cronto or CAP (Chip Authentication Program) as a stopgap. In the long term we need to move to a trustworthy payment device.

Luttrade läsare känner förstås igen det här, senast från Gartner-rapporten förra veckan.

--
Stefan Pettersson


RSS 2.0