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

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

Малая Академия наук школьников Крыма «Искатель»

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

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

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

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

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

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

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

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

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

ВВЕДЕНИЕ

Мы живем на стыке двух тысячелетий, когда человечество вступило в эпоху новой научно-технической революции.
К концу двадцатого века люди овладели многими тайнами превращения вещества и энергии и сумели использовать эти знания для улучшения своей жизни. Но кроме вещества и энергии в жизни человека огромную роль играет еще одна составляющая - информация. Это самые разнообразные сведения, сообщения, известия, знания, умения.
В середине нашего столетия появились специальные устройства - компьютеры, ориентированные на хранение и преобразование информации и произошла компьютерная революция.
Сегодня массовое применение персональных компьютеров, к сожалению, оказалось связанным с появлением самовоспроизводящихся программ-вирусов, препятствующих нормальной работе компьютера, разрушающих файловую структуру дисков и наносящих ущерб хранимой в компьютере информации.
Несмотря на принятые во многих странах законы о борьбе с компьютерными преступлениями и разработку специальных программных средств защиты от вирусов, количество новых программных вирусов постоянно растет. Это требует от пользователя персонального компьютера знаний о природе вирусов, способах заражения вирусами и защиты от них. Это и послужило стимулом для выбора темы моей работы.
Я хочу показать на основе вируса Onehalf 3544, наделавшего много шума в
1994-95 годах, возможные пути заражения, распространения, разрушительные способности вирусов и рекомендовать способы обнаружения и защиты от них.
Работа выполнена на основе анализа листинга кода тела вируса, полученного при помощи дизассемблера Sourcer версии 7.0 и экспериментального заражения
- лечения нескольких компьютеров с разными типами жестких дисков, и использовании различных антивирусных и прикладных программ. Особую благодарность за предоставление материалов для подготовки моей работы хочу выразить системному программисту Александру Крыжановскому из Ялты и моему руководителю системотехнику Алексею Кораблеву.

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


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

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

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

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

7. очень опасные, воздействие которых может привести к потере программ, уничтожению данных, стиранию информации в системных областях диска.
По особенностям алгоритма вирусы трудно классифицировать из-за большого разнообразия. Известны вирусы-невидимки, называемые стелс-вирусами, которые очень трудно обнаружить и обезвредить, так как они перехватывают обращения операционной системы к пораженным файлам и секторам дисков и подставляют вместо своего тела незараженные участки диска. Наиболее трудно обнаружить вирусы-мутанты (полиморфные), содержащие алгоритмы шифровки-расшифровки, благодаря которым копии одного и того же вируса не имеют ни одной повторяющейся цепочки байтов.
Рассматриваемый мной вирус 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 – прерывание отладки и трассировки – для «завешивания» системы при попытке трассировать код вируса в память;
Int 1Ch – таймер – для перехвата DOS (прерывание Int 21h) при его загрузке;
Int13h – дисковые операции – для обслуживания чтения – записи дисков и операции шифровки-расшифровки дорожек диска. При этом вирусу приходится использовать для этого метод трассировки (пошагового исполнения) оригинального обработчика для определения точки входа данного прерывания.
Это нужно для корректного возврата прерывания обратно. Вирус вынужден вызывать оригинальное прерывание отладки и выполнять перехват в пошаговом режиме;
Int24h – критическая ошибка – для перехвата сообщения о критической ошибке при неудачных попытках записи на диск.
В случае старта с зараженного файла вирус лечит его в памяти и записывает на диск уже не зараженным.
Далее вирус считывает из MBR нижнюю границу зашифрованной дорожки и анализирует, не дошла ли граница до седьмой дорожки от начала диска. Если шифрование дошло до этого значения, то шифрация запрещается для того, чтобы не повредить системные области диска. Если не дошло, то вирус шифрует две дорожки вверх от нижней границы шифрованных дорожек используя ключ, хранящийся в MBR. Следует учитывать, что ключ генерируется из случайного числа при заражении диска и на каждом диске является уникальным. Это является одним из признаков полиморфизма. При удачной шифровке в MBR записывается новое значение нижней границы зашифрованной дорожки.
Следующим шагом вируса является анализ совпадения трех параметров: зашифрована ли половина дорожек диска, кратен ли день в системной дате четырем и является ли четным счетчик заражения компьютеров, хранящийся в теле вируса. При совпадении трех этих параметров вирус выводит на дисплей сообщение «Dis is OneHalf! Press any key to continue…» и ожидает нажатия любой клавиши для продолжения работы. Однако совпадение всех параметров является чрезвычайно редким и не стоит рассчитывать на то, что вирус таким образом выдаст свое присутствие в системе.
Далее вирус читает оригинальный MBR и передает ему управление дальнейшей загрузкой при этом сохраняя свои обработчики прерываний Int13h (для обслуживания шифрованных дорожек) и Int1Ch (для перехвата DOS и контроля через перехваченное прерывание Int21h записи файла на дискету). Вирус корректно расшифровывает данные с зашифрованных дорожек и не затормаживает работу компьютера.
При помощи собственного обработчика прерывания Int12h вирус скрывает уменьшение размера свободной памяти на 4 килобайта для всех программ, кроме программы CHKDSK ( утилита проверки диска из комплекта DOS) и программы
Norton Commander. При помощи собственного обработчика прерывания обслуживания DOS Int21h скрывает приращение длины зараженного файла. Однако следует помнить, что в зараженной системе могут отсутствовать зараженные файла, т.к. в алгоритме вируса предусмотрено их лечение при успешном заражении. При попытке трассировки вируса в памяти при помощи вызова прерывания Int1h он при помощи собственного обработчика «завешивает» систему организацией цикла без выхода. Эти действия вируса позволяют говорить о том, что он является стелс-вирусом, а возможность заражения файлов и MBR диска о том, что он является файлово-загрузочным.

Страницы: 1, 2



2012 © Все права защищены
При использовании материалов активная ссылка на источник обязательна.