Metamorfní kód - Metamorphic code
Metamorfní kód je kód, který při spuštění vydává logicky ekvivalentní verzi vlastního kódu pod určitou interpretací . To je podobné quine , kromě toho, že zdrojový kód quine je přesně ekvivalentní jeho vlastnímu výstupu. Metamorfní kód také obvykle vydává strojový kód, nikoli vlastní zdrojový kód.
Přehled
Metamorfní kód používá počítačové viry , aby se zabránilo rozpoznávání a antivirového softwaru . Metamorfní viry často překládají svůj vlastní binární kód do dočasné reprezentace, přičemž dočasnou reprezentaci upravují a poté upravenou formu překládají zpět do strojového kódu. Tento postup se provádí se samotným virem, a tedy i samotný metamorfní motor prochází změnami, což znamená, že žádná část viru nezůstává stejná. To se liší od polymorfního kódu , kde polymorfní engine nemůže přepsat vlastní kód.
Metamorfní kód používají některé viry, když se chystají infikovat nové soubory, a výsledkem je, že příští generace nikdy nebude vypadat jako současná generace. Mutovaný kód bude dělat přesně to samé (podle použité interpretace ), ale binární reprezentace dítěte bude obvykle zcela odlišná od rodičovské. Mutace lze dosáhnout pomocí technik, jako je vkládání pokynů NOP ( hrubá síla ), změna toho, jaké registry se mají použít, změna řízení toku pomocí skoků, změna pokynů stroje na ekvivalentní nebo změna pořadí nezávislých pokynů.
Metamorfóza nechrání virus před heuristickou analýzou .
Metamorfní kód může také znamenat, že virus je schopen infikovat spustitelné soubory ze dvou nebo více různých operačních systémů (například Windows a Linux ) nebo dokonce z různých počítačových architektur . Virus to často dělá tak, že v sobě nese několik virů. Počátek viru je pak zakódován tak, aby se překládal do správného strojového kódu pro všechny platformy, ve kterých se má spouštět. To se používá především ve vzdáleném zneužití injekčního kódu, kde je cílová platforma neznámá.
Metamorfní viry
- Přirovnání
- ZMist
- Lacrimae