Классические компьютерные вирусы
Классические компьютерные вирусы
Перейдем к рассмотрению типов компьютерных вирусов. Различные типы компьютерных вирусов могут различаться между собой по среде обитания и способу заражения.
По среде обитания выделяют следующие типы вирусов:
? загрузочные;
? файловые;
? макровирусы;
? скриптовые.
Чтобы размножиться, файловые вирусы могут:
? инфицировать исполняемый файл, который, будучи запущенным, заразит другие;
? создавать так называемые файлы-двойники (такие вирусы носят название компаньон-вирусов);
? просто самопроизвольно начать создавать множество своих копий на жестком диске;
? использовать специфические особенности структуры файловой системы (link-вирусы).
Вот пример из жизни.
Достаточно часто встречающимся механизмом распространения вирусного кода является заражение флэш-карты. При работе в зараженной среде вирус копирует себя на флэшку. Далее она попадает на другой компьютер, и тут начинается самое интересное. Пользователь сам запускает на исполнение вирусный код, даже не подозревая об этом. Еще бы! Ведь заражение системы происходит в момент попытки просмотреть содержимое диска! Почему так происходит? Все дело в том, что для своего распространения вирус использует функцию автозапуска содержимого диска. Картина заражения при этом следующая:
? в контекстном меню, открываемом при щелчке правой кнопкой мыши на флэш-диске, появляется выделенная полужирным строка Автозапуск (рис. 4.1);
Рис. 4.1. Автозапуск содержимого уже «в силе»!
? в корне флэш-диска можно обнаружить файл автозапуска – AutoRun.inf (он скрытый и имеет атрибут Системный);
? там же или в какой-либо другой папке – исполняемый файл.
Загрузочные вирусы прописывают себя на автозапуск одним из следующих способов:
? записав себя в загрузочный сектор диска (boot-сектор);
? записав себя в сектор, содержащий MBR (Master Boot Record – системный загрузчик);
? просто поменяв указатель на активный boot-сектор.
Следует отметить, что популярность загрузочных вирусов пришлась на 1990-е годы. Однако вскоре количество загрузочных вирусов значительно уменьшилось, что связано с переходом на 32-битные операционные системы и отказом от использования дискет как основного съемного носителя информации.
Принцип работы загрузочных вирусов можно свести к тому, чтобы заставить систему при перезапуске считать в память и отдать управление не оригинальному коду загрузчика, а коду вируса.
Интересно отметить, что при инфицировании диска такой вирус, как правило, переносит оригинальный boot-сектор в какой-либо другой сектор диска (чаще всего в первый свободный).
Вышеперечисленные коварства загрузочных вирусов – отнюдь не исчерпывающий список. Заражение таким вирусом может обернуться не просто крахом системы, но и невозможностью последующей установки Windows. Как показывает практика, проблемы подобного рода успешно решаются, если использовать специализированные утилиты вроде Norton Disc Doctor.
Макровирусы распространяются, используя богатые возможности макроязыков (рис. 4.2).
Рис. 4.2. Один из макровирусов
Активация макровируса происходит в момент открытия инфицированного документа формата Microsoft Office (Word, Excel и PowerPoint). Принцип работы макровируса основан на том, что офисное приложение при своей работе имеет возможность использовать (а в большинстве случаев использует постоянно) макросы. Такие макросы (например, автомакросы) автоматически исполняются в зависимости от состояний программы. Так, к примеру, когда мы открываем документ с расширением
DOC, Microsoft Word проверяет его содержимое на присутствие макроса AutoOpen. При наличии такого макроса Word выполняет его. Когда мы закрываем документ, автоматически выполняется макрос AutoClose.
Запускаем Word – автоматически вызывается макрос AutoExec, завершаем работу – AutoExit.
Макровирусы, поражающие файлы Office, как правило, действуют одним из трех способов.
? Автомакрос присутствует (и, соответственно, выполняется) в самом вирусе.
? Вирус переопределяет один из стандартных системных макросов (ассоциированный с каким-либо пунктом меню).
? Макрос вируса запускается, если пользователь нажимает какую-либо клавишу/сочетание клавиш. Получив управление, такой вирус заражает другие файлы – обычно те, которые в данный момент открыты.
Продолжим наше знакомство с классификацией.
По способу заражения вирусы делятся на:
? перезаписывающие (overwriting);
? паразитические (parasitic);
? вирусы-компаньоны (companion);
? вирусы-ссылки (link);
? вирусы, заражающие объектные модули (OBJ);
? вирусы, заражающие библиотеки компиляторов (LIB);
? вирусы, заражающие исходные тексты программ.
Рассмотрим каждый из перечисленных типов подробнее.
Перезаписывающие вирусы. Вирусы данного типа характеризуются тем, что заражают файлы путем простой перезаписи кода программы. «Стиль» работы такого вируса можно назвать достаточно грубым, так как перезаписанная программа (файл) перестает работать, к тому же из-за особенностей своей «вероломной» работы вирусы подобного рода легко обнаружить.
Паразитические вирусы. Особенностью паразитических вирусов является их способ заражения файлов, а именно: вирус просто «вклинивается» в код файла, не нарушая его работоспособность.
Такие вирусы можно разделить по способу внедрения в тело файла.
? В начало файлов (prepending):
• когда вирус копирует начало заражаемого файла в его конец, а сам при этом копируется в освободившееся место;
• вирус просто дописывает заражаемый файл к своему коду.
? В середину файлов (inserting). При таком способе заражения вирус просто "раздвигает" файл и записывает свой код в свободное место. Некоторые из вирусов при таком способе заражения способны сжать перемещаемый блок файла, так что конечный размер файла будет идентичным тому, который был до заражения.
Возможен и другой вариант внедрения в середину файла – так называемый метод "cavity", при котором вирус записывает свое тело в неиспользуемые области файла. Такими неиспользуемыми, "пустыми" областями могут быть области заголовка EXE-файла, "пробелы" между секциями EXE-файлов либо область текстовых сообщений компилятора.
? В конец файлов (appending). Внедрение вируса в конец файла подразумевает, что вирусный код, оказавшись в конце файла, изменяет начало файла, так что первыми выполняются команды вируса. Это достигается путем коррекции стартового адреса программы (адрес точки входа) в заголовке файла.
EPO-вирусы – вирусы без точки входа. Особую группу вирусов представляют так называемые вирусы без «точки входа» (EPO-вирусы – Entry Point Obscuring viruses). Такие вирусы при заражении файла не изменяют адрес точки старта. Как же они работают, ведь в любом случае вирус должен получить управление? Все дело в том, что такие вирусы записывают команду перехода на свой код в середине файла. Стартуют такие вирусы не при запуске зараженного файла, а при вызове определенной процедуры, передающей управление на тело вируса. Запуск такой процедуры может произойти в редких случаях, в результате чего вирус может ждать внутри файла многие годы.
Вирусы-двойники. К данной категории относят вирусы, создающие для заражаемого файла файл-двойник. Алгоритм работы в данном случае обычно таков.
1. При заражении вирус переименовывает файл-жертву.
2. Записывает свой код на место зараженного файла под его именем.
3. Получив управление, вирус запускает оригинальный системный файл.
Скрипт-вирусы, как оно и следует из названия, написаны на различных языках сценариев, таких, например, как VBS, JS, BAT, PHP и т. д. Вирусы данного типа не являются исполняемыми файлами формата EXE, их код скорее похож на команды, выполняемые другими программами, виртуальной DOS-машиной и т. д.
Данный текст является ознакомительным фрагментом.