
Sicherheitsprofilierung für Blackbox-iOS
Blackbox-Tool, das hilft zu verstehen, was eine iOS-Anwendung zur Laufzeit tut und bei der Identifizierung potenzieller Sicherheitsprobleme unterstützt.
Siehe http://isecpartners.github.io/Introspy-iOS/ für eine kurze Einführung.
Dies ist das Repository für den Introspy-iOS-Tracer.
Der Tracer kann auf einem Gerät mit Jailbreak installiert werden, um sicherheitsrelevante iOS-APIs, die von auf dem Gerät ausgeführten Anwendungen aufgerufen werden, abzufangen (Hook) und zu protokollieren. Das Tool zeichnet Details der relevanten API-Aufrufe auf, einschließlich Argumenten und Rückgabewerten, und speichert sie in einer Datenbank. Zusätzlich werden die Aufrufe auch an die Konsole gesendet, um eine Echtzeit-Analyse zu ermöglichen.
Diese Datenbank kann anschließend an Introspy-Analyzer übergeben werden, ein Python-Skript, das HTML-Berichte erstellt, die die Liste der protokollierten Funktionsaufrufe sowie eine Liste potenzieller, die Anwendung betreffender Schwachstellen enthält. Introspy-Analyzer wird in einem separaten Repository gehostet: https://github.com/iSECPartners/Introspy-Analyzer
Benutzer sollten zunächst das neueste vorkompilierte Debian-Paket herunterladen, das im Release-Bereich der Projektseite verfügbar ist: https://github.com/integrity-sa/Introspy-iOS/releases oder für ältere Versionen unter https://github.com/iSECPartners/Introspy-iOS/releases
Der Tracer läuft nur auf einem Gerät mit Jailbreak. Stellen Sie mithilfe von Cydia sicher, dass die folgenden Pakete installiert sind:
Laden Sie das Debian-Paket herunter und kopieren Sie es auf das Gerät; installieren Sie es:
scp <package.deb> root@<device_ip>:~
ssh root@<device_ip>
dpkg -i <package.deb>
Führen Sie einen Respring des Geräts aus:
killall -HUP SpringBoard
Im Bereich „Einstellungen“ des Geräts sollten zwei neue Menüs erscheinen. Über das Menü „Apps“ können Sie auswählen, welche Anwendungen profiliert werden, während das Menü „Einstellungen“ festlegt, welche API-Gruppen abgefangen werden.
Beenden Sie abschließend die App, die Sie überwachen möchten, und starten Sie sie neu.
dpkg -r com.isecpartners.introspy
Der Tracer speichert Daten über API-Aufrufe von Anwendungen in einer Datenbank auf dem Gerät (genauer gesagt in jeweils einer in jedem Anwendungsordner). Diese Datenbank kann an ein Python-Skript namens Introspy-Analyzer übergeben werden, um HTML-Berichte zu erzeugen, die die Auswertung der vom Tracer gesammelten Daten erheblich erleichtern. Das Skript analysiert und markiert außerdem gefährliche API-Aufrufe, um die Identifizierung von Schwachstellen in iOS-Anwendungen zu unterstützen.
Introspy-Analyzer wird in einem separaten Repository gehostet: https://github.com/iSECPartners/Introspy-Analyzer
Die meisten Benutzer sollten einfach das vorkompilierte Debian-Paket herunterladen und installieren. Wenn Sie jedoch die Funktionalität der Bibliothek ändern möchten, müssen Sie das Debian-Paket selbst erstellen.
Für den Build wird die Theos-Suite benötigt, verfügbar unter https://github.com/theos/theos. Allgemeine Anweisungen zur Installation von Theos finden Sie unter https://github.com/theos/theos/wiki/Installation.
Sie müssen außerdem die Variable $THEOS in Ihrer Umgebung setzen und exportieren, damit make den Wert sieht, wenn Sie es ausführen
export THEOS=/absolute/path/to/theos
export PATH=$THEOS/bin:$PATH
Anschließend kann das Paket mit folgendem Befehl erstellt werden:
make package
Sobald Sie das Debian-Paket erfolgreich erstellt haben, können Sie Theos verwenden, um das Paket automatisch zu installieren und das Gerät neu zu starten (Respring), indem Sie die IP-Adresse des Geräts in der Umgebungsvariable THEOS_DEVICE_IP angeben:
export THEOS_DEVICE_IP=192.168.1.127
make install
Siehe ./LICENSE.