Исполняемые файлы Windows имеют расширение exe. В общем виде они состоят из следующих частей: заголовок,
исполняемый код, ресурсы. Заголовок содержит служебную информацию, которую ОС использует при запуске файла,
т.е. при запуске вы активизируете зловредный код.
Если вирус должен присоединяться к программе, то он дописывается в ее конец и изменяет точку входа на себя,
а программа со старого адреса вызывается после выполнения тела вируса. Таким образом, после старта запускаемого
файла сначала активизируется вирус, а потом управление передается основной программе.
Так работает большинство вирусов, которые прикрепляются к программам, и таких вирусов было очень много,
особенно в операционной системе MS DOS. Если вы хотите защищаться от вредоносного кода, то минимальным
требованием должно быть слежение за заголовками запускаемых файлов. Как только заголовок изменился, нужно
бить тревогу, потому что это может быть вирус или червь. Конечно же, в ручную это делать тяжело, но необходимо
следить хотя бы за размером основных, ведь когда к исполняемому файлу прикрепляется вирус, изменяется его
размер.
Но существует вариант, когда тело вируса добавляется к запускаемому файлу, а заголовок не изменяется, т.к.
в этом случае тело вируса вызывается из другой программы. Получается эффект, как в динамической библиотеке -
программа загружает в память дополнительный файл, выполняя в нем тело вируса.
Есть вирусы, которые просто копируют себя в систему и помещаются в раздел автозапуска. С появлением Windows
именно такие вирусы стали более популярны, потому что здесь уже больше способов их спрятать. В данном случае
уже нет смысла сканировать весь диск в поисках исполняемы файлов и заражения их, достаточно записаться в
автозагрузку, и дело в шляпе. При каждом старте системы ОС сама запустит вредоносный код. Но теперь такие
вирусы не столь признаны, потому что с автозагрузкой уже научились бороться.
В Window, помимо большого количества способов автоматической загрузки, появилось очень много файлов, которые
обязательно загружаются при старте ОС, например, системные динамически подключаемые библиотеки (DLL). Это
тоже упрощает жизнь вирусам. Если раньше нужно было заражать всё, потому что заранее известно, с какими
программами работает пользователь, то теперь достаточно инфицировать одну из библиотек или важный исполняемый
файл, и нет необходимости в сканировании.
Выходит, если раньше проблема пряталась только в EXE и COM-файлах, то теперь источником зла нужно искать и
в динамических библиотеках, у которых есть большой недостаток - возможность выполнять код при старте DLL. И
если вирус записать в автозапуск важной библиотеки, то он сможет загружаться автоматически. Таким образом,
количество потенциальных лазеек в системе резко увеличилось.
Большинство пользователей Интернета привыкли, что опасность от вирусов кроется в исполняемых файлах, и никто
не мог себе представить, что угроза придёт из текстовых документов или электронных таблиц MS Office. Именно
поэтому первые вирусы, встроенные в документы Microsoft Word или исполняемые в почтовой программе Microsoft
Outlook, заразили громадное количество компьютеров за минимальное время. К таким обстоятельствам не были
готовы ни пользователи, ни самые лучшие антивирусные продукты.
Назад