in ,

[Hack in Paris 2012] Formation « Applications iOS : Attaque et Défense »

Anastasia (@anastayseea) revient sur la formation « iOS Applications Attack and Defense »


L’événement à ne pas rater ce mois-ci c’était Hack in Paris.  Du 18 au 22 juin, le Centre de Congrès de Disneyland Paris a vu débarquer des informaticiens de tous poils dans le cadre d’une convention qui fait déjà office de référence. Organisé pour la seconde année, le regroupement d’experts en sécurité informatique se déroule exclusivement en anglais et réuni les professionnels et les passionnés. L’événement propose 6 formations, 16 conférences et les trois premiers jours sont exclusivement consacrés à des formations en sécurité informatique.


Pour ma part, j’ai choisi la formation « iOS  Attaque et défense » animée par Sébastien Andrivet, co-fondateur d’ADVTools. Cette société suisse propose une large palette de services allant des tests d’intrusion, du hacking éthique, des audits de sécurité d’applications/d’infrastructures, du diagnostic de problèmes, du forensic après incident et propose également des formations.


Jour 1 : iOS, vous avez dit iOS ?


La première journée a été consacrée aux principes fondamentaux de la sécurité informatique, à la sécurité des appareils iOS (iPhone, iPad, iPod touch et Apple TV) ainsi qu’aux attaques locales.


Le cours a débuté par une brève introduction aux principes et modèles de SSI. Parmi les concepts cités : le tryptique DIC (Disponibilité, Intégrité et Confidentialité), les principes de sécurité décrits par Jerry H. Saltzer et Mike D. Schroeder et ceux décrits par IBM & Cigital Corporate.


La simplicité de conception a été mise en avant. En effet, on considère souvent que ce qui est simple et bien conçu est davantage sécurisé. Parallèlement, la protection des données personnelles a fait également sujet à débats. Les applications qui envoient des données personnelles aux services à distance ou qui les stockent sans système de chiffrement ont également été étudiées, d’autant que certaines sont en vente sur l’App Store.


D’autres thématiques ont également été développées:




  • La présentation des principaux outils de pentest d’applications iOS avec, comme prérequis, le jailbreak (ou débridage) de l’appareil. Cette procédure indispensable pour auditer les applications iPhone ou iPad vous permet également de prendre contrôle total de votre appareil. Attention cependant car en passant par jailbreak (outils comme redsnow ou absinthe) votre appareil perd en stabilité et vous perdez la garantie Apple. Les participants ont également été initiés aux techniques de reverse engineering avec le désassembleur interactif, IDA ou encore en ligne de commande avec GDB (ou GNU Debugger).

  • Les travaux de la communauté OWASP. Cette dernière travaille essentiellement sur la sécurité des applications Web et a publié en février 2012 ses recommandations pour optimiser la sécurité des appareils mobiles : l’ OWASP Mobile Security Project. Cette solution très générique n’est malheureusement pas très mature et est difficilement utilisable pour le système iOS. Elle semble mieux adaptée aux systèmes Android et BlackBerry.

  • L’exportation du chiffrement a été soulevée. Physiquement, les applications iOS sont stockées aux Etats-Unis et tout chiffrement des données sensibles requiert un agrément du département du Commerce américain. La procédure, fastidieuse, dure entre 3 semaines et 6 mois.


 Jour 2 : Attaques à distance + techniques de défense


La suite de la formation s’est également avérée intense ! La deuxième partie a été axée sur les attaques à distance de type Man-in-The-Middle ainsi que sur les injections de certificats SSL.


D’autres points techniques ont été soulignés :




  • L’étude de vulnérabilités via les tunnels ssh en utilisant tcpdump et wireshark, les analyseurs de paquets envoyés sur le réseau ainsi que Burp (outils permettant d’effectuer des tests de sécurité sur des applications Web).

  • La partie dédiée aux développeurs iOS, au langage Objective-C, aux outils de développement tels que XCode et la création de bases de données avec SQLite a également été mis à l’honneur.


Jour 3 : Challenge + techniques avancées


Hack in Paris oblige, il fallait mettre un peu de défi dans l’air ! La fin de la formation a vu s’affronter les participants dans une course au piratage. Le but : identifier et profiter de la faille de web service d’une application iOS spécialement conçue par Sébastien Andrivet. Trois heures seulement furent nécessaires aux plus aguerris pour triompher de cette épreuve … Félicitations aux gagnants!


Bilan


Hack in Paris a réussi un grand écart surprenant : associer un cadre technique avec des formations pédagogiques. La formation suivie s’est avérée très pratique, avec des exemples d’applications et des techniques d’audit. Nous avons beaucoup appris sur les appareils iOS et les failles possibles et étudié la politique d’Apple (qui reste très floue) en termes de protection de données personnelles de leurs clients.


Ce séminaire nous a fait découvrir de nouveaux horizons et nous a apporté de nouveaux centres d’intérêts. Nous espérons ainsi que la sortie d’iOS 6 nous apportera une bonne nouvelle en termes de sécurité.  Les appareils iOS vont notamment demander la permission d’accès de l’utilisateur aux données personnelles pour les applications.


Remerciements


Suite à ces 5 journées de formations et de conférences, j’aimerais remercier, dans un premiers temps, Nicolas Caproni de m’avoir donné l’opportunité d’assister à la formation ainsi qu’aux conférences de Hack in Paris. Je remercie également Sébastien Andrivet pour la formation de qualité ainsi que les magnifiques livres sur les techniques d’attaque et défense de iOS que j’ai eu la chance d’avoir. Merci et bravo à toute l’équipe d’organisateurs et à Sysdream pour cet événement !


Anastasia Rumyantseva


Vous aimerez aussi cet article:

Newsletter

Envie de ne louper aucun de nos articles ? Abonnez vous pour recevoir chaque semaine les meilleurs actualités avant tout le monde.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *