image

"Beveiliging ING mobiel bankieren best goed"

donderdag 10 november 2011, 10:23 door Redactie, 17 reacties

De authenticatie van de onlangs gelanceerde ING mobiele bankieren app zit best goed in elkaar. Dat concludeert Richard van den Berg in deze analyse. Na installatie en registratie van de app, kunnen klanten met een zelfgekozen 5-cijferige mobiele pincode het programma gebruiken. Er is voor overboeken geen TAN-code nodig. Per dag kan er totaal voor 1000 euro naar een andere rekening worden overgeschreven. Naar de eigen rekening kan maximaal 5.000 euro worden overgemaakt.

"Het authenticatie protocol ziet er goed doordacht uit. Er wordt niet vertrouwd op SSL of TLS. In plaats daarvan gebruikt ING een extra encryptielaag waarvoor het wachtwoord wordt afgesproken via het SRP protocol. Ook genereert elk mobiel device een eigen profileId en een public/private sleutelpaar", merkt Van den Berg op.

Registratieproces
Toch had hij liever gezien dat de app de uitgever van het SSL certificaat van services.ing.nl had gecontroleerd. Dan zou het voor een aanvaller veel moeilijker zijn geweest om het protocol te achterhalen. "De grootste kwetsbaarheid zit hem in het registratieproces. Als er tijdens dit proces iemand tussen het mobiele device en de services.ing.nl server in zit (man-in-the-middle), dan is het theoretisch mogelijk om het registratieproces te kapen, en namens de gebruiker de registratie te voltooien."

Erg eenvoudig zal dit niet zijn, want een aanvaller moet dan wel het hele registratieprotocol inclusief encryptie reverse engineeren en live na weten te bootsen. Ook is een vals SSL certificaat voor services.ing.nl nodig. "Deze factoren maken het niet gemakkelijk of zelfs waarschijnlijk dat iemand een man-in-the-middle aanval op een gemiddelde ING klant weet uit te voeren tijdens het registratieproces", besluit Van den Berg.

Reacties (17)
10-11-2011, 10:35 door Anoniem
en werkt dat voor android net zo?
10-11-2011, 11:36 door [Account Verwijderd]
[Verwijderd]
10-11-2011, 11:50 door Anoniem
Vraag ik mij toch af... blijft toch vatbaar voor malware lijkt mij. Overigens geef je bij het accepteren van de algemene voorwaarden aan dat je de laatste versie van het besturingssysteem gebruikt. Dat is bij Android bijna niet zo gemakkelijk. Hoeveel telefoon producenten leveren überhaupt updates mbt OS? Altijd handig voor ING dat ze je dan zelf de schuld kunnen geven als het toch mis gaat. Getuige alle telebankieren 'probleempjes' die ze gehad hebben.

WA
10-11-2011, 14:31 door Anoniem
Van den Berg laat even buiten beschouwing dat naast man-in-the-middle de man on the machine ook makkelijk kan bestaan. Niet dat hele bergen gebruikers een rooted mobile device draaien, maar Android staat bijvoorbeeld standaard al niet bepaald bekend als secure platform om vertrouwelijke gegevens veilig op op te slaan en te verwerken. Maar dat is hopelijk een bewuste risico keuze geweest van de managers bij ING.
10-11-2011, 15:50 door Anoniem
@11:50
Er staan wel meer dingen in de Voorwaarden waarop ING zich kunnen beroepen om je voor de schade op te laten draaien. Zoals bijvoorbeeld het maximaal om de 14 dagen controleren van je rekeningoverzicht.

Laten we niet vergeten dat bij Amerikaanse Apps je online banking UserID/Password genoeg is om in te loggen op je mobile bank app en transacties te doen. Maar als zeikerige Nederlanders verliezen we dat maar al te graag uit het oog om nieuwe, potentiele gevaarlijke, diensten af te kraken.
10-11-2011, 15:54 door Anoniem
Dit onderzoek analyseert alleen het netwerk verkeer en de daar gebruikte authenticatie. Om het risico van een man-in-the-machine aanval in te kunnen schatten is een analyse nodig van de app bestanden op het device. Daar heb je een gejailbreakte iPhone/iPad of geroote Android telefoon voor nodig.

Als (grote als) de app goed is gemaakt wordt het 5 cijferige wachtwoord niet op het device opgeslagen. Als de server maar een aantal pogingen toestaat voordat het profileId wordt geblokeerd moet een man-in-the-machine zowel:

1) bij de bestanden van de ING app kunnen (bijv. door root op het device te zijn) voor het profileId en private key
2) het 5 cijferige wachtwoord achterhalen (bijv. door de app te vervangen door een phishing app die het wachtwoord naar een site upload)

Als het echt goed in elkaar steekt zit er een afhankelijkheid tussen het profileId/private key en een uniek ID van het device (IMEI oid). Het helpt dan niet om de app bestanden van het device te kopieren, maar dan moet de aanvaller de app ook nog echt reverse engineeren om misbruik te kunnen maken. Of de aanval compleet via een phishing app op het device laten lopen bijvoorbeeld.
10-11-2011, 23:30 door cowboysec
Je slaat de spijker op de kop!

