Maandelijkse vulnerability scanning: Eerste maand kosteloos! Meer informatie →
Hero

WIJ ZIJN

HACKIFY

Wat is een mobile app pentest

Icon van een mobile app pentest

Voor veel digitale diensten is de mobiele app inmiddels de belangrijkste ingang. Mensen bankieren, winkelen, regelen hun zorgzaken en werken op hun telefoon. Elke dag opnieuw vertrouwen miljoenen gebruikers daarbij gevoelige transacties en persoonlijke gegevens aan een app toe.

Die mobiliteit brengt eigen risico’s mee. Een app slaat gegevens lokaal op het toestel op, communiceert geregeld via een onbeveiligd wifinetwerk en draait op een telefoon die de gebruiker zelf kan rooten of jailbreaken. Bovendien zit de app-code letterlijk in handen van de gebruiker. Een APK- of IPA-bestand is te downloaden en te decompileren, en daarmee kan iemand hardcoded API-keys, versleutelingsalgoritmes en business logic uit de app halen.

Een mobile app pentest (kort voor mobile app penetratietest, ook wel iOS pentest, Android pentest of mobile application security testing genoemd) onderzoekt de beveiliging van een mobiele app met statische en dynamische analyse. Onze pentesters decompileren de app-code, bekijken de dataopslag, onderscheppen het netwerkverkeer en testen tegen de OWASP Mobile Top 10. Zo brengen we de zwakke plekken in kaart voordat een kwaadwillende hacker ze vindt.


Waarom en wanneer is een mobile app pentest belangrijk?

Een mobiele app verwerkt vaak de gevoeligste gegevens van uw organisatie: inloggegevens van klanten, betaalgegevens, medische dossiers en bedrijfsdocumenten. Die gegevens staan op toestellen die makkelijk kwijtraken, gestolen worden of in verkeerde handen vallen. Eén kwetsbaarheid in de app kan dan leiden tot een groot datalek, een boete van de toezichthouder of reputatieschade.

Een mobile app pentest is verstandig in onder meer deze situaties:

  • Voordat een iOS- of Android-app naar de app store gaat, om de beveiliging te controleren voor de livegang
  • Om aan te tonen dat u voldoet aan PCI DSS voor betaalapps, HIPAA voor zorgapps of GDPR bij het verwerken van persoonsgegevens
  • Bij financiële apps voor bankieren, beleggen of betalen, waar een extra controle op zijn plaats is
  • Als terugkerende controle, bijvoorbeeld door productie-apps jaarlijks te laten testen
  • Na een grote update, om nieuwe functies en codewijzigingen op kwetsbaarheden te onderzoeken

Laat een mobiele app regelmatig testen. In de platforms van Android en iOS en in third-party libraries worden voortdurend nieuwe kwetsbaarheden ontdekt.


Welke vormen van mobile app penetratietests bestaan er?

Een mobile app pentest kan op drie manieren. Het verschil zit in hoeveel voorkennis en toegang de pentester vooraf krijgt.

Black box mobile app pentest (externe aanval)

icon van een blackbox pentest

Bij een blackbox mobile app pentest kruipt onze pentester in de huid van een aanvaller zonder voorkennis van de app. Zo komt de test het dichtst bij een echte aanval van buitenaf.

  • Geen toegang tot de broncode of interne informatie
  • Testen vanuit het oogpunt van een externe aanvaller
  • De meest realistische nabootsing van een echte aanval

Grey box mobile app pentest (beperkte toegang)

icon van een greybox pentest

Een greybox mobile app pentest zit tussen blackbox en whitebox in. De pentester krijgt beperkte informatie en toegang, wat de test realistisch én efficiënt houdt.

  • Toegang tot de app-binaries en testaccounts
  • Basisinformatie over de functionaliteiten van de app
  • Een balans tussen realisme en efficiëntie
  • De meestgekozen vorm voor een mobile app pentest

White box mobile app pentest (volledige toegang)

icon van een whitebox pentest

Bij een whitebox mobile app pentest krijgt onze pentester alle beschikbare informatie, inclusief de broncode en beheeraccounts. Daarmee onderzoeken we de app het grondigst.

  • Volledige toegang tot de broncode en de app-binaries
  • Testen met verschillende gebruikersrollen en rechten
  • Een grondig onderzoek van alle functionaliteiten
  • De meest tijdrovende, maar ook de meest complete vorm
  • Geschikt voor belangrijke apps en voor compliance

