Green-sell.info

Новые технологии
12 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Как маскируются невидимые вирусы

Вирус-невидимка или Stealth-вирусы (Стэлс) — файловый вирус, остающийся «невидимым» для антивирусных программ. При проверке системы вирус-невидимка пытается перехватить запросы и выдать сфальсифицированный ответ, сигнализирующий, что все в порядке. В ирусы-невидимки являются разновидностью резидентных вирусов (постоянно находяться в оперативной памяти). Stealth-вирусы фальсифицируют информацию прочитанную из диска так, что программа, которой предназначена эта информация получает неверные данные. Эта технология, которую, иногда, так и называют Stealth-технологией, может использоваться как в BOOT-вирусах, так и в файловых вирусах.

Стэлс-вирусы относятся к категории маскирующихся вирусов, которых очень сложно обнаружить.

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

В такой системе изначально скрыта и уязвимость: управляя обработчиком прерываний, можно управлять потоком информации от периферийного устройства к пользователю. Stealth-вирусы, в частности, используют механизм перехвата управления при возникновении прерывания. Заменяя оригинальный обработчик прерывания своим кодом, stealth-вирусы контролируют чтение данных с диска.

В случае, если с диска читается зараженная программа, вирус “выкусывает” собственный код (обычно код не буквально ”выкусывается”, а происходит подмена номера читаемого сектора диска). В итоге пользователь получает для чтения “чистый” код. Таким образом, до тех пор пока вектор обработчика прерываний изменен вирусным кодом, сам вирус активен в памяти компьютера, обнаружить его простым чтением диска средствами операционной системы невозможно. Схожий механизм маскировки используется и загрузочными вирусами.

Известны стелс-вирусы всех типов — загрузочные вирусы, файловые DOS-вирусы и даже макро-вирусы.

Загрузочные стелс-вирусы для скрытия своего кода используют два основных способа. Первый из них заключается в том, что вирус перехватывает команды чтения зараженного сектора (INT 13h) и подставляет вместо него незараженный оригинал. Этот способ делает вирус невидимым для любой DOS-программы, включая антивирусы, неспособные «лечить» оперативную память компьютера. Основная идея заключается в том, что несмотря на то, что файл заражен, в оперативную память передаются данные незараженного файла (предварительно вылеченного самим вирусом).

Большинcтво файловых стелс вирусов использует те же приемы, что приведены выше: они либо перехватывают DOS-вызовы обращения к файлам (INT 21h) либо временно лечат файл при его открытии и заражают при закрытии. Также как и для загрузочных вирусов, существуют файловые вирусы, использующие для своих стелс-функций перехват прерываний более низкого уровня — вызовы драйверов DOS, INT 25h и даже INT 13h.

Реализация стелс-алгоритмов в макро-вирусах является, наверное, наиболее простой задачей — достаточно всего лишь запретить вызов меню File/Templates или Tools/Macro. Достигается это либо удалением этих пунктов меню из списка, либо их подменой на макросы FileTemplates и ToolsMacro. Частично стелс-вирусами можно назвать небольшую группу макро-вирусов, которые хранят свой основной код не в самом макросе, а в других областях документа — в его переменных или в Auto-text.

К наиболее известным Stealth-вирусам можно отнести такие вирусы, как Exploit.Macro.Stealth, Exploit.MSWord.Stealth, Virus.DOS.Stealth.551.

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

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

Методы маскировки вирусов

(Информация датирована 1996 г.)

Чтобы предотвратить свое обнаружение, многие вирусы применяют довольно хитрые приемы маскировки. Расскажем о некоторых из них.
«Невидимые» вирусы
Многие резидентные вирусы (и файловые, и загрузочные) предотвращают свое обнаружение тем, что перехватывают обращения операционной системы (и тем самым прикладных программ) к зараженным файлам и областям диска и выдают их в исходном (незараженном) виде. Такие вирусы называются невидимыми, или stealth (стелс) вирусами. Разумеется, эффект «невидимости» наблюдается толькона зараженном компьютере — на «чистом» компьютере изменения в файлах и загрузочных областях диска можно легко обнаружить.
Замечания. 1. Некоторые антивирусные программы могут обнаруживать «невидимые» вирусы даже на зараженном компьютере. Для этого они выполняют чтение диска, не пользуясь услугами DOS. Такими программами являются, в частности, ADinf фирмы «Диалог-Наука», Norton AntiVirus и др.
2. Некоторые антивирусные программы используют для борьбы с вирусами свойство «невидимых» файловых вирусов «вылечивать» зараженные файлы. Они считывают (при работающем вирусе) информацию из зараженных файлов и записывают ее в файл или файлы. Затем, уже после загрузки с «чистой» дискеты, исполнимые файлы восстанавливаются в исходном виде.
Шифрование своего кода
Вирусы часто содержат внутри себя различные сообщения, что позволяет заподозрить неладное при просмотре содержащих вирус файлов или областей дисков. Чтобы затруднить свое обнаружение, некоторые вирусы шифруют свое содержимое, так что при просмотре зараженных ими объектов (даже на «чистом» компьютере, то есть когда вирус не активен) никаких подозрительных текстовых строк вы не увидите.
Полиморфные вирусы
Еще один способ, применяемый вирусами для того, чтобы укрыться от обнаружения, — модификация своего тела. Это затрудняет нахождение таких вирусов программами-детекторами — в теле таких вирусов не имеется ни одной постоянной цепочки байтов, по которой можно было бы идентифицировать вирус. Такие вирусы называются полиморфными, или самомодифицирующимися.
Замечания. 1. Многие полиморфные вирусы используют шифрование своего кода, меняя параметры этой кодировки при создании каждой копии. Кроме того, они тем или иным способом изменяют и свою стартовую часть, которая служит для раскодировки остальных команд вируса.
2. В простейших полиморфных вирусах вариации их кода ограничиваются использованием одних регистров компьютера вместо других, добавлением «незначащих» команд и т.д. И программы-детекторы приспособились обнаруживать команды в стартовой части вируса, несмотря на маскирующие изменения в них. Но имеются и вирусы с чрезвычайно сложными механизмами самомодификации. В них каждая значащая инструкция передается одним из сотен тысяч возможных вариантов, при этом используются более половины всех команд процессора.
3. Тем не менее, имеются антивирусные программы-детекторы, способные обнаруживать такие сложные полиморфные вирусы. Как правило, они содержат эмулятор (программный эквивалент) процессора, то есть могут интерпретировать программы без их реального выполнения (на настоящем процессоре). Такие детекторы интерпретируют анализируемые программы, то есть «выполняют» их на программном эквиваленте процессора, и в ходе этого «выполнения» решают, является ли анализируемая программа вирусом или нет. Эта задача очень сложна (точнее, неразрешима), поскольку вирусы не используют каких-то специфических действий, которые не применялись бы другими программами. Однако лучшие детекторы способны отлавливать неизвестные полиморфные вирусы в более чем 80% случаев при очень малом количестве ложных тревог. Примером такой программы является Dr. Web из антивирусного комплекта DSAV фирмы «Диалог-Наука».
Неизменение длины файлов
Ранние файловые вирусы при заражении увеличивали длину файлов, что позволяло их легко обнаруживать. Однако затем появились вирусы, не увеличивающие длину файлов. Для этого они могут записывать свой код в «пустые» участки внутри файлов, сжимать код заражаемого файла и т.д. Разумеется, «невидимым» вирусам к таким уловкам прибегать нужды нет.

Читать еще:  Ключи eset nod32 антивирус

МАСКИРОВКА ВИРУСОВ

Как вирусы скрывают свое присутствие в системе?

Основная задача вируса — распространение. И поэтому вирусу необходимо как можно дольше скрывать свое присутствие в системе, ведь чем дольше он будет оставаться незамеченным, тем дальше он сможет распространиться.

Вирусы скрывают свое присутствие по-разному.

Одни вирусы проявляются не сразу, а через некоторое время, давая возможность самому себе как можно больше размножиться. Под проявлением вируса в данном случае подразумеваются действия вируса, по которым даже неопытный пользователь может почувствовать что-то неладное. Это, например, такие явные проявления вируса, как исполнение какой-нибудь мелодии или вывод на экран монитора какого-нибудь сообщения или рисунка. Отформатировать диск или испортить загрузочный сектор сразу же при первом заражении также “невыгодно” вирусу, ведь на этом заканчивается и его “жизнь”. Поэтому многие вирусы ставят такие свои деструктивные действия в зависимость от каких-либо определенных условий. Например:

а) многие вирусы проявляются в один или некоторые определенные дни;

б) другие вирусы ставят свое проявление в зависимость от случайностей всевозможного рода. Например, только если значение минут таймера меньше N ; или проверяет отсутствие ввода с клавиатуры в течение N минут; v ногие загрузочные вирусы любят уничтожать секторы дисков, вычисляя вероятность (1/8 или 1/16 );

