Смекни!
smekni.com

Компьютерный файлово-загрузочный полиморфный стелс-вирус ONEHALF 3544, особенности алгоритма и методы борьбы с ним (стр. 1 из 3)

Малая Академия наук

школьников Крыма «Искатель»

Секция информатики

КОМПЬЮТЕРНЫЙ ФАЙЛОВО-ЗАГРУЗОЧНЫЙ

ПОЛИМОРФНЫЙ СТЕЛС-ВИРУС ONEHALF 3544,

ОСОБЕННОСТИ АЛГОРИТМА И МЕТОДЫ БОРЬБЫ С НИМ.

Действительный член МАН «Искатель»

Ученик 10 – го класса

Форосской общеобразовательной школы IIII ступени

КОРАБЛЕВ Андрей

Руководитель: КОРАБЛЕВ А. Б. - системотехник

ВВЕДЕНИЕ

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

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

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

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

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

Я хочу показать на основе вируса Onehalf 3544, наделавшего много шума в 1994-95 годах, возможные пути заражения, распространения, разрушительные способности вирусов и рекомендовать способы обнаружения и защиты от них.

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

КЛАССИФИКАЦИЯ ВИРУСОВ.

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

¨ среде обитания

¨ способу заражения среды обитания

¨ воздействию

¨ особенностям алгоритма

В зависимости от среды обитания вирусы можно разделить на сетевые, файловые, загрузочные, файлово-загрузочные и макро-вирусы, распространяющиеся вместе с документами и электронными таблицами. Файловые вирусы внедряются главным образом в исполняемые модули, т. е. В файлы, имеющие расширения COM и EXE. Загрузочные вирусы внедряются в загрузочный сектор диска (Boot-сектор) или в сектор, содержащий программу загрузки системного диска (Master Boot Record). Файлово-загрузочные вирусы заражают как файлы, так и загрузочные сектора дисков.

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

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

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

¨ опасные вирусы, которые могут привести к различным нарушениям в работе компьютера

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

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

Рассматриваемый мной вирус Onehalf 3544 примечателен не только тем, что его появление вызвало большой резонанс в компьютерном мире, но и тем, что он одновременно объединяет в себе множество свойств являясь очень опасным резидентным файлово-загрузочным полиморфным стелс-вирусом. В моей работе я покажу каждое из его свойств, его сильные и слабые стороны.

АНАЛИЗ АЛГОРИТМА ВИРУСА.

Размещение вируса в зараженном файле.

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


Зараженный файл (приращение длины 3544 байт).

-

Таблица размещения «пятен» кода расшифровщика

-

«Пятна», в которых содержится расшифровщик тела вируса

-

Тело зараженного файла

- Зашифрованное тело вируса

Размещение вируса в зараженном MBR.

После заражения MBR вирус записывает на место оригинального MBR свой обработчик загрузки тела вируса в память, затем пишет 7 секторов кода своего тела в 7 секторов от конца 0 дорожки диска в скрытых секторах, а затем пишет оригинальный MBR в восьмой от конца 0 дорожки диска. Рассмотрим на примере диска с 17 секторами на дорожку.

-Обработчик загрузки тела ви-
руса в память.

- Оригинальный MBR.

7 секторов, содержащие
тело вируса.

Алгоритм инсталляции вируса.

При запуске зараженного файла на исполнение или загрузке с зараженного MBR вирус при помощи собственного обработчика прерывания Int12h – выдача объема памяти - оценивает количество свободной оперативной памяти и наличие своей копии в памяти и если ее менее 4 килобайт или память уже содержит тело вируса - отдает управление файлу или оригинальному загрузчику. Для поиска своей копии в памяти вирус вызывает несуществующую DOS - функцию (прерывание Int 21h, функция 54h). Если вируса нет в памяти, то в регистр АХ возвращается код ошибки выполнения функции. Если вирус уже загружен в память, то он перехватывает эту функцию и возвращает в регистр АХ некое число, отличное от кода ошибки. По наличию этого числа вирус определяет наличие своей копии в памяти и не заражает ее повторно. При наличии 4 и более килобайт свободного ОЗУ и отсутствии тела вируса в памяти вирус сначала анализирует геометрию диска при помощи собственного обработчика прерывания Int13h ( дисковые операции), ищет последний DOS диск или Extended Partition в системе, ищет признак заражения MBR (03Dh в MBR). Если MBR не заражен, то пишет 7 секторов кода своего тела в 7 секторов от конца 0 дорожки диска в скрытых секторах, а затем пишет оригинальный MBR в восьмой от конца 0 дорожки диска. После записи своего тела на диск или получив признак зараженности MBR, вирус анализирует наличие своего тела в памяти и при отсутствии переписывает 7 секторов своего тела с диска. При наличии тела в памяти вирус отдает ему управление.

Далее вирус использует свои обработчики прерываний:

Int1h – прерывание отладки и трассировки – для «завешивания» системы при попытке трассировать код вируса в память;