- •Компьютерные вирусы. Антивирусные средства
- •Навыки и умения
- •Классификация компьютерных вирусов
- •Методы внедрения вирусов
- •Маскировка вирусов
- •Макровирусы
- •Word/Excel-вирусы
- •Защита от макровирусов
- •Java-вирусы
- •Файловые черви
- •Методы и средства обнаружения компьютерных вирусов
- •Типы антивирусных средств
Маскировка вирусов
Основная задача вируса - распространение. И поэтому вирусу необходимо как можно дольше скрывать свое присутствие в системе, ведь чем дольше он будет оставаться незамеченным, тем дальше он сможет распространиться.
Вирусы скрывают свое присутствие по-разному.
Одни вирусы проявляются не сразу, а через некоторое время, давая возможность самому себе как можно больше размножиться. Поэтому многие вирусы ставят такие свои деструктивные действия в зависимость от каких-либо определенных условий. Например:
а) многие вирусы проявляются в один или некоторые определенные дни;
б) другие вирусы ставят свое проявление в зависимость от случайностей всевозможного рода. Например, только если значение минут таймера меньше N; или проверяет отсутствие ввода с клавиатуры в течение N минут; vмногие загрузочные вирусы любят уничтожать секторы дисков, вычисляя вероятность (1/8 или 1/16 );
в) иногда авторы вирусов ставят счетчики на количество нажатий на клавиши, на количество зараженных файлов или секторов и в зависимости от их значений обнаруживают свои вирусы.
Иногда авторы вирусов заменяют некоторые компоненты операционной системы, например, прерывания, драйверы так, что программа-вирус становится невидимой для других программ. Такие вирусы называются вирусами-невидимками, или стелс-вирусами (Stealth - невидимка ).
Stealth-вирусы всегда резидентны. Резидентный модуль перехватывает обращение операционной системы к пораженным файлам или секторам дисков и “подставляет” вместо них исходные объекты.
Так Stealth-вирусы скрываются от опытного пользователя и многих антивирусных средств, которые осуществляют ранний поиск вирусов по изменениям длин файлов контрольных сумм и содержимого загрузочных секторов.
Необходимо заметить, что Stealth-вирус невидим только тогда, когда его резидентный модуль находится в оперативной памяти компьютера.
Для того, чтобы затруднить обнаружение, некоторые вирусы шифруют свой код.
С понятием компьютерного вируса тесно связано другое понятие - сигнатура.
Сигнатура - это фрагмент кода, встречающийся во всех копиях вируса и только в них. Сигнатура однозначно определяет наличие или отсутствие вируса.
Очевидно, что для поиска тела вирусов на дисках антивирусными средствами невозможно (не хватит памяти!) хранить полные коды программ-вирусов. Поэтому разработчики антивирусных средств поступают следующим образом: для поиска вирусов они хранят их сигнатуры. Такой поиск кодов вирусов называется сигнатурным поиском.
Простейшая техника шифрования выглядит следующим образом: каждый раз, когда вирус заражает новую программу, он зашифровывает свой собственный код, используя новый ключ. Ключ шифрования зависит от заражаемого файла (например, его имени или длины). В результате два экземпляра одного и того же вируса могут значительно отличаться друг от друга, и даже иметь различную длину! Это затрудняет обнаружение вируса с помощью сигнатурного поиска. Ведь зашифрованный код уже не имеет той же сигнатуры.
Шифрующиеся вирусы при получении управления первым делом расшифровывают свой код с помощью процедуры расшифровки, а затем выполняют все остальные действия.
Шифрующиеся вирусы называют иногда вирусами-”призраками”.
Итак, шифрующиеся вирусы скрывают сигнатуру своего кода
А полиморфные вирусы для шифрования используют не только разные ключи, но и разные процедуры шифрования. Два экземпляра такого вируса не имеют ни одной совпадающей последовательности кода.
Вирусы, которые благодаря использованию разных расшифровщиков, могут полностью изменять свой код, называются полиморфными вирусами (polymorphic).
Эти вирусы дополнены генераторами расшифровщиков. Такой генератор создает для каждой новой копии вируса свой собственный расшифровщик, отличный от всех остальных, но выполняющий ту же функцию. Это достаточно сложно. Такие задачи относятся уже к автоматизации программирования.
В последнее время авторы компьютерных вирусов “вывели” самые современные виды вирусов, в которых нет ни одного постоянного БИТА информации. Это достигается перестановкой команд расшифровщика, разбавлениями ничего не значащими командами типа NOP, STI, CLI, STC, CLC и т.д. и т.п. В результате в начале файла, зараженного подобным образом, идет набор бессмысленных на первый взгляд команд, и среди них изредка проскальзывают рабочие команды.
На настоящий момент известно огромное количество полиморфных вирусов.
В настоящее время создавать полиморфные вирусы могут не только специалисты с высокой квалификацией. Существуют специальные средства разработки полиморфных вирусов. Вот названия российских и зарубежных разработок полиморфных вирусов:
Mutation Engine (MtE-вирусы),
AWME (Anti WEB Mutation Engine).
CLME ( Crazy Lord Mutation Engine ),
DSCE ( Dark Slayer Confusion Engine ),
GCAE ( Golden Cicada Abnormal Engine ),
NED ( NUKE Encription Device ),
SMEG ( Simulated Metamorfic Encription Generator ),
TPE ( Trident Polymorfic Engine ),
VICE ( Virogen’s Irreguar Code Engine ).
