MISC Hors-série N°
Numéro
7

Le guide du Reverse Engineering

Temporalité
Mai/Juin 2013
Image promotionnelle
Introduction au reverse engineering
Article mis en avant

Résumé

Il existe une multitude d'approches pour rétro-concevoir un produit. Après avoir présenté les différents contextes d'analyse nous évoquerons quelques techniques issues des domaines de la vérification et validation de logiciels.

Dans ce numéro...


L’ingénierie inverse ou « reverse engineering », souvent abrégé « reverse » dans le jargon informatique, consiste à analyser un système jusqu’à être capable de le dupliquer, voire de l’améliorer. Il existe une activité industrielle importante autour de la fabrication de pièces détachées pour des systèmes dont le fabricant n’assure plus le support, ou a purement et simplement disparu.
Cet article aborde l’obfuscation de langage interprété (Java/JavaScript, Perl, PHP). Dans un premier temps, il détaille ce que nous entendons par obfuscation, les techniques utilisées et les buts recherchés, que ce soit du point de vue de l’attaquant ou de celui du défenseur. Ensuite, cet article détaille des cas d’usage avant d’apporter des pistes sur la détection de code obfusqué et sa désobfuscation.
Lors de la capture ou de la découverte d'un malware dans un environnement comptant des milliers de postes, les questions du « management » ne se feront pas attendre. Quels sont les risques réels de ce logiciel malicieux ? Était-ce une attaque ciblée ? Est-ce que des données confidentielles ont été volées ? En un mot, quels sont les risques effectifs provenant de cette attaque ?
Lors de l'analyse de programmes, qu'ils soient malveillants ou non, il est fréquent de se retrouver confronté à un packer. Cette protection, ajoutée après la compilation du programme, ralentit l'analyse du programme et peut rendre certains outils d'analyse inopérants. Elle doit donc être contournée, ou mieux : supprimée. Cet article présente les différentes techniques et astuces que nous utilisons pour parvenir à nos fins le plus rapidement possible.
Petite devinette : à part leurs implications dans la sécurité des systèmes d’information, quel point commun existe-t-il entre la recherche de vulnérabilités, les systèmes de détection d’intrusions, la supervision de réseau, le DPI, les pots de miel et la détection de fuites de données ?Trivial me diriez-vous :) Toutes reposent sur la connaissance préalable des protocoles de communication. Mais alors, ces mécanismes de défense sont-ils efficaces en présence de protocoles propriétaires, ou du moins, non documentés ? Vous savez, ce flux USB inconnu, ces paquets UDP bizarres ou ces appels IPC réguliers incompréhensibles…Dans cet article, nous présentons une méthodologie pour disséquer sur le vif, un protocole de communication. Promis, pas de copie d’écrans d’IDA ni d’OllyDbg et à l’inverse, pas de formule mathématique. Pour être précis, ici on dissèque des protocoles inconnus en Python avec « son Netzob et son couteau ».
Cet article propose un aperçu du travail d'une équipe de réponse sur incidents. L’idée est ici de donner à voir la façon dont travaille cette équipe, de la découverte ou réception d’un exploit « 0-day », jusqu’à la mise au point d’une détection.
Le monde mobile est dominé par le système Android. Être capable d'analyser une application Android afin de la comprendre, évaluer sa robustesse ou détecter la présence d'un malware est une compétence de plus en plus recherchée. Cet article synthétise les différentes techniques et outils permettant l'étude d'une application Android.
La rétro-ingénierie sur terminal mobile est un sport à la mode, car il est devenu une alternative sérieuse à l'ordinateur. Les données personnelles, cibles des logiciels malveillants, sont d'ailleurs souvent encore plus sensibles sur ce support. C'est la raison qui pousse de nombreux chercheurs en sécurité à se pencher sur la question. Néanmoins, la documentation pour démarrer sur iOS est très éparse. L'objectif de cet article est donc de donner à nos compatriotes intéressés les armes nécessaires pour commencer efficacement les recherches.
Une plongée dans les profondeurs insoupçonnées de l'API Facebook... « Et pourquoi ne pas se désinscrire de Facebook ? ». L'idée est à la mode. Cependant, les rares à s'y essayer comprennent vite que ce n'est pas qu'une question de volonté. De nombreux écueils rendent l'opération complexe...
Les grandes conférences mondiales de « hacking » du moment comme Black-Hat, CHES ou encore le CCC (Chaos Computer Congress) en Europe [1] [2], présentent régulièrement des résultats et des travaux faisant appel à des méthodes de rétroconception de puces électroniques. Ces techniques sont utilisées pour mettre en évidence des failles de sécurité de dispositifs numériques présentant un caractère sensible en matière de confidentialité, intégrité et disponibilité de service. En effet, elles permettent de porter des attaques intrusives au plus bas niveau d’intégration de l’électronique, c’est-à-dire le « silicium », dans le but d’escamoter des protections physiques ou encore d’extraire des éléments secrets (codes, algorithmes, clés…).

Magazines précédents

Les derniers articles Premiums

Les derniers articles Premium

Cryptographie : débuter par la pratique grâce à picoCTF

Magazine
Marque
Contenu Premium
Spécialité(s)
Résumé

L’apprentissage de la cryptographie n’est pas toujours évident lorsqu’on souhaite le faire par la pratique. Lorsque l’on débute, il existe cependant des challenges accessibles qui permettent de découvrir ce monde passionnant sans avoir de connaissances mathématiques approfondies en la matière. C’est le cas de picoCTF, qui propose une série d’épreuves en cryptographie avec une difficulté progressive et à destination des débutants !

Game & Watch : utilisons judicieusement la mémoire

Magazine
Marque
Contenu Premium
Spécialité(s)
Résumé

Au terme de l'article précédent [1] concernant la transformation de la console Nintendo Game & Watch en plateforme de développement, nous nous sommes heurtés à un problème : les 128 Ko de flash intégrés au microcontrôleur STM32 sont une ressource précieuse, car en quantité réduite. Mais heureusement pour nous, le STM32H7B0 dispose d'une mémoire vive de taille conséquente (~ 1,2 Mo) et se trouve être connecté à une flash externe QSPI offrant autant d'espace. Pour pouvoir développer des codes plus étoffés, nous devons apprendre à utiliser ces deux ressources.

Raspberry Pi Pico : PIO, DMA et mémoire flash

Magazine
Marque
Contenu Premium
Spécialité(s)
Résumé

Le microcontrôleur RP2040 équipant la Pico est une petite merveille et malgré l'absence de connectivité wifi ou Bluetooth, l'étendue des fonctionnalités intégrées reste très impressionnante. Nous avons abordé le sujet du sous-système PIO dans un précédent article [1], mais celui-ci n'était qu'une découverte de la fonctionnalité. Il est temps à présent de pousser plus loin nos expérimentations en mêlant plusieurs ressources à notre disposition : PIO, DMA et accès à la flash QSPI.

Body