Вы находитесь на странице: 1из 10

ЛЕКЦИЯ №11.

КОМПЬЮТЕРНЫЕ ВИРУСЫ

11.1 Цель лекции

Целью лекции является знакомство с понятием «компьютерный вирус»,


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

11.2 Теоретические сведения

Компьютерный вирус - это своеобразное явление, возникшее в


процессе развития компьютерной техники и информационных технологий.
Своим названием компьютерные вирусы обязаны определенному сходству с
биологическими вирусами по:
- способности к саморазмножению;
- высокой скорости распространения;
- избирательности поражаемых систем (каждый вирус поражает
только определенные системы или однородные группы систем);
- способности заражать еще незараженные системы;
- трудности борьбы с ними и т.д.
В последнее время к этим особенностям, характерным для вирусов
компьютерных и биологических, можно добавить еще и постоянно
увеличивающуюся быстроту появления модификаций и новых
поколений вирусов.
Проникнув в информационную систему, компьютерный вирус может
ограничиться безобидными визуальными или звуковыми эффектами, но
может вызвать потерю или искажение данных, утечку
конфиденциальной информации. Сегодня компьютерам доверяют решение
многих критических задач. Поэтому выход из строя информационной
системы может иметь весьма тяжелые последствия.
Исследования саморазмножающихся искусственных конструкций
проводились еще в середине прошлого столетия. Первая известная
публикация относится к 1951 г. В ней Джон фон Нейман сформулировал и
исследовал проблему создания саморазмножающихся компьютерных
программ. Термин же компьютерный вирус появился позднее. Впервые его
употребил сотрудник Университета Южной Калифорнии Фред Коэн в 1984 г.
на седьмой конференции по безопасности информации, проходившей в
США. Этим термином был назван вредоносный фрагмент программного
кода.
По всей видимости, самым ранним примером компьютерных вирусов
могут служить «программы-кролики» (the rabbit), периодически
появлявшиеся на мейнфреймах в 60-х годах. Они не причиняли разрушений,
но имели возможность многократно копировать себя, захватывая все больше
и больше ресурсов системы и отнимая процессорное время у других задач.
Скорее всего «кролики» не передавались от системы к системе и были сугубо
местным явлением - ошибками или шалостями программистов,
обслуживающих компьютер.
В начале 70-х годов появился вирус «The Creeper» (Вьюнок),
саморазмножающийся по глобальным компьютерным сетям. Он был
безвредным, однако показал, что проникновение на чужой компьютер
возможно без ведома и против желания его владельца. Для борьбы с этим
вирусом была создана программа «The Reaper» (Жнец) - первая известная
антивирусная программа. Она репродуцировалась, наподобие Вьюнка и
уничтожала все встретившиеся ей копии последнего.
Так что же такое компьютерный вирус? Исторически первое
определение было дано в 1984 г. Ф. Коэном: «Компьютерный вирус - это
программа, которая может заражать другие программы, модифицируя их
посредством включения в них своей, возможно измененной копии, причем
последняя сохраняет способность к дальнейшему размножению».
В настоящее время под компьютерным вирусом принято понимать
программный код, обладающий следующими свойствами:
- способностью к созданию собственных копий, не обязательно
совпадающих с оригиналом, но обладающих свойствам оригинала
(самовоспроизведение);
- наличием механизма, обеспечивающего внедрение создаваемых
копий в исполняемые объекты вычислительной системы.
Эти свойства являются необходимыми, но не достаточными.
Указанные свойства следует дополнить свойствами деструктивности и
скрытности действий данной вредоносной программы в вычислительной
среде.
Евгений Касперский считает возможным сформулировать только
обязательное условие для того, чтобы некоторая последовательность
выполняемого кода являлась вирусом.
Обязательным (необходимым) свойством компьютерного вируса
является возможность создавать свои дубликаты (не обязательно
совпадающие с оригиналом) и внедрять их в вычислительные сети и/или
файлы, системные области компьютера и прочие выполняемые объекты. При
этом дубликаты сохраняют способность к дальнейшему распространению.
Следует отметить, то это условие не является окончательным.

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


В литературе приводят четыре основных признака, по которым можно
классифицировать вирусы:
- среда обитания;
- способ заражения среды обитания;
- особенности алгоритма работы;
- деструктивные возможности.
По среде обитания компьютерные вирусы подразделяются на
файловые, загрузочные, сетевые и макровирусы.
Файловые вирусы размещаются в исполняемых файлах - это наиболее
распространенный тип вирусов. Внедрение файлового вируса возможно
практически во все исполняемые файлы всех популярных операционных
систем. На сегодняшний день известны вирусы, поражающие все типы
выполняемых объектов: командные файлы (bat), загружаемые драйверы (sys)
и выполняемые двоичные файлы (exe, com).
Загрузочные вирусы записывают себя либо в загрузочный сектор диска
(boot-сектор), либо в сектор, содержащий системный загрузчик винчестера
(Master Boot Record). Иногда загрузочные вирусы называют бутовыми. При
заражении дисков загрузочные вирусы «подставляют» свой код вместо
какой-либо программы, получающей управление при загрузке системы.
Вирус «заставляет» систему при ее перезапуске считать в память и отдать
управление не оригинальному коду загрузчика, а коду вируса. При
инфицировании диска вирус в большинстве случаев переносит оригинальный
boot-сектор (или MBR) на какой-либо другой сектор диска (например, в
первый свободный). Если длина вируса больше длины сектора, то в
заражаемый сектор помещается первая часть вируса, остальные части
размещаются в других секторах (например, в первых свободных).
Сетевые вирусы используют для своего распространения протоколы
или команды компьютерных сетей и электронной почты. Сетевые вирусы
иногда называют программами типа «червь». Сетевые черви подразделяются
на nternet-черви (распространяются по Internet), LAN-черви
(распространяются по локальной сети), IRC-черви Internet Relay Chat
(распространяются через чаты). Существуют также смешанные типы.
Макровирусы являются программами на макроязыках, встроенных в
некоторые системы обработки данных (в частности в редакторы Microsoft
Word, Microsoft Excel). Для своего размножения такие вирусы используют
возможности макроязыков и при их помощи переносят себя из одного
зараженного файла (документа или таблицы) в другие. Вирусы получают
управление при открытии или закрытии зараженного файла, перехватывают
стандартные файловые функции и затем заражают файлы, к которым каким-
либо образом идет обращение.
По способу заражения среды обитания компьютерные вирусы делятся
на резидентные и нерезидентные. Поскольку вирус и объект, в который он
внедрен, являются для операционной системы единым целым, то после
загрузки они располагаются в едином адресном пространстве. После
завершения работы объекта он выгружается из оперативной памяти, при этом
одновременно выгружается и вирус, переходя в пассивную стадию хранения.
Однако некоторые типы вирусов способны сохраняться в памяти и
оставаться активными после окончания работы вирусоносителя. Эти вирусы
получили название резидентных. Таким образом, резидентные вирусы - это
вирусы, которые при инфицировании компьютера оставляют в оперативной
памяти свою резидентную часть, которая затем перехватывает обращения
операционной системы к объектам заражения и внедряется в них. Такие
вирусы находятся в памяти и являются активными вплоть до выключения
компьютера или перезагрузки операционной системы. Нерезидентные
вирусы не заражают память компьютера и сохраняют активность
ограниченное время.
По особенностям алгоритма работы компьютерные вирусы
подразделяются на вирусы-спутники (companion), вирусы-черви (worm),
стелс-вирусы (вирусы-невидимки) и полиморфные вирусы.
Механизм действия вирусов-спутников состоит в создании копий
исполняемых файлов (ехе). Копии присваивается то же имя, что и
исполняемому файлу, но расширение изменяется на com. При запуске файла
с общим именем операционная система первым загружает на выполнение
файл с расширением com, который является вирусом. Файл-вирус запускает
затем файл с расширением ехе.
Вирусы-черви попадают в рабочую станцию из сети, вычисляют адреса
рассылки вируса по другим абонентам сети и осуществляют передачу вируса.
Вирус не изменяет файлов и не записывается в загрузочные секторы дисков.
Стелс-вирусы маскируют свое присутствие в среде обитания путем
перехвата обращений операционной системы к пораженным файлам,
секторам и переадресуют операционную систему к незараженным участкам
информации, эмулируя таким образом «чистоту» зараженных файлов. Вирус
является резидентным, маскируется под программы операционной системы и
может перемещаться в памяти. Такие вирусы активизируются при
возникновении прерываний, выполняют определенные действия, в том числе
и по маскировке, и только затем управление передается на программы
операционной системы, обрабатывающие эти прерывания. Таким образом,
стелс-вирусы способны скрывать свое присутствие в системе и избегать
обнаружения антивирусными программами.
К полиморфным вирусам относятся те из них, детектирование которых
невозможно (или крайне затруднительно) осуществить при помощи так
называемых вирусных масок (сигнатур) - участков постоянного кода,
специфичных для конкретного вируса. Это достигается двумя основными
способами. Первый способ - это шифрование основного кода вируса
с непостоянным ключом. Однако в открытом виде должна храниться та часть
вируса, которая обеспечивает его расшифровку на стадии загрузки. Поэтому
-второй способ связан с модификацией данной части кода вируса таким
образом, чтобы возникли текстуальные различия с оригиналом, но
результаты работы остались неизменными. Поэтому в большинстве случаев
два образца одного и того же полиморфного вируса не будут иметь ни одного
совпадения. Полиморфизм встречается в вирусах всех типов - файловых,
загрузочных и макровирусах.
По деструктивным возможностям компьютерные вирусы
подразделяются на безвредные, неопасные, опасные и очень опасные.
Безвредные вирусы - это вирусы, которые никак не влияют на работу
компьютера, а только уменьшают свободную память на диске. В них
реализован только механизм самораспространения.
Неопасные вирусы - это вирусы, влияние которых ограничивается
уменьшением свободной памяти на диске, а также графическими, звуковыми
и прочими эффектами. Они не оказывают никакого влияния на работу
приложений и на данные.
Опасные вирусы - это вирусы, которые могут привести к серьезным
сбоям в работе компьютера и в результате к разрушению данных.
Очень опасные вирусы — это вирусы, в алгоритм работы которых
заведомо заложены процедуры, которые могут привести к потере программ,
уничтожить данные, стереть необходимую для работы компьютера
системную информацию.

11.2.2 Жизненный цикл вирусов и признаки их проявления


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

11.2.3 Вредоносные программы других типов


Кроме вирусов в литературе принято выделять еще несколько видов
вредоносных программ. Это троянские кони, логические бомбы, утилиты
скрытого администрирования, Intended-вирусы и.т.д. Однако между ними не
существует четкого разделения: троянские кони могут содержать вирусы, в
вирусы могут быть встроены логические бомбы и т.д. Тем не менее, ниже
приводятся некоторые из их отличительных черт.
Троянские кони - программы, тела которых содержат скрытые
последовательности команд, выполняющие определенные
несанкционированные действия. Внешне они выглядят совершенно
безобидно, «подделываются» под какие-либо полезные программы, новые
версии популярных утилит или дополнения к ним. Но когда пользователь
загрузит такую программу в свой компьютер и запустит ее, она может
незаметно выполнять вредоносные функции. По сравнению с вирусами
троянские кони не получают широкого распространения по достаточно
простым причинам - они либо уничтожают себя вместе с остальными
данными на диске, либо демаскируют свое присутствие и уничтожаются
пострадавшим пользователем.
Логической бомбой называется программа или ее отдельные модули,
которые выполняют вредоносные действия при определенных условиях,
например, по достижении определенной даты.
Среди вредоносных программ выделяют также злые шутки (hoax). К
ним относятся программы, которые не причиняют компьютеру какого-либо
прямого вреда, однако выводят сообщения о том, что такой вред уже
причинен, либо будет причинен при каких-либо условиях, либо
предупреждают пользователя о несуществующей опасности.
Утилиты скрытого администрирования по своей функциональности
во многом напоминают различные системы администрирования. Однако при
их инсталляции и запуске не выдаются какие-либо сообщения. Эта
особенность и позволяет классифицировать их как вредоносные программы.
При запуске утилита устанавливает себя в системе и затем следит за ней, при
этом пользователю не выдается никаких сообщений о ее действиях в системе.
Более того, ссылка на данную утилиту может отсутствовать в списке
активных приложений.
К Intended-вирусам относятся программы, которые на первый взгляд
являются стопроцентными вирусами, но не способны размножаться по
причине ошибок в их программном коде. К этой категории также относятся
вирусы, которые размножаются только один раз - из «авторской» копии.
Конструктор вирусов - это утилита, предназначенная для изготовления
новых компьютерных вирусов. Известны конструкторы вирусов для DOS,
Windows и макро-вирусов. Они позволяют генерировать исходные тексты
вирусов (ASM-файлы), объектные модули, и/или непосредственно
зараженные файлы. Некоторые конструкторы (VLC, NRLG) снабжены
стандартным оконным интерфейсом.
К вредоносным программам относятся полиморфик-генераторы,
главной функцией которых является шифрование тела вируса и генерация
соответствующего расшифровщика. Таким образом, автору вируса, если он
желает создать настоящий полиморфный вирус, не приходится корпеть над
кодами собственного зашифровщика и расшифровщика. При желании он
может подключить к своему вирусу любой известный полиморфик-генератор
и вызывать его из кода вируса.

11.2.4 Методы обнаружения вирусов, антивирусные программы и


комплексы
К основным методам обнаружения компьютерных вирусов можно
отнести следующие:
- сканирование (метод сравнения с эталоном);
- обнаружение изменений;
- эвристический анализ;
- использование резидентных сторожей (антивирусный мониторинг);
- аппаратно-программная защита от вирусов.
Сканирование - один из самых простых методов обнаружения вирусов.
Сканирование подразумевает просмотр файлов в поисках опознавательной
части вируса - сигнатуры - некоторой постоянной последовательности кода,
специфичной для конкретного вируса. Программа фиксирует наличие уже
известных вирусов, за исключением полиморфных, которые применяют
шифрование тела вируса, изменяя при этом каждый раз сигнатуру.
При реализации метода обнаружения изменений программы-ревизоры
запоминают предварительно характеристики всех областей диска, которые
могут подвергнуться нападению, а затем периодически проверяют их. По
результатам ревизии программа выдает сведения о предположительном
наличии вирусов. Достоинство этого метода заключается в возможности
обнаружения вирусов всех типов, а также новых неизвестных вирусов.
Недостатки - невозможность определить вирус в файлах, которые поступают
в систему уже зараженными, непригодность для обнаружения макровирусов.
Сущность эвристического анализа заключается в проверке возможных
сред обитания вирусов и выявление в них команд, характерных для вирусов,
например, команд создания резидентных модулей в оперативной памяти,
команд прямого обращения к дискам, минуя ОС. При обнаружении
подозрительных команд выдается сообщение о возможном заражении.
Использование резидентных сторожей основано на применении
программ, которые постоянно находятся в оперативной памяти ЭВМ и
отслеживают все действия остальных программ. В случае выполнения какой-
либо программой подозрительных действий (обращение для записи в
загрузочные сектора, помещение в оперативную память резидентных
модулей, попытка перехвата прерываний и т.п.) резидентный сторож выдает
сообщение пользователю. Существенный недостаток данного метода -
значительный процент ложных тревог.
Аппаратно-программная защита от вирусов основывается на
использовании специальных контроллеров и их программного обеспечения.
Контроллер устанавливается в разъем расширения и имеет доступ к общей
шине. Это позволяет ему контролировать все обращения к дисковой системе.
В программном обеспечении контроллера запоминаются области на дисках,
изменение которых в обычных режимах работы не допускается. Таким
образом, можно установить защиту на изменение главной загрузочной
записи, загрузочных секторов, файлов конфигурации, исполняемых файлов и
др. При выполнении запретных действий любой программой контроллер
выдает соответствующее сообщение и блокирует работу ЭВМ. Аппаратно-
программные антивирусные средства обладают следующими достоинствами
перед программными:
- работают постоянно;
- обнаруживают все вирусы, независимо от механизма их действия;
- блокируют неразрешенные действия, являющиеся результатом
работы виpyca или неквалифицированного пользователя.
Недостатком данных средств защиты является их зависимость от
аппаратных средств ЭВМ.
В зависимости от того, какие методы обнаружения вирусов
реализованы в антивирусных программах, различают следующие их виды:
- программы-фаги (сканеры);
- программы-ревизоры (CRC-сканеры);
- программы-блокировщики;
- программы-иммунизаторы.
Программы-фаги используют для обнаружения вирусов метод
сканирования, эвристического анализа и некоторые другие. Однако они не
только находят зараженные вирусами файлы, но и «лечат» их, т.е. удаляют из
файла тело программы-вируса, возвращая файлы в исходное состояние.
Программы-фаги делятся на резидентные мониторы, производящие
санирование «на лету», и нерезидентные сканеры, обеспечивающие проверку
системы только по запросу. К достоинствам программ-фагов относится их
универсальность, к недостаткам - небольшая скорость поиска вирусов и
большие размеры антивирусных баз. Наиболее известные программы-фаги -
Scan, Norton Antivirus, Doctor Web, Kaspersky Anti-Virus Scanner.
Программы-ревизоры (CRC-сканеры) используют для поиска вирусов
метод обнаружения изменений. Принцип работы CRC-сканеров основан на
подсчете CRC-сумм (кодов циклического контроля) для файлов и системных
секторов. Эти суммы, а также некоторая другая информация (длины файлов,
даты их последней модификации и др.) сохраняются в базе данных
антивируса. При следующем запуске CRC-сканеры сверяют данные,
содержащиеся в БД, с реально подсчитанными значениями. Если они не
совпадают, то CRC-сканеры сигнализируют о том, что файл был изменен или
заражен вирусом. В некоторых CRC-сканерах заложены алгоритмы анти-
стелс. Однако они не могут определить вирус в новых файлах, поскольку в
БД отсутствует информация о них. К числу CRC-сканеров относится
программа ADinf (Advanced Diskinfoscope) и ревизор AVP Inspector.
Программы-блокировщики реализуют метод резидентных сторожей.
Они перехватывают «вирусо-опасные» ситуации, сообщают об этом
пользователю и предлагают запретить соответствующее действие. К
достоинствам блокировщиков относится их способность обнаруживать и
останавливать вирус на самой ранней стадии его размножения. Однако они
не «лечат» файлы и диски.
Программы-иммунизаторы - это программы, предотвращающие
заражение файлов каким-либо типом вирусов. Они модифицируют
программу или диск таким образом, чтобы это не отражалось на их работе, а
вирус при этом воспринимает их зараженными и не внедряется. Однако
такой тип иммунизации не может быть универсальным, поскольку нельзя
иммунизировать объекты от всех известных вирусов.
11.3 Вопросы к лекции

11.3.1 Что такое компьютерный вирус?


11.3.2 По каким признакам можно классифицировать вирусы?
11.3.3Охарактиризуйте каждый тип вирусов.
11.3.4 Что характерно для стадии хранения и стадии исполнения
компьютерных вирусов?
11.3.5 Какие виды вредоносных программ существуют?
11.3.6 Какие методы обнаружения компьютерных вирусов
существуют? Охарактеризуйте каждый.
11.3.7 Какие методы обнаружения вирусов реализованы в
антивирусных программах?

Вам также может понравиться