По особенностям алгоритма работы вирусы делятся на:
Резидентный вирус при инфицировании компьютера оставляет в оперативной памяти свою резидентную часть, которая затем перехватывает обращения операционной системы к объектам заражения и внедряется в них.
Резидентные вирусы находятся в памяти и являются активными вплоть до выключения компьютера или перезагрузки операционной системы.
Нерезидентные вирусы не заражают память компьютера и сохраняют активность ограниченное время. Некоторые вирусы оставляют в оперативной памяти небольшие резидентные программы, которые не распространяют вирус. Такие вирусы считаются нерезидентными
К резидентным вирусам относятся макровирусы, поскольку они постоянно присутствуют в памяти компьютера на все время работы зараженного редактора. При этом роль операционной системы берет на себя редактор, а понятие "перезагрузка операционной системы" трактуется как выход из редактора.
Вирусы-невидимки, называемые стелс-вирусами(STEALTH-вирусы),маскируют свое присутствие в ЭВМ, их очень трудно обнаружить и обезвредить. Наиболее распространенным стелс-алгоритмом является перехват запросов операционной системы на чтение/запись зараженных объектов. Стелс-вирусы при этом:
1) либо временно лечат их,
2) либо "подставляют" вместо себя незараженные участки информации.
В случае макровирусов наиболее популярный способ – запрет вызовов меню просмотра макросов.
Таким образом, Вирусы-невидимки или стелс-вирусы фальсифицируют информацию, прочитанную из диска так, что программа, какой предназначена эта информация получает неверные данные. Эта технология, которую, иногда, так и называют Stealth-технологией, может использоваться как в BOOT-вирусах, так и в файловых вирусах.
Вирусы-мутанты (призраки, полиморфные вирусы, полиморфики)
Полиморфик-вирусы (polymorphic)- , содержащие алгоритмы шифрования основного тела вируса и модификации программы-расшифровщика, благодаря которым копии одного и того же вируса не имеют ни одной повторяющейся цепочки байтов.
Их трудно обнаружить, т.к. их копии практически не содержат полностью совпадающих участков кода. В большинстве случаев два образца одного и того же полиморфик-вируса не будут иметь ни одного совпадения Это достигается тем, что в программы вирусов добавляются пустые команды (мусор), которые не изменяют алгоритм работы вируса, но затрудняют их выявление. (OneHalf – локальные «эпидемии» его возникают регулярно).
Самошифрование и полиморфичность используются практически всеми типами вирусов для того, чтобы максимально усложнить процедуру детектирования (обнаружения) вируса.
Различные нестандартные приемы часто используются в вирусах для того, чтобы как можно глубже спрятать себя в ядре операционной системы, защитить от обнаружения свою резидентную копию, затруднить лечение от вируса (например, поместив свою копию в Flash-BIOS) и т. д.