Les codes malicieux utilisent de nombreuses techniques pour protéger leur code contre le « reverse engineering ». Cet article présente un panel (non exhaustif) de techniques fréquemment employées par les virus, backdoors et autres malwares.
1. Techniques empruntées aux protections logicielles
Un nombre considérable de protections rencontrées dans les codes malicieux proviennent des protections logicielles, mais il est important de noter, que certaines protections logicielles s'inspirent également des codes malicieux. Asprotect, par exemple, est connu pour utiliser le moteur polymorphique d'un virus infecteur de fichiers PE.
1.1 IsDebuggerPresent
Il est toujours très commun de rencontrer la fonction de l'API Windows : IsDebuggerPresent, même si son utilisation dans une protection est inefficace. Cette fonction utilise le PEB [7] pour détecter la présence d'un débogueur User Land. Il suffit de mettre le champ BeingDebugged à 0 pour passer cette « détection ».
1.2 MeltIce
De moins en moins rencontrées, les techniques utilisant la fonction CreateFileA pour détecter la présence de Soft ICE. En effet, depuis Driver Studio 2.7, ces techniques ne fonctionnent plus. De plus, Soft ICE n'étant...
- Accédez à tous les contenus de Connect en illimité
- Découvrez des listes de lecture et des contenus Premium
- Consultez les nouveaux articles en avant-première