Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Классификация вирусов




Один из авторитетнейших «вирусологов» страны Евгений Касперский предлагает условно классифицировать вирусы по следующим признакам:

• по среде обитания вируса;

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

• по деструктивным возможностям;

• по особенностям алгоритма вируса.

Более подробная классификация внутри этих групп представлена на рис. 5.1.

Основными путями проникновения вирусов в компьютер являются съемные диски (гибкие и лазерные), а также компьютерные сети. Заражение жесткого диска вирусами может произойти при загрузке программы с Дискеты, содержащей вирус. Такое заражение может быть и случайным, например если дискету не вынули из дисковода А: и перезагрузили компьютер, при этом дискета может быть и несистемной. Заразить дискету гораздо проще. На нее вирус может попасть, даже если дискету просто вставили в дисковод зараженного компьютера и, например, прочитали ее оглавление.

Способы заражения программ

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

• метод оттеснения. Код вируса располагается в начале зараженной программы, а тело самой программы приписывается к концу.

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

• прочие методы. Сохранение вытесненного фрагмента программы в «кластерном хвосте» файла и пр.

Структура СОМ- и ЕХЕ-программ

СОМ-программа представляет собой участок кода и данных, начинающийся с исполняемой команды и занимающий не более 64Кбайт. Например, такую структуру имеет командный процессор COMMAND.СОМ операционной системы MSDOS, версий до 6.22 включительно.

ЕХЕ-программа имеет гораздо более сложную структуру. В начале файла ЕХЕ-программы располагается заголовок длиной. 28 байт, содержащий следующие данные:

• MZш — признак ЕХЕ-файла;

• PartPag — длина файла по модулю 512;

• PageCnt — длина файла в 512-байтовых страницах;

• ReloCnt — размер настроечной таблицы;

• HdrSize—размер заголовка;

• MinMem—минимум требуемой памяти;

• MaxMem — максимум требуемой памяти;

• Relo-SS — относительный сегмент стека;

• ExeSP — смещение указателя стека;

• ChkSum — контрольная сумма файла;

• ExelP — смещение точки входа;

• ReloCS — относительный сегмент точки входа;

• TablOff— смещение настроечной таблицы;

• Overlay — номер оверлейного сегмента.

Поля ReloCS и ExelP определяют местоположение точки входа в программу, поля ExeSP и ReloSS — местоположение стека, поля PartPag и PageCnt — размер корневого сегмента программы.

Вычисленный по PartPag и PageCnt размер программы может не совпадать с реальным размером файла. Такие программы называются «сегментированными» или «содержащими внутренние оверлеи». Грамотные авторы вирусов избегают заражать такие программы.

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

Стандартные методы заражения.

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

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

Как работает вирус

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

Эта программа тестирует оборудование и при успешном завершении проверок пытается найти дискету в дисководе А:

Всякая дискета размечена на секторы и дорожки, секторы объединяются в кластеры.

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

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

Таким образом, нормальная схема начальной загрузки следующая:

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...