Maximize
Bookmark

VX Heavens

Library Collection Sources Engines Constructors Simulators Utilities Links Forum

Современные антивирусные средства

Дмитрий Мостовой
КомпьютерПресс N 10/1993 (стр. 49-51)
ISSN 0868-6157
Октябрь 1993

[Вернуться к списку] [Комментарии (0)]

Компьютерные вирусы - это программы, которые умеют воспроизводить себя в нескольких экземплярах, возможно, приписываясь к другим программам, и, возможно, совершают некоторые побочные действия. Это определение дается скорее на интуитивном уровне, поскольку строгого определения компьютерного вируса пока не существует, а под имеющиеся определения попадает и сама операционная система MS-DOS, которая умеет делать свои копии с помощью команды SYS. Надо понимать, что, в отличие от биологических вирусов, компьютерные вирусы создаются человеком. Авторами вирусов могут быть профессиональные программисты, студенты и даже школьники. Написать работающий вирус практически не составляет большого труда. Однако кто бы ни писал вирусы, их "произведения" приносят массу вреда пользователям ПЭВМ, могут вызвать сбои в работе компьютера или даже полную потерю данных на жестком диске.

Для понимания способов обеспечения антивирусной безопасности сначала необходимо понять, какие бывают вирусы и как они могут проникнуть на компьютер. Если посмотреть большинство современных публикаций, посвященных проблеме вирусов, то можно заметить, что большая часть каждой книги состоит в перечислении конкретных вирусов, их проявлений и свойств. Я постараюсь избежать этого подхода и буду упоминать конкретные вирусы только по мере необходимости. Сейчас в мире существует более 2000 вирусов для MS-DOS. Их можно подробно классифицировать по многим признакам, однако для понимания способов заражения и антивирусной защиты огромное множество вирусов можно разбить на несколько обобщенных групп. Это - вирусы, поражающие загрузочные секторы (загрузочные вирусы); вирусы, поражающие исполняемые файлы, в том числе СОМ-, ЕХЕ-, SYS-, ВАТ- файлы и некоторые другие (файловые вирусы). И наконец, комбинированные вирусы.

Заражение винчестера загрузочными вирусами происходит при загрузке компьютера с дискеты, содержащей вирус. Заражение может произойти и случайно, например, если вы забыли вынуть дискету из дисковода A: и перезагрузили компьютер. Причем дискета может и не быть загрузочной, то есть может не содержать файлов операционной системы. Заразить дискету гораздо проще. На нее вирус может попасть, если вы просто вставили дискету в дисковод зараженного компьютера и, например, прочитали ее оглавление.

Файловые вирусы заражают компьютер, если вы запустите на своей машине программу, уже содержащую вирус. В этом случае возможно заражение других исполняемых файлов. Здесь хотелось бы еще раз подчеркнуть, что при получении только файлов данных, а не исполняемых файлов, заражение вирусом невозможно.

Говоря о классификации вирусов, нельзя не упомянуть о маскирующихся вирусах, получивших наименование Stealth-вирусы, и о вирусах-мутантах. Stealth-вирусы, в которых реализованы алгоритмы, скрывающие присутствие вируса на зараженной машине, нельзя обнаружить, например, просто просматривая файлы на диске. Авторы этих творений применяют весьма разнообразные способы маскировки, начиная от простейшего перехвата более 20 функций DOS (вирус V-4096) и кончая маскировкой на уровне дискового драйвера (семейство Dir) или даже на уровне прерывания Int 13h (вирус ЕХЕ-222). Вирусы-мутанты содержат в себе алгоритмы шифровки-расшифровки, поэтому два экземпляра одного и того же вируса, заразившие два файла, не имеют ни одной повторяющейся цепочки байт. Проблемы поиска и удаления вирусов этих двух классов заставляют исследователей отходить от классических антивирусных программ, анализирующих сигнатуры известных вирусов, и искать новые методы борьбы, о которых будет рассказано ниже.

