
Profilazione di sicurezza per iOS blackbox
Strumento blackbox per aiutare a capire cosa fa un'applicazione iOS in runtime e assistere nell'identificazione di potenziali problemi di sicurezza.
Vedi http://isecpartners.github.io/Introspy-iOS/ per una rapida introduzione.
Questo è il repository per il tracer Introspy-iOS.
Il tracer può essere installato su un dispositivo jailbroken per agganciare e registrare le API iOS sensibili alla sicurezza chiamate dalle applicazioni in esecuzione sul dispositivo. Lo strumento registra i dettagli delle chiamate API rilevanti, inclusi argomenti e valori di ritorno, e li salva in un database. Inoltre, le chiamate vengono anche inviate alla Console per un'analisi in tempo reale.
Il database può poi essere passato a Introspy-Analyzer, uno script Python per generare report HTML contenenti l'elenco delle chiamate di funzione registrate e un elenco di potenziali vulnerabilità che interessano l'applicazione. Introspy-Analyzer è ospitato in un repository separato: https://github.com/iSECPartners/Introspy-Analyzer
Gli utenti dovrebbero prima scaricare l'ultimo pacchetto Debian precompilato disponibile nella sezione release della pagina del progetto su: https://github.com/integrity-sa/Introspy-iOS/releases o per le release precedenti su https://github.com/iSECPartners/Introspy-iOS/releases
Il tracer funziona solo su un dispositivo jailbroken. Usando Cydia, assicurati che i seguenti pacchetti siano installati:
Scarica e copia il pacchetto Debian sul dispositivo; installalo:
scp <package.deb> root@<device_ip>:~
ssh root@<device_ip>
dpkg -i <package.deb>
Esegui il respring del dispositivo:
killall -HUP SpringBoard
Nelle Impostazioni del dispositivo dovrebbero apparire due nuovi menu. Il menu Apps ti permette di selezionare quali applicazioni verranno profilate, mentre il menu Settings definisce quali gruppi di API vengono agganciati.
Infine, termina e riavvia l'app che vuoi monitorare.
dpkg -r com.isecpartners.introspy
Il tracer salverà i dati sulle chiamate API effettuate dalle applicazioni in un database sul dispositivo (in realtà uno nella cartella di ciascuna applicazione). Questo database può essere passato a uno script Python chiamato Introspy-Analyzer per generare report HTML che rendono molto più facile l'esame dei dati raccolti dal tracer. Lo script analizzerà inoltre e segnalerà le chiamate API pericolose per facilitare il processo di identificazione delle vulnerabilità nelle applicazioni iOS.
Introspy-Analyzer è ospitato in un repository separato: https://github.com/iSECPartners/Introspy-Analyzer
La maggior parte degli utenti dovrebbe semplicemente scaricare e installare il pacchetto Debian precompilato. Tuttavia, se vuoi modificare la funzionalità della libreria, dovrai compilare tu stesso il pacchetto Debian.
La compilazione richiede la suite Theos, disponibile su https://github.com/theos/theos. Per istruzioni generali su come installare Theos, consulta https://github.com/theos/theos/wiki/Installation.
Devi anche impostare la variabile $THEOS nel tuo ambiente ed esportarla, così make ne vedrà il valore quando lo esegui
export THEOS=/absolute/path/to/theos
export PATH=$THEOS/bin:$PATH
Quindi, il pacchetto può essere compilato usando:
make package
Dopo aver creato correttamente il pacchetto Debian, puoi usare Theos per installare automaticamente il pacchetto e fare il respring del dispositivo specificando l'indirizzo IP del dispositivo nella variabile d'ambiente THEOS_DEVICE_IP:
export THEOS_DEVICE_IP=192.168.1.127
make install
Vedi ./LICENSE.