6. Структура современных вирусных программ
Структурно компьютерный вирус можно представить состоящим из двух частей: головы и хвоста. Головой называется часть вируса, которая первой получает управление. Хвост вируса – это части вируса, расположенные отдельно от головы. В простейшем случае вирус может состоять из одной головы, и действительно файловые вирусы обычно так и устроены. Такие вирусы будем называть несегментированными. В отличие от них сегментированные вирусы имеют располагающийся отдельно хвост и в какой-то мере аналогичны оверлейным файлам. Примером сегментированных вирусов являются бутовые вирусы, хотя возможна реализация сегментированных файловых вирусов.
6.1 Структура файлового нерезидентного вирусаФайловые вирусы являются наиболее распространенной разновидностью компьютерных вирусов. Принципиально они заражают любой тип исполняемых файлов: COM, EXE, OVL и т.д. Однако основными объектами заражения являются файлы типа COM и файлы типа EXE. Наиболее просто осуществляется заражение COM-файлов, которые представляют собой почти точную копию участка памяти с загруженной программой. Единственная требуемая настройка при загрузке COM-файлов состоит в загрузке сегментных регистров значениями, соответствующими месту загрузки программы. Значительная часть COM-файлов начинается с команды перехода, обходящей содержащие в начале программы данные.
При заражении COM-файлов вирус запоминает в своем теле первые три или больше байтов программы и вместо них записывает переход на начало собственного кода. Так поступает большинство файловых вирусов, заражающих COM-файлы, но не все. Дело в том, что при дописывании тела вируса в конец заражаемого файла весь код вируса должен быть написан специальным образом, обычно называемым позиционно-независимым программированием: при выполнении программы все ссылки должны адресоваться через соответствующее смещение, которое обычно хранится в одном из регистров.
6.2 Структура файлового резидентного вирусаФайловые резидентные вирусы, помимо отдельных файлов, заражают, если так можно выразиться, и память компьютера. Предельно упрощая, память компьютера можно рассматривать как еще один файл, который можно заражать, дописываясь в голову, т.е. в область младших адресов свободного участка памяти, в хвост, т.е. в область старших адресов свободного участка памяти и наконец, в середину, т.е. в область адресов, уже используемых операционной системой или какой-нибудь программой (старшие адреса вектора прерываний, буфера и т.д.).
Вместе с тем, структура резидентного вируса существенно отличается от структуры нерезидентного вируса. Резидентный вирус можно представлять как состоящий из двух относительно независимых частей: инсталлятора и модуля обработки прерываний. Последний, в свою очередь, состоит из ряда программ обработки. Несколько упрощая, можно считать, что на каждое перехватываемое прерывание приходится своя программа обработки.
Инсталлятор получает управление при выполнении зараженной программы и играет роль своеобразной ракеты-носителя, запускающей вирус на орбиту, т.е. в оперативную память. Он отрабатывает один раз у после запуска зараженной программы и его целесообразно рассматривать как специализированный файловый вирус, заражающий оперативную память и, возможно, обычные файлы. В последнем случае инсталлятор можно рассматривать как доработанный для заражения оперативной памяти файловый вирус.
6.3 Структура бутового вируса
Бутовые вирусы являются весьма специализированной разновидностью резидентных файловых вирусов. Упрощенно бутовый вирус можно представить себе как специализированный резидентный вирус, который заражает единственный файл у загрузочный сектор гибкого или жесткого диска. Четкой границы между резидентными файловыми вирусами и бутовыми вирусами не существует: в последнее время появились гибриды, сочетающие заражение файлов с заражением бутсектора винчестера. Это подчеркивает близость основных принципов организации этих двух типов вирусов.
Этот тип вирусов распространяется, инфицируя дискеты, причем как загружаемые, так и незагружаемые (т.е. содержащие любую информацию). Заражение незагружаемых дискет связано с определенным психологическим расчетом, который, к сожалению, слишком часто оправдывается: при перезагрузке системы пользователи обычно забывают проверить, вставлена ли дискета в дисковод A, и часто перезагрузка выполняется с вставленной в указанный дисковод дискетой, с которой вирус и попадает на винчестер.
Мы достаточно налюбовались картинами разрушений. Рассмотрим теперь принципы работы вирусов. Автор вируса создает свое творение, вероятно, на ассемблере, после чего аккуратно вставляет его в программу на собственном компьютере с помощью специального инструмента, называемого "пипеткой" (dropper). Затем инфицированная программа распространяется, возможно, с помощью опубликования ее на BBS или в виде свободно распространяемой программы через Интернет. Эта программа может представлять собой занимательную новую игру, пиратскую версию коммерческого программного продукта или еще что-либо подобное, вызывающее интерес у публики. Затем пользователи начинают загружать эту программу на свои компьютеры.
После запуска программы вирус, как правило, начинает с того, что заражает другие программы на этой машине, после чего выполняет свою "полезную" нагрузку, то есть запускает ту часть программы, для которой и писался вирус. Во многих случаях эта программа может не запускаться, пока не наступит определенная дата или пока вирус гарантированно не распространится на большое число компьютеров. Выбранная дата может даже быть привязана к какому-либо политическому событию (например, к столетию или 500-летию обиды, нанесенной этнической группе автора).
Использование СТЕЛС-алгоpитмов позволяет вирyсам полностью или частично скpыть себя в системе. Наиболее распростpаненным стелс-алгоpитмом является пеpехват запpосов OC на чтение/запись заpаженных объектов. Стелс-виpyсы пpи этом либо вpеменно лечат их, либо "подставляют" вместо себя незаpаженные yчастки инфоpмации. В слyчае макpо-виpyсов наиболее попyляpный способом является запpет вызовов меню пpосмотpа макpосов. Виpyсы: "Frodo", "Brain".
Стелс-вирусы пытаются скрыть свое присутствие в компьютере. Они имеют резидентный модуль, постоянно находящийся в оперативной памяти компьютера. Этот модуль устанавливается в момент запуска зараженной программы или при загрузке с диска, зараженного загрузочным вирусом.
Резидентный модуль вируса перехватывает обращения к дисковой подсистеме компьютера. Если операционная система или другая программа считывают файл зараженной программы, то вирус подставляет настоящий, незараженный, файл программы. Для этого резидентный модуль вируса может временно удалять вирус из зараженного файла. После окончания работы с файлом он заражается снова.
Примером стелс-вируса может служить Magdzie.1114. Это файловый вирус, заражающий выполнимые файлы в формате EXE. При запуске зараженной программы в оперативной памяти устанавливается вирусный резидентный модуль, который перехватывает обращения к файловой системе компьютера. Если операционная система запускает или открывает для чтения файл зараженной программы, вирус временно удаляет из нее свой код. Обратное заражение происходит, когда операционная система закрывает файл.
Вирус Magdzie проявляется, удаляя все файлы, название которых начинается с CHKLIST. 27 мая вирус выводит на экран небольшой текст и движущийся графический узор.
Загрузочные вирусы действуют по такой же схеме. Когда какая-либо программа считывает данные из загрузочного сектора, они заменяются настоящим содержимым загрузочного сектора.
В качестве загрузочного вируса, использующего для маскировки стелс-технологию, можно привести вирус July29. Вирус распространяется, замещая главную загрузочную запись на жестких дисках и загрузочную запись на дискетах. Настоящие загрузочные секторы сохраняются. Когда программа пытается прочитать или записать данные в главную загрузочную запись жесткого диска или загрузочную запись дискеты, резидентный модуль вируса подставляет неинфицированный сектор.
Маскировка стелс-вирусов срабатывает только в том случае, если в оперативной памяти компьютера находится резидентный модуль вируса. Когда вы загружаете компьютер с системной дискеты, у вируса нет шансов получить управление и поэтому стелс-механизм не работает.
Список использованной литературы
1. Безруков Н. Компьютерная вирусология: Учебник [Электронный ресурс]: http://vx.netlux.org/lib/anb00.html
2. Особенности алгоритма работы вирусов [Электронный ресурс]: http://virussid.narod.ru/alg.htm
3. Таненбаум Э. Современные операционные системы. – СПб.: Питер, 2004.
4. Точки входа вируса [Электронный ресурс]: http://www.viruslab.ru/security/types_malware/virus/technical_data/date_1.php
5. Фролов А., Фролов Г. Осторожно: компьютерные вирусы. – М.: Диалог-МИФИ, 2002. – 256 с.
6. Что такое компьютерные вирусы, и как они работают [Электронный ресурс]: http://www.frolov-lib.ru/books/step/v05/ch1.htm#_Toc152503451
... «редактор». Вы либо придумаете нечто очень общее, либо начнете перечислять все известные типы редакторов. И то и другое вряд ли можно считать приемлемым. Поэтому мы ограничимся рассмотрением некоторых свойств компьютерных вирусов, которые позволяют говорить о них как о некотором определенном классе программ. Прежде всего, вирус - это программа. Такое простое утверждение само по себе способно ...
... «вредные программы»; Резидентные вирусы; Сетевые вирусы; Стелс-вирусы; Файловые вирусы; IRC-черви. 5. Методы борьбы с вирусами. 5.1. Методы обнаружения и удаления компьютерных вирусов Способы противодействия компьютерным вирусам можно разделить на несколько групп: профилактика вирусного заражения и уменьшение предполагаемого ущерба от такого заражения; методика использования антивирусных ...
... . В PIRCH-клиенте, например, событий, на которые предусмотрена реакция, более 50. 8.2 Скрипт-черви Как оказалось, мощная и разветвленная система команд IRC-клиентов позволяет на основе их скриптов создавать компьютерные вирусы, передающие свой код на компьютеры пользователей сетей IRC, так называемые "IRC-черви". Первый инцидент с IRC-червем зафиксирован в конце 1997 года: пользователями mIRC- ...
0 комментариев