Beveiligingsonderzoeker Sathya Prakash Kadhirvelan ontdekte meerdere kwetsbaarheden in een app voor mobiel bankieren van een grote Indiase bank. Daardoor was hij in staat om informatie over elke rekening in te zien en geld over te maken tussen willekeurige bankrekeningen.
De onderzoeker schrijft dat zijn eigen bank eind 2015 een app voor mobiel bankieren uitbracht, waarna hij besloot deze eens onder de loep te nemen. De eerste kwetsbaarheid die hij vond was het feit dat de bank niet gebruikmaakte van certificate pinning, waardoor het voor hem mogelijk was om een door hemzelf ondertekend certificaat te gebruiken en verkeer te onderscheppen. Bovendien maakte de bank gebruik van een verouderd protocol om een beveiligde verbinding op te stellen, namelijk ssl 3.0.
Door het gedrag van de app te analyseren kwam de onderzoeker er vervolgens achter dat deze bij het opstarten een check uitvoert om te achterhalen of er een nieuwe versie beschikbaar is. Uit dat verzoek kon hij een session id vaststellen, waarvan na enig onderzoek bleek dat deze nooit verliep. Daarnaast was het mogelijk om via dit id zonder authenticatie gegevens van een bankrekening op te vragen, zoals het saldo.
Ook kon de onderzoeker via een curl-verzoek geld overschrijven van en naar willekeurige rekeningen, omdat de app niet controleerde of de nodige klant-id en pin afkomstig waren van de partij die het geld verstuurt, maar slechts het onderlinge verband van de twee naging. Hij kon dus zijn eigen klant-id gebruiken voor betalingsverzoeken vanaf andere rekeningen.
Hij probeerde dit uit aan de hand van rekeningen van familieleden en kon inderdaad geld overmaken, ook al was een bepaalde rekening helemaal niet aangemeld voor internetbankieren. De bank verstuurde wel een sms-notificatie bij een betalingsverzoek, maar achterhaalde het telefoonnummer door de klant-id te checken. Daardoor werd de notificatie naar de potentiële aanvaller gestuurd, en niet naar het slachtoffer.
Nadat de onderzoeker de bank in november 2015 op de hoogte had gesteld van zijn bevindingen duurde het twaalf dagen voordat hij een antwoord kreeg. Daarin beloofde de bank de door hem voorgestelde verbeteringen door te voeren, zoals het gebruik van tls. De vraag of er een bug bounty-programma bestaat en wanneer de verbeteringen doorgevoerd worden, is tot op heden niet beantwoord, zo schrijft de onderzoeker. Volgens zijn eigen berekeningen op basis van publieke informatie van de bank had hij toegang tot een geschatte 25 miljard dollar.