Антивирусные программы фильтры примеры. Вакцины или иммунизаторы. Программные продукты на основе технологий Bitdefender

  • 31.10.2019
Урок "Антивирусные программы"

При заражении компьютера вирусом важно его обнаружить. Для этого следует знать об основных признаках проявления вирусов:

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

Для защиты от вирусов можно использовать:

v общие средства защиты информации, которые полезны также и как страховка от физической порчи дисков, неправильно работающих программ или ошибочных действий пользователя;

v профилактические меры, позволяющие уменьшить вероятность заражения вирусом;

v специализированные программы для защиты от вирусов.

Общие средства защиты информации полезны не только для защиты от вирусов:

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

Профилактические меры

v Не использовать сомнительные диски и другие носители информации

v Ограничить доступ к файлам программ, устанавливая для них, когда возможно, статус «только для чтения»

v При работе в сети, по возможности, не вызывайте программы из памяти других компьютеров.

v Храните программы и данные в архивах на дисках и в разных подкаталогах жесткого диска.

v Не копируйте программы для собственных нужд со случайных копий.

v Обязательно иметь антивирусную программу

Специализированные программы для защиты от вирусов

Антивирусные программы позволяют произвести защиту, обнаружение и удаление компьютерных вирусов. Все специализированные программы для защиты от вирусов можно разделить на несколько видов:

Ø детекторы,

Ø доктора (фаги),

Ø ревизоры,

Ø доктора-ревизоры,

Ø фильтры и вакцины (иммунизаторы).

ПРОГРАММЫ-ДЕТЕКТОРЫ позволяют обнаруживать файлы, зараженные одним из нескольких известных вирусов. Эти программы проверяют, имеется ли в файлах на указанном пользователем диске специфическая для данного вируса комбинация байтов. При ее обнаружении в каком-либо файле на экран выводится соответствующее сообщение. Многие детекторы имеют режимы лечения или уничтожения зараженных файлов.

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

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

Большинство программ-детекторов имеют функцию "доктора", т.е. они пытаются вернуть зараженные файлы или области диска в их исходное состояние. Те файлы, которые не удалось восстановить, как правило, делаются неработоспособными или удаляются.

Dr.Web программа была создана в 1994 г. И. А. Даниловым и относится к классу детекторов-докторов, имеет так называемый "эвристический анализатор" - алгоритм, позволяющий обнаруживать неизвестные вирусы. "Лечебная паутина", как переводится с английского название программы, стала ответом отечественных программистов на нашествие самомодифицирующихся вирусов-мутантов. Последние, при размножении, модифицируют свое тело так, что не остается ни одной характерной цепочки байт, присутствовавшей в исходной версии вируса.

В пользу этой программы говорит тот факт, что крупную лицензию (на 2000 компьютеров) приобрело Главное управление информационных ресурсов при Президенте РФ, а второй по величине покупатель "паутины" - "Инкомбанк".

Aidstest - программа была изобретена ее в 1988 году Д.Н. Лозинским и является детектором-доктором. Программа Aidstest предназначена для исправления программ, зараженных обычными (неполиморфными) вирусами, не меняющими свой код. Это ограничение вызвано тем, что поиск вирусов этой программой ведется по опознавательным кодам. Зато при этом достигается очень высокая скорость проверки файлов.

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

ADinf (Advanced Diskinfoscope) относится к классу программ-ревизоров. Эта программа была создана Д. Ю. Мостовым в 1991 г.

Антивирус имеет высокую скорость работы, способен с успехом противостоять вирусам, находящимся в памяти. Он позволяет контролировать диск, читая его по секторам через BIOS и не используя системные прерывания DOS, которые может перехватить вирус.

Для лечения заражённых файлов применяется модуль ADinf Cure Module, не входящий в пакет ADinf и поставляющийся отдельно. Принцип работы модуля - сохранение небольшой базы данных, описывающей контролируемые файлы. Работая совместно, эти программы позволяют обнаружить и удалить около 97% файловых вирусов и 100% вирусов в загрузочном секторе. К примеру, нашумевший вирус SatanBug был легко обнаружен, и заражённые им файлы автоматически восстановлены. Причем, даже те пользователи, которые приобрели ADinf и ADinf Cure Module за несколько месяцев до появления этого вируса, смогли без труда от него избавиться.

AVP (Anti - Virus Protection ) программа сочетает в себе и детектор, и доктор, и ревизор, и даже имеет некоторые функции резидентного фильтра (запрет записи в файлы с атрибутом READ ONLY). Антивирусный набор, являющийся расширенной версией известного антивирусного комплекта «Доктор Касперский». В процессе работы программы производится тестирование на неизвестные вирусы. Также в комплект входит резидентная программа, отслеживающая подозрительные действия, совершаемые на компьютере, и дающая возможность просматривать карту памяти. Специальный набор утилит помогает обнаруживать новые вирусы и разбираться в них.

Антивирус может лечить как известные, так и неизвестные вирусы, причем о способе лечения последних программе может сообщить сам пользователь. К тому же AVP может лечить самомодифицирующиеся и Stealth-вирусы (невидимки).

Norton Antivirus - антивирусный пакет относится к средствам типа «установил и забыл». Все необходимые параметры конфигурации и плановые мероприятия (проверка диска, проверка новых и модифицированных программ, запуск Windows-утилиты Auto-Protect, проверка boot-сектора диска A: перед перезагрузкой) устанавливаются по умолчанию. Программа сканирования диска существует для DOS и Windows. В числе прочих Norton AntiVirus обнаруживает и уничтожает даже полиморфные вирусы, а также успешно реагирует на вирусоподобную активность и борется с неизвестными вирусами.

ФИЛЬТРЫ или СТОРОЖА или МОНИТОРЫ , которые располагаются резидентно в оперативной памяти компьютера и перехватывают те обращения к операционной системе, которые используются вирусами для размножения и нанесения вреда, и сообщают о них пользователя. Пользователь может разрешить или запретить выполнение соответствующей операции.

Некоторые программы-фильтры не "ловят" подозрительные действия, а проверяют вызываемые на выполнение программы, на наличие вирусов. Это вызывает замедление работы компьютера.

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

ВАКЦИНЫ , или ИММУНИЗАТОРЫ , модифицируют программы и диски таким образом, что это не отражается на работе программ, но тот вирус, от которого производится вакцинация, считает эти программы или диски уже зараженными. Эти программы крайне неэффективны. Отслеживают потенциально опасные операции, выдавая пользователю соответствующий запрос на разрешение/запрещение операции.

Недостатки антивирусных программ

Ø Ни одна из существующих антивирусных технологий не может обеспечить полной защиты от вирусов.

Ø Антивирусная программа забирает часть вычислительных ресурсов системы, нагружая центральный процессор и жёсткий диск. Особенно это может быть заметно на слабых компьютерах. Замедление в фоновом режиме работы может достигать 380 %.

Ø Антивирусные программы могут видеть угрозу там, где её нет (ложные срабатывания).

Ø Антивирусные программы загружают обновления из Интернета, тем самым расходуя трафик.

Ø Различные методы шифрования и упаковки вредоносных программ делают даже известные вирусы не обнаруживаемыми антивирусным программным обеспечением. Для обнаружения этих «замаскированных» вирусов требуется мощный механизм распаковки, который может дешифровать файлы перед их проверкой. Однако во многих антивирусных программах эта возможность отсутствует и, в связи с этим, часто невозможно обнаружить зашифрованные вирусы.

Существует большое количество платных и бесплатных антивирусных программ. Можно выделить следующие популярные торговые марки:

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

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

Но и у создателей антивирусов есть преимущество! Дело в том, что существует большое количество вирусов, алгоритм которых практически скопирован с алгоритма других вирусов. Как правило, такие вариации создают непрофессиональные программисты, которые по каким-то причинам решили написать вирус. Для борьбы с такими "копиями" придумано новое оружие - эвристические анализаторы. С их помощью антивирус способен находить подобные аналоги известных вирусов, сообщая пользователю, что у него, похоже, завелся вирус. Естественно, надежность эвристического анализатора не 100%, но все же его коэффициент полезного действия больше 0,5.

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

Методы защиты.

Определение антивирусных программ и их классификация.

Каким бы ни был вирус, пользователю необходимо знать основ­ные методы защиты от компьютерных вирусов.

