Unpacking tips and tricks

Magazine
Marque
MISC
HS n°
Numéro
7
Mois de parution
mai 2013
Spécialités


Résumé

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.


1. Qu'est ce qu'un packer ?

Un packer est un programme qui va modifier un autre programme de manière à fusionner au maximum avec le programme original et ainsi rendre sa suppression la plus difficile possible.

Pour cela deux étapes sont nécessaires :

- Une étape effectuée une fois pour toute lors de la protection du programme (chiffrement/compression du programme, virtualisation du code, etc.),

- Une étape effectuée à chaque exécution du programme, par un loader ajouté par le packer au programme et exécuté avant le code original de l'exécutable.

Ce loader sera exécuté avant le programme et sera chargé de décompresser/déchiffrer le programme, se substituer au loader Windows (notamment pour le chargement des imports, la résolution des relocations), de détecter les outils d'analyse, etc.

Le schéma de la figure 1 donne une représentation simplifiée de ces deux étapes.

 

packer

 

Fig. 1 : Schéma simplifié du fonctionnement général...

Cet article est réservé aux abonnés. Il vous reste 96% à découvrir.
à partir de 21,65€ HT/mois/lecteur pour un accès 5 lecteurs à toute la plateforme
J'en profite


Articles qui pourraient vous intéresser...

Une nouvelle méthode d’imagerie tridimensionnelle pour la rétro-ingénierie des circuits intégrés

Magazine
Marque
Hackable
Numéro
37
Mois de parution
avril 2021
Spécialités
Résumé

La rétro-ingénierie matérielle, et plus particulièrement la rétro-ingénierie du silicium, trouve très rapidement ses limites dans les attaques non invasives où la puce reste fonctionnelle et intègre. Pour pouvoir analyser en profondeur un circuit logique, il faut aujourd’hui forcément passer par une décapsulation et une déstratification, ce qui implique alors la destruction inévitable de la puce. Ces méthodes destructives étaient les seuls moyens d’accéder aux différentes couches d’une puce de silicium et donc de pouvoir reconstituer tout le circuit logique de celle-ci. Mais récemment, des chercheurs ont proposé une nouvelle méthode d’imagerie tridimensionnelle des circuits intégrés, d’abord pour un usage industriel, mais aussi inédit pour la rétro-ingénierie du silicium, qui permet l’analyse en profondeur, sans passer par les processus destructeurs habituels.

Les protections des Secure Elements contre les attaques physiques

Magazine
Marque
MISC
Numéro
114
Mois de parution
mars 2021
Spécialités
Résumé

Écrire du code sécurisé sans bug ni vulnérabilité n’est pas suffisant pour protéger un système contre des attaques matérielles. Les circuits sécurisés, ou Secure Elements, sont de vraies forteresses numériques capables de résister à des attaques évoluées, qui requièrent parfois des moyens colossaux. Que se cache-t-il derrière ces petites puces ?

Découverte de la puce Titan M a.k.a Citadel

Magazine
Marque
MISC
Numéro
114
Mois de parution
mars 2021
Spécialités
Résumé

La puce Titan M ou Citadel est une puce sécurisée sur laquelle repose en grande partie la sécurité des terminaux Android de Google, la gamme Pixel. Dans cet article, nous détaillerons le fonctionnement interne et les usages de ce composant pour lequel peu d’information publique est disponible à ce jour. Nous donnerons également plusieurs pistes pour aider le rétro-ingénieur à travailler sur ce projet.

Introduction à QBDI et ses bindings Python

Magazine
Marque
MISC
Numéro
109
Mois de parution
mai 2020
Spécialités
Résumé

Le présent article traite de l'outil d'instrumentation dynamique QBDI. C'est un framework de DBI (Dynamic Binary Instrumentation), comparable à d'autres projets publics tels qu’Intel PIN, Valgrind ou encore DynamoRIO. Avant d'entrer dans le vif du sujet, quelques rappels peuvent s'avérer nécessaires…

Se protéger de la rétro-ingénierie matérielle

Magazine
Marque
Hackable
Numéro
33
Mois de parution
avril 2020
Spécialités
Résumé

En 2008, la rétro-ingénierie matérielle fut mise sur le devant de la scène par deux chercheurs allemands [14] qui réussirent à casser l'algorithme cryptographique propriétaire Crypto-1 de NXP (Philips), uniquement à l'aide de la rétro-ingénierie matérielle d'une puce de silicium. Cet algorithme était alors utilisé dans les puces RFID Mifare Classic qui étaient elles-mêmes utilisées massivement dans des cartes de métro ou de parking, voire dans des cartes d'accès.