Statische Analyse mobiler Anwendungen



    Eine der Teststufen einer mobilen Anwendung ist die statische Analyse. Statische Anwendungsanalyse ist eine Anwendungsanalyse, ohne Anwendungsfunktionen auszuführen. Das bequemste für mich aus Open Source Frameworks ist MobSF. Wen kümmert's, willkommen unter Katze.

    MobSF führt eine statische Analyse von Anwendungen durch: Android, Apple iOS und Windows Phone und dynamische Analyse: Nur für Android-Anwendungen. Wie Sie eine dynamische Analyse durchführen, erfahren Sie im nächsten Artikel über MobSF. Eine detailliertere Beschreibung und Installationsanleitung finden Sie unter dem Link .

    Führen Sie nach der Installation von MobSF den folgenden Befehl aus, um den Server zu starten (ich habe also selbst geschrieben, deshalb 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 Funktionalität:

    • Datei hochladen;
    • Berichte zu früheren Scans anzeigen;
    • gehe zur API-Dokumentation;
    • Übergang zum GitHub-Projekt.


    Abb. 1. Hauptseite

    Nachdem die Datei heruntergeladen und analysiert wurde, erscheint eine Seite mit dem Ergebnis der Analyse (Abb. 2). Auf der linken Seite befindet sich ein Menü, mit dem Sie schnell über die gesamte Seite navigieren können (das Ergebnis ist einfach die Lautstärke). Welche nützlichen Informationen enthält dieser Screenshot:

    • Anwendungs-Hash-Summe;
    • unterstützte Betriebssystemversionen von Android;
    • Die Anzahl und Art der Komponenten (exportiert oder nicht) ist wichtig, da exportierte Komponenten zu kritischen Schwachstellen führen können.
    • die Möglichkeit, Java- und Smali-Dateien anzuzeigen und herunterzuladen, die von anderen Tools oder manuell analysiert werden können;
    • Sehen Sie sich die Manifestdatei zur Analyse an.


    Abb. 2. Das Ergebnis der Analyse

    Wir gehen weiter. In fig. 3 zeigt Informationen zu dem Zertifikat, das den Antrag signiert hat.


    Abb. 3. Zertifikatsinformationen

    Als Nächstes folgt die Beschreibung der Berechtigungsanalyse, die in der Datei AndroidManifest.xml beschrieben wird (Abb. 4). MobSF analysiert die Berechtigungen der Anwendung, ermittelt deren Status, die Kritikalität und die 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-Berechtigungen

    Die Registerkarte Sicherheitsanalyse -> Codeanalyse (Abbildung 5) zeigt das Ergebnis der Analyse von Java-Code durch einen statischen Analysator, der potenzielle Schwachstellen identifiziert, deren Schweregrad und die Dateien ermittelt, in denen diese Art von Schwachstelle gefunden wurde. In vielerlei Hinsicht sind diese Ergebnisse falsch positiv, aber Sie müssen alles noch einmal überprüfen.


    Abb. 5. Codeanalyse

    Die nächste Registerkarte (Abb. 6) ist die Analyse der Dateien im Dienst virustotal.com. In diesem Fall wurde die Datei nicht als infiziert erkannt.


    Abb. 6. Dateianalyse

    Die Registerkarte URLs (Abb. 7) zeigt die Liste der URLs, IP-Adressen und der Dateien an, in denen sie gespeichert oder aufgerufen werden. In diesem Abschnitt wird analysiert, wohin die Anwendung die Daten sendet oder wo sie die Informationen speichert.


    Abb. 7. Registerkarte URLs

    Die Registerkarte „Strings“ (Abb. 8) analysiert Textdateien, die sich im Verzeichnis res befinden. Bei der Analyse einer Anwendung können diese Dateien schwer zu findende Konten und andere vertrauliche Daten enthalten. Obwohl in meiner Erinnerung dies nicht war.


    Abb. 8. Analyse von Textdateien

    Die Registerkarte „Komponenten“ (Abb. 9) zeigt eine vollständige Liste der Komponenten (Aktivität, Dienst, Inhaltsanbieter und Empfang), importierter Bibliotheken und Dateien ohne Definition der Erweiterung.


    Abb. 9. Liste der Komponenten

    Zusätzlich kann die Quellcode-Analyse mit dem statischen Analysegerät VCG-Scanner durchgeführt werden. VCG benötigt Quellcode. Der Quellcode kann über die Schaltfläche Download Java Code heruntergeladen werden (Abbildung 10). Die Datei wird in einem ZIP-Archiv heruntergeladen. Als nächstes müssen Sie den Ordner mit den Dateien aus dem Archiv extrahieren (Abb. 11).


    Abb. 10. Herunterladen des Quellcodes


    . 11. Quellcode-Extraktion Das

    Scannen des Quellcodes erfolgt wie folgt:

    1. Wählen Sie auf der Registerkarte "Einstellungen" die Option "Java" aus (Abbildung 12).
    2. Wählen Sie auf der Registerkarte "Datei" die Option "Neues Zielverzeichnis" - Abbildung 13.
    3. Wählen Sie auf der Registerkarte "Scannen" die Option "Vollständiger Scan" aus (Abbildung 14).


    Abb.


    Abbildung 12. Auswahl des Quellcodes . 13. Hochladen des Dateiverzeichnisses


    Fig. 14. Starten eines Scans

    Nachdem der Scan abgeschlossen ist, gibt der Scanner die Namen der Schwachstelle, deren Kritikalität, eine kurze Beschreibung und eine Stelle im Quellcode aus (Abb. 15). Sie können eine vollständige Liste der Schwachstellen erhalten und diese nach ihrer Kritikalität sortieren (Abb. 16).


    Abb. 15. Beschreibung der Schwachstellen


    . 16. Eine vollständige Liste der Schwachstellen

    Schlussfolgerung Die

    statische Analyse einer Anwendung und eines Quellcodes liefert grundlegende Konzepte zur Anwendungsarchitektur und möglichen Angriffsvektoren. Entsprechend der Methodik der Firma Hacken beginnt sie mit der Analyse aller Bewerbungen des Kunden, der zu Pentest kam.

    Jetzt auch beliebt: