Penetrationstest für mobile Anwendungen
Eine mobile App läuft auf einem Gerät, das Ihnen nicht gehört. Alles, was in ihr steckt – Schlüssel, Adressen, Logik – kann jemand auslesen, der das Gerät kontrolliert. Der Test prüft deshalb zwei Ebenen: was die App auf dem Gerät preisgibt, und ob das Backend sich darauf verlässt, dass die Anfragen von einer unveränderten App kommen.
- Lokale Datenhaltung: Was liegt unverschlüsselt auf dem Gerät, was landet in Zwischenspeichern und Protokollen
- Kommunikation mit dem Backend: Verschlüsselung, Zertifikatsprüfung, Umgehbarkeit
- Authentifizierung und Sitzungen, einschließlich biometrischer Verfahren
- Fest eingebaute Schlüssel und Zugangsdaten in der Anwendung
- Serverseitige Prüfung: Verlässt sich das Backend auf Kontrollen, die in der App stattfinden?
- Schutz gegen Manipulation und Analyse der Anwendung
- Berechtigungen und Umgang mit anderen Apps auf dem Gerät
Was wir prüfen
- Lokale Datenhaltung: Was liegt unverschlüsselt auf dem Gerät, was landet in Zwischenspeichern und Protokollen
- Kommunikation mit dem Backend: Verschlüsselung, Zertifikatsprüfung, Umgehbarkeit
- Authentifizierung und Sitzungen, einschließlich biometrischer Verfahren
- Fest eingebaute Schlüssel und Zugangsdaten in der Anwendung
- Serverseitige Prüfung: Verlässt sich das Backend auf Kontrollen, die in der App stattfinden?
- Schutz gegen Manipulation und Analyse der Anwendung
- Berechtigungen und Umgang mit anderen Apps auf dem Gerät
Was wir dabei typischerweise finden
Prüfungen nur in der App
Die Anwendung verhindert eine Eingabe, das Backend akzeptiert sie trotzdem. Wer die App umgeht und direkt mit der Schnittstelle spricht, umgeht damit die gesamte Kontrolle.
Schlüssel im Programmcode
API-Schlüssel oder Zugangsdaten, die sich aus dem Installationspaket auslesen lassen. Sie gelten oft für alle Nutzer gleichzeitig.
Daten im Klartext auf dem Gerät
Zugangsdaten, Belege oder Kundendaten in einer lokalen Datenbank ohne Verschlüsselung – auslesbar, sobald das Gerät verloren geht oder kompromittiert ist.
Was Sie dafür bereitstellen
- Ein Installationspaket der zu prüfenden Version (IPA beziehungsweise APK)
- Testkonten für alle Rollen, getrennt von produktiven Konten
- Eine Backend-Umgebung, gegen die geprüft werden darf
- Bei iOS: einen Verteilungsweg für die Testinstallation
Häufige Fragen
Prüfen Sie auch das Backend?
Ja, und das ist meist der wichtigere Teil. Die schwerwiegenden Funde liegen fast immer in der Schnittstelle, nicht in der App: fehlende Berechtigungsprüfungen, zu weit gefasste Antworten, Vertrauen in Werte, die der Client mitschickt.
Brauchen wir für iOS und Android zwei Tests?
Die Backend-Prüfung fällt nur einmal an. Die gerätenahen Prüfungen unterscheiden sich, sind aber im zweiten Durchgang deutlich schneller, weil die Anwendungslogik bereits bekannt ist. Zwei Plattformen kosten daher spürbar weniger als das Doppelte.
Nach welchem Maßstab prüfen Sie?
Wir orientieren uns am Mobile Application Security Verification Standard (MASVS) der OWASP und ergänzen ihn um die Prüfung der Geschäftslogik – die deckt kein Standard vollständig ab.
Was ist mit Apps, die wir nur einkaufen?
Auch die lassen sich prüfen, und das Ergebnis ist gegenüber dem Hersteller verwendbar. Rechtlich ist vorab zu klären, ob die Lizenzbedingungen eine Analyse zulassen – das prüfen wir im Scoping mit.
Quellen und weiterführende Informationen
- BSI: Durchführungskonzept für Penetrationstests (Studie)
- OWASP Top 10 – die häufigsten Web-Schwachstellen
- FIRST: Common Vulnerability Scoring System (CVSS)
Zuletzt aktualisiert am · Inhaltlich verantwortlich: Christian Renkes, Geschäftsführer der Nica Systems GmbH.
Kontakt
Nica Systems GmbH, Reisholzer Bahnstraße 41, 40599 Düsseldorf
Telefon: 0211 17520840
E-Mail: Kontaktformular
Erreichbarkeit: Mo–Fr 09:00–17:00 Uhr, Incident Response rund um die Uhr
Bitte aktivieren Sie JavaScript für die vollständige, interaktive Website.