Wirus polimorficzny

Z Wikipedii, wolnej encyklopedii

Wirusy polimorficzne – typ wirusa posiadający zdolność zmiany kodu swojego dekryptora.

Wirusy polimorficzne składają się z dwóch części:

  • polimorficznego loadera zwanego również deszyfratorem lub dekryptorem
  • oraz części zaszyfrowanej, stanowiącą główny kod wirusa.

Najpierw uruchamiany jest dekryptor, który odpowiada za odszyfrowanie w pamięci głównej części wirusa. Kontrola przekazywana jest do głównej części, gdy zostanie ona odszyfrowana.

Wirus infekując plik tworzy nowy polimorficzny deszyfrator, zwykle inny w każdym infekowanym pliku. Istnieją również powolne wirusy polimorficzne. Np. napisany przez GriYo HPS, tworzy dekryptor tylko raz, tuż po uruchomieniu, tak więc nowy dekryptor tworzony jest dopiero przy następnym uruchomieniu komputera.

Autorzy programów antywirusowych zazwyczaj nie mogą stworzyć sygnatury danego wirusa na podstawie dekryptora, ze względu na jego polimorfizm.

Istnieje wiele metod wykrywania tego typu wirusów, z których najbardziej skuteczną jest emulacja. Emulator wykonuje kod polimorficzny do czasu, aż zdeszyfruje on część zaszyfrowaną. W tym momencie możliwe jest wykrycie wirusa za pomocą wzorca. Rozwinięciem idei wirusów polimorficznych są wirusy metamorficzne.