Опубликован: 06.03.2006 | Доступ: свободный | Студентов: 16494 / 6425 | Оценка: 4.47 / 4.17 | Длительность: 17:53:00
ISBN: 978-5-9556-0046-8
Специальности: Менеджер
Лекция 17:

Вирусы и другие вредоносные программы

Как эволюционируют антивирусные программы

Антивирусные программы развивались параллельно с вредоносными кодами.

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

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

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

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

На рис. 12.3 представлена схема получения антивирусными компаниями информации о новых вирусах и выпуска соответствующих обновлений. Вредоносный код после попадания на компьютер, где установлена устаревшая антивирусная программа, заражает его (пункт 1). Пользователь зараженного компьютера, если его антивирус не справляется с новым вирусом, обычно не может справиться с паразитом самостоятельно и обращается в антивирусную компанию (пункт 2). Специалисты компании изучают код вируса и выпускают обновление антивирусной базы (пункт 3). Антивирусные программы, установленные у пользователя, время от времени проверяют наличие обновлений на Web-сервере антивирусной компании, и, как только обновление появляется, они его сразу же переписывают и устанавливают (пункт 4).

Схема обновления антивируса по Интернету

Рис. 12.3. Схема обновления антивируса по Интернету

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

Ольга Тимофеева
Ольга Тимофеева
Ольга Прускавцова
Ольга Прускавцова