Для защиты от вирусов можно использовать:

Общие средства защиты информации, которые полезны также как и страховка от физической порчи дисков, неправильно работа­ющих программ или ошибочных действий пользователя;

Профилактические меры, позволяющие уменьшитьвероят­ность заражения вирусом;

Специализированные программы для защиты от вирусов. Имеются две основные разновидности общих средств защиты информации, обеспечивающие:

Копирование информации - создание копий файлов и сис­темных областей дисков;

Разграничение доступа, которое предотвращает несанкциони­рованное использование информации, в частности защиту от изме­нений программ и данных вирусами, неправильно работающими программами и ошибочными действиями пользователей.

Для обнаружения, удаления и защиты от компьютерных вирусов разработано несколько видов специальных программ, которые по­зволяют обнаруживать и уничтожать вирусы. Такие программы на­зываются антивирусными. Различают следующие виды антивирус­ных программ:

Программы-детекторы;

Программы-доктора или фаги;

Программы-ревизоры;

Программы-фильтры;

Программы-вакцины или иммунизаторы.

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

Программы-доктора или фаги, а также программы-вакцины не только находят зараженные вирусами файлы, но и «лечат» их, т. е. удаляют из файла тело программы-вируса, возвращая файлы в ис­ходное состояние. В начале своей работы фаги ищут вирусы в опе­ративной памяти, уничтожая их, и только затем переходят к «лече­нию» файлов. Среди фагов выделяют полифаги, т. е. програм­мы-доктора, предназначенные для поиска и уничтожения большого количества вирусов. Наиболее известные из них: Aidstest, Scan, Nor­ton AntiVirus, Doctor Web.

Учитывая, что постоянно появляются новые вирусы, програм­мы-детекторы и программы-доктора быстро устаревают, и требуется регулярное обновление версий.

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

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



Первоначально антивирусы-полифаги работали по очень про­стому принципу - осуществляли последовательный просмотр фай­лов на предмет нахождения в них вирусных программ. Если сигна­тура вируса была обнаружена, то производилась процедура удаления вирусного кода из тела программы или документа. Прежде чем на­чать проверку файлов, программа-фаг всегда проверяет оперативную память. Если в оперативной памяти оказывается вирус, то про­исходит его деактивация. Это вызвано тем, что зачастую вирусные программы производят заражение тех программ, которые запуска­ются или открываются в тот момент, когда вирус находится в актив­ной стадии (это связано со стремлением экономить на усилиях по поиску объектов заражения). Таким образом, если вирус останется активным в памяти, то тотальная проверка всех исполняемых фай­лов приведет к тотальному заражению системы.

В настоящее время вирусные программы значительно усложни­лись. Например, появились так называемые «stealth-вирусы». В основе их работы лежит тот факт, что операционная система при обращении к периферийным устройствам (в том числе и к жестким дискам) использует механизм прерываний. Здесь необходимо сде­лать небольшое отступление на тему «Как работает механизм пре­рываний». При возникновении прерывания управление передается специальной программе - «Обработчику прерываний». Эта про­грамма отвечает за ввод и вывод информации в/из периферийного устройства. Кроме того, прерывания делятся на уровни взаимодей­ствия с периферией (в нашем случае - с жесткими и гибкими дис­ками). Есть уровень операционной системы (в среде MS DOS - прерывание 25h), есть уровень базовой системы ввода/вывода (уровень BIOS - прерывание 13h). Опытные системные программисты могут работать и напрямую, обращаясь к портам ввода/вывода устройств. Но это довольно серьезная и трудная задача. Столь мно­гоуровневая система сделана, прежде всего, с целью сохранения пе­реносимости приложений. Именно благодаря такой системе, ска­жем, оказалось возможным осуществлять запуск DOS-приложений в многозадачных средах типа MS Windows или IBM OS/2.

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

