
Profilage de sécurité pour iOS blackbox
Outil blackbox pour aider à comprendre ce qu'une application iOS fait à l'exécution et faciliter l'identification de problèmes de sécurité potentiels.
Voir http://isecpartners.github.io/Introspy-iOS/ pour une introduction rapide.
Ceci est le dépôt du traceur Introspy-iOS.
Le traceur peut être installé sur un appareil jailbreaké pour intercepter et journaliser les API iOS sensibles en matière de sécurité appelées par les applications exécutées sur l'appareil. L'outil enregistre les détails des appels API pertinents, y compris les arguments et les valeurs de retour, et les conserve dans une base de données. En outre, les appels sont également envoyés à la Console pour une analyse en temps réel.
La base de données peut ensuite être fournie à Introspy-Analyzer, un script Python qui génère des rapports HTML contenant la liste des appels de fonction journalisés ainsi qu'une liste de vulnérabilités potentielles affectant l'application. Introspy-Analyzer est hébergé dans un dépôt séparé : https://github.com/iSECPartners/Introspy-Analyzer
Les utilisateurs doivent d'abord télécharger le dernier paquet Debian précompilé disponible dans la section des versions de la page du projet à l'adresse : https://github.com/integrity-sa/Introspy-iOS/releases ou pour les versions plus anciennes à https://github.com/iSECPartners/Introspy-iOS/releases
Le traceur ne fonctionne que sur un appareil jailbreaké. À l'aide de Cydia, assurez-vous que les paquets suivants sont installés :
Téléchargez et copiez le paquet Debian sur l'appareil, puis installez-le :
scp <package.deb> root@<device_ip>:~
ssh root@<device_ip>
dpkg -i <package.deb>
Redémarrez le SpringBoard de l'appareil :
killall -HUP SpringBoard
Deux nouveaux menus devraient apparaître dans les Réglages de l'appareil. Le menu Apps vous permet de sélectionner les applications à profiler, tandis que le menu Settings définit les groupes d'API qui sont interceptés.
Enfin, tuez et redémarrez l'application que vous souhaitez surveiller.
dpkg -r com.isecpartners.introspy
Le traceur stocke les données concernant les appels API effectués par les applications dans une base de données située sur l'appareil (en réalité une dans le dossier de chaque application). Cette base de données peut être fournie à un script Python nommé Introspy-Analyzer afin de générer des rapports HTML qui rendent l'examen des données collectées par le traceur beaucoup plus facile. Le script analyse également et signale les appels API dangereux afin de faciliter le processus d'identification des vulnérabilités dans les applications iOS.
Introspy-Analyzer est hébergé dans un dépôt séparé : https://github.com/iSECPartners/Introspy-Analyzer
La plupart des utilisateurs doivent simplement télécharger et installer le paquet Debian précompilé. Toutefois, si vous souhaitez modifier les fonctionnalités de la bibliothèque, vous devrez compiler le paquet Debian vous-même.
La compilation nécessite la suite Theos, disponible à l'adresse https://github.com/theos/theos. Pour des instructions générales sur l'installation de Theos, voir https://github.com/theos/theos/wiki/Installation.
Vous devez également définir la variable $THEOS dans votre environnement et l'exporter afin que make voie sa valeur lorsque vous l'exécutez
export THEOS=/absolute/path/to/theos
export PATH=$THEOS/bin:$PATH
Ensuite, le paquet peut être compilé à l'aide de :
make package
Une fois que vous avez créé avec succès le paquet Debian, vous pouvez utiliser Theos pour installer automatiquement le paquet et redémarrer le SpringBoard de l'appareil en spécifiant l'adresse IP de l'appareil dans la variable d'environnement THEOS_DEVICE_IP :
export THEOS_DEVICE_IP=192.168.1.127
make install
Voir ./LICENSE.