Принципы функционирования основных разновидностей вирусов

Принципы функционирования основных разновидностей вирусов

Упрощенно процесс заражения вирусом программных файлов (exe, jcom, ovl, dll модулей) можно представить следующим образом. Код зараженной программы обычно изменяется таким образом, чтобы вирус получил управление первым, до начала работы программы-носителя. При передаче управления вирусу он находит новую программу и выполняет вставку своей копии в нее.

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

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

Вставка вируса в середину файла встречается редко. В этом случае вирус переписывает замещаемые блоки программы в конец модуля. Реже всего такой способ используется для заражения (обычно специализированными вирусами, в том числе и макровирусами) модулей, особенности структуры которых заранее известны (файлы command.com, документы MS Word и т.п.).

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

Яндекс.Метрика