Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции по информационной безопасности.doc
Скачиваний:
4
Добавлен:
01.05.2025
Размер:
271 Кб
Скачать
☆

Тема 9. Компьютерные вирусы

 

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

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

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

способ заражения,

воздействие на ресурсы,

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

В зависимости от среды обитания вирусы можно разделить на:

Сетевые вирусы распространяются по компьютерным сетям.

Файловые вирусы внедряются главным образом в исполняемые модули, но могут внедряться и в другие типы файлов.

Загрузочные вирусы внедряются в загрузочный сектор диска.

Файлово-загрузочные вирусы заражают как файлы, так и загрузочные сектора дисков.

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

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

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

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

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

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

По особенностям алгоритма можно выделить:

простейшие вирусы, они изменяют содержимое файлов и секторов диска,

вирусы-репликаторы (черви), которые распространяются по компьютерным сетям, вычисляют адреса сетевых компьютеров и записывают по этим адресам свои копии.

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

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

Нерезидентные вирусы

COM-вирусы

Заражение.

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

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

Алгоритм работы.

восстановление трех первых байтов программы,

поиск подходящего для заражения файла,

заражение,

выполнение вредоносных действий,

передача управления той программе, в которой находится вирус.

Распространение вируса.

автор разрабатывает исходный текст вируса,

исходный текст компилируется, создается исполняемый файл (запускающая програма),

запускающая программа доставляется на машину, которую надо заразить и исполняется на ней.

 

EXE-вирусы

Заражение.

Как и для COM-программ вирус может быть записан в начало, конец или в середину файла. Чтобы вирус получил управление, должен быть изменен заголовок EXE-файла.

Алгоритм работы.

поиск подходящего EXE-файла,

сохранение заголовка заражаемого файла,

заражение,

выполнение вредоносных действий,

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

передача управления программе.

Распространение вируса.

Аналогично COM-вирусу.

Резидентные вирусы

COM-вирусы

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

Секция инициализации:

получает управление при запуске зараженной программы,

проверяется, установлена ли в памяти резидентная часть вируса,

если резидентная часть не установлена, то выполняются действия:

поиск области памяти для размещения резидентной части.

копируется резидентная часть,

изменяются вектора прерываний.

Резидентная часть.

анализирует вызова прерываний работы с диском,

если обнаружен переход по дереву каталогов, то выполняется поиск и заражение подходящего COM-файла,

заражение,

выполнение вредоносных действий,

передача управления той программе, в которой находится вирус.

 

EXE-вирусы

Аналогично работе резидентного COM-вируса. Выполняется работа с заголовками exe-файлов.

 

Загрузочные вирусы

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

Заражение.

Изменение загрузочного сектора или загрузочной записи (добавление своего кода в свободную область).

Алгоритм работы.

При начальной загрузке компьютера с зараженного диска:

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

изменяются значения векторов прерываний,

фрагмент загрузочной области без кода вируса копируется в память по адресу 0000:7C00h и ему передается управление.

При обращении к новому диску:

выполняется проверка на то, заражена ли область начальной загрузки,

если нет, то она заражается,

заражение,

выполнение вредоносных действий,

передача управления той программе, в которой находится вирус.

Распространение вируса.

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

 

Windows-вирусы

Чтобы оставить выполняемый код резидентным в Windows существуют 3 способа:

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

выделить блок памяти при помощи DPMI-вызова и скопировать в него код вируса,

остаться резидентно как драйвер.

Обращения к файлам выполняется через перехват либо прерывания 21h, либо системных вызовов API.

 

Макровирусы

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

 

Стелс-вирусы

Стелс-вирусы различными способами скрывают факт своего присутствия в системе.

Загрузочные стелс-вирусы используют два способа:

вирус перехватывает команду чтения зараженного сектора и подставляет вместо него оригинал,

при запуске любой программы восстанавливается зараженный сектор, а при ее завершении он снова заражается – используется контроль INT 21h.

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

 

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

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

Основные способы изменения кода вируса:

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

использование взаимозаменяемых инструкций и изменение порядка следования независимых команд,

перестановка инструкций с добавлением команд перехода,

перестановка данных с изменением значений смещения в командах чтения-записи.

Полиморфные вирусы могут использовать несколько наборов постоянных алгоритмов шифрования для изменения своего кода при новом заражении. Расшифровка производится самим вирусом уже непосредственно во время выполнения.

 

Антивирусные программы

Основные функции антивирусов:

обнаружение вирусов,

препятствие работе вирусов,

удаление вирусов и устранение последствий их работы.

 

Классы антивирусов:

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

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

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

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

 

 

Раздел. Методология защиты информации