в) иногда авторы вирусов ставят счетчики на количество нажатий на клавиши, на количество зараженных файлов или секторов и в зависимости от их значений обнаруживают свои вирусы.

Авторы вирусов заменяют некоторые компоненты операционной системы, например, прерывания, драйверы так, что программа-вирус становится невидимой для других программ. Такие вирусы называются вирусами-невидимками, или стелс-вирусами (Stealth — невидимка ).

Stealth-вирусы всегда резидентны. Резидентный модуль перехватывает обращение операционной системы к пораженным файлам или секторам дисков и “подставляет” вместо них исходные объекты.

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

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

Для того, чтобы затруднить обнаружение, некоторые вирусы шифруют свой код.

С понятием компьютерного вируса тесно связано другое понятие — сигнатура.

Сигнатура — это фрагмент кода, встречающийся во всех копиях вируса и только в них. Сигнатура однозначно определяет наличие или отсутствие вируса.

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

Простейшая техника шифрования выглядит следующим образом: каждый раз, когда вирус заражает новую программу, он зашифровывает свой собственный код, используя новый ключ. Ключ шифрования зависит от заражаемого файла (например, его имени или длины). В результате два экземпляра одного и того же вируса могут значительно отличаться друг от друга, и даже иметь различную длину! Это затрудняет обнаружение вируса с помощью сигнатурного поиска. Ведь зашифрованный код уже не имеет той же сигнатуры.

Шифрующиеся вирусы при получении управления первым делом расшифровывают свой код с помощью процедуры расшифровки, а затем выполняют все остальные действия.

Шифрующиеся вирусы называют иногда вирусами-”призраками”.

Все дальнейшие усовершенствования алгоритмов вирусов уже продиктованы выживанием вирусов при работе под всевозможными антивирусными средствами.

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

Авторы вирусов на такой подход ответили полиморфными вирусами. Эти вирусы для шифрования используют не только разные ключи, но и разные процедуры шифрования (соответственно, дешифрования). Два экземпляра такого вируса не имеют ни одной совпадающей последовательности кода!

Вирусы, которые благодаря использованию разных расшифровщиков, могут полностью изменять свой код, называются полиморфными вирусами (polymorphic).

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

Первый полиморфный вирус был написан в США Марком Вошборном (Mark Washburn) в качестве экспериментального. Он получил название “V2Px”, или “V1260”, и хотя не был распространен как вирус, послужил примером для авторов вирусов.

Авторы компьютерных вирусов “вывели” самые современные виды вирусов, в которых нет ни одного постоянного БИТА информации.

Это достигается перестановкой команд расшифровщика, разбавлениями ничего не значащими командами типа 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-технологию, от более опытных пользователей и более мощных антивирусных средств — реализовывая полиморфные механизмы.

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

МЕТОДЫ МАСКИРОВКИ ВИРУСОВ

5. МЕТОДЫ МАСКИРОВКИ ВИРУСОВ

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

Многие резидентные вирусы (и файловые, и загрузочные) предотвращают свое обнаружение тем, что перехватывают обращения операционной системы (и тем самым прикладных программ) к зараженным файлам и областям диска и выдают их в исходном (незараженном) виде. Такие вирусы называются невидимыми, или stealth (стелс) вирусами. Разумеется, эффект «невидимости» наблюдается только на зараженном компьютере — на «чистом» компьютере изменения в файлах и загрузочных областях диска можно легко обнаружить.

Некоторые антивирусные программы могут обнаруживать «невидимые» вирусы даже на зараженном компьютере. Для этого они выполняют чтение диска, не пользуясь услугами DOS. Такими программами являются, в частности, ADinf фирмы «Диалог-Наука», Norton AntiVirus и др.

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

Вирусы часто содержат внутри себя различные сообщения, что позволяет заподозрить неладное при просмотре содержащих вирус файлов или областей дисков. Чтобы затруднить свое обнаружение, некоторые вирусы шифруют свое содержимое, так что при просмотре зараженных ими объектов (даже на «чистом» компьютере, то есть когда вирус не активен) никаких подозрительных текстовых строк Вы не увидите.

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

Многие полиморфные вирусы используют шифрование своего кода, меняя параметры этой кодировки при создании каждой копии. Кроме того, они тем или иным способом изменяют и свою стартовую часть, которая служит для раскодировки остальных команд вируса.

В простейших полиморфных вирусах вариации их кода ограничиваются использованием одних регистров компьютера вместо других, добавлением «незначащих» команд и т.д. И программы-детекторы приспособились обнаруживать команды в стартовой части вируса, несмотря на маскирующие изменения в них. Но имеются и вирусы с чрезвычайно сложными механизмами самомодификации. В них каждая значащая инструкция передается одним из сотен тысяч возможных вариантов, при этом используется более половины всех команд процессора.

