Структура и классификация компьютерных вирусов

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

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

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

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

Все вирусы с технической точки зрения делятся на две большие группы, отличающиеся друг от друга по объекту внедрения: 1) файловые и 2) системные.

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

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

2 .Вирусы гибкой модификации, называемые также прикрепляющимися вирусами, более опасны, поскольку их присутствие в системе обнаружить нелегко. Такие вирусы “повисают” на программах и, несмотря на произведенные изменения, способны восстановить прежний вид этих программ непосредственно перед их пуском. Обычно заражение вирусом можно обнаружить только путем сравнения размеров файла с оригиналом.

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

Системные ( бутовые) вирусы работают на более глубоком уровне, внедряясь в дисковую структуру ОС, связанную с базовыми функциями ввода/вывода информации и запуска компьютера, затрагивающими пусковые (Boot)-секторы.

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

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

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

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

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

Необходимо особо отметить, что вирус пускового сектора может распространяться не только через системный диск. “Гениальность” описанного выше механизма заключается в том, что пусковой сектор имеется на любом диске единственно, что не все они содержат пусковую запись. Если же пользователь по ошибке попытается запустить компьютер с несистемного (не имеющего пусковой записи) диска, инфицированного вирусом пускового сектора, то компьютер выдаст на экран монитора сообщение об ошибке и попросит сменить диск. Однако считывание пускового сектора происходит в любом случае и, если он содержит вирус, то последний немедленно попадает в оперативную память. После устранения ошибки и смены диска компьютер оказывается зараженным. Существует, правда, простой способ защиты от попадания вирусов пускового сектора с несистемных дисков: после ошибочной попытки запуска необходимо произвести полную перезагрузку компьютера, т.е. очистить оперативную память.

Воздействие системных вирусов чаще всего носит исключительно разрушительный характер. Например, механизм действия известного вируса “disk-killer” (разрушитель дисков) основан на последовательном преобразовании двоичных записей дорожек с помощью функции XOR, после чего содержание файлов (частей файлов), использующих преобразованные дорожки, превращается в бессмыслицу.

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


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: