Penetrationstests · Mobile Apps

Mobile-App-Pentest (iOS und Android)

Ein Mobile-App-Pentest prüft, ob die Daten Ihrer Kunden auf dem Smartphone, auf dem Weg zum Server und im Backend selbst sicher sind. Wir testen iOS- und Android-Apps nach OWASP MASVS und MASTG - mit statischer und dynamischer Analyse, für jede Plattform separat und zusammen mit der API, mit der die App kommuniziert.

01Warum

Was bei einer mobilen App schiefgehen kann

Eine mobile App läuft auf einem Gerät, das Sie nicht kontrollieren. Der Benutzer - oder ein Angreifer - kann sie entpacken, den Netzwerkverkehr mitlesen, ihr Verhalten verändern und beliebige Anfragen an den Server senden. Die häufigsten Probleme, die wir finden:

  • sensible Daten auf dem Smartphone ohne Verschlüsselung - Tokens, personenbezogene Daten, Dateien im Cache,
  • im Code hinterlegte Schlüssel und Adressen, die Zugriff auf das Backend oder externe Dienste gewähren,
  • eine schwache Prüfung der TLS-Verbindung, die das Mitlesen und Verändern der Kommunikation ermöglicht,
  • Sicherheit in der App statt auf dem Server - z. B. versteckte Premiumfunktionen oder Limits, die nur auf dem Smartphone geprüft werden,
  • Autorisierungsfehler in der API, die die App nutzt.

02Umfang

Umfang: Mobile-App-Pentest nach OWASP MASVS

MASVS 2.1 gliedert die Anforderungen in acht Gruppen. Die Tests führen wir nach den Verfahren des OWASP MASTG durch.

Anforderungsgruppen des OWASP MASVS 2.1 und Testumfang
MASVS-Gruppe Was wir prüfen
MASVS-STORAGE Sensible Daten auf dem Gerät: Dateien, Datenbanken, Einstellungen, Cache, Logs, Backups, Zwischenablage.
MASVS-CRYPTO Verschlüsselungsalgorithmen und -modi, Erzeugung und Speicherung von Schlüsseln, Nutzung des Schlüsselspeichers des Betriebssystems.
MASVS-AUTH Anmeldung, Sitzung und Tokens, Biometrie, lokale Authentifizierung und ihre Bindung an den Server.
MASVS-NETWORK TLS-Konfiguration, Zertifikatsprüfung, Certificate Pinning, wo es sinnvoll ist.
MASVS-PLATFORM Berechtigungen, Kommunikation zwischen Apps, Deep Links, WebView, Screenshots und Benachrichtigungen.
MASVS-CODE Abhängigkeiten mit bekannten Schwachstellen, Validierung von Eingaben, erzwungene Updates.
MASVS-RESILIENCE Schutz vor Reverse Engineering, Manipulation und Ausführung auf gerooteten oder gejailbreakten Geräten - sofern gefordert.
MASVS-PRIVACY Datenminimierung, Gerätekennungen, Weitergabe von Daten an Bibliotheken und externe Dienste.

03Methoden

Statische und dynamische Analyse

Statische Analyse

Wir entpacken die App und analysieren Code und Ressourcen, ohne sie auszuführen: Wir suchen nach hinterlegten Schlüsseln und Adressen und prüfen die Konfiguration (Manifest, Berechtigungen, Einstellungen zur Netzwerksicherheit), die externen Bibliotheken und ihre Versionen sowie den Einsatz von Kryptografie.

Dynamische Analyse

Wir führen die App auf Testgeräten aus und beobachten ihr Verhalten: Netzwerkverkehr, Schreibvorgänge auf dem Gerät, Reaktionen auf eine abgebrochene Sitzung oder veränderte Daten in Anfragen. Außerdem prüfen wir, was sich nach einer Manipulation der App erreichen lässt - denn ein Angreifer macht genau das auf seinem eigenen Smartphone.

04Plattformen

iOS und Android - was den Test unterscheidet

Unterschiede bei Tests von iOS- und Android-Apps
Bereich iOS Android
Speicherung von Secrets Keychain und Data-Protection-Klassen Android Keystore, EncryptedSharedPreferences
Kommunikation zwischen Apps URL-Schemata, Universal Links, Erweiterungen Intents, exportierte Komponenten, App Links
Netzwerkkonfiguration App Transport Security Network Security Configuration
Verteilung zum Testen TestFlight oder IPA-Datei APK- oder AAB-Datei, geschlossene Tests in Google Play
Typische Fehler Daten in Dateien ohne Schutzklasse, zu weit gefasste URL-Schemata Exportierte Activities, Daten im externen Speicher, Logs

Cross-Platform-Apps (Flutter, React Native und ähnliche) testen wir auf beiden Systemen. Gemeinsamer Code bedeutet nicht gemeinsame Fehler, denn jede Plattform speichert Daten und verwaltet Berechtigungen anders.

05Ablauf

So läuft ein Mobile-App-Pentest ab

