Резидентные вирусы и их функционирование. Резидентные вирусы: что это и как уничтожить. Компьютерные вирусы Нерезидентные вирусы

Под термином "резидентность" (DOS"овский термин TSR - Terminate and Stay Resident) понимается способность вирусов оставлять свои копии в системной памяти, перехватывать некоторые события (например, обращения к файлам или дискам) и вызывать при этом процедуры заражения обнаруженных объектов (файлов и секторов). Таким образом, резидентные вирусы активны не только в момент работы зараженной программы, но и после того, как программа закончила свою работу. Резидентные копии таких вирусов остаются жизнеспособными вплоть до очередной перезагрузки, даже если на диске уничтожены все зараженные файлы. Часто от таких вирусов невозможно избавиться восстановлением всек копий файлов с дистрибутивных дисков или backup-копий. Резидентная копия вируса остается активной и заражает вновь создаваемые файлы. То же верно и для загрузочных вирусов - форматирование диска при наличии в памяти резидентного вируса не всегда вылечивает диск, поскольку многие резидентные вирусы заражает диск повторно после того, как он отформатирован.

Нерезидентные вирусы.

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

Стелс-вирусы

Стелс-вирусы теми или иными способами скрывают факт своего присутствия в системе..

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

Полиморфик-вирусы

Самошифрование и полиморфичность используются практически всеми типами вирусов для того, чтобы максимально усложнить процедуру детектирования вируса. Полиморфик - вирусы (polymorphic) - это достаточно трудно обнаружимые вирусы, не имеющие сигнатур, т.е. не содержащие ни одного постоянного участка кода. В большинстве случаев два образца одного и того же полиморфик-вируса не будут иметь ни одного совпадения. Это достигается шифрованием основного тела вируса и модификациями программы-расшифровщика.

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

По среде обитания вирусы можно разделить на:

    файловые;

    загрузочные;

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

    Что такое резидентные вирусы?

    Итак, с чем же имеет дело пользователь? Для упрощенного объяснения структуры и принципов работы таких вирусов для начала стоит остановиться на объяснении того, что такое резидентная программа вообще.

    Вам будет интересно:

    Считается, что к такому типу программ относятся приложения, работающие постоянно в режиме мониторинга, явным образом не проявляя своих действий (например, те же штатные антивирусные сканеры). Что же касается угроз, проникающих в компьютерные системы, они не только висят постоянно в памяти компьютера, но и создают собственные дубли. Таким образом, копии вирусов и постоянно следят за системой, и перемещаются по ней, что существенно затрудняет их поиск. Некоторые угрозы способны еще и менять собственную структуру, а их детектирование на основе общепринятых методов становится практически невозможным. Чуть позже рассмотрим, как избавиться от вирусов такого типа. А пока остановимся на основных разновидностях резидентных угроз.

    Загрузочные вирусы

    Загрузочные вирусы заражают загрузочный (boot) сектор флоппи-диска и boot-сектор или Master Boot Record (MBR) винчестера. Принцип действия загрузочных вирусов основан на алгоритмах запуска операционной системы при включении или перезагрузке компьютера - после необходимых тестов установленного оборудования программа системной загрузки считывает первый физический сектор загрузочного диска (A:, C: или CD-ROM в зависимости от параметров, установленных в BIOS Setup) и передает на него управление.

    Файловые вирусы

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

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

    Файлово-загрузочные вирусы

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

    Широко был распространен файлово-загрузочный вирус OneHalf, заражающий главный загрузочный сектор (MBR) и исполняемые файлы. Основное разрушительное действие - шифрование секторов винчестера. При каждом запуске вирус шифрует очередную порцию секторов, а, зашифровав половину жесткого диска, радостно сообщает об этом. Основная проблема при лечении данного вируса состоит в том, что недостаточно просто удалить вирус из MBR и файлов, надо расшифровать зашифрованную им информацию.

    Вирус OneHalf использует различные механизмы маскировки. Он представляет собой стелс-вирус и при распространении применяет полиморфные алгоритмы.

    Сетевые вирусы

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

    Макро-вирусы

    Макро-вирусы (macro viruses) являются программами на языках (макро-языках), встроенных в некоторые системы обработки данных (текстовые редакторы, электронные таблицы и т.д.). Для своего размножения такие вирусы используют возможности макро-языков и при их помощи переносят себя из одного зараженного файла (документа или таблицы) в другие. Наибольшее распространение получили макро-вирусы для Microsoft Word, Excel и Office. Существуют также макро-вирусы, заражающие документы баз данных Microsoft Access.

    Резидентные вирусы

    Под термином "резидентность" (DOS"овский термин TSR - Terminate and Stay Resident) понимается способность вирусов оставлять свои копии в системной памяти, перехватывать некоторые события (например, обращения к файлам или дискам) и вызывать при этом процедуры заражения обнаруженных объектов (файлов и секторов). Таким образом, резидентные вирусы активны не только в момент работы зараженной программы, но и после того, как программа закончила свою работу. Резидентные копии таких вирусов остаются жизнеспособными вплоть до очередной перезагрузки, даже если на диске уничтожены все зараженные файлы. Часто от таких вирусов невозможно избавиться восстановлением всех копий файлов с дистрибутивных дисков или backup-копий. Резидентная копия вируса остается активной и заражает вновь создаваемые файлы. То же верно и для загрузочных вирусов -- форматирование диска при наличии в памяти резидентного вируса не всегда вылечивает диск, поскольку многие резидентные вирусы заражают диск повторно после того, как он отформатирован.

    Нерезидентные вирусы

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

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

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

        1. Стелс-вирусы

    Стелс-вирусы теми или иными способами скрывают факт своего присутствия в системе..

    Использование СТЕЛС-алгоритмов позволяет вирусам полностью или частично скрыть себя в системе. Наиболее распространенным стелс-алгоритмом является перехват запросов OC на чтение/запись зараженных объектов. Стелс-вирусы при этом либо временно лечат их, либо «подставляют» вместо себя незараженные участки информации. В случае макро-вирусов наиболее популярный способ - запрет вызовов меню просмотра макросов. Известны стелс-вирусы всех типов, за исключением Windows-вирусов - загрузочные вирусы, файловые DOS-вирусы и даже макро-вирусы. Появление стелс-вирусов, заражающих файлы Windows, является скорее всего делом времени

        1. Полиморфик-вирусы

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

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

    По СРЕДЕ ОБИТАНИЯ вирусы можно разделить на:

      файловые;

      загрузочные;

      макровирусы;

        1. Файловые вирусы

    Файловые вирусы либо различными способами внедряются в выполняемые файлы (наиболее распространенный тип вирусов), либо создают файлы-двойники (компаньон-вирусы), либо используют особенности организации файловой системы (link-вирусы).

    Внедрение файлового вируса возможно практически во все исполняемые файлы всех популярных ОС. На сегодняшний день известны вирусы, поражающие все типы выполняемых объектов стандартной DOS: командные файлы (BAT), загружаемые драйверы (SYS, в том числе специальные файлы IO.SYS и MSDOS.SYS) и выполняемые двоичные файлы (EXE, COM). Существуют вирусы, поражающие исполняемые файлы других операционных систем - Windows 3.x, Windows95/NT, OS/2, Macintosh, UNIX, включая VxD-драйвера Windows 3.x и Windows95.

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

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

    Примеры нерезидентных вирусов:

    • "SillyC." - нерезидентные в памяти вирусы, объектами поражения которых являются только COM-файлы.
    • "SillyE." - нерезидентные в памяти вирусы, объектами поражения которых являются только EXE-файлы.
    • "SillyCE." - нерезидентные в памяти вирусы, объектами поражения которых являются только COM- и EXE-файлы.
    • "SillyO." -нерезидентные в памяти вирусы, которые перезаписывают файлы.

    Файловые вирусы являются наиболее распространенной разновидностью компьютерных вирусов. Принципиально они заражают любой тип исполняемых файлов, существующих в MS DOS (COM, EXE, и т.д.).

    Однако основными объектами заражения являются файлы типа COM и EXE.
    Наиболее просто осуществляется заражение COM-файлов, которые представляют собой почти точную копию участка памяти с загруженной программой. Единственная требуемая настройка при загрузке COM-файлов состоит в загрузке сегментных регистров значениями, соответствующими месту загрузки программы.

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

    Простейший нерезидентный компьютерный вирус, заражающий COM-файлы в текущем каталоге и дописывающий свое тело в конец файла, можно представить в виде следующей неформальной спецификации.

    Шаг 1:
    Восстановить первые три байта программы. Три байта зараженной программы, сохраненные в теле вируса, пересылаются на свое старое место.

    Шаг 2:
    Проверить среду. Проверить версию операционной системы. Если не подходящая, то перейти к шагу 11.

    Шаг 3:
    Найти очередную жертву(ы). Найти в текущем каталоге очередной файл типа COM. При неудаче перейти к шагу 11.

    Шаг 4:
    Проверить зараженность потенциальной жертвы. Считать область, позволяющую установить, заражен ли уже данный файл вирусом или нет. Проверить содержимое этой области. Если файл уже заражен, то перейти к шагу 3, иначе перейти к шагу 5.

    Шаг 5:
    Проверить, подходит ли жертва для заражения. Если длина файла + длина вируса больше 64К, перейти к шагу 3, иначе к шагу 6.

    Шаг 6:
    Снять атрибут "Только чтение", запомнить дату создания программы.

    Шаг 7:
    Обеспечить передачу управления вирусу. Считать первые три байта зараженной программы и записать их в своем теле. Сформировать команду перехода на байт, следующий за концом программы, и записать соответствующие три байта в начало заражаемой программы. При неудаче перейти к шагу 11, иначе перейти к шагу 8.

    Шаг 8:
    Дописать тело вируса в конец заражаемой программы. Передвинуть указатель файла в конец программы и установить режим дозаписи. Переписать свое тело в конец заражаемой программы. При неудаче перейти к шагу 11, иначе перейти к шагу 9.

    Шаг 9:
    Восстановить дату создания зараженной программы. Записать в элемент каталога, соответствующий заражаемой программе, дату, сохраненную в теле вируса.

    Шаг 10:
    Восстановить атрибут "Только чтение". Присвоить заражаемому файлу атрибуты, установленные у файла до заражения и сохраненные в теле вируса. При неудаче перейти к шагу 11, иначе перейти к шагу 10.

    Шаг 11:
    Выход. Восстановить содержимое регистров и передать управление программе-вирусоносителю.

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

    Наиболее уязвимыми (с точки зрения блокирования размножения вируса) являются шаг 6 (попытка снятия атрибута "Только чтение"), шаги 7,8 - запись в файл, содержащий исполняемую программу, и шаг 9 - установка даты создания файла, отличающейся от текущей.