Тем не менее, имеются антивирусные программы-детекторы, способные обнаруживать даже такие сложные полиморфные вирусы. Как правило, они содержат эмулятор (программный эквивалент) процессора, то есть могут интерпретировать программы без их реального выполнения (на настоящем процессоре). Такие детекторы интерпретируют анализируемые программы, то есть «выполняют» их на программном эквиваленте процессора, и в ходе этого «выполнения» решают, является ли анализируемая программа вирусом или нет. Эта задача очень сложна (точнее, неразрешима), поскольку вирусы не используют каких-то специфических действий, которые не применялись бы другими программами. Однако лучшие детекторы способны отлавливать неизвестные полиморфные вирусы в более чем 80% случаев при очень малом количестве ложных тревог. Примером такой программы является Dr. Web из антивирусного комплекта DSAV фирмы «Диалог-Наука».

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

6. ОСОБЫЕ ВИДЫ ВИРУСОВ

В 1991 г. появились вирусы нового типа — вирусы, меняющие файловую систему на диске. Эти вирусы обычно называются DIR. Такие вирусы прячут свое тело в некоторый участок диска (обычно — в последний кластер диска) и помечают его в таблице размещения файлов (FAT) как конец файла или как дефектный участок. Для всех

.СОМ — и .ЕХЕ — файлов указатели на первый кластер (участок) файла, содержащиеся в соответствующих элементах каталога, заменяются ссылкой на участок диска, содержащий вирус, а правильный указатель в закодированном виде прячется в неиспользуемой части элемента каталога. Поэтому при запуске любой программы в память загружается вирус, после чего он остается в памяти резидентно, подключается к программам DOS для обработки файлов на диске и при всех обращениях к элементам каталога выдает правильные ссылки.

Читать еще:  Какую функцию выполняет вирусы dir

Таким образом, при работающем вирусе файловая система на диске кажется совершенно нормальной. При поверхностном просмотре зараженного диска на «чистом» компьютере также ничего странного не наблюдается. Разве лишь при попытке прочесть или скопировать с зараженной дискеты программные файлы из них будут прочтены или скопированы только 512 или 1024 байта, даже если файл гораздо длиннее. А при запуске любой исполнимой программы с зараженного таким вирусом диска этот диск, как по волшебству, начинает казаться исправным (неудивительно, ведь компьютер при этом становится зараженным).

При анализе на «чистом» компьютере с помощью программ ChkDsk, ScanDisk или NDD файловая система зараженного DIR-вирусом диска кажется совершенно испорченной. Так, программа ChkDsk выдает кучу сообщений о пересечениях файлов («. cross linked on cluster. ») и о цепочках потерянных кластеров («. lost clusters found in . chains»).

Особая опасность вирусов семейства DIR состоит в том, что повреждения файловой структуры, сделанные этими вирусами, на следует исправлять программами типа ScanDisk или NDD — при этом диск окажется безнадежно испорченным. Для исправления надо применять только антивирусные программы.

Замечание. Вирусы семейства DIR формально относят к файловым, хотя они меняют не сами файлы, а способ обращения операционной системы к этим файлам.

Еще один необычный тип вирусов — это вирусы, заражающие системный файл IO.SYS. Семейство этих вирусов обычно называется ЗАРАЗА, поскольку первый такой вирус выводил сообщение «В BOOT СЕКТОРЕ — ЗАРАЗА!».

Данные вирусы являются файлово-загрузочными и используют рассогласование между механизмом начальной загрузки DOS и обычным механизмом работы с файлами. При начальной загрузке MS DOS проверяется, что имена двух первых элементов в корневом каталоге загрузочного диска — IO.SYS и MSDOS.SYS, но атрибуты этих элементов не проверяются. Если имена совпадают, то программа начальной загрузки считывает в память первый кластер элемента с именем IO.SYS и передает ему управление.

Пользуясь этим несовершенством программы начальной загрузки, вирус ЗАРАЗА при заражении жестких дисков делает следующее:

• копирует содержимое файла IO.SYS в конец логического диска;

• сдвигает элементы корневого каталога, начиная с третьего, на один элемент к концу каталога;

• копирует первый элемент корневого каталога (соответствующий файлу IO.SYS) в) освободившийся третий элемент корневого каталога и устанавливает в нем номер начального кластера, указывающий на место, куда было скопировано содержимое файла IO.SYS;

