Антивирусные программы. 28
АНТИВИРУСНЫЕ ПРОГРАММЫ
1 Основы работы антивирусных программ
Общие сведения
Антивирусные программы - это программы, основной задачей которых является защита именно от вирусов, или точнее, от вредоносных программ.
Методы и принципы защиты теоретически не имеют особого значения, главное чтобы они были направлены на борьбу с вредоносными программами. Но на практике дело обстоит несколько иначе: практически любая антивирусная программа объединяет в разных пропорциях все технологии и методы защиты от вирусов, созданные к сегодняшнему дню.
Из всех методов антивирусной защиты можно выделить две основные группы:
Сигнатурные методы - точные методы обнаружения вирусов, основанные на сравнении файла с известными образцами вирусов
Эвристические методы - приблизительные методы обнаружения, которые позволяют с определенной вероятностью предположить, что файл заражен
Сигнатурный анализ
Слово сигнатура в данном случае является калькой на английское signature, означающее "подпись" или же в переносном смысле "характерная черта, нечто идентифицирующее". Собственно, этим все сказано. Сигнатурный анализ заключается в выявлении характерных идентифицирующих черт каждого вируса и поиска вирусов путем сравнения файлов с выявленными чертами.
Сигнатурой вируса будет считаться совокупность черт, позволяющих однозначно идентифицировать наличие вируса в файле (включая случаи, когда файл целиком является вирусом). Все вместе сигнатуры известных вирусов составляют антивирусную базу.
Задачу выделения сигнатур, как правило, решают люди - эксперты в области компьютерной вирусологии, способные выделить код вируса из кода программы и сформулировать его характерные черты в форме, наиболее удобной для поиска. Как правило - потому что в наиболее простых случаях могут применяться специальные автоматизированные средства выделения сигнатур. Например, в случае несложных по структуре троянов или червей, которые не заражают другие программы, а целиком являются вредоносными программами.
Практически в каждой компании, выпускающей антивирусы, есть своя группа экспертов, выполняющая анализ новых вирусов и пополняющая антивирусную базу новыми сигнатурами. По этой причине антивирусные базы в разных антивирусах отличаются. Тем не менее, между антивирусными компаниями существует договоренность об обмене образцами вирусов, а значит рано или поздно сигнатура нового вируса попадает в антивирусные базы практически всех антивирусов. Лучшим же антивирусом будет тот, для которого сигнатура нового вируса была выпущена раньше всех.
Одно из распространенных
заблуждений насчет сигнатур заключается
в том, каждая сигнатура соответствует
ровно одному вирусу или вредоносной
программе. И как следствие, антивирусная
база с большим количеством сигнатур
позволяет обнаруживать больше вирусов.
На самом деле это не так. Очень
часто для обнаружения
Соотношение количества сигнатур
и количества известных вирусов
для каждой антивирусной базы свое
и вполне может оказаться, что
база с меньшим количеством сигнатур
в действительности содержит информацию
о большем количестве вирусов. Если
же вспомнить, что антивирусные компании
обмениваются образцами вирусов, можно
с высокой долей уверенности
считать, что антивирусные базы наиболее
известных антивирусов
Важное дополнительное свойство сигнатур - точное и гарантированное определение типа вируса. Это свойство позволяет занести в базу не только сами сигнатуры, но и способы лечения вируса. Если бы сигнатурный анализ давал только ответ на вопрос, есть вирус или нет, но не давал ответа, что это за вирус, очевидно, лечение было бы не возможно - слишком большим был бы риск совершить не те действия и вместо лечения получить дополнительные потери информации.
Другое важное, но уже отрицательное свойство - для получения сигнатуры необходимо иметь образец вируса. Следовательно, сигнатурный метод непригоден для защиты от новых вирусов, т. к. до тех пор, пока вирус не попал на анализ к экспертам, создать его сигнатуру невозможно. Именно поэтому все наиболее крупные эпидемии вызываются новыми вирусами. С момента появления вируса в сети Интернет до выпуска первых сигнатур обычно проходит несколько часов, и все это время вирус способен заражать компьютеры почти беспрепятственно. Почти - потому что в защите от новых вирусов помогают дополнительные средства защиты, рассмотренные ранее, а также эвристические методы, используемые в антивирусных программах.
Эвристический анализ
Слово "эвристика" происходит от греческого глагола "находить". Суть эвристических методов состоит в том, что решение проблемы основывается на некоторых правдоподобных предположениях, а не на строгих выводах из имеющихся фактов и предпосылок. Поскольку такое определение звучит достаточно сложно и непонятно, проще объяснить на примерах различных эвристических методов
Поиск вирусов, похожих на известные
Если сигнатурный метод основан на выделении характерных признаков вируса и поиске этих признаков в проверяемых файлах, то эвристический анализ основывается на (весьма правдоподобном) предположении, что новые вирусы часто оказываются похожи на какие-либо из уже известных. Постфактум такое предположение оправдывается наличием в антивирусных базах сигнатур для определения не одного, а сразу нескольких вирусов. Основанный на таком предположении эвристический метод заключается в поиске файлов, которые не полностью, но очень близко соответствуют сигнатурам известных вирусов.
Положительным эффектом от использования этого метода является возможность обнаружить новые вирусы еще до того, как для них будут выделены сигнатуры. Отрицательные стороны:
Вероятность ошибочно определить наличие в файле вируса, когда на самом деле файл чист - такие события называются ложными срабатываниями
Невозможность лечения - и в силу возможных ложных срабатываний, и в силу возможного неточного определения типа вируса, попытка лечения может привести к большим потерям информации, чем сам вирус, а это недопустимо
Низкая эффективность - против
действительно новаторских
Поиск вирусов, выполняющих подозрительные действия
Другой метод, основанный на эвристике, исходит из предположения, что вредоносные программы так или иначе стремятся нанести вред компьютеру. Метод основан на выделении основных вредоносных действий, таких как, например:
- Удаление файла.
- Запись в файл.
- Запись в определенные области системного реестра.
- Открытие порта на прослушивание.
- Перехват данных вводимых с клавиатуры.
- Рассылка писем.
- И др.
Понятно, что выполнение
каждого такого действия по отдельности
не является поводом считать программу
вредоносной. Но если программа последовательно
выполняет несколько таких
Преимуществом описанного метода является возможность обнаруживать неизвестные ранее вредоносные программы, даже если они не очень похожи на уже известные. Например, новая вредоносная программа может использовать для проникновения на компьютер новую уязвимость, но после этого начинает выполнять уже привычные вредоносные действия. Такую программу может пропустить эвристический анализатор первого типа, но вполне может обнаружить анализатор второго типа.
Отрицательные черты те же, что и раньше:
- Ложные срабатывания.
- Невозможность лечения.
- Невысокая эффективность.
Дополнительные средства
Практически любой антивирус сегодня использует все известные методы обнаружения вирусов. Но одних средств обнаружения мало для успешной работы антивируса, для того, чтобы чисто антивирусные средства были эффективными, нужны дополнительные модули, выполняющие вспомогательные функции.
Модуль обновления
В первую очередь, каждый антивирус
должен содержать модуль обновления.
Это связано с тем, что основным
методом обнаружения вирусов
сегодня является сигнатурный анализ,
который полагается на использование
антивирусной базы. Для того чтобы
сигнатурный анализ эффективно справлялся
с самыми последними вирусами, антивирусные
эксперты постоянно анализируют
образцы новых вирусов и
Именно эту задачу и
решает модуль обновления. После того,
как эксперты создают новые сигнатуры,
файлы с сигнатурами
Модули обновления разных антивирусов весьма похожи друг на друга и отличаются типами серверов, с которых они могут загружать файлы обновлений, а точнее, типами протоколов, которые они могут использовать при загрузке - HTTP, FTP, протоколы локальных Windows-сетей. Некоторые антивирусные компании создают специальные протоколы для загрузки своих обновлений антивирусной базы. В таком случае модуль обновления может использовать и этот специальный протокол.
Второе, в чем могут
отличаться модули обновления - это
настройка действий, на случай, если
источник обновлений недоступен. Например,
в некоторых модулях обновления
можно указать не один адрес сервера
с обновлениями, а адреса нескольких
серверов, и модуль обновления будет
обращаться к ним по очереди, пока
не обнаружит работающий сервер. Или
же в модуле обновления может быть
настройка - повторять попытки обновления
с заданным интервалом определенное
количество раз или же до тех пор,
пока сервер не станет доступным. Эти
две настройки могут
Модуль планирования
Второй важный вспомогательный
модуль - это модуль планирования. Существует
ряд действий, которые антивирус
должен выполнять регулярно: в частности,
проверять весь компьютер на наличие
вирусов и обновлять
Для обновления антивирусной
базы рекомендуется использовать небольшой
интервал - один час или три часа,
в зависимости от возможностей канала
доступа в Интернет. В настоящее
время новые модификации
Полную проверку компьютера нужно проводить хотя бы потому, что сначала появляются новые вредоносные программы, а только потом сигнатуры к ним, а значит всегда есть возможность загрузить на компьютер вредоносную программу раньше, чем обновление антивирусных баз. Чтобы обнаружить эти вредоносные программы, компьютер нужно периодически перепроверять. Разумным расписанием для проверки компьютера можно считать раз в неделю.
Исходя из сказанного, основная задача модуля планирования - давать возможность выбрать для каждого действия расписание, которое больше всего подходит именно для этого типа действия. Следовательно модуль обновления должен поддерживать много различных вариантов расписания из которых можно было бы выбирать.
Модуль управления
По мере увеличения количества модулей в антивирусе возникает необходимость в дополнительном модуле для управления и настройки. В простейшем случае - это общий интерфейсный модуль, при помощи которого можно в удобной форме получить доступ к наиболее важным функциям:
- Настройке параметров антивирусных модулей.
- Настройке обновлений.
- Настройке периодического запуска обновления и проверки.
- Запуску модулей вручную, по требованию пользователя.
- Отчетам о проверке.
- Другим функциям, в зависимости от конкретного антивируса.
Основные требования к такому модулю - удобный доступ к настройкам, интуитивная понятность, подробная справочная система, описывающая каждую настройку, возможность защитить настройки от изменений, если за компьютером работает несколько человек. Подобным модулем управления обладают все антивирусы для домашнего использования. Антивирусы для защиты компьютеров в крупных сетях должны обладать несколько иными свойствами.
Уже не раз говорилось, что в большой организации за настройку и правильное функционирование антивирусов отвечают не пользователи компьютеров, а специальные сотрудники. Если компьютеров в организации много, то каждому ответственному за безопасность сотруднику придется постоянно бегать от одного компьютера к другому, проверяя правильность настройки и просматривая историю обнаруженных заражений. Это очень неэффективный подход к обслуживанию системы безопасности.
Поэтому, чтобы упростить работу администраторов антивирусной безопасности, антивирусы, которые используются для защиты больших сетей, оборудованы специальным модулем управления. Основные свойства этого модуля управления:
· Поддержка удаленного управления
и настройки - администратор безопасности
может запускать и
· Защита настроек от изменений - модуль управления не позволяет локальному пользователю изменять настройки или останавливать антивирус, чтобы пользователь не мог ослабить антивирусную защиту организации.
Это далеко не все требования
к управлению антивирусной защитой
в крупной организации, а только
основные принципы. Подробнее об особенностях
антивирусной защиты сетей и требованиях
к модулям управления будет рассказано
позже в соответствующем
Карантин
Среди прочих вспомогательных средств во многих антивирусах есть специальные технологии, которые защищают от возможной потери данных в результате действий антивируса.
Например, легко представить ситуацию, при которой файл детектируется как возможно зараженный эвристическим анализатором и удаляется согласно настройкам антивируса. Однако эвристический анализатор никогда не дает стопроцентной гарантии того, что файл действительно заражен, а значит с определенной вероятностью антивирус мог удалить незараженный файл.
Или же антивирус обнаруживает важный документ зараженный вирусом и пытается согласно настройкам выполнить лечение, но по каким-то причинам происходит сбой и вместе с вылеченным вирусом теряется важная информация.
Разумеется, от таких случаев
желательно застраховаться. Проще всего
это сделать, если перед лечением
или удалением файлов сохранить
их резервные копии, тогда если окажется,
что файл был удален ошибочно или
была потеряна важная информация, всегда
можно будет выполнить
Тестирование работы антивируса
После того как антивирус установлен и настроен, каждый пользователь хочет убедиться, что он все сделал правильно и антивирусная защита работает. Но как это проверить? Первое, что приходит в голову: взять где-нибудь зараженный файл и посмотреть поймает ли его антивирус. Но, как и у многих простых решений, у этого есть ряд очевидных недостатков:
· Зараженный файл не так-то
просто найти. Даже если воспользоваться
поиском в Интернете и найти
какие-то файлы, нет никакой гарантии,
что они действительно
· Использовать для тестирования настоящие вирусы крайне опасно. Если пользователь все же ошибся и неправильно выполнил установку или настройку антивируса, в процессе тестирования он может на самом деле заразить свой компьютер, в результате чего потерять данные или стать источником заражения для других компьютеров.
Значит нужен такой способ тестирования антивирусов, который был бы безопасным, но давал четкий ответ на вопрос, корректно ли работает антивирус. Понимая важность проблемы, организация EICAR при участии антивирусных компаний создала специальный тестовый файл, который был назван по имени организации - eicar.com.
Eicar.com - это исполняемый
файл в COM-формате, который
Получить eicar.com можно на сайте
организации EICAR по адресу http://www.eicar.org/anti_
X5O!P%@AP[4\PZX54(P^)7CC)7}$
сохранить файл под именем eicar.com, и все - тестовый файл готов.
Рис. 1 - Тестовый файл eicar.com
Созданный описанным способом файл eicar.com ничем не отличается от доступного на сайте организации EICAR, можно загрузить и убедиться самому. Его можно пытаться скопировать на защищенную машину, запускать на ней или же просто проверять, чтобы проверить работу антивируса в разных режимах.
Тестирование антивируса
при помощи eicar.com тоже не идеально. Концепция
тестового файла и сам тестовый
файл, разрабатывались в начале 90-х
годов, когда едва ли не единственным
типом вредоносных программ были
файловые вирусы. Поэтому eicar.com в первую
очередь позволяет
Однако сейчас разнообразие
вредоносных программ гораздо больше.
И соответственно больше антивирусных
модулей, предназначенных для защиты
от различных угроз. Например, во многих
антивирусах имеется
2 Классификация антивирусов
Общие сведения
Обязательное свойство любой качественной защиты - это способность не мешать выполнению основных функций защищаемой системы, предмета или человека. Такая защита должна обеспечивать безопасность, не вмешиваясь в деятельность защищаемого объекта, по возможности быть невидимой, ее влияние - сведено к минимуму. Однако от этого ни в коем случае не должна страдать надежность.
В случае антивирусной защиты
такой баланс обычно достигается
путем введения двух различных режимов
работы антивирусных программ с возможностью
самостоятельной подробной
Режимы работы антивирусов
Надежность антивирусной защиты обеспечивается не только способностью отражать любые вирусные атаки. Другое не менее важное свойство защиты - ее непрерывность. Это означает, что антивирус должен начинать работу по возможности до того, как вирусы смогут заразить только что включенный компьютер и выключаться только после завершения работы всех программ. Однако с другой стороны, пользователь должен иметь возможность в любой момент запросить максимум ресурсов компьютера для решения своей, прикладной задачи и антивирусная защита не должна ему помешать это сделать. Оптимальный выход в этой ситуации - это введение двух различных режимов работы антивирусных средств: один с небольшой функциональностью, но работающий постоянно, и второй - тщательная и более ресурсоемкая проверка на наличие вирусов по запросу пользователя. Такое разделение принято в большинстве современных антивирусов.
Проверка в режиме реального времени
Проверка в режиме реального
времени, или постоянная проверка, обеспечивает
непрерывность работы антивирусной
защиты. Это реализуется с помощью
обязательной проверки всех действий,
совершаемых другими
Требование к невмешательству осуществляется с помощью задания персональных настроек, наиболее точно отражающих специфику конкретного компьютера. В большинстве случаев, например, можно безболезненно отключить из проверки файлы ряда графических форматов, текстовые файлы, архивы (поскольку при распаковке все содержащиеся в архиве файлы все равно будут проверены), исходящую почту.
Постоянная проверка защиты системы от заражения необходима даже в случае, если вредоносный код каким-либо способом уже проник на компьютер - например, еще до установки антивируса. Следовательно, этот режим должен быть включен с момента начала загрузки операционной системы и выключаться только в последнюю очередь.
Проверка по требованию
В некоторых случаях наличия постоянно работающей проверки в режиме реального времени может быть недостаточно. Возможна ситуация, когда на компьютер был скопирован зараженный файл, исключенный из постоянной проверки ввиду больших размеров и, следовательно, вирус в нем обнаружен не был. Если этот файл на рассматриваемом компьютере запускаться не будет, то вирус может остаться незамеченным и проявить себя только после пересылки его на другой компьютер, что может сильно повредить репутации отправителя - распространителя вирусов. Для исключения подобных случаев используется второй режим работы антивируса - проверка по требованию.
Для такого режима обычно предполагается, что пользователь лично укажет какие файлы, каталоги или области диска необходимо проверить и время, когда нужно произвести такую проверку - в виде расписания или разового запуска вручную. Обычно рекомендуется проверять все чужие внешние носители информации, такие как дискеты, компакт диски, flash-накопители каждый раз перед чтением информации с них, а также весь свой жесткий диск не реже одного раза в неделю.
Антивирусные комплексы
Второй способ оптимизации
работы антивируса - это создание различных
его версий для компьютеров, служащих
разным целям. Зачастую они отличаются
лишь наличием тех или иных специфических
модулей и различием в
Антивирусный комплекс - набор антивирусов, использующих одинаковое антивирусное ядро или ядра, предназначенный для решения практических проблем по обеспечению антивирусной безопасности компьютерных систем. В антивирусный комплекс также в обязательном порядке входят средства обновления антивирусных баз
Всякая локальная сеть, как правило, содержит компьютеры двух типов - рабочие станции, за которыми непосредственно сидят люди, и сетевые серверы, используемые для служебных целей. В соответствии с характером выполняемых функций сервера делятся на:
· Сетевые, которые обеспечивают централизованное хранилище информации: файловые сервера, сервера приложений и другие.
· Почтовые, на которых работает программа, служащая для передачи электронных сообщений от одного компьютера к другому.
· Шлюзы, отвечающие за передачу информации из одной сети в другую. Например, шлюз необходим для соединения локальной сети с Интернет.
Следовательно, выделяют четыре вида антивирусных комплексов - для защиты рабочих станций, файловых серверов, почтовых систем и шлюзов.
Рабочие станции - это компьютеры локальной сети, за которыми непосредственно работают пользователи. Главной задачей комплекса для защиты рабочих станций является обеспечение безопасной работы на рассматриваемом компьютере - для этого необходима проверка в режиме реального времени, проверка по требованию и проверка локальной электронной почты.
Сетевые сервера- это компьютеры, специально выделенные для хранения или обработки информации. Они обычно не используются для непосредственной работы за ними и поэтому в отличие от рабочих станций проверка электронной почты на наличие вирусов тут не нужна. Следовательно, антивирусный комплекс для файловых серверов должен производить проверку в режиме реального времени и проверку по требованию.
Антивирусный комплекс для защиты почтовых систем предназначен для проверки всех проходящих электронных писем на наличие в них вирусов. То есть проверять другие файлы, размещенные на этом компьютере, он не обязан (для этого существует комплекс для защиты сетевых серверов). Поэтому к нему предъявляются требования по наличию собственно программы для проверки всей принимаемой и отправляемой почтовой корреспонденции в режиме реального времени, и дополнительно механизма проверки по требованию почтовых баз данных.
Аналогично в соответствии со своим назначением, антивирусный комплекс для шлюза осуществляет только проверку проходящих через шлюз данных.
Поскольку все вышеперечисленные комплексы используют сигнатурный анализ, то в обязательном порядке в них должно входить средство для поддержания антивирусных баз в актуальном состоянии, то есть механизм их обновления. Дополнительно часто оказывается полезным модуль для удаленного централизованного управления, который позволяет системному администратору со своего рабочего места настраивать параметры работы антивируса, запускать проверку по требованию и обновление антивирусных баз3) .
Антивирус для домашнего компьютера часто отличается особой простотой в настройках и интерфейсе и не требует от пользователя особых знаний. Это же можно сказать и про защиту мобильных пользователей4) . Однако по всем остальным параметрам, кроме отсутствия возможности централизованно и удаленно управляться системным администратором, такие программы относятся к антивирусному комплексу для защиты рабочих станций.

- Антивирусные программы
- Антивирусные программы
- Антивирусные программы
- Антивирусные программы
- Антивирусные программы
- Антивирусные программы
- Антивирусные программы
- Антивирусное программное обеспечение
- Антивирусные программы
- Антивирусные программы
- Антивирусные программы
- Антивирусные программы
- Антивирусные программы
- Антивирусные программы