image

"Beveiligingslek ING app zwaar overdreven"

donderdag 22 maart 2012, 15:41 door Redactie, 10 reacties

Op EenVandaag werd gisteren gesteld dat mobiel bankieren via de ING app onveilig was, maar dat klopt niet. Dat stelt beveiligingsonderzoeker Richard van den Berg in een reactie tegenover Security.nl. Van den Berg deed in november al onderzoek naar de Mobiel Bankieren app van de bank en ontdekte toen ook dat de uitgever van het SSL-certificaat niet werd gecontroleerd. Slordig, maar volgens Van den Berg geen onoverkomelijk probleem, aangezien de app een extra encryptielaag gebruikt, waardoor er toch veilig gebankierd kan worden.

De onderzoeker was dan ook niet onder de indruk van de uitzending van EenVandaag. "Er werd niets nieuws verteld", zegt hij. Floor Terra, de onderzoeker die het probleem tijdens de uitzending aan het licht bracht, stelde dat het ontbreken van de SSL-controle een basisfout was. "Vervolgens hebben ze een hoogleraar [Bart Jacobs] dat laten bevestigen", merkt Van den Berg op. Hij vermoedt dat Jacobs niet met Terra contact heeft gehad. Terra laat tegenover Security.nl weten dat er wel contact is geweest, maar dat dit heel kort was. "Het is niet zo triviaal als het overkomt in zijn stukje in de uitzending. Maar ik weet niet wat er uitgeknipt is."

Terra laat tegenover Security.nl weten dat hij het verhaal van Van den Berg kende. "Wat wel nieuw voor mij was, was dat er niemand eerder melding van had gemaakt bij de ING. Bij de ING is mij namelijk verzekerd dat er nog nooit eerder beveiligingsproblemen in de mobiele app bekend waren. En dat het een beveiligingsprobleem is zal Richard van den Berg het mee eens zijn, alleen niet zo groot als het in EenVandaag gepresenteerd is. Het is wel beschamend dat ze zoiets zijn vergeten."

Transparant
Terra vindt dat ING niet transparant tegenover de klanten was over het risico dat ze liepen. "Dan kan ING natuurlijk zeggen dat de klanten geen risico lopen en dat hun applicatie "absoluut veilig" is, zoals ze gisteren gedaan hebben, dus ik had daadwerkelijk een lek nodig om mijn punt te maken."

De onderzoeker was bezig met het uitwerken van een aanvalsmethode toen hij de gebrekkige SSL-controle ontdekte. Het probleem meldde hij direct bij de bank. "Omdat ik transparantie over de risico's naar de klanten erg belangrijk vind, heb ik vanaf het begin al gezegd dat ik het zou publiceren, maar dat ik ze eerst de tijd zou geven om het lek te repareren. Wat de ING niet wist was dat EenVandaag zat te wachten op mijn vondst."

ING bracht uiteindelijk een nieuwe versie van de app uit. Terra hekelt het feit dat de bank nergens melding maakte dat er beveiligingsproblemen waren opgelost. "Ik heb ze meerdere malen duidelijk gemaakt dat ik vind dat ze transparant moeten zijn over de risico's. Ik vind het heel jammer dat ING nu beweert dat de app "absoluut veilig" is, maar ik ben tevreden met het item omdat nu voor veel mensen duidelijk is dat ook banken niet perfect veilig zijn en dat ze wel degelijk een risico lopen."

Criminelen
Zoals gisteren werd voorgesteld leek het alsof klanten een groot risico liepen. Volgens Van den Berg zou de aanname niet kloppen dat cybercriminelen door alleen het ontbreken van de SSL-controle allerlei gegevens kunnen veranderen, aangezien er een extra encryptielaag wordt gebruikt. De stelling dat cybercriminelen op deze manier dan ook geld van ING-klanten kunnen stelen noemt Van den Berg onzin.

Hij is het eens met de conclusie dat het ontbreken van de SSL-controle slordig is. "Maar ik vindt het ook kwalijk dat zo'n onderzoeker alleen maar het foutje eruit haalt en niet noemt dat ze het verder wel netjes doen, zoals ik in mijn artikel aangeef." De ING bouwde een extra beveiligingslaag in waar een potentiële aanvaller ook nog eens doorheen moet.

