Полиморфные вирусы и макровирусы


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

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

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

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

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

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

К числу наиболее характерных признаков заражения компьютера вирусами относятся следующие:

  • прекращение работы или изменение в рабочем режиме отдельных видов программного обеспечения, которое еще недавно было полностью исправным;
  • снижение скорости или прекращение загрузки операционной системы;
  • резкое изменение скорости работы компьютера в сторону снижения;
  • исчезновение файлов, размещённых на жестком диске;
  • изменения внешнего вида и размеров файлов;
  • увеличение или уменьшение количества файлов на внешнем или жестком носителе;
  • сокращение размеров свободной оперативной памяти;
  • зависания и явные сбои в работе компьютерной техники;
  • постоянное появление информации об ошибках;
  • сигналы антивирусной программы об обнаружении вирусного ПО;
  • появление самозагружающихся программ, сообщений или изображений [2].

В настоящее время известно более 50000 программных вирусов, которые классифицируют по следующим признакам:

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

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

Завершает работу вируса всегда блок маскировки. При этом выполняются, например, следующие действия: шифрование вируса (если функция шифрования реализована), восстановление старой даты изменения файла, восстановление атрибутов файла, корректировка таблиц ОС и др.

Последней командой вируса выполняется команда перехода на выполнение зараженных файлов или на выполнение программ ОС.

Для удобства работы с известными вирусами используются каталоги вирусов. В каталог помещаются следующие сведения о стандартных свойствах вируса: имя, длина, заражаемые файлы, место внедрения в файл, метод заражения, способ внедрения в ОП для резидентных вирусов, вызываемые эффекты, наличие (отсутствие) деструктивной функции и ошибки. Наличие каталогов позволяет при описании вирусов указывать только особые свойства, опуская стандартные свойства и действия [4].

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



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

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

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

'SiR DySTyKSDINFECTEDINFECTED.DOC5/22/2001 6:04: 06 AM
On Error Resume Next

'SiR DySTyKSDINFECTEDINFECTED.DOC5/22/2001 6:04:06 AM
Options.SaveNormalPrompt = 0

'SiR DySTyKSDINFECTEDINFECTED.DOC5/22/2001 6:04:06 AM
Options.ConfirmConversions = 0

А вот этот же фрагмент в другом зараженном файле:

'SiR DySTyKSDGOAT1GOAT1.DOC5/22/2001 6:04:16 AM
On Error Resume Next

'SiR DySTyKSDGOAT1GOAT1.DOC5/22/2001 6:04:16 AM
Options.SaveNormalPrompt = 0

'SiR DySTyKSDGOAT1GOAT1.DOC5/22/2001 6:04:16 AM
Options.ConfirmConversions = 0

Эта методика привела к совершенствованию антивирусов – в ответ на нее, в антивирусные сканеры была добавлена технология игнорирования строк-коментариев при просмотре кода.

С каждым шагом инфицирования запрашивался макрос FileSaveAs и вирус несколько видоизменял свой код. Добавлялись случайные числа в виде комментариев и добавлялись дополнительные пустые строки. Через несколько стадий макрос напоминал следующий фрагмент:

dlg.Format = 1
' 0.38007424142506
jqp$ = FileName$()

Loop While DjFeUOL2kkwJCIE6 ActiveDocument.Save
DwFNV1qyGsV4 = 187

For LU1VyC6 = 8 To 54 Step 3:

If dDGlb7 <> Rnd * 28 Then

Do
PjN7FDkGwkU7 = PjN7FDkGwkU7 + 6

Loop While PjN7FDkGwkU7 ActiveDocument.Close: TzLPGXn3lZ6 = 1

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

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

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

Вскоре вирусы научились генерировать не только случайный цифровой мусор, но и части собственного значимого вирусного кода. Этот тип вирусов известен как Code Collectors. Примером такого типа вирусов может служить вирус Hope.AF. Его особенностью являлась способность альтернативной замены собственных фрагментов – функций и переменных. К примеру, объект ActiveDocument мог быть представлен в теле вируса случайным образом несколькими способами:

При каждом копировании производился случайный выбор одного из вариантов:

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

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

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

Конечно, мысль о кодированных макровирусах пришла в голову не только вам. Многие макровирусы используют статичное шифрование частей вирусного кода, применяя для этого, как правило, какой-нибудь простенький алгоритм (XOR или Shift). Ключ шифрования может изменяться от поколения к поколению, но, как правило, не претерпевает сильных изменений. Здесь в качестве примера можно привести макровирус Antisocial.F, в котором механизм кодирования и ключ к нему хранится в комментариях в коде. В процессе размножения код меняется, но также выделен в комментариях к каждому конкретному экземпляру вируса.

Разнообразные вирусы, использующие смену названий, были еще одной интересной попыткой создания полиморфного вируса. Самыми известными вирусами этой серии было семейство IIS. Так, IIS.I использовал различные методики смены названий и функций. По-видимому, автор вируса предпринял попытку изменять все обозначения, используемые в вирусном коде, но по каким-то неизвестным причинам (программные недоработки или элементарная забывчивость) не смог изменить часть из них. Вирус генерирует разнообразные имена, которые используют символы ASCII кода (от 130 до 204). Получаемый код труден для чтения и восприятия, как в приведенном примере:

If Left(+ÿ¦, 1) = "'" Then

Вирус хранит свой код в глобальном шаблоне во временных строках буфера. Там же содержится массив разнообразных имен – старых и новых, которые могут встретиться в процессе мутации. Имена выбираются из набора, хранящегося внутри вирусного кода. Существует целая серия строк-комментариев, в которых хранятся эти постоянно изменяющиеся обозначения, с соответствующими инструкциями к ним. После перебора всех имеющихся случайных обозначений, вирус генерирует новые. Новые обозначения имеют случайную длину (от 2 до 22 символов) и состоят из случайных символов ASCII с кодом в пределах от 130 до 204. Новые имена также хранятся в массиве в случайном месте

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

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

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

К полиморфным этот вирус относили только потому, что антивирусные сканеры кода или p-кода не способны были его обнаружить. Для обнаружения данного типа вирусов использовался поиск устанавливаемых вирусом меток, после чего вирус поражался его же оружием – найденные компоненты заменялись на неизвестные вирусу переменные:

If Left(var_1, 1) = "'" Then

var_2 = var_2 + 1

var_3(var_2, 1) = Mid(var_1, 2, Len(var_1))

Но тут всегда существовала опасность, что вирус мог и не записывать свой код в пустые модули, а дописывать в уже существующие (примером являются Win32 вирусы EPO viruses). В этом случае метка переменной вируса могла начинаться не с, допустим, var_1, а с var_234 и даже var_7458. В таком случае сканер должен искать четкое соответствие между названием переменной и ее нахождением в макрокоде и удалять исключительно переменные, имеющиеся в базе данных вируса. Здесь очень важно, с одной стороны, не пропустить вирусных компонентов, а с другой, очень осторожно подходить к их замене, иначе результатом будет потеря огромных массивов данных и сбой в работе основной программы, что никак не допустимо для антивирусных программ.

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

КОМПЬЮТЕРНЫЕ ВИРУСЫ, ИХ КЛАССИФИКАЦИЯ. АНТИВИРУСНЫЕ ПРОГРАММНЫЕ СРЕДСТВА

Компьютерный вирус — это специальная программа, Способная самопроизвольно присоединяться к другим программам и при запуске последних выполнять различные нежелательные действия: порчу файлов и каталогов; искажение результатов вычислений; засорение или стирание памяти; создание помех в работе компьютера. Наличие вирусов проявляется в разных ситуациях.

  1. Некоторые программы перестают работать или начинают работать некорректно.
  2. На экран выводятся посторонние сообщения, сигналы и другие эффекты.
  3. Работа компьютера существенно замедляется.
  4. Структура некоторых файлов оказывается испорченной.

