Смекни!
smekni.com

Компьютерные вирусы (стр. 1 из 8)

МИНИСТЕРСТВО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ

ТАГАНРОГСКИЙ РАДИОТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ

РЕФЕРАТ

по курсу «Основы эксплуатации ЭВМ»

тема: «Компьютерные вирусы, методы защиты,

профилактика и лечение»

Выполнил : Шуев С.Б.

Проверил : Евтеев Г.Н.

ТАГАНРОГ, 2001

ВВЕДЕНИЕ

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

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


COM – вирусы.

Рассмотрим два варианта внедрения COM- вируса.

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


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

Тело вируса записывается в начало файла, а часть вируса обеспечивающая восстановление программы – в конец

Рис. 1

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

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

Отработав, вирус передает управление своему коду в конце программы.

Восстанавливается первоначальный вид программы

После восстановления вирус запускает программу

Рис.2

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

Тело программы сдвигается ближе к концу файла, освобождая место для вируса

Тело вируса записывается в начало файла, а часть вируса, обеспечивающая восстановление программы – в конец

рис. 3


Отработав, вирус передает управление своему коду в конце программы.

Восстанавливается первоначальный вид программы – тело программы сдвигается к адресу 0100h
После восстановления вирус запускает программу

рис. 4

EXE – вирусы

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

Вирусы, замещающие программный код (Overwrite).

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

Вирусы – спутники (Companion).

Эти вирусы получили свое название из-за алгоритма размножения: к каждому инфицированному файлу создается файл – спутник. Рассмотрим более подробно два типа вируса этой группы:

Вирусы первого типа размножаются следующим образом. Для каждого инфицируемого EXE – файла в том же каталоге создается файл с вирусным кодом, имеющим такое же имя, что и EXE – файл, но с расширением СОМ. Вирус активизируется, если при запуске программы в командной строке указано только имя исполняемого файла. Дело в том, что, если не указано расширение файла, DOS сначала ищет в текущем каталоге файл с заданным именем и расширением СОМ. Если СОМ – файл с таким именем не найден, ведется поиск одноименного ЕХЕ – файла. Если не найден и ЕХЕ – файл, DOS попробует обнаружить и ВАТ (пакетный) файл. В случае отсутствия в текущем каталоге исполняемого файла с указанным именем поиск ведется во всех каталогах, доступных по переменной РАТН. Другими словами, когда пользователь хочет запустить программу и набирает в командной строке только ее имя (в основном так все и делают ), первым управление получает вирус, код которого находится в СОМ – файле. Он создает СОМ – файл еще к одному или нескольким ЕХЕ – файлам (распространяется), а затем исполняет ЕХЕ – файл с указанным в командной строке именем. Пользователь же думает, что работает только запущенная ЕХЕ – программа. Вирус – спутник обезвредить довольно просто – достаточно удалить СОМ – файл.

Вирусы второго типа действуют более тонко. Имя инфицируемого ЕХЕ – файла остается прежним, а расширение заменяется каким – либо другим, отличным от исполняемого (СОМ, ЕХЕ и ВАТ). Например файл может пллучить расширение DAT (файл данных) или OVL (программный оверлей). Затем на место ЕХЕ – файла копируется вирусный код. При запуске такой инфицированной программы управление получает вирусный код, находящийся в ЕХЕ – файле. Инфицировав еще один или несколько ЕХЕ – файлов таким же образом, вирус возвращает оригинальному файлу исполняемое расширение (но не ЕХЕ, а СОМ, посколько ЕХЕ – файл стаким именем занят вирусом), после чего исполняет его. Когда работа инфицированной программы закончена, ее запускаемому файлу возвращается расширение неисполняемого. Лечение файлов, зараженных вирусом этого типа, может быть затруднено, если вирус – спутник шифрует часть или все тело инфицируемого файла, а перед исполнением его расшифровывает.

Вирусы, внедряющиеся в программу (Parasitic)

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

Способы заражения ЕХЕ – файлов.

Самый распространенный способ заражения ЕХЕ – файлов такой: в конец файла дописывается тело вируса, а заголовок корректируется (с сохранением оригинального) так, чтобы при запуске инфицированного файла управление получал вирус. Похоже на заражение СОМ – файлов, но вместо задания в коде перехода в начало вируса корректируется собственно адрес точки запуска программы. После окончания работы вирус берет из сохраненного заголовка оригинальный адрес запуска программы, прибавляет к его сегментной компоненте значение регистра DS или ES (полученное при старте вируса) и передает управление на полученный адрес.

Следующий способ – внедрение вируса в начало файла со сдвигом кода программы. Механизм заражения такой: тело инфицируемой программы считывается в память, на ее место записывается вирусный код, а после него – код инфицируемой программы. Таким образом, код программы как бы «сдвигается» в файле на длину кода вируса. Отсюда и название способа – «способ сдвига». При запуске инфицированного файла вирус заражает еще один или несколько файлов. После этого он считывает в память код программы, записывает его в специально созданный на диске временный файл с расширением исполняемого файла (СОМ или ЕХЕ), и затем исполняет этот файл. Когда программа закончила работу, временный файл удаляется. Если при создании вируса не применялось дополнительных приемов защиты, то вылечить инфицированный файл очень просто – достаточно удалить код вируса в начале файла, и программа снова будет работоспособной. Недостаток этого метода в том, что приходиться считывать в память весь код инфицируемой программы (а бывают экземпляры размером больше 1 Мбайт).

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