Penetrationstests · API
API
API-Pentest nach OWASP API Security Top 10 2023: Autorisierung auf Objektebene, OAuth 2.0, JWT, GraphQL und Webhooks. Bericht mit Nachweisen und Retest.
Penetrationstests · Mobile Apps
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
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:
02Umfang
MASVS 2.1 gliedert die Anforderungen in acht Gruppen. Die Tests führen wir nach den Verfahren des OWASP MASTG durch.
| 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
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.
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
| 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
Die einzelnen Schritte des Tests - von der Testversion der App bis zum Retest nach Veröffentlichung der korrigierten Version.
App-Datei oder Zugang über TestFlight bzw. geschlossene Tests in Google Play, Konten für jede Rolle, Informationen zum Backend.
Code und Ressourcen der App ohne Ausführung: Konfiguration, Berechtigungen, Schlüssel, Bibliotheken, Kryptografie.
Die App auf Testgeräten: auf dem Smartphone gespeicherte Daten, Netzwerkverkehr, Verhalten nach einer Manipulation.
Anfragen der App an den Server: Authentifizierung, Tokens, Zugriff auf fremde Daten, serverseitige Validierung.
Schwachstellen getrennt nach iOS, Android und Backend - mit Nachweisen, CVSS-Bewertung und Empfehlungen für jedes Team.
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
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.
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.
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.
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.
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.
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.
Penetrationstests · API
API-Pentest nach OWASP API Security Top 10 2023: Autorisierung auf Objektebene, OAuth 2.0, JWT, GraphQL und Webhooks. Bericht mit Nachweisen und Retest.
Individualsoftware · Mobile Apps
App entwickeln lassen für iOS und Android: nativ oder plattformübergreifend, mit sicherem Backend, Veröffentlichung in den Stores und Schutz nach OWASP MASVS.
Penetrationstests · Preise
Was kostet ein Pentest? Wovon der Preis eines Penetrationstests abhängt, unsere Pakete, eine Checkliste für Ihre Anfrage und Warnsignale bei Billigangeboten.
Penetrationstests
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