Как антивирусы находят вирусы, как они отличают их от простых программок
(ну, кроме тех, у кого двойное расширение)?
Начнем с того, что под вирусами эти программы понимают как собственно
вирусы, так и другие вредоносные программы (например, троянские кони, сетевые
черви, программы для взлома).
Методов обнаружения куча, но все они базируются на:
1.
Проверке
того, имеется ли в файле(памяти, boot) специфическая для данного вируса
комбинация байтов.
Недостаток данного метода - это возможность распознать только уже
известные вирусы, без модификаций. Достоинства - скорость, почти 100%
обнаружение известных вирусов.
2.
Эвристическом
анализе - этот анализ позволяет обнаружить новые и неизвестные ранее
вирусы. Во время такого анализа антивирус проверяет выполнимый код и пытается
определить, выполняет ли он действия, характерные для вирусов.
Достоинство - определение новых, неизвестных программе вирусов.
Недостатки - низкая скорость анализа, не всегда корректное распознавание
антивирусов (хотя DrWeb своим эвристическим анализом очень гордится).
3.
Проверке
в реальном времени работы программ, на совершение ими подозрительных действий,
как то:
* попытки коррекции файлов с расширениями COM, EXE
* изменение атрибутов файла
* прямая запись на диск по абсолютному адресу
* запись в загрузочные сектора диска
* загрузка резидентной программы.
4.
Постоянной
проверке системы (во время загрузки) на появление загадочных файлов, пустых
областей диска и др. подозрительной чуши.
P.S. Самые неприятные вещи - это трояны, т.к. написать их может самый
безрукий программист (как правило, с диким желанием навредить ближнему своему),
а их появление в базах данных антивирусов может занять от пары дней до пары
месяцев, хотя человеку выявить их несложно.
Krendel, St.Dimitri
Найдем ответ СообЧа! http://soobcha.ru |