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

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

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

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

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

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

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

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

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

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

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

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

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

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

Таким образом, при работающем вирусе файловая система на диске кажется совершенно нормальной. При поверхностном просмотре зараженного диска на «чистом» компьютере также ничего странного не наблюдается. Разве лишь при попытке прочесть или скопировать с зараженной дискеты программные файлы из них будут прочтены или скопированы только 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):

Name

 

.Ext

Size

Date

Time

Cluster

Arc

R/0

Sys

Hid

Dir

Vol

Sector

...

I0 SYS 40744 31.05.94 6:22 2

 

R/0 Sys Hid

 

Vol

 

 

MSDOS SYS 38138 14.07.95 23:44 5

 

R/0 Sys Hid

 

 

 

 

I01 SYS 40744 31.05.94 6:22 63616

 

R/0 Sys Hid

 

 

 

Здесь в столбце «Cluster» у первого элемента стоит 2 — номер кластера диска, куда вирус записал свое тело (и где раньше располагался файл IO.SYS), а у третьего элемента в этом столбце указан номер того кластера, начиная с которого вирус поместил копию файла IO.SYS.

Иначе говоря, в корневом каталоге появляются два элемента с именем IO.SYS, один из которых помечен атрибутом «метка тома». Однако при начальной загрузке это не вызывает сбоев — программа начальной загрузки, проверив, что первые два элемента каталога имеют имена IO.SYS и MSDOS.SYS, загрузит кластер, указанный в первом элементе оглавления (на обычном диске — это начало файла IO.SYS, а на зараженном код вируса), и передаст ему управление. Вирус загрузит себя в оперативную память, после чего загрузит начало исходного файла IO.SYS и передаст ему управление. Далее начальная загрузка идет, как обычно.

А что же при обычной работе в DOS? Неужели в корневом каталоге не будут видны два элемента с именем IO.SYS? Оказывается, нет. DOS и все программы (кроме программы. начальной загрузки) будут считать первый элемент каталога, раз он помечен признаком «метка тома», описанием метки диска С:. А метки игнорируются при обработке файлов и каталогов, поэтому первый элемент с именем IO.SYS не будет виден при просмотре корневого каталога. Разве лишь метка тома для диска С:, выводимая при вводе команды VOL С:, станет «IO SYS» (некоторые программы будут показывать ее как IOSYS). Однако мало кто из пользователей обращает внимание на метки дисков!

Опасность вирусов семейства ЗАРАЗА состоит в следующем: даже если загрузить компьютер с «чистой» системной дискеты и ввести команду SYS С:, вирус не будет удален с диска! Команда SYS, как и остальные программы DOS, проигнорирует указывающий на вирус первый элемент корневого каталога, посчитав его описанием метки. Перезаписан будет лишь «файл-дублер» IO.SYS, описанный в третьем элементе корневого каталога. Причем если программа SYS запишет файл IO.SYS в новое место на диске, то система перестанет загружаться с жесткого диска, т.к., вирус в своем теле хранит адрес начального сектора исходного файла IO.SYS.

Поэтому обеззараживать диски, инфицированные вирусами семейства ЗАРАЗА, командой SYS не следует, это надо делать антивирусными программами. Напомним, то симптомом вируса семейства ЗАРАЗА является метка тома «IO SYS», то есть в ответ на команду DOS VOL С: выводится:

Volume in drive С is I0 SYS

Volume Serial Number is , . .

В крайнем случае, можно использовать следующий прием: с помощью программы DiskEdit снять у первых трех элементов (первый и третий — с именами IO.SYS, второй — с именем MSDOS.SYS) корневого каталога диска С: на жестком диске атрибуты «скрытый», «системный», «только для чтения» и «метка тома», переименовав при этим один из элементов с именем IO.SYS, например, в I01.SYS:

Name

 

.Ext

Size

Date

Time

Cluster

Arc

R/0

Sys

Hid

Dir

Vol

Sector

...

I0 SYS 40744 31.05.94 6:22 2

 

 

 

 

 

 

 

 

MSDOS SYS 38138 14.07.95 23:44 5

 

 

 

 

 

 

 

 

I01 SYS 40744 31.05.94 6:22 63616

 

 

 

 

 

 

 

 

После этого файлы IO.SYS, IO1.SYS и MSDOS.SYS можно удалить командой Del. Теперь команда SYS С: сможет записать на диск С: чистые системные файлы.


СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ

1.    Профессиональная работа в MS-DOS, Р.Данкан, Мир, 1993.

2.    Microsoft Systems Journal, Sept 1989. Получен из Computer Library Periodicals, Jan 1990, Doc #14753.

3.    В.Мельников. «Защита информации в компьютерных системах». Москва. «Финансы и статистика». «Электроинформ». 1997.

4.    «Руководство администратора безопасности системы «Secret Net NT». Информзащита.

5.    С.Штайнке. «Идентификация и криптография». LAN\Журнал сетевых решений. 1998. №2.

6.    В.Жельников. «Криптография от папируса до компьютера». ABF. Москва. 1997.

7.    Г.Дейтел. “Введение в операционные системы”. Т.2. Москва. Мир. 1987.

8.    П.Дайсон. “Овладеваем пакетом Norton Utilities 6”. Москва. Мир. 1993.


Информация о работе «Вирусы»
Раздел: Информатика, программирование
Количество знаков с пробелами: 61538
Количество таблиц: 2
Количество изображений: 0

Похожие работы

Скачать
73285
3
6

... вирус Christmas tree. К 1980-м годам число активных вирусов измерялось уже сотнями. А появление и распространение персональных компьютеров породило настоящую эпидемию – счёт вирусов пошёл на тысячи. Правда, термин «компьютерный вирус» появился только в 1984 году: впервые его использовал в своём докладе на конференции по информационной безопасности сотрудник Лехайского Университета США Ф. Коэн. ...

Скачать
31861
0
0

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

Скачать
89191
0
0

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

Скачать
51922
1
1

... - вать программы test.com и test.exe. Вот их исходные тексты на языке Assembler. test.com cseg segment assume cs:cseg, ds:cseg, ss:cseg org -lOOh Start: db 1249 dup (OFAh,90h,OFBh,OF8h) 1 60 Методы борьбы с вирусами mov ah,4Ch int 21h cseg ends End Start test.exe cseg segment assume cs:cseg, ds:cseg Start: db 1000 dup (OFAh,90h,OFBh,OF8h) mov ah,4Ch int 21h cseg ends sseg ...

0 комментариев


Наверх