Pillole di malware analysis: I malware polimorfici e metamorfici
- Antonio Capobianco
- Visite: 5575
Una caratteristica fondamentale per la sopravvivenza del #malware è la sua capacità di nascondersi ai sistemi di detection.
Per fare questo è fondamentale che la propria firma #hash vari in continuazione, altrimenti sarebbe facilmente identificabile.
Nascono così i malware polimorfici, ovvero una tipologia in grado di cambiare continuamente la propria firma hash andando semplicemente a modificare la propria chiave di crittazione. Ad ogni copia la chiave varia, quindi varierà il proprio hash.
Questo è ok per evadere sistemi di identificazione basati semplicemente su hash, ma i sistemi attuali sono più sofisticati e spesso la semplice variazione della chiave non è sufficiente.
E' necessario che il malware modifichi il proprio codice! Nascono così i malware metamorfici, ovvero quelli in grado di modificare il proprio codice sorgente. Come viene fatto?
Innanzitutto il malware contiene un proprio modulo di decompilazione e ricompilazione. Ci sono differenti tecniche una delle quali prevede che una volta decompilatosi (che brutta parola) è in grado di aggiungere dentro il proprio codice istruzioni nuove, che possono variare da semplici NOP a sequenze di istruzioni assembler, che vengono definite Dead Code Injection, ovvero iniezione di codice morto che alla fine non fa nulla, se non modificare il codice sorgente.
Se vi appassiona questo argomento vi consiglio di leggere "Malware Obfuscation Techniques: A Brief Survey" di Ilsun You e Kangbin Yim