Методы маскировки вирусов.
Все мы сталкиваемся с заражением наших компьютеров вирусами, и при обнаружении сразу пытаемся их устранить.От вирусов созданы специальные антивирусные программы, позволяющие выявлять вирусы, позволяющие выявлять вирусы, лечить заражённые файлы и диски, обнаруживать и предотвращать подозрительные(характерные для вирусов ) действия. Разумеется, антивирусные программы надо применять наряду с регулярным резервированием данных и использованием профилактических мер, позволяющих уменьшить вероятность заражения вирусом. Но найти вирус сразу не всегда просто, вирусы обладают свойствами, которые позволяют им «скрываться» и они не могут быть обнаружены сразу.
Методы маскировки вирусов.
1. Невидимые вирусы.
Многие резидентные вирусы (и файловые, и загрузочные) предотвращают своё обнаружение тем, перехватывают обращения операционной системы (и тем самым прикладных программ) к заражённым файлам и областям диска и выдают их в исходном (незаражённом) виде. Такие вирусы называются невидимыми, или stealth (стелс) вирусами. Разумеется, эффект «невидимости» наблюдается только на заражённом компьютере – на «чистом» компьютере изменения в файлах и загрузочных областях диска можно легко обнаружить.
2. Шифрование своего кода.
Вирусы часто содержат внутри себя сообщения, что позволяет заподозрить неладное при просмотре содержащих вирус файлов или областей дисков. Чтобы затруднить своё обнаружение, некоторые вирусы шифруют своё содержимое, так что при просмотре заражённых ими объектов (даже на «чистом» компьютере , то есть когда вирус не активен) никаких подозрительных текстовых строк Вы не увидите.
3. Полиморфные вирусы.
Ещё один способ, применяемый вирусами для того, чтобы укрыться от обнаружения, — модификация своего тела. Это затрудняет нахождение таких вирусов программами-детекторами – в теле таких вирусов не имеется ни одной постоянной цепочки байтов, по которой можно было бы идентифицировать вирус. Такие вирусы называются полиморфными, или самомодифицирующимися.
4. Неизменение длины файлов.
Ранние файловые вирусы при заражении увеличивали длину файлов, что позволяло их легко обнаруживать. Однако затем появились вирусы, не увеличивающие длину файлов. Для этого они могут записывать свой код в «пустые» участки внутри файлов, сжимать код заражаемого файла и т.д. Разумеется, «невидимым» вирусам к таким уловкам прибегать нужды нет.
Для маскировки вируса действия по заражению других программ и нанесению вреда могут выполняться не всегда, а скажем, при выполнении определенных условий. После того как вирус выполнит нужные ему действия, он передает управление той программе, в которой он находится, и она работает как обычно. Тем самым внешне работа зараженной программы выглядит так же, как и незараженной.
Источник
МАСКИРОВКА ВИРУСОВ
Как вирусы скрывают свое присутствие в системе?
Основная задача вируса — распространение. И поэтому вирусу необходимо как можно дольше скрывать свое присутствие в системе, ведь чем дольше он будет оставаться незамеченным, тем дальше он сможет распространиться.
Вирусы скрывают свое присутствие по-разному.
Одни вирусы проявляются не сразу, а через некоторое время, давая возможность самому себе как можно больше размножиться. Под проявлением вируса в данном случае подразумеваются действия вируса, по которым даже неопытный пользователь может почувствовать что-то неладное. Это, например, такие явные проявления вируса, как исполнение какой-нибудь мелодии или вывод на экран монитора какого-нибудь сообщения или рисунка. Отформатировать диск или испортить загрузочный сектор сразу же при первом заражении также “невыгодно” вирусу, ведь на этом заканчивается и его “жизнь”. Поэтому многие вирусы ставят такие свои деструктивные действия в зависимость от каких-либо определенных условий. Например:
а) многие вирусы проявляются в один или некоторые определенные дни;
б) другие вирусы ставят свое проявление в зависимость от случайностей всевозможного рода. Например, только если значение минут таймера меньше N ; или проверяет отсутствие ввода с клавиатуры в течение N минут; v ногие загрузочные вирусы любят уничтожать секторы дисков, вычисляя вероятность (1/8 или 1/16 );
в) иногда авторы вирусов ставят счетчики на количество нажатий на клавиши, на количество зараженных файлов или секторов и в зависимости от их значений обнаруживают свои вирусы.
Авторы вирусов заменяют некоторые компоненты операционной системы, например, прерывания, драйверы так, что программа-вирус становится невидимой для других программ. Такие вирусы называются вирусами-невидимками, или стелс-вирусами (Stealth — невидимка ).
Stealth-вирусы всегда резидентны. Резидентный модуль перехватывает обращение операционной системы к пораженным файлам или секторам дисков и “подставляет” вместо них исходные объекты.
Так Stealth-вирусы скрываются от опытного пользователя и многих антивирусных средств, которые осуществляют ранний поиск вирусов по изменениям длин файлов контрольных сумм и содержимого загрузочных секторов.
Необходимо заметить, что Stealth-вирус невидим только тогда, когда его резидентный модуль находится в оперативной памяти компьютера.
Для того, чтобы затруднить обнаружение, некоторые вирусы шифруют свой код.
С понятием компьютерного вируса тесно связано другое понятие — сигнатура.
Сигнатура — это фрагмент кода, встречающийся во всех копиях вируса и только в них. Сигнатура однозначно определяет наличие или отсутствие вируса.
Очевидно, что для поиска тела вирусов на дисках антивирусными средствами невозможно (не хватит памяти!) хранить полные коды программ-вирусов. Поэтому разработчики антивирусных средств поступают следующим образом: для поиска вирусов они хранят их сигнатуры. Такой поиск кодов вирусов называется сигнатурным поиском.
Простейшая техника шифрования выглядит следующим образом: каждый раз, когда вирус заражает новую программу, он зашифровывает свой собственный код, используя новый ключ. Ключ шифрования зависит от заражаемого файла (например, его имени или длины). В результате два экземпляра одного и того же вируса могут значительно отличаться друг от друга, и даже иметь различную длину! Это затрудняет обнаружение вируса с помощью сигнатурного поиска. Ведь зашифрованный код уже не имеет той же сигнатуры.
Шифрующиеся вирусы при получении управления первым делом расшифровывают свой код с помощью процедуры расшифровки, а затем выполняют все остальные действия.
Шифрующиеся вирусы называют иногда вирусами-”призраками”.
Все дальнейшие усовершенствования алгоритмов вирусов уже продиктованы выживанием вирусов при работе под всевозможными антивирусными средствами.
Шифрующиеся вирусы скрывают сигнатуру своего кода. Но ведь зашифрованный код должен быть расшифрован перед выполнением, следовательно, необходима процедура-дешифровщик, которая сама не может быть зашифрована, так как выполняется перед основным кодом вируса. Дешифровщик содержит специфический код и имеет достаточный размер для того, чтобы служить сигнатурой. Этим и пользуются антивирусные программы, применяющие в качестве сигнатуры код процедуры расшифровки.
Авторы вирусов на такой подход ответили полиморфными вирусами. Эти вирусы для шифрования используют не только разные ключи, но и разные процедуры шифрования (соответственно, дешифрования). Два экземпляра такого вируса не имеют ни одной совпадающей последовательности кода!
Вирусы, которые благодаря использованию разных расшифровщиков, могут полностью изменять свой код, называются полиморфными вирусами (polymorphic).
Эти вирусы дополнены генераторами расшифровщиков. Такой генератор создает для каждой новой копии вируса свой собственный расшифровщик, отличный от всех остальных, но выполняющий ту же функцию. Это достаточно сложно. Такие задачи относятся уже к автоматизации программирования.
Первый полиморфный вирус был написан в США Марком Вошборном (Mark Washburn) в качестве экспериментального. Он получил название “V2Px”, или “V—1260”, и хотя не был распространен как вирус, послужил примером для авторов вирусов.
Авторы компьютерных вирусов “вывели” самые современные виды вирусов, в которых нет ни одного постоянного БИТА информации.
Это достигается перестановкой команд расшифровщика, разбавлениями ничего не значащими командами типа NOP, STI, CLI, STC, CLC и т.д. и т.п. В результате в начале файла, зараженного подобным образом, идет набор бессмысленных на первый взгляд команд, и среди них изредка проскальзывают рабочие команды.
На настоящий момент известно огромное количество полиморфных вирусов. Казалось бы, что полиморфные вирусы реализовывают сложные алгоритмы, поэтому их написание под силу только высококвалифицированным специалистам.
Как создаются MtE — вирусы?
Но, к сожалению, в настоящее время создавать полиморфные вирусы могут не только специалисты с высокой квалификацией.
В 1991 г. в Болгарии самым известным автором вирусов, именующим себя Dark Avenger (Черный Мститель), был разработан алгоритм создания полиморфных вирусов. Это очень сложный алгоритм, который порождает дешифровщики, абсолютно непохожие друг на друга. Их размер колеблется в диапазоне от 0 до 512 байт, а в теле могут встречаться практически все команды процессора. Этот алгоритм его автор назвал Mutation Engine (машина мутаций), сокращенно он называется MtE или DAME ( Dark Angel MuTation Engine ).
Вирусы с подключенным к ним молулем MtE для порождения дешифровщиков, называют MtE — вирусами. Это полуавтоматические вирусы.
Вслед за Mutation Engine появилось еще несколько средств разработки полиморфных вирусов. В Казани был создан 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 Encri p tion Generator ),
· TPE ( Trident Polymorfic Engine ),
· VICE ( Virogen’s Irreguar Code Engine ).
Даже по количеству автоматизированных разработок для создания полиморфных вирусов становится очевидным широкое распространение полиморфных вирусов.
В современных условиях выживают и распространяются только сложные вирусы, которые используют все известные возможности для внедрения в компьютерные системы и для того, чтобы скрыть свое присутствие.
Обычно такие вирусы не ограничиваются заражением файлов одного типа. Файлово-загрузочные вирусы распространяются как через выполнимые файлы, так и через загрузочные секторы дискет и жестких дисков, одновременно поражая файлы и секторы. При этом они еще, как правило, размещают резидентный модуль в оперативной памяти.
А для того, чтобы достичь наибольшей неуязвимости, вирусы комбинируют и все известные методы маскировки: от менее опытных пользователей и одного вида антивирусных средств скрываются, используя Stealth-технологию, от более опытных пользователей и более мощных антивирусных средств — реализовывая полиморфные механизмы.
При этом иногда возникают такие сложные комбинации всех этих способов, что результатом является мощный вирус, производящий массовое заражение.
Источник
Вирусы по способу маскировки
Существует несколько подходов к классификации компьютерных вирусов по их характерным особенностям, основные виды классификации:
- По среде обитания вируса
- По способу функционирования
- По деструктивным возможностям
- По особенностям алгоритма работ
- Файловые вирусы — вирусы поражающие исполняемые файлы, написанные в различных форматах. Соответственно в зависимости от формата, в котором написана программа это будут EXE, BAT и т.п. вирусы;
- Загрузочные вирусы — вирусы поражающие загрузочные сектора (Boot сектора) дисков или сектор содержащий системный загрузчик(Master Boot Record) винчестера;
- Сетевые вирусы — вирусы, распространяющиеся в различных компьютерных сетях и системах;
- Макро вирусы — вирусы поражающие файлы Microsoft Office;
- Flash-вирусы — вирусы поражающие микросхемы FLASH памяти BIOS.
По способу функционирования
По способу функционирования вирусы делятся на:
- Резидентные вирусы — вирусы, которые при инфицировании компьютера оставляют свою резидентную часть в памяти. Они могут перехватывать прерывания операционной системы, а также обращения к инфицированным файлам со стороны программ и операционной системы. Эти вирусы могут оставаться активными вплоть до выключения или перезагрузки компьютерав;
- Транзидентные вирусы — вирусы, не оставляющие своих резидентных частей в оперативной памяти компьютера. Некоторые вирусы оставляют в памяти некоторые свои фрагменты не способные к дальнейшему размножению такие вирусы считаются не резидентными.
По деструктивным возможностям
- Файловые вирусы — вирусы, заражающие файлы с программами
- исполняемые файлы;
- командные файлы и файлы конфигурации;
- составляемые на макроязыках программирования, или файлы, содержащие макросы (макровирусы — разновидность компьютерных вирусов разработанных на макроязыках, встроенных в такие прикладные пакеты ПО, как Microsoft Office );
- файлы с драйверами устройств;
- файлы с библиотеками исходных, объектных, загрузочных и оверлейных модулей, библиотеками динамической компоновки и т.п.
- Загрузочные вирусы — вирусы, заражающие программы, хранящиеся в системных областях.
Загрузочные вирусы подразделяются на вирусы, заражающие:
- системный загрузчик, расположенный в загрузочном секторе и логических дисков;
- внесистемный загрузчик, расположенный в загрузочном секторе жестких дисков.
По степени и способу маскировки:
- вирусы, не использующие средств маскировки;
- stealth-вирусы (вирусы, пытающиеся быть невидимыми на основе контроля доступа к зараженным элементам данных);
- вирусы-мутанты (MtE-вирусы, содержащие в себе алгоритмы шифрования, обеспечивающие различие разных копий вируса).
В свою очередь, MtE-вирусы делятся:
Источник