Ugrás a tartalomhoz

polymorphic code

A Wikiszótárból, a nyitott szótárból


Főnév

polymorphic code (tsz. polymorphic codes)

  1. (informatika) A számítástechnikában a polimorf kód olyan kód, amely egy polimorf motort használ a mutációhoz, miközben az eredeti algoritmust érintetlenül hagyja – vagyis a kód minden futáskor megváltozik, de a kód funkciója ( szemantikája ) ugyanaz marad. Például a 3+1 és 6-2 egyszerű matematikai kifejezések ugyanazt az eredményt érik el, mégis különböző gépi kóddal futnak a CPU- ban . Ezt a technikát néha számítógépes vírusok , shellkódok és számítógépes férgek használják jelenlétük elrejtésére. [ 1 ]

A titkosítás a kód elrejtésének leggyakoribb módja. Titkosítással a kód törzse (más néven payload ) titkosítva van, és értelmetlennek tűnik. Ahhoz, hogy a kód a korábbiaknak megfelelően működjön, egy visszafejtési funkciót adunk a kódhoz. A kód végrehajtásakor ez a funkció beolvassa a hasznos adatot, és dekódolja azt, mielőtt sorra végrehajtaná.

A titkosítás önmagában nem polimorfizmus. A polimorf viselkedés elérése érdekében a titkosító/dekódoló pár a kód minden másolatával mutációra kerül. Ez lehetővé teszi bizonyos kódok különböző verzióit, amelyek mindegyike ugyanúgy működik. [ 2 ]

Rosszindulatú kód A legtöbb víruskereső szoftver és behatolásérzékelő rendszer (IDS) a számítógépes hálózaton keresztül küldött számítógépes fájlok és adatcsomagok közötti kereséssel próbálja megtalálni a rosszindulatú kódot . Ha a biztonsági szoftver ismert számítógépes vírusoknak vagy férgeknek megfelelő mintákat talál, megfelelő lépéseket tesz a fenyegetés semlegesítésére. A polimorf algoritmusok megnehezítik az ilyen szoftverek számára a jogsértő kód felismerését, mivel az folyamatosan mutálódik.

A rosszindulatú programozók úgy próbálták megvédeni titkosított kódjukat ettől a víruskereső stratégiától, hogy minden alkalommal újraírják a titkosítatlan visszafejtő motort (és az ebből eredő titkosított hasznos adatot) minden alkalommal, amikor a vírus vagy féreg terjed. A víruskereső szoftver kifinomult mintaelemzést használ, hogy megtalálja a mögöttes mintákat a visszafejtő motor különböző mutációiban, annak reményében, hogy megbízhatóan észleli az ilyen rosszindulatú programokat .

Az emuláció használható a polimorf obfuszkáció leküzdésére azáltal, hogy hagyja, hogy a rosszindulatú program leépítse magát egy virtuális környezetben, mielőtt más módszereket, például a hagyományos aláírás-ellenőrzést használna. Az ilyen virtuális környezetet néha homokozónak is nevezik . A polimorfizmus nem védi meg a vírust az ilyen emulációval szemben, ha a visszafejtett hasznos adat ugyanaz marad, függetlenül a visszafejtési algoritmus változásaitól. A metamorf kód technikák tovább bonyolíthatják az észlelést, mivel a vírus anélkül futhat le, hogy azonosítható kódblokkok lennének a memóriában, amelyek fertőzéstől fertőzésig állandóak maradnak.

Az első ismert polimorf vírust Mark Washburn írta. Az 1260 nevű vírust 1990-ben írták. [ 3 ] Egy ismertebb polimorf vírust 1992-ben hozott létre a Dark Avenger hacker , hogy elkerülje a víruskereső szoftverek mintafelismerését. Egy gyakori és nagyon virulens polimorf vírus a Virut fájlfertőző .