Шифрующиеся и полиморфные вирусы
Чтобы затруднить обнаружение, некоторые
вирусы шифруют свой код. Каждый раз,
когда вирус заражает новую программу,
он зашифровывает собственный код,
используя новый ключ. В результате два
экземпляра такого вируса могут значительно
отличаться друг от друга, даже иметь
разную длину.
Естественно, вирус может работать только
в том случае, если исполняемый код
расшифрован. Когда запускается зараженная
программа (или начинается загрузка с
зараженной загрузочной записи) и вирус
получает управление, он должен расшифровать
свой код.
Процедура расшифровки не
может сама быть зашифрована, в противном
случае она не сможет работать. Этим
пользуются антивирусные программы,
использующие в качестве сигнатуры код
процедуры расшифровки.
Тем не менее, авторы вирусов нашли выход
из этой ситуации. Для шифрования вирусов
они стали использовать не только разные
ключи, но и разные процедуры шифрования.
Два экземпляра таких вирусов не имеют
ни одной совпадающей последовательности
кода. Такие вирусы, которые могут
полностью изменять свой код, получили
название полиморфных. Наиболее известные
из них - это Phantom-1, Natas,
OneHalf, SatanBug.