В. Алгоритм работы компьютерного вируса

Среди особенностей алгоритма работы вирусов выделяются следующие пункты:

– резидентность;

– использование стелс-алгоритмов;

– самошифрование и полиморфичность;

– использование нестандартных приемов.

РЕЗИДЕНТНЫЙ вирус при информировании компьютера оставляет в оперативной памяти свою резидентную часть, которая затем перехватывает обращения операционной системы к объектам заражения и внедряется в них. Резидентные вирусы находятся в памяти и являются активными вплоть до выключения компьютера или перезагрузки операционной системы. Нерезидентные вирусы не загружают память компьютера и сохраняют активность ограниченное время. Некоторые вирусы оставляют в оперативной памяти небольшие резидентные программы, которые не распространяют вирус. Такие вирусы считаются нерезидентными.

Резидентными можно считать макро-вирусы, поскольку они постоянно присутствуют в памяти компьютера на всё время работы заражённого редактора. При этом роль операционной системы берёт на себя редактор, а понятие «перезагрузка операционной системы» трактуется как выход из редактора.

В многозадачных операционных системах время "жизни" резидентного DOS-вируса также может быть ограничено моментом закрытия зараженного DOS-окна, а активность загрузочных вирусов в некоторых операционных системах ограничивается моментом инсталляции дисковых драйверов ОС.

Использование СТЕЛС-алгоритмов позволяет вирусам полностью или частично скрыть себя в системе. Наиболее распространенным стелс-алгоритмом является перехват запросов ОС на чтение/запись зараженных объектов. Стелс-вирусы при этом либо временно лечат их, либо "подставляют" вместо себя незараженные участки информации. В случае макро-вирусов наиболее популярный способ - запрет вызовов меню просмотра макросов. Один из первых файловых стелс-вирусов - вирус "Frodo", первый загрузочный стелс-вирус - "Brain".

САМОШИФРОВАНИЕ и ПОЛИМОРФИЧНОСТЬ используются практически всеми типами вирусов для того, чтобы максимально усложнить процедуру детектирования вируса. Полиморфик-вирусы (polymorphic) - это достаточно труднообнаружимые вирусы, не имеющие сигнатур, т.е. не содержащие ни одного постоянного участка кода. В большинстве случаев два образца одного и того же полиморфик-вируса не будут иметь ни одного совпадения. Это достигается шифрованием основного тела вируса и модификациями программы-расшифровщика.

Различные НЕСТАНДАРТНЫЕ ПРИЕМЫ часто используются в вирусах для того, чтобы как можно глубже спрятать себя в ядре ОС (как это делает вирус "ЗАРАЗА"), защитить от обнаружения свою резидентную копию (вирусы "TPVO", "Trout2"), затруднить лечение от вируса (например, поместив свою копию в Flash-BIOS) и т.д.

В. Признаки появления компьютерного вируса.

К признакам появления вируса можно отнести следующие;

– прекращение работы или неправильная работа ранее успешно функционировавших

программ:

– медленная работа компьютера;

– невозможность загрузки операционной системы;

– исчезновение файлов и каталогов или искажение их

содержимого;

– изменение даты и времени модификации файлов;

– изменение размеров файлов;

– неожиданное значительное увеличение количествафайлов на диске;

– существенное уменьшение размера свободной опера

тивной памяти;

– вывод на экран непредусмотренных сообщений или

изображений;

– подача непредусмотренных звуковых сигналов;

– частые зависания и сбои в работе компьютера.

В. Антивирусы-полифаги.

Антивирусы-полифаги – наиболее распространенные средства по борьбе с вредоносными программами. Исторически они появились первыми и до сих пор удерживают несомненное лидерство в этой области.

В основе работы полифагов стоит простой принцип – поиск в программах и документах знакомых участков вирусного кода (так называемых сигнатур вирусов).

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

Главное при пользовании любым полифагом – как можно чаще обновлять версии программы и вирусные базы. Для удобства пользователей базы вынесены в отдельный модуль, и, например, пользователи AVP могут обновлять эти базы ежедневно при помощи Интернета.

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

Использование эвристического анализатора позволяет бороться с вирус-генераторами и полиморфными вирусами.

В. Антивирусы-ревизоры.

Антивирусные программы-ревизоры позволяют обнаружить вирус.

Обнаружить вирус на компьютере (или даже подозрение на него) антивирусы-ревизоры могут с большой степенью надежности. Обычно наиболее оптимальным является связка полифаг и ревизор. Ревизор служит для обнаружения факта заражения системы. Если система заражена, то в дело пускается полифаг.

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

Стадии работы программы-ревизора:

1. Контроль оперативной памяти. Эта стадия проверки включает в себя процедуры обнаружения следов активных загрузочных и stealth-вирусов в памяти компьютера.

2. Контроль системных областей. Контроль системных областей предназначен для обнаружения вирусов, которые используют для своей активации механизм загрузки. Особенность программ-ревизоров заключается в том, что они не могут судить об изначальной “чистоте” оперативной памяти, поэтому чтение Master Boot Record происходит тремя различными способами:

– (bios) – прямым обращением в BIOS;

– (i13h) – чтением через BIOS-прерывание Int13h;

– (i25h) – чтением средствами операционной системы (прерывание Int25h).

3. Контроль неизменяемых файлов. Последняя стадия проверки, направленная на обнаружение деятельности файловых вирусов – контроль изменения файлов. Очень важно определить, какие именно файлы являются неизменяемыми. Рекомендуется внести в разряд “неизменяемых” те исполняемые файлы, путь к которым указан в переменной PATH.

Чтобы не дать stealth-вирусам “обмануть” систему, чтение данных также происходит как средствами операционной системы, так и средствами BIOS.

После того как все файлы проверены, ревизоры часто сохраняют дополнительные области памяти, которые могут быть испорчены вирусами. Это FLASH- и CMOS-память.

Наши рекомендации