
O Framework de Testes de Segurança para iOS

Needle é uma estrutura modular de código aberto para simplificar o processo de realização de avaliações de segurança de aplicativos iOS.
NOTA: Esta ferramenta foi descontinuada e não é mais mantida. Deixamos o projeto original arquivado para fins de referência.
A Needle foi originalmente desenvolvida para funcionar com iOS 9 e iOS 10. Desde então, a Frida foi lançada e se tornou a ferramenta padrão para avaliações de segurança móvel. Alguns scripts comuns de segurança móvel da Frida foram posteriormente implementados dentro da Needle, pois alguns desses scripts funcionavam melhor ou resolviam alguns problemas que existiam nas ferramentas personalizadas da Needle.
Com o lançamento do iOS 11, surgiram proteções de segurança adicionais que eram boas para o consumidor, mas ruins para a Needle. Essas melhorias essencialmente quebraram a funcionalidade da Needle, e assim a F-Secure enfrentou duas opções:
A F-Secure escolheu a última opção, pois alguns de nossos consultores já haviam começado a usar e contribuir para outra ferramenta quando o destino da Needle estava sendo discutido. Essa ferramenta de terceiros é chamada Objection e pode ser encontrada aqui:
https://github.com/sensepost/objection
A Needle ainda pode ser usada em dispositivos com iOS 10 ou inferior. Se o dispositivo estiver executando iOS 11 ou superior, a F-Secure recomenda o uso do Objection.
Avaliar a segurança de um aplicativo iOS geralmente requer uma infinidade de ferramentas, cada uma desenvolvida para uma necessidade específica e todas com diferentes modos de operação e sintaxe. O ecossistema Android possui ferramentas como "drozer" que resolveram esse problema e visam ser uma "solução única" para a maioria dos casos de uso; no entanto, o iOS não possui um equivalente.
Needle é o framework de testes de segurança iOS da MWR, lançado no Black Hat USA em agosto de 2016. É um framework modular de código aberto que visa simplificar todo o processo de realização de avaliações de segurança de aplicativos iOS, funcionando como um ponto central para isso. A Needle pretende ser útil não apenas para profissionais de segurança, mas também para desenvolvedores que desejam proteger seu código. Alguns exemplos de áreas de teste cobertas pela Needle incluem: armazenamento de dados, comunicação entre processos, comunicações de rede, análise estática de código, hooking e proteções binárias. O único requisito para executar a Needle de forma eficaz é um dispositivo com jailbreak.
O lançamento da versão 1.0.0 proporcionou uma grande reformulação de seu núcleo e a introdução de um novo agente nativo, escrito inteiramente em Objective-C. O novo NeedleAgent é um aplicativo iOS de código aberto complementar à Needle, que permite realizar tarefas programaticamente de forma nativa no dispositivo, eliminando a necessidade de ferramentas de terceiros.
A Needle foi apresentada e utilizada em workshops em diversas conferências internacionais, como Black Hat EUA/Europa, OWASP AppSec e DEEPSEC. Foi também incluída pela ToolsWatch na lista de finalistas para as Principais Ferramentas de Segurança de 2016 e é destaque no Guia de Testes Móveis OWASP.
A Needle é software de código aberto, mantido pela MWR InfoSecurity.
Consulte o Guia de Instalação na Wiki do projeto para detalhes.
Instruções de uso (tanto para usuários comuns quanto para colaboradores) podem ser encontradas na Wiki do projeto.
A Needle é distribuída sob a Licença BSD de 3 cláusulas. Consulte o arquivo LICENSE para detalhes completos.
Para notícias e atualizações, siga @mwrneedle no Twitter e o blog MWR Mobile Tools.
Sinta-se à vontade para enviar issues ou nos contatar pelo Twitter - @mwrneedle, @lancinimarco