Современное состояние проблемы вирусов характеризуется большим потоком относительно простых или даже безграмотно написанных вирусов, вызывающих локальные эпидемии. Как правило, такие вирусы не получают широкого распространения, быстро локализуются и уничтожаются, успев, однако, причинить вред в районе своего размножения. Последней глобальной эпидемией, поразившей массу компьютеров, пожалуй, можно назвать только эпидемию вируса Dir летом и осенью 1991 года. Такую особенность жизненного цикла вирусов можно объяснить достаточной распространенностью профилактических антивирусных средств и мероприятий. В свою очередь, характер жизнедеятельности вирусов смещает акценты в стратегии антивирусной защиты и в выборе антивирусных программ. Время, когда для надежной антивирусной защиты было достаточно одной или двух антивирусных программ-полифагов, уже безвозвратно прошло. Не велико и значение "фирменных" антивирусных средств, не отвечающих местной вирусной ситуации. На первый план выходят программы, обеспечивающие быструю ликвидацию локальных эпидемий. К ним можно отнести обновляемые еженедельно полифаги и ревизоры с возможностью лечения файлов, о которых будет рассказано ниже.

Обзор антивирусных средств

Прежде всего хотелось бы подчеркнуть, что защитить компьютер от вирусов может только сам пользователь. Только правильное и своевременное применение антивирусных средств может уберечь от заражения или обеспечит минимальный ущерб, если заражение все-таки произошло. Сам факт наличия большого количества антивирусных программ, которыми никто не пользуется или пользуется неправильно, не гарантирует от заражения, а скорее способствует ему. Необходимо правильно организовать работу на компьютере, разобраться хотя бы на уровне пользователя с работой антивирусных программ и избегать бесконтрольной переписи программ с других машин, особенно развлекательных программ и компьютерных игр.

Какие же средства могут помочь в обеспечении антивирусной безопасности? Существует довольно много классов антивирусных программ. Это резидентные программы-сторожа, программы-фаги, ревизоры и др.

Сторожа, находясь непрерывно в памяти, постоянно контролируют вирусоподобные операции, производимые программами с диском и памятью. Они могут предотвратить заражение диска, однако сторожа обладают рядом недостатков, которые, к сожалению, не позволяют рекомендовать их для повседневного использования. К этим недостаткам можно отнести назойливость (сторож, например, выдает предупреждение о любой попытке копирования исполняемого файла), возможность конфликтов с другим программным обеспечением, возможность обхода сторожей некоторыми вирусами. Все же рекомендуется иметь какой-нибудь резидентный сторож, который надо загружать в тех случаях, когда возникает необходимость первый раз запустить программу, полученную из непроверенного источника.

В одном ряду с резидентными сторожами стоят аппаратно-программные антивирусные средства, обеспечивающие более надежную защиту от проникновения вируса в систему. Самым надежным и лишенным многих недостатков, свойственных резидентным сторожам, является комплекс Sheriff (автор Ю.Фомин). Однако возможность применения этих средств требует дополнительного рассмотрения с точки зрения конфигурации используемого на компьютере дополнительного оборудования, например модемов или сетевых плат.

Программы-полифаги умеют обнаруживать фиксированный набор известных вирусов и немедленно удалять их из зараженных файлов. К недостаткам этих программ можно отнести то, что они охватывают далеко не все известные вирусы и часто отстают от появления новых.

Программы-ревизоры умеют своевременно обнаруживать заражение компьютера практически любым из существующих сейчас вирусов, не допуская развития эпидемии, а современные версии ревизора умеют немедленно удалять большинство даже ранее незнакомых им вирусов. К недостаткам ревизоров можно отнести то, что для обеспечения безопасности они должны использоваться регулярно, например, ежедневно вызываясь из файла AUTOEXEC.ВАТ. Но несомненными их преимуществами являются высокая скорость проверок и то, что они не требуют частого обновления версий. Версии ревизора даже полугодовой или годовой давности надежно обнаруживают и удаляют современные вирусы.

Программа-полифаг Aidstest

Aidstest - это программа, которая умеет обнаруживать и уничтожать большое число компьютерных вирусов (на сегодняшний день свыше 650 вирусов, наиболее распространенных в России). Версии Aidstest обновляются не реже одного раза в неделю, пополняясь информацией о новых вирусах.

Для проверки дисков и лечения зараженных файлов предпочтительнее использовать оригинальную загрузочную дискету, на которой поставляется Aidstest (или ее копию). В этом случае для контроля на зараженность и для лечения файлов необходимо вставить дискету в дисковод A: и перезагрузить машину. Необходимо применять так называемую "холодную" перезагрузку, то есть использовать клавишу Reset или выключение-включение питания. Многие вирусы умеют переживать перезагрузку по Ctrl+Alt+Del и продолжают оставаться в памяти компьютера. После загрузки компьютера Aidstest просканирует диск и, если найдет вирусы, сообщит об этом, после чего спросит разрешения для перехода в режим лечения файлов.