В случае, если с диска читается зараженная программа, вирус «выкусывает» собственный код (обычно код не буквально «выкусы­вается», а происходит подмена номера читаемого сектора диска). В итоге пользователь получает для чтения «чистый» код. Таким об­разом, до тех пор, пока вектор обработчика прерываний изменен вирусным кодом, сам вирус активен в памяти компьютера, обнару­жить его простым чтением диска средствами операционной систе­мы невозможно. Схожий механизм маскировки используется и за­грузочными вирусами, о которых будет сказано дальше. В целях борьбы со stealth-вирусами ранее рекомендовалось (и, в принципе, рекомендуется и сейчас) осуществлять альтернативную загрузку си­стемы с гибкого диска и только после этого проводить поиск и уда­ление вирусных программ. В настоящее время загрузка с гибкого диска может оказаться проблематичной (для случая с Win32 - ан­тивирусными приложениями запустить их не удастся). Ввиду всего вышесказанного, антивирусы-полифаги оказываются максимально эффективными только при борьбе с уже известными вирусами, то есть с такими, чьи сигнатуры и методы поведения знакомы разра­ботчикам.

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

Особняком тут стоят так называемые эвристические анализато­ры. Дело в том, что существует большое количество вирусов, алго­ритм которых практически скопирован с алгоритма других вирусов.

Как правило, такие вариации создают непрофессиональные про­граммисты, которые по каким-то причинам решили написать вирус. Для борьбы с такими «копиями» и были придуманы эвристические анализаторы. С их помощью антивирус способен находить подоб­ные аналоги известных вирусов, сообщая пользователю, что у него, похоже, завелся вирус. Естественно, надежность эвристического анализатора не 100 %, но все же его коэффициент полезного дейст­вия больше 50 %. Вирусы, которые не распознаются антивирусны­ми детекторами, способны написать только наиболее опытные и квалифицированные программисты.

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

Конечно, вероятность, как пропуска, так и ложного срабатыва­ния весьма высока. Однако, правильно используя механизм эвристи­ки, пользователь может самостоятельно прийти к верным выводам. Например, если антивирус выдает сообщение о подозрении на ви­рус для единичного файла, то вероятность ложного срабатывания весьма высока. Если же такое повторяется на многих файлах (а до этого антивирус ничего подозрительного в этих файлах не обнару­живал), то можно говорить о заражении системы вирусом с вероят­ностью, близкой к 100 %. Наиболее мощным эвристическим анали­затором в настоящее время обладает антивирус Dr.Web.

Использование эвристического анализатора, помимо всего вы­шеперечисленного, позволяет также бороться с вирус-генераторами и полиморфными вирусами.

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

В простейшем случае - если разбросать в теле вируса случай­ным образом ничего не исполняющие, пустые операторы (типа «mov ax, ax» или «пор»), то тело вирусного кода претерпит значи­тельные изменения, а алгоритм останется прежним. В этом случае на помощь также приходит эвристический анализатор.

Антивирус - это программа, выявляющая и обезвреживающая компьютерные вирусы.

Программы – детекторы или сканеры позволяют обнаружить файлы, зараженные вирусов. При обнаружении, в каком-либо файле на экран выводится соответствующее сообщение. Многие детекторы имеют режимы лечения или уничтожения зараженных файлов. Недостатком таких программ является то, что они могут обнаруживать только те вирусы, которые известны разработчикам таких программ. Существуют следующие антивирусные сканеры: A-squared Free, Dr.Web CureIt, BitDefender Free Edition, ClamWin и др.

Программы – доктора (фаги) не только находят зараженные вирусами файлы, но и «лечат» их, т.е. удаляют из файла тело программы вируса, возвращая файлы в исходное состояние. Среди фагов выделяют полифаги, предназначенные для поиска и уничтожения большого количества вирусов. Наиболее известные из них Aidstest, Doctor Web, Norton AntiVirus.

Программы – ревизоры – это программы, которые анализируют текущее состояние файлов и системных областей диска и сравнивают его с информацией, сохраненной ранее в одном из файлов данных ревизора. Сравнение состояний обычно производят сразу после загрузки операционной системы. При этом проверяется длина файлов, их время создания и другие параметры. Обнаруженные изменения выводятся на экран. Анализируя сообщение программы – ревизора, пользователь может решить, чем вызваны изменения. К распространенным программам-ревизорам относятся: Adinf32, AVP Inspector и ревизор, встроенный в антивирус Касперского.

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