Имеются несколько признаков классификации существующих вирусов:

  • по среде обитания;
  • по области поражения;
  • по особенности алгоритма;
  • по способу заражения;
  • по деструктивным возможностям.

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

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

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

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

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

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

Как правило, каждый вирус заражает файлы одной или нескольких ОС. Многие загрузочные вирусы также ориентированы на конкретные форматы расположения системных данных в загрузочных секторах дисков. По особенностям алгоритма выделяют резидентные ; вирусы, стелс-вирусы, полиморфные и др. Резидентные вирусы способны оставлять свои копии в ОП, перехватывать обработку событий (например, обращение к файлам или дискам) и вызывать при этом процедуры заражения объектов (файлов или секторов). Эти вирусы активны в памяти не только в момент работы зараженной программы, но и после. Резидентные копии таких вирусов жизнеспособны до перезагрузки ОС, даже если на диске уничтожены все зараженные файлы. Если резидентный вирус является также загрузочным и активизируется при загрузке ОС, то даже форматирование диска при наличии в памяти этого вируса его не удаляет.

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

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

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

При создании вирусов часто используются нестандартные приемы. Их применение должно максимально затруднить обнаружение и удаление вируса.

По способу заражения различают троянские программы, утилиты скрытого администрирования, Intended-вирусы и т. д.

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

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

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

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

  1. неопасные, влияние которых ограничивается уменьшением свободной памяти на диске, замедлением работы компьютера, графическим и звуковыми эффектами;
  2. опасные, которые потенциально могут привести к нарушениям в структуре файлов и сбоям в работе компьютера;
  3. очень опасные, в алгоритм которых специально заложены процедуры уничтожения данных и возможность обеспечивать быстрый износ движущихся частей механизмов путем ввода в резонанс и разрушения головок чтения/записи некоторых НЖМД.

Для борьбы с вирусами существуют программы, которые можно разбить на основные группы: мониторы, детекторы, доктора, ревизоры и вакцины.

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

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

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

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

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

В России наибольшее распространение получили антивирусные программы Лаборатории Касперского (Anti-IViral Toolkit Pro) и ДиалогНаука (Adinf,Dr.Web). Антивирусный пакет AntiViral Toolkit Pro (AVP) включает AVP Сканер, резидентный сторож AVP Монитор, программу администрирования установленных компонентов. Центр управления и ряд других. AVP Сканер помимо традиционной проверки выполняемых файлов и файлов документов обрабатывает базы данных электронной почты. Использование сканера позволяет выявить вирусы в упакованных и архивированных файлах (не защищенных паролями). Обнаруживает к удаляет макровирусы, полиморфные, стеле, троянские, а также ранее неизвестные вирусы. Это достигается, например, за счет использования эвристических анализаторов. Такие анализаторы моделируют работу процессора и выполняют анализ действий диагностируемого файла. В зависимости от этих действий и принимается решение о наличии вируса.

Монитор контролирует типовые пути проникновения вируса, например операции обращения к файлам и секторам.

AVP Центр управления — сервисная оболочка, предназначенная для установки времени запуска сканера, автоматического обновления компонент пакета и др.

При заражении или при подозрении на заражение компьютера вирусом необходимо:

Полиморфные вирусы — это вирусы, которые зашифровывают свое тело и благодаря этому могут избежать обнаружения путем проверки сигнатуры вируса. Прежде чем приступить к работе, такой вирус расшифровывает себя с помощью специальной процедуры расшифровки. Как уже говорилось в главе 4, процедура расшифровки превращает зашифрованную информацию в обычную. Чтобы расшифровать тело вируса, процедура расшифровки захватывает управление машиной. После расшифровки управление компьютером передается расшифрованному вирусу. Первые шифрующиеся вирусы были неполиморфными. Другими словами, процедура расшифровки вируса не изменялась от копии к копии. Поэтому антивирусные программы могли обнаружить вирус по сигнатуре, присущей процедуре расшифровки. Но вскоре ситуация изменилась коренным образом. Полиморфные вирусы обнаружить очень трудно. Дело в том, что они генерируют абсолютно новые процедуры расшифровки при каждом новом заражении. Благодаря этому сигнатура вируса изменяется от файла к файлу. Для изменения процедуры шифрования используется достаточно простой генератор машинного кода, называющийся генератором мутаций. Он использует генератор случайных чисел и достаточно простой алгоритм изменения сигнатуры вируса. С его помощью программист может превратить любой вирус в полиморфный. Для этого о должен изменить текст вируса так, чтобы перед каждым созданием своей копии он вызывал генератор мутаций.
Несмотря на то что полиморфные вирусы нельзя обнаружить с помощью обычных методов проверки (вроде сравнения строк кода), они все же детектируются специальными антивирусными программами. Итак, полиморфные вирусы можно обнаружить. Однако этот процесс занимает огромное количество времени, а на создание антивирусной программы уходит гораздо больше сил. Наиболее свежие обновления антивирусного программного обеспечения производят поиск процедур шифрования,, с помощью которой обнаруживают полиморфные вирусы. Полиморфный вирус изменяет свою сигнатуру при создании очередной копии. от файла к файлу.

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

Ретро-вирус — это вирус, который пытается обойти или помешать действиям антивирусных программ. Другими словами, эти вирусы атакуют антивирусное программное обеспечение. Компьютерные профессионалы называют ретро-вирусы анти-антивирусами. (Не спутайте анти-антивирусы с анти-вирус-вирусами — вирусами, созданными для уничтожения других вирусов.) Создание ретро-вируса является относительно несложной задачей. В конце концов, создатели вирусов обладают доступом ко всем антивирусным программам. Приобретая такую программу, они изучают ее работу, находят бреши в обороне и после этого создают вирус на основе обнаруженных просчетов. Большинство ретро-вирусов занимается поисками и удалением файлов с данными о сигнатурах вирусов. Таким образом, антивирусная программа, использовавшая этот файл, не может больше нормально функционировать. Более сложные ретровирусы занимаются поиском и удалением баз данных, содержащих информацию о целостности файлов. Удаление подобной базы производит на хранителя целостности такой же эффект, как уничтожение файлов с сигнатурами вирусов на антивирусную программу. Многие ретро-вирусы обнаруживают активизацию антивирусных программ, а затем прячутся от программы либо останавливают ее выполнение. Кроме того, они могут запустить процедуру разрушения до того, как антивирусная программа обнаружит их присутствие. Некоторые ретро-вирусы изменяют оболочку вычислений антивируса и таким образом влияют на выполнение антивирусных программ. Кроме того, существуют ретро-вирусы, использующие недостатки антивирусного программного обеспечения, чтобы замедлить его работу или свести на нет эффективность программы.

Составные вирусы заражают как исполняемые файлы, так и загрузочные сектора дисков. Кроме того, они могут заражать загрузочные сектора дискет. Такое название они получили потому, что заражают компьютер различными путями. Другими словами, они не ограничиваются одним типом файлов или определенным местом на диске. Если запустить инфицированную программу, вирус заразит загрузочную запись жесткого диска. При следующем включении машины вирус активизируется и будет заражать все запущенные программы. Одним из наиболее известных составных вирусов является One-Half, который обладает признаками стелс-вируса и полиморфного вируса.

Свое название эти вирусы получили потому, что параллельно с заражаемым файлом они создают файл с таким же именем, но с другим расширением. Например, вирус-компаньон может сохранить свое тело в файле winword.com. Благодаря этому операционная система перед каждым запуском файла winword.exe будет запускать файл winword.com, который будет располагаться в памяти компьютера. Обычно вирусы-компаньоны генерируются вирусами-фагами.

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

Читайте также:

Пожалуйста, не занимайтесь самолечением!
При симпотмах заболевания - обратитесь к врачу.

Copyright © Иммунитет и инфекции