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

Donnez une autre dimension à vos logs avec Vector

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

Avoir des informations précises et détaillées sur ce qu’il se passe dans une infrastructure, et sur les applications qu'elle héberge est un enjeu critique pour votre business. Cependant, ça demande du temps, temps qu'on préfère parfois se réserver pour d'autres tâches jugées plus prioritaires. Mais qu'un système plante, qu'une application perde les pédales ou qu'une faille de sécurité soit découverte et c'est la panique à bord ! Alors je vous le demande, qui voudrait rester aveugle quand l'observabilité a tout à vous offrir ?

Du graphisme dans un terminal ? Oui, avec sixel

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

On le voit de plus en plus, les outils en ligne de commandes s'étoffent peu à peu d'éléments graphiques sous la forme d'émojis UTF8. Plus qu'une simple décoration, cette pointe de « graphisme » dans un monde de texte apporte réellement un plus en termes d'expérience utilisateur et véhicule, de façon condensée, des informations utiles. Pour autant, cette façon de sortir du cadre purement textuel d'un terminal n'est en rien une nouveauté. Pour preuve, fin des années 80 DEC introduisait le VT340 supportant des graphismes en couleurs, et cette compatibilité existe toujours...

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.

Body