Вирусы попадают в компьютер в основном вместе с программным обеспечением. Поэтому самым важным в защите от вирусов является использование незараженных программ, так как главным источником вирусов являются незаконные, так называемые “пиратские” копии программного обеспечения. Особенно опасны компьютерные игры и различного рода развлекательные программы, которые чаще других являются разносчиками компьютерной инфекции. Поэтому первым и наиважнейшим правилом антивирусной защиты является следующее: НЕОБХОДИМО ИСПОЛЬЗОВАТЬ ТОЛЬКО ЛИЦЕНЗИОННО-ЧИСТЫЕ ПРОГРАММЫ ОТ НАДЕЖНЫХ ПОСТАВЩИКОВ . Из этого правила вытекают следующие рекомендации организационного характера:

· приобретайте все программы в фирменной упаковке у надежного поставщика;

· не пользуйтесь без крайней необходимости чужими дискетами;

· не запускайте на выполнение программы, назначение которых неизвестно или непонятно.

Поскольку не все пользователи соблюдают указанное выше правило и, кроме того, можно столкнуться с действиями злоумышленников, то нужно выполнять следующие правила:

· не передавайте свои дискеты чужим лицам для использования, чтобы не заразить ваши дискеты;

· ограничьте доступ к вашему ПК посторонних лиц и запретите им пользоваться своими дискетами без вашего разрешения;

· перед началом работы на ПК после другого лица осуществите холодный перезапуск ПК, чтобы удалить из ОЗУ возможно присутствующие там резидентные вирусы;

· при работе на одном ПК нескольких пользователей разделите жесткий диск на несколько логических и разграничьте право доступа к различным дискам;

· включайте программы антивирусной защиты в файл AUTOEXEC.BAT;

· не ограничивайтесь использованием только одного антивирусного программного продукта. Новые вирусы появляются постоянно, и для их выявления требуются новые антивирусные программы;

· гибкие магнитные диски используйте, по возможности, с защитой от записи.

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

Антивирусные программы-ревизоры позволяют обнаружить вирус. Чаще всего обнаружением вируса дело и заканчивается. Существует блок лечения для популярного антивируса-ревизора Adinf, так называемый Cure Module, но такой блок позволяет лечить лишь те файлы, которые не были заражены на момент создания базы данных программы. Однако обнаружить вирус на компьютере (или даже подозрение на него) антивирусы-ревизоры могут с большой степенью надежности. Обычно наиболее оптимальным является связка полифаг и ревизор. Ревизор служит для обнаружения факта заражения системы. Если система заражена, то в дело пускается полифаг. Если же ему не удалось уничтожить вирус, то можно обратиться к разработчику антивирусных средств - скорее всего, на компьютер попал новый, неизвестный разработчикам вирус.

Основу работы ревизоров составляет контроль за изменениями, характерными для работы вирусных программ. В них содержится информация: о контрольных суммах неизменяемых файлов, содержимом системных областей, адресах обработчиков прерываний, размере доступной оперативной памяти и т. п. Вся остальная работа ревизора состоит в сравнении текущего состояния диска с ранее сохраненными данными, поэтому крайне важно, чтобы все контрольные таблицы создавались не на зараженной машине. Только в этом случае работа ревизора будет достаточно эффективной. Итак, перейдем к стадиям работы программы-ревизора.

Контроль оперативной памяти. Эта стадия проверки включает в себя процедуры обнаружения следов активных загрузочных и stealth-вирусов в памяти компьютера. Если такие алгоритмы будут найдены, выдается соответствующее предупреждение. Обычно сначала программа ищет уже знакомые вирусы. Далее программа проверяет, изменился ли обработчик Intl3h. Если он изменился, то с вероятностью 90 % можно сказать, что компьютер инфицирован загрузочным вирусом (загрузочные вирусы вынуждены перехватывать это прерывание с тем, чтобы после своей активизации передать управление «нормальному» загрузочному сектору и система загрузилась без сбоев). Ревизор выдает предупреждение об этом и сообщает адрес в памяти, по которому находится новый обработчик Intl3h. В принципе информация о местонахождении обработчика необходима программистам и системным администраторам, а рядовому пользователю следует обратить внимание на предупреждение. Даже если ревизор устанавливается на уже зараженный вирусом компьютер и реальный адрес обработчика Int 13h маскируется вирусом, в 85 % случаев ревизору удается обнаружить истинный адрес обработчика Intl3h в BIOS и работать, используя его. Если по каким-либо причинам ревизору не удалось получить реальный адрес обработчика, то выдается предупреждение. Истинный адрес обработчика прерывания достигается путем пошагового просмотра тела вируса (по алгоритму своей работы загрузочный вирус вынужден, в конце концов, передавать управление оригинальному обработчику).



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

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

Контроль системных областей. Контроль системных областей предназначен для обнаружения вирусов, которые используют для своей активации механизм загрузки. Первой с диска загружается загрузочная запись (boot record), которая содержит в себе мини-программу, управляющую дальнейшей загрузкой. Для жесткого диска первой производится загрузка главной загрузочной записи (Master-Boot Record или MBR).

Необходимо дать некоторые пояснения, связанные с обнаружением загрузочных вирусов. В случае если система поражена загрузочным вирусом, то именно ему передается управление при попытке загрузиться с пораженного диска. В этом опасность вируса - если поражен жесткий диск, то управление вирусу будет передаваться при каждом включении компьютера. Загрузочные вирусы в чистом виде передаются исключительно через дискеты, причем заражение осуществляется при попытке загрузиться с пораженной дискеты. Со временем использование дискет вообще и загрузочных дискет, в частности, сократилось до минимума. Однако способ захвата управления оказался столь удобен, что в настоящее время очень распространены вирусы, которые могут поражать как файлы, так и загрузочные сектора. Попав на «чистый» компьютер, такие вирусы первым делом поражают главную загрузочную запись. Однако методы обнаружения именно загрузочных вирусов в настоящее время крайне эффективны и приближаются к 100 % надежности.

Чтобы понять, как происходит обнаружение вируса, рассмотрим обнаружение такого вируса «вручную». Произведем загрузку с чистой дискеты (при этом прерывание 13h гарантировано не будет перехвачено загрузочным вирусом) и рассмотрим сектор 0/0/1 винчестера (это физический адрес сектора главной загрузочной записи). Если винчестер разделен (при помощи fdisk) на логические диски, то код занимает приблизительно половину сектора и начинается с байтов FAh33hCOh (вместо 33h иногда может быть 2Bh). Заканчиваться код должен текстовыми строками типа «Missing operating system». В конце сектора размещаются внешне разрозненные байты таблицы разделов. Нужно обратить внимание на размещение активного раздела в таблице разделов. Если операционная система расположена на диске С, а активны 2-й, 3-й или 4-й разделы, то вирус мог изменить точку старта, сам разместившись в начале другого логического диска (заодно нужно посмотреть и там). Но также это может говорить о наличии на машине нескольких операционных систем и какого-либо boot-менеджера, обеспечивающего выборочную загрузку. Проверяем всю нулевую дорожку. Если она чистая, то есть секторы содержат только байт-заполнитель, все в порядке. Наличие мусора, копий сектора 0/0/1 и прочего может говорить о присутствии загрузочного вируса. Впрочем, антивирусы при лечении загрузочных вирусов лишь «обезглавливают» противника (восстанавливают исходное значение сектора 0/0/1). Проверяем boot-сектор MS-DOS, он обычно расположен в секторе 0/1/1. Его внешний вид для сравнения можно найти на любой «чистой» машине. Примерно таким же способом действуют и программы-ревизоры. Их особенность в том, что они не могут судить об изначальной «чистоте» опе­ративной памяти, поэтому чтение Master Boot Record происходит тремя различными способами:

● (bios) - прямым обращением в BIOS;

● (il3h) - чтением через BIOS-прерывание Intl3h;

● (i25h) - чтением средствами операционной системы (прерывание Int25h).

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

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

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

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

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

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

Еще раз отметим, что наиболее эффективной антивирусной защитой будет использование «связки» ревизор - полифаг. Ревизор позволяет отследить активность вируса на диске, а полифаг служит для проверки новых файлов, а также удаления уже известных вирусов.

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

● попытки коррекции файлов с расширениями СОМ, ЕХЕ;

