ING mobiel bankieren Android app

De ING Mobiel Bankieren Android app slaat slechts 1 configuratie bestand op: IngMobilePrefs.xml. Na het installeren is dit bestand vrij leeg, maar na het koppelen van een ING rekening aan de app bevat IngMobilePrefs.xml de volgende gegevens:

<?xml version='1.0' encoding='utf-8' standalone='yes' ?>
<map>
<int name="STAGE" value="3" />
<string name="RIGHT_PAD">xxxxxxxxxxxxxxxxxxxx</string>
<string name="PROFILE_ID">xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx</string>
<string name="LEFT_PAD">xxxxxxxxxxxxxxxxxxxx</string>
<string name="PRIVATE_KEY">xxxxxxx...</string>
<string name="PUBLIC_KEY">xxxxxx...|010001</string>
</map>

Dit bevestigt mijn vermoeden dat de applicatie public/private key cryptografie gebruikt. Wat wel opvalt is dat het configuratie bestand niet is beschermd of versleuteld. Als een Android proces root rechten heeft kan het dit bestand gewoon lezen en de gegevens kopiëren.

In de iOS app wordt bij de pincode controle een uniek device id gebruikt. De source code van de Android app doet vermoeden dat dit ook hier het geval is.

Als een aanvaller zich via de ING mobiel bankieren toegang wil verschaffen tot de rekening van een ander, heeft deze tenminste nodig:

  1. De inhoud van IngMobilePrefs.xml, via sudo (op een geroot device) of root exploit
  2. Het device id. Dit kan via een applicatie die vanuit de market moet worden geïnstalleerd, maar aangezien er al root access nodig is voor stap 1, is dat de meeste logische manier om aan het device id te komen.
  3. De pincode. Dit kan bijvoorbeeld door de ING applicatie te vervangen door een phishing applicatie. Die kan bij Android op verschillende methoden worden geïnstalleerd.
  4. Een aangepaste ING Mobiel Bankieren applicatie die het gestolen device id gebruikt ipv het device id van het Android device waar het op draait. Deze kan vanuit een emulator worden gedraaid, of zelfs op een niet-Android device als het authenticatie protocol bij de aanvaller bekend is, en is nagemaakt.

Het advies is om ING Mobiel Bankieren niet te draaien op een rooted Android device. Dit is namelijk de eerste stap die nodig is om misbruik te maken van deze applicatie. Op een niet-rooted Android device die de laatste Android versie draait is het voor een aanvaller heel lastig om de IngMobilePrefs.xml te stelen. Ook moet de Instellingen -> Toepassingen -> Onbekende bronnen zoveel mogelijk uit blijven staan om te voorkomen dat er niet-Market applicaties op het device worden geïnstalleerd.  Ook Instellingen -> Toepassingen -> Ontwikkeling -> USB-foutopsporing moet uit staan. Deze instelling is vaak een vereiste voor het rooten.

Bij verlies van de iPhone of iPad moet meteen ING op de hoogte worden gesteld. Een kwaadwillende zou eventueel via USB het device kunnen rooten en zo de benodigde informatie kunnen achterhalen. Voorwaarde is dan wel dat hij de pincode al weet.

Deze beveiliging is vergelijkbaar met de iPhone/iPad app.

Update 2011/11/18: informatie over deviceId toegevoegd


One Response to “ING mobiel bankieren Android app”

  1. Mount Knowledge » ING mobiel bankieren iPhone app Says:

    […] Voorwaarde is dan wel dat hij de pincode al weet. Deze beveiliging is vergelijkbaar met de Android app. Posted by Richard on November 18th, 2011 filed in Uncategorized | Comment now […]

Leave a Comment