L’obfuscation contournée (Partie 1)

Magazine
Marque
MISC
Numéro
41
Mois de parution
janvier 2009
Domaines


Résumé

Implémenter un système pour obscurcir le code d’une application de façon efficace demande au développeur de ce système une connaissance importante dans le domaine de la protection logicielle et notamment dans la furtivité. En plus de devoir connaître les techniques variées utilisées en obfuscation, il doit connaître les méthodes employées par les attaquants pour mettre en déroute ces systèmes de défense.Indubitablement, la grande majorité des reversers utilisent une méthode mixte constituée d’un savant mélange d’analyse statique et d’analyse dynamique. Ils utilisent entre autres la méthode dite de « reconnaissance des patterns » pour éliminer l’obfuscation présente. Il existe des outils semi-automatiques très prometteurs dans ce domaine comme le plugin IDA « DeObfuscator » d’Éric Laspe.


1. Introduction

Si cette méthode d’élimination se révèle très efficace, elle se trouve être également très coûteuse en temps. En effet, l’identification de patterns se fait en général en deux temps : on commence par une reconnaissance « manuelle », c'est-à-dire qu’on identifie chaque pattern de visu en désassemblant le code source du programme protégé, puis on automatise la tâche à l’aide de scripts (scripts IDC si l’on utilise IDA, scripts ODBGScripts si l’on utilise OllyDbg, scripts en Python si l’on utilise Immunity Debugger) ou d’outils de désassemblage spécifiquement codés pour l’occasion. Malgré l’automatisation de cette opération, l’identification de centaines de patterns différentes est un travail fastidieux et pénible.

La reconnaissance de patterns n’est pas la seule technique d’attaque à pouvoir donner des résultats probants lors d’une analyse. Je vais illustrer dans cet article une toute autre approche qui...

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...

En sécurité sous les drapeaux

Magazine
Marque
MISC
HS n°
Numéro
22
Mois de parution
octobre 2020
Domaines
Résumé

En sécurité sous les drapeaux... du compilateur, ces fameux -fstack-protector-strong et autres -D_FORTIFY_SOURCE=2 que l’on retrouve dans de plus en plus de logs de compilation. Cet article se propose de parcourir quelques-uns des drapeaux les plus célèbres, en observant les artefacts dans le code généré qui peuvent indiquer leur utilisation, tout en discutant de leur support par gcc et clang. Après tout, nombre d’entre eux sont utilisés par défaut sous Debian ou Fedora, ils méritent bien qu’on s’y intéresse un peu.

Introduction aux TPM (Trusted Platform Modules)

Magazine
Marque
MISC
HS n°
Numéro
22
Mois de parution
octobre 2020
Domaines
Résumé

Les TPM (Trusted Platform Modules), brique de base du Trusted Computing, ont été imaginés il y a une vingtaine d’années, et pourtant ils ne sont pas très utilisés malgré leurs réelles qualités. Comment expliquer cela ? Cet article tend à fournir de premiers éléments de réponse.

Identification automatique de signaux grâce à la fonction d’autocorrélation

Magazine
Marque
MISC
HS n°
Numéro
22
Mois de parution
octobre 2020
Domaines
Résumé

Vous connaissiez la chasse au trésor… Initiez-vous maintenant à la chasse au signal (signal hunting en anglais). La chasse au signal consiste à rechercher les signaux qui nous entourent dans l’espace invisible du spectre électromagnétique. Mais plus besoin de rester l’oreille collée sur un haut-parleur à tourner le bouton pour régler la fréquence. La SDR (Software Defined Radio) a révolutionné tout cela : une radio numérique et un PC est vous voilà armé pour découvrir ce monde que les professionnels dénomment le SIGINT (SIGnal INTelligence).