Door Anoniem: Van den Berg laat even buiten beschouwing dat naast man-in-the-middle de man on the machine ook makkelijk kan bestaan. Niet dat hele bergen gebruikers een rooted mobile device draaien, maar Android staat bijvoorbeeld standaard al niet bepaald bekend als secure platform om vertrouwelijke gegevens veilig op op te slaan en te verwerken. Maar dat is hopelijk een bewuste risico keuze geweest van de managers bij ING.
10-11-2011, 23:35 door cowboysec
Ben ik niet mee eens: ik wil 2-factor authentication : iets hebben en iets weten; token en Pin-code
Laat de banken verschillende levels aanbieden:
1 (brandhout) open; geen beveiliging op account: dus iedereen kan direct je rekening zonder wachtwoord leegplukken
2) (brons): alleen User/ID wachtwoord
3 (zilver): met TAN-code/SMS
4 (Goud): met token-device (RABO SNS, optioneel ING...)
5 (Platina): met speciale banking device vergelijkbaar met pinapparaten bijvoorbeeld
6) helemaal dicht; kluis 50 m onder de grond.... waar niemand in kan met tijdslot van ...jaar

Door Anoniem: @11:50
Er staan wel meer dingen in de Voorwaarden waarop ING zich kunnen beroepen om je voor de schade op te laten draaien. Zoals bijvoorbeeld het maximaal om de 14 dagen controleren van je rekeningoverzicht.

Laten we niet vergeten dat bij Amerikaanse Apps je online banking UserID/Password genoeg is om in te loggen op je mobile bank app en transacties te doen. Maar als zeikerige Nederlanders verliezen we dat maar al te graag uit het oog om nieuwe, potentiele gevaarlijke, diensten af te kraken.
10-11-2011, 23:40 door cowboysec
Mijn zorg is gewoon dat 'hackers' /kwaadwilligen op afstand:
1) de controle van je device kunnen overnemen (middels virussen en vulnerabilities)
2) over de schouders kunnen meekijken door keyloggers (middels trojans, drive-by-downloads geïnstalleerd)
3) op andere manieren ongemerkt jouw identiteit op die bank kunnen gebruiken.

2-factor authenticatie middels PIN-code (iets weten = logische sleutel) en token-device (iets fysiek hebben= fysieke sleutel) heeft voor mij gewoon de voorkeur en dat wil ik vooralsnog zo houden.
Als een bank mij op zou leggen om dit standpunt te verlaten zou ik zeker naar een andere bank gaan. Ook wil ik hier niet default toestemming voor geven. gelukkig moet je het zelf expliciet aanvragen om zonder token, dus met ING app, te mogen werken en zijn de gevolgen dan voor jou en niemand anders
11-11-2011, 10:01 door [Account Verwijderd]
[Verwijderd]
13-11-2011, 17:37 door Anoniem
Hoe het configuratie bestand van de Adroid app eruit ziet staat hier: http://www.mountknowledge.nl/2011/11/13/ing-mobiel-bankieren-android-app/
14-11-2011, 09:54 door [Account Verwijderd]
[Verwijderd]
14-11-2011, 11:52 door cowboysec
Zozo...ziet er interessant uit

Door Just4u:
Door Anoniem: Hoe het configuratie bestand van de Adroid app eruit ziet staat hier: http://www.mountknowledge.nl/2011/11/13/ing-mobiel-bankieren-android-app/

Lekker veilig dan deze app. Waarom wordt dan niet gewoon ook dat bestand versleuteld in bijv sha 512 waarden?
14-11-2011, 13:59 door Anoniem
Door Just4u:
Door Anoniem: Hoe het configuratie bestand van de Adroid app eruit ziet staat hier: http://www.mountknowledge.nl/2011/11/13/ing-mobiel-bankieren-android-app/

Lekker veilig dan deze app. Waarom wordt dan niet gewoon ook dat bestand versleuteld in bijv sha 512 waarden?

De vraag is: met welke sleutel encrypt je dit bestand? Als je dat doet met die 5-cijferige PIN code maak je het juist onveiliger. Je kan dan namelijk via brute force van het config bestand de PIN achterhalen. Ze hadden natuurlijk een hele lange sleutel in de app kunnen bakken waarmee het config bestand wordt versleuteld. Op zich is het niet super moeilijk om die dan te achterhalen, maar het is een drempel(tje) dat je over moet. Als je het goed wilt doen heb je eigenlijk 2 codes nodig: 1 voor het opstarten van de app (en het lezen van de config) en 1 voor het maken van de verbinding. Dat is gebruikersovervriendelijker dan 1 code. Bovendien kan je nog steeds brute force uitvoeren op die 1e code, en omdat die code door gebruikers op een mobiel device moet worden ingevoerd zal die code niet heel lang of complex zijn.
18-11-2011, 22:38 door Anoniem
Tijdens het testen met de iPhone app ben ik er achter gekomen dat niet alleen de pin code nodig is, maar ook een uniek device id. Dit maakt het voor een aanvaller ietsje lastiger om misbruik te maken van deze app. Zie http://www.mountknowledge.nl/2011/11/18/ing-mobiel-bankieren-iphone-app/
21-11-2011, 09:17 door [Account Verwijderd]
[Verwijderd]
21-11-2011, 09:20 door [Account Verwijderd]
[Verwijderd]
Reageren

Deze posting is gelocked. Reageren is niet meer mogelijk.