Die einzelnen Schritte des Tests - von der Testversion der App bis zum Retest nach Veröffentlichung der korrigierten Version.

  1. Testversion und Konten

    App-Datei oder Zugang über TestFlight bzw. geschlossene Tests in Google Play, Konten für jede Rolle, Informationen zum Backend.

  2. Statische Analyse

    Code und Ressourcen der App ohne Ausführung: Konfiguration, Berechtigungen, Schlüssel, Bibliotheken, Kryptografie.

  3. Dynamische Analyse

    Die App auf Testgeräten: auf dem Smartphone gespeicherte Daten, Netzwerkverkehr, Verhalten nach einer Manipulation.

  4. API-Test

    Anfragen der App an den Server: Authentifizierung, Tokens, Zugriff auf fremde Daten, serverseitige Validierung.

  5. Bericht

    Schwachstellen getrennt nach iOS, Android und Backend - mit Nachweisen, CVSS-Bewertung und Empfehlungen für jedes Team.

  6. Retest

    Prüfung der Korrekturen in der neuen Version von App und Backend, Aktualisierung des Berichts.

Den Bericht schreiben wir so, dass jedes Team sofort weiß, was es betrifft: getrennte Findings für die iOS-App, die Android-App und das Backend, jeweils mit der betroffenen MASVS-Anforderung. So lassen sich die Korrekturen leicht für das nächste Release planen und im Retest prüfen, bevor die neue Version in die Stores kommt.

06Backend

Zur App gehört auch die API

Die meisten Daten einer mobilen App liegen auf dem Server. Auch die am besten geschützte App hilft nicht, wenn die API nach Änderung einer Kennung die Daten eines anderen Benutzers herausgibt oder Preise und Berechtigungen ungeprüft von der App übernimmt. Deshalb prüfen wir beim Mobile-App-Pentest immer die API in dem Umfang, in dem die App sie nutzt: Authentifizierung, Tokens, Autorisierung auf Objektebene und die an den Server übertragenen Daten. Wir prüfen auch, ob der Server ein Update erzwingen und alte App-Versionen mit bekannten Schwachstellen ablehnen kann, sofern die Sicherheitsrichtlinie das verlangt.

Bedient die API mehr Clients als eine einzige App, beschreiben wir den vollständigen Umfang auf der Seite API-Pentest. Einen Überblick über die Ansätze und Pakete finden Sie auf unserer Seite zu Penetrationstests, die Preisfaktoren auf der Seite Pentest-Kosten.

Häufig gestellte Fragen

Testen Sie beide Plattformen, iOS und Android?

Ja. Wir testen jede Plattform separat, weil sie sich bei der Datenspeicherung, den Berechtigungen und den Sicherheitsmechanismen des Betriebssystems unterscheiden. Das Backend, das beide Versionen nutzen, müssen wir dagegen nur einmal testen - deshalb kostet der Test beider Plattformen nicht doppelt so viel wie der Test einer einzigen.

Was benötigen Sie für den Test einer mobilen App?

Die App-Datei (IPA für iOS, APK oder AAB für Android) als Testversion oder einen Zugang über TestFlight bzw. einen geschlossenen Test-Track in Google Play, Testkonten für jede Rolle und Informationen zur Backend-Umgebung. Der Quellcode ist nicht erforderlich, beschleunigt aber die Analyse und erlaubt es, mehr zu prüfen - dann kombinieren wir den Test mit einem Quellcode-Audit.

Braucht eine Cross-Platform-App (Flutter, React Native) einen anderen Test?

Der Umfang ist derselbe - die MASVS-Anforderungen betreffen das Verhalten der App, nicht die Technologie. Unterschiede gibt es beim Handwerkszeug der statischen Analyse, weil die Logik in anderer Form vorliegt als bei nativen Apps. Die Plattformen und ihre Sicherheitsmechanismen prüfen wir genauso wie bei nativen Apps.

Sind Schutzmaßnahmen gegen die Manipulation der App notwendig?

Nicht immer. Schutz vor Reverse Engineering und Manipulation (Gruppe MASVS-RESILIENCE) ist bei Banking- und Zahlungs-Apps oder Apps mit kostenpflichtigen Inhalten sinnvoll. Bei anderen Apps ist wichtiger, dass die Sicherheit nicht davon abhängt, was auf dem Smartphone geschieht - denn ein Angreifer kann sein eigenes Gerät immer kontrollieren.

Umfasst der Test das Backend, mit dem sich die App verbindet?

Ja, soweit die App es nutzt: Authentifizierung, Autorisierung und die an den Server übertragenen Daten. Bedient dieselbe API auch Partner oder eine Webanwendung, sollten Sie einen vollständigen API-Pentest in Betracht ziehen.

Quellen

  1. OWASP Mobile Application Security Verification Standard (MASVS) 2.1 ()
  2. OWASP Mobile Application Security Testing Guide (MASTG) ()
  3. FIRST - Common Vulnerability Scoring System (CVSS) v3.1 und v4.0 ()

Aktualisiert am

Verwandte Leistungen

Passende Fachbeiträge

Sprechen wir über Ihr Projekt oder Audit

Beschreiben Sie kurz Ihren Bedarf - wir melden uns mit einem Vorschlag für die nächsten Schritte. Gespräche führen wir auf Englisch oder Polnisch.

oder telefonisch unter +48 575 621 877