
Mobiele apps, zowel Android als iOS, zijn voor bedrijven vaak kritische bedrijfsmiddelen, maar worden ook het vaakst over het hoofd gezien als het gaat om beveiliging. Mobiele apps maken vaak deel uit van een groter ecosysteem. Zo zijn de applicaties vaak gekoppeld aan API’s en andere webdiensten.
Dit leidt tot een groot en complex aanvalsoppervlak. Mobiele applicaties verwerken daarnaast vaak ook een schat aan informatie zoals persoonsgegevens. Een mobiele app pentest geeft inzicht in de zwakke plekken zodat er verbetering getroffen kan worden.
Mobiele app zijn er in verschillende soorten en maten. Dit kan worden onderverdeeld in drie verschillende type mobiele applicaties.
Dit type mobiele app is het meeste gebaseerd op een normale website. Een PWA werkt dus ook als een gewone website. Zo kan een PWA geopend en gebruikt worden door elke (mobiele) browser. Het verschilt echter van een normale website omdat een PWA kan functioneren als app en deze kan dus ook toegevoegd worden aan het startscherm.
Native apps zijn vaak specifiek voor één platform ontwikkeld en kunnen daardoor ook alle functionaliteiten van het apparaat volledig benutten. Hier kan gedacht worden aan bluetooth en de camera van het mobiele apparaat. Daarnaast blijven mobiele applicaties ook offline werken.
Hybride apps maken combineert PWA’s en native apps. De app ziet eruit als een native app, maar het heeft de mogelijkheid om te functioneren op vele platforms. Hierdoor kunnen gebruikers dezelfde app op meerdere apparaten en besturingssystemen gebruiken. Hybride apps hebben ook meer opslagruimte dan native apps omdat ze (deels) gebruikmaken van de cloud in plaats van de fysieke opslag van het mobiele apparaat.
Een mobiele app testen we op twee niveaus. Eerst de app zelf: hoe worden gegevens op het toestel opgeslagen, en is de code makkelijk te reverse-engineeren? Daarnaast kijken we naar het verkeer tussen de app en de achterliggende servers en API’s.
We combineren statische analyse, waarbij we de app ontleden zonder hem te draaien, met dynamische analyse, waarbij we de app live volgen op een toestel of emulator. Veel kwetsbaarheden zie je namelijk pas als de app echt draait, bijvoorbeeld gevoelige gegevens die onversleuteld worden weggeschreven.
Als leidraad gebruiken we de OWASP Mobile Application Security Verification Standard (MASVS) en de bijbehorende checklist met testcases voor zowel Android als iOS. Een standaard geeft houvast, maar het echte werk blijft het handmatige onderzoek van een ervaren pentester.
Net als bij een normale pentest wordt er bij een mobiele app pentest een breed scala aan kwetsbaarheden onderzocht. Hier kan gedacht aan:
Stel, u heeft een mobiele applicatie die momenteel een kwetsbaarheid bevat die misbruikt kan worden door hackers. Zou u dit dan niet willen weten? Een mobiele pentest stelt u in staat om kwetsbaarheden in uw mobiele app te vinden en te verhelpen voordat aanvallers het misbruiken.
De kosten die nodig zijn om de kwetsbaarheden op te lossen die tijdens pentest aan het licht komen, zijn lager dan de potentiële financiële verliezen die u kunt lijden als gevolg van een hack. Organisaties die hun mobiele applicaties niet laten pentesten lopen daarnaast niet alleen directe financiële verliezen op, maar ook reputatieschade en juridische schade. Voorkomen is beter dan genezen.