Sommaire

Packers Packers

1. Introduction

Une des techniques les plus utilisées pour compliquer les analyses de malware est d’utiliser des packers. Un packer est un logiciel permettant de compresser, encoder ou encore chiffrer un binaire sans en altérer le fonctionnement. Il existe une multitude de packers, parmi les plus connus nous pouvons citer ArmadilloASPack, ASProtect, Themida, UPX... Certains packers ont pour but avoué de rendre le reverse engineering très compliqué et d’autres ont pour but de simplement compresser le binaire pour qu’il soit plus petit et plus simple à distribuer. Il existe des packers libres ainsi que des packers commerciaux.

La technique pour analyser des malwares obfusqués par des packers est de retrouver ou de restaurer le binaire original. Cette opération s’appelle l’unpack (ou encore « dépacker » un malware). Il est possible que certains malwares utilisent plusieurs couches de packers, il faut alors dépacker couche après couche le malware jusqu’à obtenir le binaire initial, qui pourra alors être analysé.

Chaque packer a son propre fonctionnement, mais dans la plupart des cas le binaire initial sera chargé en mémoire (entièrement ou partiellement), le but de l’analyse est de trouver ce binaire en mémoire et de l’extraire. C’est le cas pour les packers qui utilisent le tas (ou heap) pour stocker le binaire original après décompression, le binaire initial ...