logo
Информатика учебник

14.4. Программы борьбы с компьютерными вирусами

Наиболее эффективны в борьбе с компьютерными вирусами антивирусные программы. Несмотря на все разнообразие современных антивирусных программных продуктов принципы их работы одинаковы. К основным функциям современных антивирусов относятся:

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

Вирусная сигнатура – это некоторая уникальная характеристика вирусной программы, которая выдает присутствие вируса в вычислительной системе.

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

Существуют следующие основные виды антивирусных программ.

Детекторы (сканеры) – это специальные программы, предназначенные для просмотра всех возможных мест нахождения вирусов (файлы, операционная система, внутренняя память и т. д.) и сигнализирующие об их наличии. Устаревший вариант названия таких программ — «полифаги».

Принцип работы антивирусных сканеров основан на проверке файлов, секторов и системной памяти и поиске в них известных и новых (неизвестных сканеру) вирусов. Для поиска известных вирусов используются так называемые «маски». Маской вируса является некоторая постоянная последовательность кода, специфичная для этого конкретного вируса. Если вирус не содержит постоянной маски, или длина этой маски недостаточно велика, то используются другие методы. Примером такого метода являетcя алгоритмический язык, описывающий все возможные варианты кода, которые могут встретиться при заражении подобного типа вирусом. Такой подход используется некоторыми антивирусами для детектирования полиморфик - вирусов. Сканеры также можно разделить на две категории — «универсальные» и «специализированные». Универсальные сканеры рассчитаны на поиск и обезвреживание всех типов вирусов вне зависимости от операционной системы, на работу в которой рассчитан сканер. Специализированные сканеры предназначены для обезвреживания ограниченного числа вирусов или только одного их класса, например макро-вирусов. Специализированные сканеры, рассчитанные только на макро-вирусы, часто оказываются наиболее удобным и надежным решением для защиты систем документооборота в средах MS Word и MS Excel.

Сканеры также делятся на «резидентные» (мониторы, сторожа), производящие сканирование «на-лету», и «нерезидентные», обеспечивающие проверку системы только по запросу. Как правило, «резидентные» сканеры обеспечивают более надежную защиту системы, поскольку они немедленно реагируют на появление вируса, в то время как «нерезидентный» сканер способен опознать вирус только во время своего очередного запуска. С другой стороны резидентный сканер может несколько замедлить работу компьютера в том числе и из-за возможных ложных срабатываний. К достоинствам сканеров всех типов относится их универсальность, к недостаткам —относительно небольшую скорость поиска вирусов. Наиболее распространены в России следующие программы: AVP - Касперского, Dr.Weber – Данилова, Norton Antivirus фирмы Semantic.

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

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

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

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

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

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

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

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

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

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

Следует отметить, что не существует антивирусных программ, гарантирующих стопроцентную защиту от вирусов, и заявления о существовании таких систем можно расценить как либо недобросовестную рекламу, либо непрофессионализм. Таких систем не существует, поскольку на любой алгоритм антивируса всегда можно предложить контр-алгоритм вируса, невидимого для этого антивируса (обратное, к счастью, тоже верно: на любой алгоритм вируса всегда можно создать антивирус). Самыми популярными и эффективными антивирусными программами являются антивирусные сканеры (другие названия: фаг, полифаг, программа-доктор). Следом за ними по эффективности и популярности следуют CRC-сканеры (также: ревизор, checksumer, integrity checker). Часто оба приведенных метода объединяются в одну универсальную антивирусную программу, что значительно повышает ее мощность.

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