• записывает свое тело в место, где находился файл IO.SYS (как правило, в начало области данных логического диска);

• у первого элемента корневого каталога диска устанавливает признак «метка тома».

Таким образом, начало оглавления корневого каталога после заражения будет выглядеть примерно так (при просмотре программой DiskEdit):

Методы маскировки вирусов

(Информация датирована 1996 г.)

Чтобы предотвратить свое обнаружение, многие вирусы применяют довольно хитрые приемы маскировки. Расскажем о некоторых из них.
«Невидимые» вирусы
Многие резидентные вирусы (и файловые, и загрузочные) предотвращают свое обнаружение тем, что перехватывают обращения операционной системы (и тем самым прикладных программ) к зараженным файлам и областям диска и выдают их в исходном (незараженном) виде. Такие вирусы называются невидимыми, или stealth (стелс) вирусами. Разумеется, эффект «невидимости» наблюдается толькона зараженном компьютере — на «чистом» компьютере изменения в файлах и загрузочных областях диска можно легко обнаружить.
Замечания. 1. Некоторые антивирусные программы могут обнаруживать «невидимые» вирусы даже на зараженном компьютере. Для этого они выполняют чтение диска, не пользуясь услугами DOS. Такими программами являются, в частности, ADinf фирмы «Диалог-Наука», Norton AntiVirus и др.
2. Некоторые антивирусные программы используют для борьбы с вирусами свойство «невидимых» файловых вирусов «вылечивать» зараженные файлы. Они считывают (при работающем вирусе) информацию из зараженных файлов и записывают ее в файл или файлы. Затем, уже после загрузки с «чистой» дискеты, исполнимые файлы восстанавливаются в исходном виде.
Шифрование своего кода
Вирусы часто содержат внутри себя различные сообщения, что позволяет заподозрить неладное при просмотре содержащих вирус файлов или областей дисков. Чтобы затруднить свое обнаружение, некоторые вирусы шифруют свое содержимое, так что при просмотре зараженных ими объектов (даже на «чистом» компьютере, то есть когда вирус не активен) никаких подозрительных текстовых строк вы не увидите.
Полиморфные вирусы
Еще один способ, применяемый вирусами для того, чтобы укрыться от обнаружения, — модификация своего тела. Это затрудняет нахождение таких вирусов программами-детекторами — в теле таких вирусов не имеется ни одной постоянной цепочки байтов, по которой можно было бы идентифицировать вирус. Такие вирусы называются полиморфными, или самомодифицирующимися.
Замечания. 1. Многие полиморфные вирусы используют шифрование своего кода, меняя параметры этой кодировки при создании каждой копии. Кроме того, они тем или иным способом изменяют и свою стартовую часть, которая служит для раскодировки остальных команд вируса.
2. В простейших полиморфных вирусах вариации их кода ограничиваются использованием одних регистров компьютера вместо других, добавлением «незначащих» команд и т.д. И программы-детекторы приспособились обнаруживать команды в стартовой части вируса, несмотря на маскирующие изменения в них. Но имеются и вирусы с чрезвычайно сложными механизмами самомодификации. В них каждая значащая инструкция передается одним из сотен тысяч возможных вариантов, при этом используются более половины всех команд процессора.
3. Тем не менее, имеются антивирусные программы-детекторы, способные обнаруживать такие сложные полиморфные вирусы. Как правило, они содержат эмулятор (программный эквивалент) процессора, то есть могут интерпретировать программы без их реального выполнения (на настоящем процессоре). Такие детекторы интерпретируют анализируемые программы, то есть «выполняют» их на программном эквиваленте процессора, и в ходе этого «выполнения» решают, является ли анализируемая программа вирусом или нет. Эта задача очень сложна (точнее, неразрешима), поскольку вирусы не используют каких-то специфических действий, которые не применялись бы другими программами. Однако лучшие детекторы способны отлавливать неизвестные полиморфные вирусы в более чем 80% случаев при очень малом количестве ложных тревог. Примером такой программы является Dr. Web из антивирусного комплекта DSAV фирмы «Диалог-Наука».
Неизменение длины файлов
Ранние файловые вирусы при заражении увеличивали длину файлов, что позволяло их легко обнаруживать. Однако затем появились вирусы, не увеличивающие длину файлов. Для этого они могут записывать свой код в «пустые» участки внутри файлов, сжимать код заражаемого файла и т.д. Разумеется, «невидимым» вирусам к таким уловкам прибегать нужды нет.

Ссылка на основную публикацию
ВсеИнструменты
Adblock
detector