Aidstest можно переписать на винчестер, например. в каталог C:\ANTIVIR, и запускать оттуда. Однако выполнять лечение в таком режиме не рекомендуется. Параметры, которые необходимо задать при запуске Aidstest, подробно рассмотрены в файле AIDSREAD.МЕ, поставляемом с программой.

Когда же использовать Aldstest? Обязательно на входном контроле ВСЕХ попадающих к вам дискет, и ВСЕХ исполняемых файлов, получаемых по сети. Для большей безопасности Aidstest необходимо использовать в сочетании с ревизором ADinf.

Антивирус-ревизор ADinf

Ревизор ADinf позволяет обнаружить появление любого вируса из существующих, включая Stealth-вирусы, вирусы-мутанты и неизвестные на сегодняшний день вирусы. При установленной программе ADinf Сиге Module (лечащий блок ревизора ADinf) можно удалить до 96% из них. Время проверки одного логического диска очень невелико.

В режиме повседневного контроля ADinf запускается автоматически из файла AUTOEXEC.BAT при первом включении компьютера. ADinf запоминает на диске информацию о файлах, включающую длины файлов, дату и время, а также контрольные суммы файлов и следит за их сохранностью. Особо отслеживаются вирусоподобные изменения, о которых немедленно выдается предупреждение. К подозрительным вирусоподобным изменениям относятся изменение длины или контрольной суммы файла без изменения даты и времени его создания или сопровождаемое появлением времени файла с числом секунд больше 58 или даты файла больше текущей. Кроме того, ADinf позволяет назначить список неизменяемых файлов, любое изменение в которых относится к подозрительным. Кроме контроля за целостностью файлов ADinf следит за созданием и удалением подкаталогов, созданием, удалением, перемещением и переименованием файлов, появлением новых сбойных кластеров, сохранностью загрузочных секторов и за многим другим.

ADinf проверяет диски, не используя DOS, читая их по секторам прямым обращением в BIOS. Логический диск объемом 40 Мбайт проверяется ADinf за 15 - 20 с.

В ревизоре ADinf реализован еще один алгоритм, не имеющий аналогов в других антивирусных программах. Речь идет о поиске Stealth-вирусов, основанном именно на их способности к маскировке. Вирусы, использующие приемы маскировки, нельзя увидеть средствами операционной системы. Например, если просмотреть зараженный файл, нажав клавишу FЗ в Norton Commander, то на экране будет показан файл, не содержащий вируса. Это происходит потому, что вирус, активно работающий вместе с операционной системой, при открытии файла на чтение немедленно удалил свое тело из зараженного файла, а при закрытии файла заразил его опять. Это только один из возможных приемов маскировки, существуют и другие. Так же маскируются и загрузочные вирусы. При попытке прочитать зараженный ВООТ-сектор они подсовывают оригинальный, не зараженный.

Однако способность к маскировке оказалась слабым местом Stealth-вирусов, позволяющим легко обнаружить их на машине. Достаточно сравнить информацию о файлах, выдаваемую DOS, с фактической, содержащейся на диске, и несовпадение данных однозначно укажет на присутствие вируса.

Использование ADinf позволяет своевременно обнаружить заражение и избежать эпидемии. Но что делать, если вирус обнаружен, а последней версии Aidstest нет или она еще не умеет лечить занесенную "инфекцию"? Если это загрузочный вирус, то ADinf немедленно восстановит прежний загрузочный сектор. Если это файловый вирус, то на помощь придет лечащий блок ADinf Cure Module.

Лечащий блок ADinf Cure Module

ADinf Cure Module - это программа, способная вылечить компьютер от вируса еще до появления свежей версии фага, которому знаком этот вирус.

Среди огромного разнообразия вирусов существует очень немного различных методов внедрения вируса в файлы. Этим и пользуется ADinf Cure Module. Во время нормальной работы при регулярном запуске ревизора ADinf он сообщает ADinf Cure Module о том, какие файлы изменились с момента последнего запуска. ADinf Cure Module просматривает эти файлы и записывает в свои таблицы информацию, которая может потребоваться для восстановления при заражении файла вирусом. Если заражение произошло, то ADinf заметит изменения и снова вызовет ADinf Cure Module, который постарается восстановить исходное состояние файла.

[Вернуться к списку] [Комментарии (0)]
deenesitfrplruua