Tests von mobilen Anwendungen
Warum ist es sinnvoll, mobile Anwendungen zu testen?
Alle mobilen Anwendungen, die vertrauliche oder sensible Informationen über Benutzer speichern, sollten in einer vertrauenswürdigen Umgebung betrieben werden. Die meisten mobilen Anwendungen verfügen über solche Daten. Cyberkriminelle versuchen nicht nur, unser Geld zu stehlen. Sie sind auch auf der Suche nach Punkten aus Treueprogrammen, Daten von Rabattkarten oder Kryptowährungs-Wallets.
Selbst die Nutzung offizieller App-Stores bietet keine Garantie für die Sicherheit der heruntergeladenen Anwendung.
Was erhalte ich nach den Tests?
Welche Daten kann die in einer mobilen App eingeschleuste Schadsoftware erfassen?
- App-Benachrichtigungen
- Textnachrichten
- PIN-Codes
- Bildschirmsperrmuster
- Zwei-Faktor-Authentifizierungscodes
- Kontaktliste
- Zugangsdaten zu anderen Apps
Eine weitere Gefahr ist der Zugriff auf den Bildschirm des Opfers in Echtzeit. Der Cyberkriminelle kann dann alles sehen, was wir auf dem Bildschirm unseres Smartphones tun. Es besteht auch die Gefahr, dass beispielsweise ein Anmeldefenster durch ein gefälschtes Fenster ersetzt wird, das den Benutzernamen und das Passwort erfasst. Dies sind nur einige der möglichen Szenarien, weshalb es so wichtig ist, Anwendungen regelmäßig zu überprüfen und zu überwachen.
Die Sicherheitstests für mobile Anwendungen umfassen je nach Bedarf:
- Analyse der Art und Weise, wie Sitzungen in der mobilen Anwendung verwaltet werden
- Überprüfung der Art und Weise, wie die Anwendung Authentifizierungsdaten speichert
- Überprüfung der Art und Weise, wie Dateien im lokalen Speicher gespeichert werden
- Versuch der Dekompilierung der Anwendung (um einfache Möglichkeiten zur Analyse der Anwendung/zum Zugriff auf die Geschäftslogik der Anwendung auf Kundenseite zu ermitteln)
- Analyse der Art und Weise der Umsetzung von Autorisierungsmechanismen in der Anwendung (lokal vs. serverbasiert sowie Überprüfungen für den serverbasierten Teil)
- Analyse der Art der Verbindung mit der Backend-Komponente (Gewährleistung der Vertraulichkeit/Integrität der Übertragung)
- Analyse der in der Backend-Komponente bereitgestellten Elemente – einschließlich der Erkennung möglicher Informationslecks (gilt nur für URLs, auf die die Anwendung verweist)
- Analyse der technischen Injektionen in Backend-Komponenten
- Verarbeitung geschützter Daten auf der Geräteseite – deren Verschlüsselung, Speicherung, Verarbeitung im Arbeitsspeicher oder in Klassen/Methoden/Funktionen
- Kommunikationswege mit dem Server – Übertragungssicherheit, Möglichkeiten der Server-Identitätsfälschung
Analyse der kryptografischen Sicherheit der Anwendung – Auswahl und korrekte Implementierung von Algorithmen - Analyse der Sicherheit der verwendeten externen Bibliotheken
- Sicherheitsprüfung der verwendeten Protokolle
- Erkennung logischer Fehler auf der Anwendungsseite – Möglichkeiten zur Umgehung der Authentifizierung, Autorisierung, Identitätsdiebstahl, Umgehung implementierter Kontrollen
- Überprüfung der Sicherheit der implementierten „Push”-Mechanismen,
- Erkennung der Anfälligkeit für bekannte Angriffstypen, z. B. Verwendung nicht initialisierter Speicherbereiche, „Stack/Heap Overflow”, „Integer Overflow”, „Memory Leaks”, „Double Free” und andere, die von der verwendeten Technologie abhängen
- Überprüfung des Schutzes vor Informationslecks
- Analyse des Schutzes der Privatsphäre der Anwendungsbenutzer.
- Erkennung von Schwachstellen auf der Seite des Servers, der die Anwendung bedient.
Wir führen Tests von Android- und iOS-Anwendungen (iPhone, iPad) durch.


