СообЧа > База Знаний > Вирусы и антивирусы

Вопрос

Как антивирусы находят вирусы, как они отличают их от простых программок (ну, кроме тех, у кого двойное расширение)?

Ответ

Начнем с того, что под вирусами эти программы понимают как собственно вирусы, так и другие вредоносные программы (например, троянские кони, сетевые черви, программы для взлома).

Методов обнаружения куча, но все они базируются на:

* Проверке того, имеется ли в файле(памяти, boot) специфическая для данного вируса комбинация байтов.
Недостаток данного метода — это возможность распознать только уже известные вирусы, без модификаций. Достоинства — скорость, почти 100% обнаружение известных вирусов.
* Эвристическом анализе — этот анализ позволяет обнаружить новые и неизвестные ранее вирусы. Во время такого анализа антивирус проверяет выполнимый код и пытается определить, выполняет ли он действия, характерные для вирусов. Достоинство — определение новых, неизвестных программе вирусов. Недостатки — низкая скорость анализа, не всегда корректное распознавание антивирусов (хотя DrWeb своим эвристическим анализом очень гордится).
* Проверке в реальном времени работы программ, на совершение ими подозрительных действий, как то:
— попытки коррекции файлов с расширениями COM, EXE
— изменение атрибутов файла
— прямая запись на диск по абсолютному адресу
— запись в загрузочные сектора диска
— загрузка резидентной программы.
* Постоянной проверке системы (во время загрузки) на появление загадочных файлов, пустых областей диска и др. подозрительной чуши.

P.S. Самые неприятные вещи — это трояны, т.к. написать их может самый безрукий программист (как правило, с диким желанием навредить ближнему своему), а их появление в базах данных антивирусов может занять от пары дней до пары месяцев, хотя человеку выявить их несложно.

Krendel, St.Dimitri



Copyright © 2000-2004 Сообщество Чайников
Контактная информация