Les difficultés du désassemblage sur ARM

Magazine
Marque
MISC
Numéro
113
Mois de parution
janvier 2021
Domaines


Résumé

Cet article aborde les problèmes spécifiques à l’architecture ARM qui se posent lorsqu’on désassemble un exécutable, c’est-à-dire lorsqu’on l’analyse statiquement pour en produire une représentation en langage assembleur. En effet, les particularités de l’architecture ARM peuvent rendre le désassemblage – déjà habituellement compliqué – particulièrement ardu.


Commençons par remarquer que par désassemblage nous entendons ici pas seulement la traduction des instructions machines en langage assembleur, mais bien une analyse globale du programme qui va le structurer en routines (l’équivalent de fonctions en langage haut niveau) et définir correctement les données utilisées.

Ainsi, nous présenterons des situations particulières à l’architecture ARM qui rendent cette analyse globale difficile. Pour chacun des problèmes abordés, nous présenterons en particulier la façon dont nous le gérons actuellement dans JEB [JEB], le décompilateur sur lequel nous travaillons et dont la partie désassemblage a occupé (et occupe encore) une bonne partie de notre temps.

1. Tour d’horizon du jeu d’instructions

1.1 Au commencement tout était (relativement) simple

Les processeurs ARM sont des processeurs RISC, donc avec un nombre d’instructions raisonnable (environ 300 dans le jeu d’instructions de base). Une première...

Cet article est réservé aux abonnés. Il vous reste 95% à 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...

Les protections des Secure Elements contre les attaques physiques

Magazine
Marque
MISC
Numéro
114
Mois de parution
mars 2021
Domaines
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 ?

Les environnements sécurisés

Magazine
Marque
MISC
Numéro
114
Mois de parution
mars 2021
Domaines
Résumé

De plus en plus de téléphones et d’objets connectés intègrent un mode d’exécution ou une puce dédiée à la sécurité. Entre les TEE, Secure Enclave, Titan, TPM, cryptoprocesseur, etc. il devient compliqué de s’y retrouver. Pourquoi cette multiplication des puces ? Est-ce vraiment plus sûr ? Cet article tente de répondre à ces questions.

Où en est-on du Pearl Harbor numérique ?

Magazine
Marque
MISC
Numéro
114
Mois de parution
mars 2021
Domaines
Résumé

Emblème du marketing par la peur pour les uns, cygne noir pour les autres, cette appellation désigne l’éventualité d’une attaque informatique éclair contre un pays et qui serait paralysante pour son économie. Le terme fait couler de l’encre depuis au moins 20 ans [1] et nourrit moult fantasmes. Mais sont-ce des fantasmes ? D’aucuns diraient que si en 20 ans il ne s’est rien passé, c’est probablement qu’il y a eu un alarmisme exagéré.

Spectre, 3 ans après

Magazine
Marque
MISC
Numéro
114
Mois de parution
mars 2021
Domaines
Résumé

Spectre, et son pendant Meltdown, est une faille qui repose sur l’architecture moderne de nos processeurs. Dans cet article, nous verrons l’impact que cette vulnérabilité a eu sur le développement d’applications web.