
The iOS Security Testing Framework

Needle est un framework modulaire open source conçu pour simplifier le processus de réalisation d'audits de sécurité des applications iOS.
NOTE : Cet outil a été décommissionné et n'est plus maintenu. Nous laissons le projet original en ligne à des fins d'archivage.
Needle a été conçu à l'origine pour fonctionner avec iOS 9 et iOS 10. Depuis, Frida a été publié et est devenu l'outil de référence pour les audits de sécurité mobiles. Certains scripts de sécurité mobiles courants de Frida ont ensuite été implémentés dans Needle, car certains de ces scripts fonctionnaient mieux ou résolvaient certains problèmes présents dans les outils personnalisés de Needle.
Avec la sortie d'iOS 11, des protections de sécurité supplémentaires ont été ajoutées, bonnes pour le consommateur mais mauvaises pour Needle. Ces améliorations ont essentiellement cassé les fonctionnalités de Needle, et F-Secure s'est retrouvé face à deux options :
F-Secure a choisi la seconde option, car certains de nos consultants avaient déjà commencé à utiliser et à contribuer à un autre outil lorsque le sort de Needle était discuté. Cet outil tiers s'appelle Objection et se trouve ici :
https://github.com/sensepost/objection
Needle peut encore être utilisé sur les appareils fonctionnant sous iOS 10 et versions antérieures. Si l'appareil est sous iOS 11 ou supérieur, F-Secure recommande d'utiliser Objection à la place.
Évaluer la sécurité d'une application iOS nécessite généralement une multitude d'outils, chacun développé pour un besoin spécifique et tous avec des modes de fonctionnement et une syntaxe différents. L'écosystème Android dispose d'outils comme "drozer" qui ont résolu ce problème et visent à être un « guichet unique » pour la plupart des cas d'utilisation, mais iOS n'a pas d'équivalent.
Needle est le framework de test de sécurité iOS de MWR, présenté au Black Hat USA en août 2016. C'est un framework modulaire open source qui vise à rationaliser l'ensemble du processus de réalisation d'audits de sécurité des applications iOS, et sert de point central pour ce faire. Needle est destiné à être utile non seulement aux professionnels de la sécurité, mais aussi aux développeurs cherchant à sécuriser leur code. Voici quelques exemples de domaines de test couverts par Needle : stockage de données, communication inter-processus, communications réseau, analyse statique de code, hooking et protections binaires. La seule condition pour exécuter Needle efficacement est un appareil jailbreaké.
La publication de la version 1.0.0 a apporté une refonte majeure de son noyau et l'introduction d'un nouvel agent natif, écrit entièrement en Objective-C. Le nouveau NeedleAgent est une application iOS open source complémentaire à Needle, qui permet d'effectuer programmatiquement des tâches en natif sur l'appareil, éliminant ainsi le besoin d'outils tiers.
Needle a été présenté et utilisé dans des ateliers lors de diverses conférences internationales telles que Black Hat USA/EU, OWASP AppSec et DEEPSEC. Il a également été inclus par ToolsWatch dans la liste restreinte des Top Security Tools de 2016, et figure dans le OWASP Mobile Testing Guide.
Needle est un logiciel open source maintenu par MWR InfoSecurity.
Voir le Guide d'installation dans le Wiki du projet pour plus de détails.
Les instructions d'utilisation (pour les utilisateurs standard et les contributeurs) se trouvent dans le Wiki du projet.
Needle est publié sous la licence BSD à 3 clauses. Voir le fichier LICENSE pour tous les détails.
Pour les actualités et les mises à jour, suivez @mwrneedle sur Twitter et le blog MWR Mobile Tools.
N'hésitez pas à soumettre des problèmes ou à nous contacter sur Twitter - @mwrneedle, @lancinimarco.