Сразу после появления первых компьютерных вирусов стали создаваться и первые антивирусные программы. Такие программы сканировали содержимое оперативной памяти и дисков компьютера, обнаруживая и нейтрализуя вредоносный код.
В качестве ответной меры разработчики вирусов научились создавать такие вирусы, которые умеют «прятаться» от антивирусных программ. С этой целью вирусы перехватывают вызовы некоторых функций ОС.
Благодаря такому перехвату антивирус, читая зараженный файл или загрузочную запись, фактически получает незараженные данные. Тем самым антивирус вводится в заблуждение.
Вот определение стелс-вируса, работающего по описанной выше схеме:
Стелс-вирус — это вирус, оставляющий в памяти компьютера модули, перехватывающие обращение программ к дискам.
Когда программа читает зараженный файл или загрузочную запись, стелс-вирус подменяет данные, чтобы ввести в заблуждение антивирусные программы Следует отметить, что были разработаны и ответные меры. Используя специальные методики и программное обеспечение, можно организовать защиту и от стелс-вирусов.
Шифрующиеся вирусы
Первые антивирусные программы искали вирусы, сравнивая содержимое файлов и секторов диска с характерными фрагментами вирусов (с сигнатурами вирусов). Именно эти фрагменты хранились в вирусных базах данных антивирусных программ. Чтобы исключить обнаружение свих изделий, разработчики компьютерных вирусов стали применять шифрование вирусного кода. Так появились шифрующиеся вирусы:
Шифрующийся вирус — это вирус, который при заражении новых файлов и системных областей диска шифрует собственный код, пользуясь для этого случайными паролями (ключами).
Когда вирус получает управление, он расшифровывает свой собственный код и передает ему управление. Современные антивирусы умеют расшифровывать код вируса, поэтому шифрующиеся вирусы могут быть эффективно обнаружены и уничтожены.