Praktijk
In de praktijk zou het daarnaast zeer lastig voor een aanvaller zijn om de app via de internetverbinding aan te vallen. "In theorie kan het
wel", merkt Van den Berg op. Een aanvaller zou moeten wachten tot een slachtoffer in de oude situatie zich ging registreren en zou daarnaast ook over een vals SSL-certificaat moeten beschikken.

"Het is een vergezocht verhaal. Het is een hele lastige hack." Zelfs als een aanvaller het SSL-probleem kon uitbuiten, zou die vervolgens het ING protocol moeten kunnen nabootsen. "Het is een eerste stapje, maar absoluut geen hack van de applicatie."

Ook Terra beseft dit, maar vindt dat ook ING haar verantwoordelijkheid moet nemen. "Natuurlijk is mijn verhaal minder genuanceerd uitgezonden dan hoe ik het verteld had, maar voor zover ik weet heb ik niks verteld wat niet klopt. De ING daarentegen is veel verder gegaan en heeft nog nooit kunnen onderbouwen dat hun app "absoluut veilig" is. Bij uitzonderlijke claims horen uitzonderlijke bewijzen, zou ik zeggen."

Reacties (10)
22-03-2012, 17:12 door Anoniem
Hoe maak je van een mug een olifant: De redactie van EenVandaag erbij halen, want in het land der blinden is eenoog koning.
22-03-2012, 19:21 door Erik van Straten
Door Redactie: Praktijk
In de praktijk zou het daarnaast zeer lastig voor een aanvaller zijn om de app via de internetverbinding aan te vallen. "In theorie kan het wel", merkt Van den Berg op. Een aanvaller zou moeten wachten tot een slachtoffer in de oude situatie zich ging registreren en zou daarnaast ook over een vals SSL-certificaat moeten beschikken.
Eerst dat laatste: zoals ik gisteren schreef (onder http://www.security.nl/artikel/40815/1/Hacker_vindt_lek_in_Mobiel_Bankieren_app_ING.html) stelt een vals SSL certificaat genereren niets voor.

Een MITM aanval uitvoeren net op het moment dat de gebruiker voor het eerst met z'n smartphone gaat internetbankieren is wel erg lastig, maar door ING simpel te voorkomen door het certificaat te controleren. En dat gebeurde nou net niet.

Na dat eerste kwetsbare "contact" kunnen beide partijen (klant met smartphone en ING) elkaar -op het eerste gezicht betrouwbaar- wederzijds authenticeren en, als SRP correct is geïmplementeerd, veilig symmetrische sleutels uitwisselen die voor de uiteindelijke versleuteling worden gebruikt. So far, so good (nou ja, redelijk).

De vraag die bij me opkomt is of een MITM aanvaller de ING server (in het geval van een eerder voor internetbankieren geregistreerde smartphone) ervan kan overtuigen dat het om een nieuwe (of gewiste) smartphone gaat en hoe de app op de smartphone daarop reageert (wat moet een gebruiker trouwens doen op het moment dat hij z'n smartphone verkoopt?)

Ook sluit ik niet uit dat er een reddingsmechanisme bestaat voor het geval ING de gegevens van een gebruiker kwijtraakt (of de aanvaller ontdekt dat je, namens een gebruiker, kan doorgeven dat de telefoon gestolen is of defect is geraakt). Denkbaar is dat de MITM aanvaller de app weet te reverse engineeren en ontdekt dat als de ING server een speciale code naar de app stuurt, deze het initiële authenticatieproces opnieuw moet uitvoeren. Dit zijn typisch de aanvallen die bij het ontwerp van encryptie over het hoofd worden gezien (vergelijkbaar met de SSL renegotiation bug).

Als zoiets mogelijk is (of was), d.w.z. dat de aanvaller het registratieproces kan veroorzaken, dan is het niet checken van het certificaat pas echt een grote blunder.
22-03-2012, 19:30 door Anoniem
Het is slordig, maar bij de meeste banken kan je via een local proxy op je PC alles zie wat er gebeurt en wijzigen
Bij een jailbreak ipad proxy was alle belangrijke data extra encrypted binnen de sessie.
De zogenaamde hacker kon nog niet eens de sessie hacken.

Conclusie hacken is anders dan brullen dat iest lek is. Ga eerst echt hacken en dan brullen.
22-03-2012, 20:38 door Anoniem
Als het controlegetal dat via SMS wordt verstuurd gebruikt wordt als parameter bij het SRP protocol is zelfs bij de registratie MITM heel erg moeilijk. Om hier achter te komen moet je de exacte werking van het geïmplementeerde protocol reversen.
23-03-2012, 10:52 door Fwiffo
Door Anoniem: Als het controlegetal dat via SMS wordt verstuurd gebruikt wordt als parameter bij het SRP protocol is zelfs bij de registratie MITM heel erg moeilijk. Om hier achter te komen moet je de exacte werking van het geïmplementeerde protocol reversen.
De ING kan zich beter aan de RFCs houden voor SRP, in plaats van zelf 'verbeteringen' te bedenken waar geen cryptograaf naar heeft gekeken.

De TLS variant met RSA of DSS in RFC 5054 lijkt mij heel geschikt tegen mitm:
Cipher suites that begin with TLS_SRP_SHA_RSA or TLS_SRP_SHA_DSS require the server to send a certificate message containing a certificate with the specified type of public key, and to sign the server key exchange message using a matching private key.
Dat publieke RSA/DSS certificaat kan natuurlijk hardcoded in de ING app. Tenzij je wilt dat die ook met andere banken gaat werken ;-)
23-03-2012, 12:05 door Anoniem
Door Fwiffo: De ING kan zich beter aan de RFCs houden voor SRP, in plaats van zelf 'verbeteringen' te bedenken waar geen cryptograaf naar heeft gekeken.
Ik ben het eens met de gedachte dat je niet aan een cryptografisch protocol moet sleutelen als je niet 100% zeker weet wat dat voor gevolgen heeft. Het SRP protocol laat echter best ruimte om met een pre-shared secret het nog veiliger te maken. Als je bijvoorbeeld PBKDF2 als hash functie gebruikt in SRP, dan kan je de toegangscode die als SMS verstuurt wordt als het aantal iteraties nemen. Zowel de ING server als de app weten dan hoeveel iteraties PBKDF2 gebruikt. Een eventuele MITM aanvaller weet dat niet, en zal dus nooit een succesvolle SRP verbinding kunnen opzetten naar de client (of de server).
23-03-2012, 12:10 door iuss
@ Twee hierboven

Ja, die code wordt gebruikt als SRP-password tijdens registratie. Vervolgens zijn die registratiegegevens encrypted. Dan een aanname: de gegevens zijn encrypted met de SRP-established key. Dan zou inderdaad ook tijdens de registratie geen MITM mogelijk zijn.

@ Fwiffo

Je aanteiging slaat nergens op - uiteraard kun je ook een controlegetal (sic) als SRP password gebruiken. Waar men wel opvallend van de RFC afwijkt is het gebruik (in ieder geval aan de clientzijde) van een short exponent voor a (256-bits) in plaats van een random element uit N (1024-bits group).
23-03-2012, 12:18 door Anoniem
@iuss: de beveiligingscode die via SMS wordt verstuurd is 6 letters/cijfers. Dat zijn 2 miljard mogelijke codes. Is dat niet wat kort om als SRP password te gebruiken? Hoe weet je dat deze inderdaad voor SRP input wordt gebruikt?
23-03-2012, 12:25 door Fwiffo
Door iuss: @ Fwiffo

Je aanteiging slaat nergens op - uiteraard kun je ook een controlegetal (sic) als SRP password gebruiken. Waar men wel opvallend van de RFC afwijkt is het gebruik (in ieder geval aan de clientzijde) van een short exponent voor a (256-bits) in plaats van een random element uit N (1024-bits group).
Dank. De inhoud van een SMS lijkt mij nu niet echt geschikt als SRP wachtwoord. Maar misschien weet ik te weinig af van de implementatie van ING.
09-01-2014, 10:06 door Anoniem
Door Anoniem: Hoe maak je van een mug een olifant: De redactie van EenVandaag erbij halen, want in het land der blinden is eenoog koning.
Of een vreemde eend in de bijt...
Reageren

Deze posting is gelocked. Reageren is niet meer mogelijk.