● изменение атрибутов файла;

● прямая запись на диск по абсолютному адресу;

● запись в загрузочные сектора диска;

При попытке какой-либо программы произвести указанные действия «сторож» посылает пользователю сообщение и предлагает запретить или разрешить соответствующее действие. Программы-фильтры весьма полезны, так как способны обнаружить вирус на самой ранней стадии его существования до размножения. Однако они не «лечат» файлы и диски. Для уничтожения вирусов требуется применить другие программы, например фаги. К недостаткам программ-сторожей можно отнести их «назойливость» (например, они постоянно выдают предупреждение о любой попытке копирования исполняемого файла), а также возможные конфликты с другим программным обеспечением. Примером программы-фильтра является программа Vsafe, входящая в состав пакета утилит MS DOS.

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

ПРОГРАММЫ ОБНАРУЖЕНИЯ И ЗАЩИТЫ ОТ ВИРУСОВ

Для обнаружения, удаления и защиты от компьютерных вирусов разработано несколько видов специальных программ, которые позволяют обнаруживать и уничтожать вирусы. Такие программы называются антивирусными.

Различают следующие виды антивирусных программ (рис. 11.11):

§ программы-детекторы;

§ программы-доктора или фаги;

§ программы-ревизоры;

§ программы-фильтры;

§ программы-вакцины или иммунизаторы.

Рис. 11.11. Виды антивирусных программ

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

Программы-доктора или фаги, а также программы-вакцины не только находят зараженные вирусами файлы, но и "лечат" их, т.е. удаляют из файла тело программы вируса, возвращая файлы в исходное состояние. В начале своей работы фаги ищут вирусы в оперативной памяти, уничтожая их, и только затем переходят к "лечению" файлов. Среди фагов выделяют полифаги, т.е. программы-доктора, предназначенные для поиска и уничтожения большого количества вирусов. Наиболее известными полифагами являются программы Aidstest, Scan, Norton AntiVirus и Doctor Web.

Учитывая, что постоянно появляются новые вирусы, программы-детекторы и программы-доктора быстро устаревают, и требуется регулярное обновление их версий.

Программы-ревизоры относятся к самым надежным средствам защиты от вирусов. Ревизоры запоминают исходное состояние программ, каталогов и системных областей диска тогда, когда компьютер не заражен вирусом, а затем периодически или по желанию пользователя сравнивают текущее состояние с исходным. Обнаруженные изменения выводятся на экран видеомонитора. Как правило, сравнение состояний производят сразу после загрузки операционной системы. При сравнении проверяются длина файла, код циклического контроля (контрольная сумма файла), дата и время модификации, другие параметры. Программы-ревизоры имеют достаточно развитые алгоритмы, обнаруживают стелс-вирусы и могут даже отличить изменения версии проверяемой программы от изменений, внесенных вирусом. К числу программ-ревизоров относится широко распространенная в России программа ADinf фирмы "Диалог-Наука".

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



§ попытки коррекции файлов с расширениями СОМ и ЕХЕ;

§ изменение атрибутов файлов;

§ прямая запись на диск по абсолютному адресу;

§ запись в загрузочные сектора диска;

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

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

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

Антивирусный комплект АО "Диалог-Наука"

Среди обилия современных программных средств борьбы с компьютерными вирусами предпочтение следует отдать антивирусному комплекту АО "Диалог-Наука", в который входят четыре программных продукта: полифаги Aidstest и Doctor Web (сокращенно Dr.Web), ревизор диска ADinf и лечащий блок ADinf Cure Module. Рассмотрим кратко, как и когда надо применять эти антивирусные программы.

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

Для вызова Aidstest следует ввести команду:

AIDSTEST []

где path - имя диска, полное имя или спецификация файла, маска группы файлов:

* – все разделы жесткого диска,

** – все диски, включая сетевые и диски CD ROM;

options - любая комбинация следующих ключей:

/F - исправлять зараженные программы и стирать испорченные;

/G – проверять все файлы подряд (не только СОМ, ЕХЕ и SYS);

/S – медленная работа для поиска испорченных вирусов;

/X – стирать все файлы с нарушениями в структуре вируса;

/Q – спрашивать разрешение на удаление испорченных файлов;

