
Profiling de segurança para iOS blackbox
Ferramenta de caixa-preta para ajudar a entender o que um aplicativo iOS está fazendo em tempo de execução e auxiliar na identificação de possíveis problemas de segurança.
Veja http://isecpartners.github.io/Introspy-iOS/ para uma introdução rápida.
Este é o repositório do tracer Introspy-iOS.
O tracer pode ser instalado em um dispositivo com jailbreak para interceptar e registrar APIs iOS sensíveis à segurança chamadas por aplicativos em execução no dispositivo. A ferramenta registra detalhes das chamadas de API relevantes, incluindo argumentos e valores de retorno, e os persiste em um banco de dados. Além disso, as chamadas também são enviadas ao Console para análise em tempo real.
O banco de dados pode então ser alimentado ao Introspy-Analyzer, um script Python que gera relatórios HTML contendo a lista de chamadas de função registradas, bem como uma lista de possíveis vulnerabilidades que afetam o aplicativo. O Introspy-Analyzer está hospedado em um repositório separado: https://github.com/iSECPartners/Introspy-Analyzer
Os usuários devem primeiro baixar o pacote Debian pré-compilado mais recente disponível na seção de releases da página do projeto em: https://github.com/integrity-sa/Introspy-iOS/releases ou, para versões mais antigas, em https://github.com/iSECPartners/Introspy-iOS/releases
O tracer só será executado em um dispositivo com jailbreak. Usando o Cydia, certifique-se de que os seguintes pacotes estejam instalados:
Baixe e copie o pacote Debian para o dispositivo; instale-o:
scp <package.deb> root@<device_ip>:~
ssh root@<device_ip>
dpkg -i <package.deb>
Reinicie o SpringBoard do dispositivo:
killall -HUP SpringBoard
Deve haver dois novos menus nas Configurações do dispositivo. O menu Apps permite selecionar quais aplicativos serão analisados, enquanto o menu Settings define quais grupos de API estão sendo interceptados.
Por fim, encerre e reinicie o aplicativo que você deseja monitorar.
dpkg -r com.isecpartners.introspy
O tracer armazenará dados sobre chamadas de API feitas por aplicativos em um banco de dados salvo no dispositivo (na verdade, um na pasta de cada aplicativo). Esse banco de dados pode ser alimentado a um script Python chamado Introspy-Analyzer para gerar relatórios HTML que facilitam muito a revisão dos dados coletados pelo tracer. O script também analisará e sinalizará chamadas de API perigosas para facilitar o processo de identificação de vulnerabilidades em aplicativos iOS.
O Introspy-Analyzer está hospedado em um repositório separado: https://github.com/iSECPartners/Introspy-Analyzer
A maioria dos usuários deve simplesmente baixar e instalar o pacote Debian pré-compilado. No entanto, se você quiser modificar a funcionalidade da biblioteca, será necessário compilar o pacote Debian você mesmo.
A compilação requer o conjunto Theos, disponível em https://github.com/theos/theos. Para instruções gerais sobre como instalar o Theos, veja https://github.com/theos/theos/wiki/Installation.
Você também deve definir a variável $THEOS em seu ambiente e exportá-la para que o make veja seu valor quando você o executar
export THEOS=/absolute/path/to/theos
export PATH=$THEOS/bin:$PATH
Em seguida, o pacote pode ser compilado usando:
make package
Depois de criar o pacote Debian com sucesso, você pode usar o Theos para instalar automaticamente o pacote e reiniciar o SpringBoard do dispositivo especificando o endereço IP do dispositivo na variável de ambiente THEOS_DEVICE_IP:
export THEOS_DEVICE_IP=192.168.1.127
make install
Veja ./LICENSE.