Waarom kiezen voor Hackify?

  • Onze ethische hackers hebben minimaal 5 jaar ervaring en 3 certificaten, met de juiste expertise per testonderdeel. Dat ligt boven het branchegebruik van 1 jaar en 1 certificaat.
    • Onze pentesters deden responsible disclosures bij onder meer Philips, Zoom, Oracle en de Politie.
    • Ze wonnen prijzen bij hackcompetities als Hack010, PVIB CTF, Hackerhotel en HackTheHague.
  • Wij kennen de OWASP Mobile Top 10 en de MASTG, en werken met tools als MobSF en Frida.
  • U heeft direct contact met de pentester die uw test uitvoert, zonder accountmanager ertussen.
  • Een mobile app pentest kunnen wij meestal binnen 2 tot 3 weken inplannen.

Meer over onze aanpak en expertise leest u op de pagina over ons.


Plan uw mobile app pentest

Wilt u weten hoe kwetsbaar uw mobiele app is? Neem dan vrijblijvend contact met ons op. We vertellen u graag meer over ons bedrijf en onze aanpak, en horen graag wat de scope van uw app is.

Elke mobiele app is anders, dus stellen wij voor elke opdracht een voorstel op maat op. Een pentest kan binnen 3 weken van start. De uitvoering duurt, afhankelijk van het type test en de complexiteit, tussen 3 dagen en 2 weken.

Klaar om uw mobiele app te laten testen?

Wij analyseren uw Android- of iOS-app op data leakage, onveilige API-aanroepen en kwetsbaarheden in third-party libraries. Vraag een voorstel op maat aan.

Neem contact op

Of mail ons direct via [email protected]

Veelgestelde vragen over mobile app penetratietests

Wat is het verschil tussen een mobile app pentest en een API pentest?

Een mobile app pentest en een API pentest vullen elkaar aan, maar kijken naar iets anders.

Een mobile app pentest richt zich op de app zelf:

  • de beveiliging aan de clientkant, dus de app-code en de manier waarop data wordt opgeslagen
  • hardcoded secrets in het APK- of IPA-bestand
  • lokale opslag in SQLite, SharedPreferences of de Keychain
  • SSL pinning en het controleren van certificaten
  • het omzeilen van root- en jailbreakdetectie
  • de bescherming tegen reverse engineering
  • kwetsbaarheden die eigen zijn aan Android of iOS

Een API pentest kijkt naar de serverkant:

  • de beveiliging van de backend-API’s
  • authenticatie en autorisatie
  • de business logic op de server
  • rate limiting en misbruik van de API

Een volledig onderzoek omvat beide. De mobile pentest test de app, de API pentest de backend. Wij raden u aan beide te laten uitvoeren, omdat kwetsbaarheden vaak juist op de grens tussen app en server zitten.

Wat kost een mobile app pentest?

De prijs van een mobile app pentest is afhankelijk van de scope, de grootte van de applicatie en andere aspecten zoals maatwerk en specifieke vereisten. Na een intakegesprek stellen wij een passend voorstel voor u op dat aansluit bij uw situatie.

Welke mobile app pentest certificeringen zijn er?

Voor het pentesten van mobiele apps bestaan verschillende erkende certificeringen:

  • eMAPT - eLearnSecurity Mobile Application Penetration Tester
  • PMPA - Practical Mobile Pentest Associate (TCM Security)
  • GMOB - GIAC Mobile Device Security Analyst

Ook de certificeringen voor webapplicaties zijn van belang, omdat een mobile app vaak API-calls doet naar backend-endpoints. Deze certificeringen staan voor een hoog niveau op het gebied van mobile security en pentesten.

Welke methodieken worden er gebruikt bij een mobile app pentest?

Bij een mobile app pentest werken wij volgens internationaal erkende methodieken:

Daarnaast houden wij rekening met de OWASP Mobile Top 10, de NCSC-richtlijnen, CWE (Common Weakness Enumeration) en CVSS (Common Vulnerability Scoring System) voor de scoring van de bevindingen.

Welke tools worden er gebruikt bij een mobile app pentest?

Onze pentesters gebruiken bij een mobile app pentest onder meer deze tools:

  • MobSF - Mobile Security Framework voor geautomatiseerde SAST analyse
  • Frida - Runtime instrumentation en hooking voor DAST testing
  • HTTP Toolkit - HTTP(S) debugging proxy, specifiek effectief voor Flutter apps
  • Burp Suite - Webproxy voor API traffic analyse en manipulatie
  • Nmap - Netwerk scanning en service detectie
  • Gobuster - Directory en file enumeration
  • SQLMap - Geautomatiseerde SQL-injectie detectie en exploitatie
  • TestSSL - SSL/TLS configuratie testing
  • Nuclei - Vulnerability scanner voor mobile apps
  • Nikto - Web server vulnerability scanner
  • OWASP ZAP - Open source mobile security scanner
  • Wfuzz - Web fuzzer voor API parameter testing

