Использование антивирусных программ
Наиболее эффективны в борьбе с компьютерными вирусами антивирусные программы.
Самыми популярными и эффективными антивирусными программами являются антивирусные сканеры (другие названия: фаги, полифаги). Следом за ними по эффективности и популярности следуют CRC-сканеры (также: ревизор, checksumer, integrity checker). Часто оба приведенных метода объединяются в одну универсальную антивирусную программу, что значительно повышает ее мощность. Применяются также различного типа мониторы (блокировщики) и иммунизаторы.
Принцип работы антивирусных сканеров основан на проверке файлов, секторов и системной памяти и поиске в них известных и новых (неизвестных сканеру) вирусов. Для поиска известных вирусов используются так называемые маски (сигнатуры). Маской вируса является некоторая постоянная последовательность кода, специфичная для этого конкретного вируса. Если вирус не содержит постоянной маски или длина этой маски недостаточно велика, то используются другие методы. Примером такого метода является алгоритмический язык, описывающий все возможные варианты кода, которые могут встретиться при заражении подобного типа вирусом. Такой подход используется некоторыми антивирусами для детектирования полиморфик-вирусов.
Во многих сканерах используются также алгоритмы эвристического сканирования, т. е. анализ последовательности команд в проверяемом объекте, набор некоторой статистики и принятие решения ("возможно, заражен" или "не заражен") для каждого проверяемого объекта. Поскольку эвристическое сканирование является во многом вероятностным методом поиска вирусов, то на него распространяются многие законы теории вероятностей. Например, чем выше процент обнаруживаемых вирусов, тем больше количество ложных срабатываний.
К достоинствам сканеров относится их универсальность, к недостаткам – размеры антивирусных баз, которые необходимы сканерам, и относительно небольшая скорость поиска вирусов.
Принцип работы CRC-сканеров основан на подсчете CRC-сумм (контрольных сумм) для присутствующих на диске файлов/системных секторов. Эти CRC-суммы затем сохраняются в базе данных антивируса, как, впрочем, и некоторая другая информация: длины файлов, даты их последней модификации и т. д. При последующем запуске CRC-сканеры сверяют данные, содержащиеся в базе данных, с реально подсчитанными значениями. Если информация о файле, записанная в базе данных, не совпадает с реальными значениями, то CRC-сканеры сигнализируют о том, что файл был изменен или заражен вирусом.
CRC-сканеры, использующие антистелс-алгоритмы, являются довольно сильным оружием против вирусов: практически 100% вирусов оказываются обнаруженными почти сразу после их появления на компьютере. Однако у этого типа антивирусов есть врожденный недостаток, который заметно снижает их эффективность. Этот недостаток состоит в том, что CRC-сканеры не способны поймать вирус в момент его появления в системе, а делают это лишь через некоторое время, уже после того, как вирус разошелся по компьютеру. CRC-сканеры не могут детектировать вирус в новых файлах (в электронной почте, на дискетах, в файлах, восстанавливаемых из backup или при распаковке файлов из архива), поскольку в их базах данных отсутствует информация об этих файлах. Более того, периодически появляются вирусы, которые используют эту "слабость" CRC-сканеров, заражают только вновь создаваемые файлы и остаются, таким образом, невидимыми для CRC-сканеров.
Антивирусные мониторы – это резидентные программы, перехватывающие вирусоопасные ситуации и сообщающие об этом пользователю. К вирусоопасным относятся вызовы на открытие для записи в выполняемые файлы, запись в загрузочные секторы дисков или MBR винчестера, попытки программ остаться резидентно и т. д., то есть вызовы, которые характерны для вирусов в моменты их размножения.
К достоинствам мониторов относится их способность обнаруживать и блокировать вирус на самой ранней стадии его размножения. К недостаткам относятся существование путей обхода защиты монитора и большое количество ложных срабатываний.
Необходимо также отметить такое направление антивирусных средств, как антивирусные мониторы, выполненные в виде аппаратных компонентов компьютера. Наиболее распространенной является встроенная в BIOS защита от записи в MBR винчестера. Однако, как и в случае с программными мониторами, такую защиту легко обойти прямой записью в порты контроллера диска.
Иммунизаторы делятся на два типа: иммунизаторы, сообщающие о заражении, и иммунизаторы, блокирующие заражение каким-либо типом вируса.
Первые обычно записываются в конец файлов (по принципу файлового вируса) и при запуске файла каждый раз проверяют его на изменение. Недостаток у таких иммунизаторов всего один, но он легален: абсолютная неспособность сообщить о заражении стелс-вирусом.
Второй тип иммунизации защищает систему от поражения вирусом какого-то определенного вида. Файлы на дисках модифицируются таким образом, что вирус принимает их за уже зараженные. Для защиты от резидентного вируса в память компьютера заносится программа, имитирующая копию вируса, при запуске вирус натыкается на нее и считает, что система уже заражена.
Такой тип иммунизации не может быть универсальным, поскольку нельзя проиммунизировать файлы от всех известных вирусов. Однако, несмотря на это, подобные иммунизаторы в качестве полумеры могут вполне надежно защитить компьютер от нового неизвестного вируса вплоть до того момента, когда он будет определяться.
Качество антивирусной программы определяется по следующим позициям, приведенным в порядке убывания их важности.
1. Надежность и удобство работы – отсутствие зависаний антивируса и прочих технических проблем, требующих от пользователя специальной подготовки.
2. Качество обнаружения вирусов всех распространенных типов, сканирование внутри файлов документов/таблиц (MS Word, Excel), упакованных и архивированных файлов. Отсутствие "ложных срабатываний". Возможность лечения зараженных объектов. Для сканеров (см. ниже), как следствие, важной является также периодичность появления новых версий, т. е. скорость настройки сканера на новые вирусы.
3. Существование версий антивируса под все популярные платформы (DOS, Windows, Linux и т. д.), присутствие не только режима "сканирование по запросу", но и "сканирование на лету", существование серверных версий с возможностью администрирования сети.
4. Скорость работы и прочие полезные особенности.
Надежность работы антивируса является наиболее важным критерием, поскольку даже абсолютный антивирус может оказаться бесполезным, если он будет не в состоянии довести процесс сканирования до конца – повиснет и не проверит часть дисков и файлов и, таким образом, оставит вирус незамеченным в системе. Если же антивирус требует от пользователя специальных знаний, то он также окажется бесполезным, большинство пользователей просто проигнорируют сообщения антивируса. Ну а если антивирус будет чересчур часто задавать сложные вопросы рядовому пользователю, то, скорее всего, он (пользователь) перестанет обращаться к такому антивирусу или даже удалит его с диска.
Качество обнаружения вирусов стоит следующим пунктом по вполне естественной причине: антивирусные программы потому и называются антивирусными, что их прямая обязанность – ловить и лечить вирусы. Любой антивирус бесполезен, если он не в состоянии ловить вирусы или делает это не вполне качественно. Например, если антивирус не распознает 100% какого-либо полиморфного вируса, то при заражении системы этим вирусом такой антивирус обнаружит только часть (допустим, 99%) всех зараженных на диске файлов. Необнаруженными останется всего 1%, но когда вирус снова проникнет в компьютер, то антивирус опять обнаружит 99%, но уже не от всех файлов, а только от вновь зараженных. В результате на диске будет заражено уже 1,99% файлов. И так далее, пока все файлы на диске не будут заражены при полном молчании антивируса.
Однако, если при этом антивирус с высоким качеством обнаружения вирусов вызывает большое количество ложных срабатываний, то его уровень полезности резко падает, поскольку пользователь вынужден либо уничтожать незараженные файлы, либо самостоятельно производить анализ подозрительных файлов, либо привыкает к частым ложным срабатываниям – перестает обращать внимание на сообщения антивируса и в результате пропускает сообщение о реальном вирусе.
Многоплатформность антивируса является следующим пунктом в списке, поскольку только программа, рассчитанная на конкретную ОС, может полностью использовать функции этой системы. "Неродные" же антивирусы часто оказываются неработоспособными, а иногда даже разрушительными.
Возможность проверки файлов на лету также является достаточно важной чертой антивируса. Моментальная и принудительная проверка приходящих на компьютер файлов и вставляемых дискет является практически 100%-ной гарантией от заражения вирусом, если, конечно, антивирус в состоянии определить этот вирус. Очень полезными являются антивирусы, способные постоянно следить за состоянием серверов и за почтовыми серверами, сканируя входящую/исходящую почту. Если же в серверном варианте антивируса присутствует возможность антивирусного администрирования сети, то его ценность еще более возрастает.
Следующим по важности критерием является скорость работы. Если на полную проверку компьютера требуется несколько часов, то вряд ли большинство пользователей будут запускать его достаточно часто. При этом медленность антивируса совсем не говорит о том, что он ловит вирусов больше и делает это лучше, чем более быстрый антивирус. В разных антивирусах используются различные алгоритмы поиска вирусов, один алгоритм может оказаться более быстрым и качественным, другой – медленным и менее качественным. Все зависит от способностей и профессионализма разработчиков конкретного антивируса.
Наличие дополнительных функций и возможностей стоит в списке качеств антивируса на последнем месте, поскольку очень часто эти функции никак не сказываются на уровне полезности антивируса. Однако эти дополнительные функции значительно упрощают жизнь пользователя и, может быть, даже побуждают его запускать антивирус почаще.