 |
 |
 |
Методы обнаружения и удаления вирусов Компьютерра+,
ctr@computerra.ru, 09.04.2002
В прошлых статьях мы писали о том, что такое вирусы и кто и почему их пишет. А теперь давайте рассмотрим более подробно антивирусные программы.
Первый тип программ - это сканеры. Принцип работы антивирусных сканеров основан на проверке файлов, секторов и системной памяти и поиске в них известных и новых (неизвестных сканеру) вирусов. Для поиска известных вирусов используются так называемые "маски". Маской вируса является некоторая постоянная последовательность кода, специфичная для этого конкретного вируса. Если вирус не содержит постоянной маски или длина этой маски недостаточно велика, используются другие методы. Примером такого метода является алгоритмический язык, описывающий все возможные варианты кода, которые могут встретиться при заражении подобного типа вирусом. Такой подход используется некоторыми антивирусами для детектирования полиморфик-вирусов. Во многих сканерах используются также алгоритмы "эвристического сканирования", т.е. анализ последовательности команд в проверяемом объекте, набор некоторой статистики и принятие решения ("возможно заражен" или "не заражен") для каждого проверяемого объекта. Поскольку эвристическое сканирование является во многом вероятностным методом поиска вирусов, на него распространяются многие законы теории вероятностей. Например, чем выше процент обнаруживаемых вирусов, тем больше количество ложных срабатываний. Сканеры также можно разделить на две категории: "универсальные" и "специализированные". Универсальные сканеры рассчитаны на поиск и обезвреживание всех типов вирусов вне зависимости от операционной системы, на работу в которой рассчитан сканер. Специализированные сканеры предназначены для обезвреживания ограниченного числа вирусов или только одного их класса, например макровирусов. Специализированные сканеры, рассчитанные только на макровирусы, часто оказываются наиболее удобным и надежным решением для защиты систем документооборота в средах MS Word и MS Excel. Сканеры также делятся на "резидентные" (мониторы), производящие сканирование "на лету", и "нерезидентные", обеспечивающие проверку системы только по запросу. Как правило, "резидентные" сканеры обеспечивают более надежную защиту системы, поскольку они немедленно реагируют на появление вируса, в то время как "нерезидентный" сканер способен опознать вирус только во время своего очередного запуска. К достоинствам сканеров всех типов относится их универсальность, к недостаткам - размеры антивирусных баз, которые сканерам приходится "таскать за собой", и относительно небольшую скорость поиска вирусов. Второй тип антивирусных программ - CRC-сканеры. Принцип их работы основан на подсчете контрольных сумм для присутствующих на диске файлов/системных секторов. Эти CRC-суммы затем сохраняются в базе данных антивируса, как и другая информация: длины файлов, даты их последней модификации и т.д. При последующем запуске CRC-сканеры сверяют данные, содержащиеся в базе данных, с реально подсчитанными значениями. Если информация о файле, записанная в базе данных, не совпадает с реальными значениями, CRC-сканер сигнализирует о том, что файл был изменен или заражен вирусом. CRC-сканеры, использующие алгоритмы антистелс, являются сильным оружием против вирусов: практически 100% вирусов оказываются обнаруженными почти сразу после их появления на компьютере. Однако у этого типа антивирусов есть врожденный недостаток, который сильно снижает их эффективность, - CRC-сканеры не способны поймать вирус в момент его появления в системе, а делают это лишь через некоторое время ("почти сразу") после того, как вирус разошелся по компьютеру. CRC-сканеры не могут определить вирус в новых файлах (электронной почте, на дискетах, восстанавливаемых файлах или при распаковке из архива), поскольку в их базах данных отсутствует информация об этих файлах. Более того, периодически появляются вирусы, которые используют эту "слабость" CRC-сканеров, заражают только вновь создаваемые файлы и остаются, таким образом, невидимыми для них. Третий тип антивирусных программ - антивирусные блокировщики, резидентные программы, перехватывающие вирусоопасные ситуации и сообщающие об этом пользователю. К вирусоопасным относятся вызовы на открытие для записи в выполняемые файлы, запись в boot-сектора дисков или MBR винчестера, попытки программ остаться резидентно и т.д., т.е. вызовы, которые характерны для вирусов в моменты из размножения. К достоинствам блокировщиков относится их способность обнаруживать и останавливать вирус на самой ранней стадии его размножения, что бывает очень полезно в случаях, когда давно известный вирус постоянно "выползает неизвестно откуда". К недостаткам относятся существование путей обхода защиты блокировщиков и большое количество ложных срабатываний, что, видимо, и послужило причиной для практически полного отказа пользователей от подобного рода антивирусных программ. Необходимо также отметить такое направление антивирусных средств, как антивирусные блокировщики, выполненные в виде аппаратных компонентов компьютера. Наиболее распространенной является встроенная в BIOS защита от записи в MBR винчестера. Однако, как и в случае с программными блокировщиками, такую защиту легко обойти прямой записью в порты контроллера диска, а запуск DOS-утилиты FDISK немедленно вызывает "ложное срабатывание" защиты. Существует несколько более универсальных аппаратных блокировщиков, но к перечисленным выше недостаткам добавляются также проблемы совместимости со стандартными конфигурациями компьютеров и сложности при их установке и настройке. Все это делает аппаратные блокировщики крайне непопулярными на фоне остальных типов антивирусной защиты.
Наталья Белоус
|
 |
 |
|
|