/В – не предлагать обработку следующей дискеты.

Пример 11.27. Aidstest для проверки и "лечения" диска В:. Обнаруженные зараженные программы будут исправлены. Проверке подлежат все файлы диска. Если файл исправить не удастся, то программа будет просить разрешение на его удаление:

aidstest b: /f /g /q

Программа-полифаг Doctor Web. Эта программа предназначена прежде всего для борьбы с полиморфными вирусами, которые сравнительно недавно появились в компьютерном мире. Использование Dr. Web для проверки дисков и удаления обнаруженных вирусов в целом подобно программе Aidstest. При этом дублирования проверки практически не происходит, так как Aidstest и Dr. Web работают на разных наборах вирусов.

Программа Dr. Web может эффективно бороться со сложными вирусами-мутантами, которые оказываются не под силу программе Aidstest. В отличие от Aidstest программа Dr. Web способна обнаруживать изменения в собственном программном коде, эффективно определять файлы, зараженные новыми, неизвестными вирусами, проникая в зашифрованные и упакованные файлы, а также преодолевая "вакцинное прикрытие". Это достигается благодаря наличию достаточно мощного эвристического анализатора.

В режиме эвристического анализа программа Dr.Web исследует файлы и системные области дисков, пытаясь обнаружить новые или неизвестные ей вирусы по характерным для вирусов кодовым последовательностям. Если таковые будут найдены, то выводится предупреждение о том, что объект, возможно, инфицирован неизвестным вирусом.

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

Третий уровень эвристического анализа предусматривает дополнительную проверку файлов на "подозрительное" время их создания. Некоторые вирусы при заражении файлов устанавливают некорректное время создания, как признак зараженности данных файлов. Например, для зараженных файлов секунды могут иметь значение 62, а год создания может быть увеличен на 100 лет.

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

Работать с программой Dr. Web можно в двух режимах:

§ в режиме полноэкранного интерфейса с использованием меню и диалоговых окон;

§ в режиме управления через командную строку.

Для разового нерегулярного применения более удобен первый режим, но для регулярного применения с целью систематического входного контроля дискет лучше применять второй режим. При использовании второго режима соответствующая команда запуска Dr. Web должна быть включена либо в меню пользователя операционной оболочки Norton Commander, либо в специальный командный файл.

Командная строка для запуска Dr. Web выглядит следующим образом:

DrWeb [диск: [путь] ] [ключи]

где диск:

X: - логическое устройство жесткого диска или физическое устройство гибкого диска, например F: или А:,

* - все логические устройства на жестком диске,

путь - это путь или маска требуемых файлов.

Наиболее важные ключи:

/AL - диагностика всех файлов на заданном устройстве;

/CU[P] - "лечение" дисков и файлов, удаление найденных вирусов;

Р - удаление вирусов с подтверждением пользователя;

/DL - удаление файлов, корректное лечение которых невозможно;

/НА[уровень] - эвристический анализ файлов и поиск в них неизвестных вирусов, где уровень

может принимать значения 0, 1, 2;

/RР[имя файла] – запись протокола работы в файл (по умолчанию в файл REPORT.WEB);

/CL - запуск программы в режиме командной строки, при тестировании файлов и

системных областей не используется полноэкранный интерфейс;

/QU - выход в DOS сразу после тестирования;

/? – вывод на экран краткой справки.

Если в командной строке Dr.Web не указано ни одного ключа, то вся информация для текущего запуска будет считываться из файла конфигурации DRWEB.INI, расположенного в том же каталоге, что и файл DRWEB.EXE. Файл конфигурации создается в процессе работы с программой Dr. Web с помощью команды сохранения параметров, необходимых для тестирования.

Пример 11.28. Запуск антивирусной программы Dr.Web для проверки и лечения диска В:. Обнаруженные зараженные файлы будут "вылечены". Проверке подлежат все файлы диска. Если файл "вылечить" не удастся, то программа будет просить разрешение на его удаление. Для поиска вирусов должен использоваться эвристический уровень анализа 1. Программа должна выполняться только в режиме командной строки с выходом в DOS после завершения тестирования:

DrWeb В: /AL /CUP /HA1 /QU / CL