
Eine der Phasen des Testens einer mobilen Anwendung ist eine statische Analyse. Statische Analyse der Anwendung ist die Analyse der Anwendung ohne Ausführung von Anwendungsfunktionen. Das für mich bequemste Open-Source-Framework ist MobSF. Wen kümmert es, willkommen bei Katze.
MobSF führt eine statische Analyse von Anwendungen durch: Android, Apple iOS und Windows Phone sowie eine dynamische Analyse: nur Android-Anwendungen. Ich werde Ihnen im nächsten Artikel über MobSF erklären, wie Sie dynamische Analysen durchführen. Eine ausführlichere Beschreibung und Installationsanleitung finden Sie
hier .
Nach der Installation von MobSF führen wir die folgende Batch-Datei aus, um den Server zu starten (ich habe für mich selbst geschrieben, daher Laufwerk D).
d: cd .\MobSF\ python .\manage.py runserver
Als nächstes müssen Sie zur Adresse
http [:] // 127.0.0.1:8000 gehen und die Hauptseite wird geöffnet (Abb. 1). Hier gibt es nicht viel Funktionales:
- Datei-Upload;
- Berichte über vergangene Scans anzeigen;
- Wechseln Sie zur API-Dokumentation
- Übergang zum Github-Projekt.
Abb. 1. Die HauptseiteNachdem die Datei heruntergeladen und analysiert wurde, wird eine Seite mit dem Analyseergebnis angezeigt (Abb. 2). Auf der linken Seite befindet sich ein Menü, mit dem Sie schnell über die Seite springen können (das Ergebnis ist einfach umfangreich). Welche nützlichen Informationen enthält dieser Screenshot:
- Anwendungs-Hash-Menge
- Unterstützte Android-Betriebssystemversionen
- Die Anzahl und Art der Komponenten (exportiert oder nicht exportiert) ist wichtig, da exportierte Komponenten zu kritischen Sicherheitslücken führen können.
- die Möglichkeit, Java- und Smali-Dateien anzuzeigen und herunterzuladen, die mit anderen Tools oder manuell analysiert werden können;
- Zeigen Sie die Manifestdatei zur Analyse an.
Abb. 2. Das Ergebnis der AnalyseWir gehen weiter. In Abb. Abbildung 3 zeigt die Zertifikatinformationen, mit denen die Anwendung signiert wurde.
Abb. 3. ZertifikatsinformationenIm Folgenden wird die Analyse der Berechtigungen beschrieben, die in der Datei AndroidManifest.xml beschrieben sind (Abb. 4). MobSF analysiert die Berechtigungen der Anwendung, ermittelt ihren Status auf Kritikalität und Beschreibung der Berechtigungen. Hier müssen Sie die Architektur des Android-Betriebssystems für die tatsächliche Kritikalität der Anwendung verstehen.
Abb. 4. Analyse der Android-BerechtigungenDie Registerkarte Sicherheitsanalyse -> Code-Analyse (Abb. 5) zeigt das Ergebnis der Java-Code-Analyse durch einen statischen Analysator, der potenzielle Schwachstellen identifiziert, deren Schweregrad ermittelt und die Dateien ermittelt, in denen diese Art von Schwachstelle gefunden wurde. In vielerlei Hinsicht sind diese Ergebnisse falsch positiv, aber Sie müssen dies noch einmal überprüfen.
Abb. 5. Code-AnalyseDie nächste Registerkarte (Abb. 6) ist die Analyse von Dateien im Dienst virustotal.com. In diesem Fall wurde die Datei nicht als infiziert erkannt.
Abb. 6. DateianalyseAuf der Registerkarte URLs (Abbildung 7) wird eine Liste der URLs, IP-Adressen und Dateien angezeigt, in denen sie gespeichert oder aufgerufen werden. In diesem Abschnitt wird analysiert, wohin die Anwendung Daten sendet oder wo sie Informationen speichert.
Abb. 7. Tab-URLsDie Registerkarte „Strings“ (Abb. 8) analysiert die Textdateien im Verzeichnis res. Bei der Analyse der Anwendung können diese Dateien fest codierte Konten und andere vertrauliche Daten enthalten. Obwohl in meiner Erinnerung dies nicht war.
Abb. 8. Analyse von TextdateienAuf der Registerkarte „Komponenten“ (Abb. 9) wird eine vollständige Liste der Komponenten (Aktivität, Dienst, Inhaltsanbieter und Empfang), importierter Bibliotheken und Dateien angezeigt, ohne eine Erweiterung zu definieren.
Abb. 9. Liste der KomponentenZusätzlich kann die Quellcode-Analyse mit dem statischen Analysator des VCG-Scanners durchgeführt werden. VCG benötigt Quellcode. Der Quellcode kann über die Schaltfläche Java-Code herunterladen heruntergeladen werden (Abb. 10). Die Datei wird in ein ZIP-Archiv heruntergeladen. Als nächstes müssen Sie den Ordner mit Dateien aus dem Archiv extrahieren (Abb. 11).
Abb. 10. Herunterladen des Quellcodes
Abb. 11. Extrahieren des QuellcodesDas Scannen des Quellcodes erfolgt wie folgt:
- Wählen Sie auf der Registerkarte "Einstellungen" "Java" aus - Abbildung 12.
- Wählen Sie auf der Registerkarte "Datei" die Option "Neues Zielverzeichnis" aus - Abbildung 13.
- Wählen Sie auf der Registerkarte "Scannen" die Option "Vollständiger Scan" - Abbildung 14.
Abb. 12. Auswahl des Quellcodes
Abb. 13. Hochladen eines Verzeichnisses mit Dateien
Abb. 14. Starten Sie den ScanNach Abschluss des Scans zeigt der Scanner die Namen der Sicherheitsanfälligkeit, ihre Kritikalität, eine kurze Beschreibung und die Stelle im Quellcode an (Abb. 15). Sie können eine vollständige Liste der Schwachstellen abrufen und diese nach ihrer Kritikalität sortieren (Abb. 16).
Abb. 15. Beschreibung der Sicherheitslücken
Abb. 16. Die vollständige Liste der SicherheitslückenFazitDie statische Analyse der Anwendung und des Quellcodes liefert grundlegende Konzepte zur Architektur der Anwendung und zu potenziellen Angriffsvektoren. Nach der von
ByteCode verwendeten Methodik
beginnt von ihm die Analyse aller Anwendungen des Kunden, der zum Pentest gekommen ist.