Wij combineren deze tools altijd met handmatig onderzoek door een ervaren ethical hacker.

Hoe lang duurt een mobile app penetratietest?

Hoe lang een mobile app pentest duurt, hangt af van de complexiteit en de testvorm die u kiest:

  • Black box mobile app pentest: gemiddeld 3 tot 5 dagen
  • Grey box mobile app pentest: gemiddeld een week
  • White box mobile app pentest: gemiddeld 1 tot 2 weken

Heeft u een beperkt budget? Dan kunt u ook kiezen voor een timeboxed pentest. U geeft aan hoeveel budget er is en wij bepalen daarmee hoeveel tijd we aan de test besteden. We leggen de focus op de belangrijkste en best vindbare bevindingen. Dat is een goede eerste stap voor organisaties die nog niet eerder een pentest hebben laten doen.

Hoe voer je een mobile app pentest uit?

Een mobile app pentest verloopt in twee fasen, volgens de OWASP Mobile Application Security Testing Guide (MASTG).

In de eerste fase doen wij statische analyse (SAST):

  • We decompileren de app. Een Android APK halen we uit elkaar met APKTool en jadx, een iOS IPA analyseren we met Hopper of Ghidra.
  • We doen een geautomatiseerde scan met MobSF, die zoekt naar hardcoded secrets, onveilige opslag, zwakke cryptografie en kwetsbaarheden in de code.
  • We lezen de code handmatig na op hardcoded inloggegevens, API-keys, de manier van dataopslag, platform permissions en third-party dependencies.
  • We bekijken de binary op debug symbols, code-obfuscatie, root- en jailbreakdetectie en anti-debugging.

In de tweede fase doen wij dynamische analyse (DAST):

  • We zetten een testomgeving op met een geroote Android-telefoon of een jailbroken iOS-toestel en een proxy (Burp Suite, of HTTP Toolkit voor Flutter-apps).
  • We onderzoeken het netwerkverkeer: de SSL/TLS-beveiliging, de API-security en de authenticatie en autorisatie.
  • We gebruiken Frida om security controls te hooken, SSL pinning te omzeilen en root- en jailbreakdetectie uit te schakelen.
  • We lopen alle tien categorieën van de OWASP Mobile Top 10 systematisch na. Met deze twee fasen onderzoeken we zowel de app zelf als de backend erachter.

Welke types mobile apps kunnen jullie testen?

Wij testen alle soorten mobiele apps op iOS en Android.

Native apps:

  • iOS-apps in Swift of Objective-C, met volledige toegang tot de iOS SDK en frameworks
  • Android-apps in Kotlin of Java, met de Android SDK en Jetpack-libraries

Hybride apps die op meerdere platforms draaien:

  • React Native, een JavaScript- en React-codebase met native rendering
  • Flutter, een Dart-codebase met een eigen rendering engine
  • Ionic, webtechnologie (HTML, CSS en JavaScript) in een WebView
  • Xamarin, een C#-codebase die native wordt gecompileerd

Progressive web apps (PWA’s):

  • webapps van HTML, CSS en JavaScript die zich gedragen als een native app
  • te installeren via het beginscherm
  • met offline functionaliteit dankzij Service Workers

Elk type heeft eigen aandachtspunten. Wij stemmen onze aanpak daarop af.

Wat zijn de meest voorkomende mobile app kwetsbaarheden?

De kwetsbaarheden die het vaakst in mobiele apps voorkomen, staan in de OWASP Mobile Top 10:

  1. M01, improper platform usage: verkeerd gebruik van de platformfuncties en security controls van Android of iOS
  2. M02, insecure data storage: gevoelige data onbeveiligd opgeslagen in SharedPreferences, UserDefaults of SQLite
  3. M03, insecure communication: onversleuteld verkeer, ontbrekende SSL/TLS of geen controle van certificaten
  4. M04, insecure authentication: zwakke authenticatie, controle aan de clientkant en het omzeilen van biometrie
  5. M05, insufficient cryptography: zwakke versleuteling, hardcoded keys en zelfgebouwde crypto
  6. M06, insecure authorization: privilege escalation, IDOR en ontbrekende autorisatie op de server
  7. M07, client code quality: buffer overflows, geheugencorruptie en gebrekkige invoercontrole
  8. M08, code tampering: reverse engineering, repackaging en ontbrekende integriteitscontroles
  9. M09, reverse engineering: geen code-obfuscatie, debug symbols en zichtbare business logic
  10. M10, extraneous functionality: debug-endpoints, testaccounts en verborgen functies

Deze kwetsbaarheden vormen de basis van elke mobile app pentest. Wij lopen ze stap voor stap na volgens de OWASP Mobile Application Security Testing Guide.