Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебное пособие 3000342.doc
Скачиваний:
309
Добавлен:
30.04.2022
Размер:
2.09 Mб
Скачать

Лекция 20. Компьютерные вирусы

  1. История развития компьютерных вирусов.

  2. Классификация вирусов.

  3. Пути проникновения вирусов в компьютер и механизм распределения вирусных программ.

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

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

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

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

Вирусы появились приблизительно в конце 60 гг. 20 века. Необычны были тем, что не выполняли распоряжения человека, а действовали сами по себе. Своими действиями они сильно замедляли работу компьютера, но при этом ничего не портили и не размножались. Уже в 70 гг. были зарегистрированы первые настоящие вирусы, способные к размножению и получившие собственные имена. К 80-м годам число активных вирусов измерялось уже сотнями и тысячами.

Термин компьютерный вирус появился только в августе 1984 г. – впервые его использовал в своем докладе на конференции по информационной безопасности сотрудник Лехайского университета США Фред Коуэн.

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

Весомый вклад в распространение вирусов внес Internet. Впервые внимание общественности к проблеме Internet-вирусов было привлечено после появления знаменитого «червя Морриса» - относительно безобидного экспериментального вируса, в результате неосторожности его создателя распространившегося по всей мировой Сети. А к 1996-1998 гг. Internet стал главным поставщиком вирусов. Возник даже целый класс Internet-вирусов, названных «троянскими». Эти программы не причиняли вреда компьютеру и хранящейся в нем информации, зато с легкостью могли «украсть» пароль и логин для доступа к Сети, а также другую секретную информацию.

В 1995г. после появления ОС Windows 95, были зарегистрированы вирусы, работающие под Windows 95. Примерно через полгода были обнаружены вирусы, которые действовали на документах, подготовленных в популярных программах из комплекта Microsoft Office. В Microsoft Word и Microsoft Excel с помощью языка программирования – Visual Basic for Applications (VBA), можно писать макросы, которые можно легко заменить вирусами. После открытия зараженного файла вирус активировался и заражал все документы Microsoft Office. Первоначально макровирусы наносили вред только текстовым документам, позднее они стали уничтожать информацию.

Свойства компьютерных вирусов

Вирус - это программа, обладающая способностью к самовоспроизведению. Эта способность является единственным средством, присущим всем типам вирусов. Не только вирусы способны к самовоспроизведению. Любая операционная система и еще множество программ способны создавать собственные копии. Копии же вируса не только не обязаны полностью совпадать с оригиналом, но, и могут вообще с ним не совпадать!

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

Классификация вирусов

Компьютерные вирусы можно классифицировать по следующим признакам:

  1. среде обитания,

  2. операционной системе (OC),

  3. особенностям алгоритма работы,

  4. деструктивным возможностям.

1. По среде обитания вирусы можно разделить на:

  • файловые;

  • загрузочные;

  • макро;

  • сетевые.

Файловые вирусы

Файловые вирусы - чтобы размножиться, используют файловую систему, внедряясь в исполняемые файлы практически любой ОС: DOS, Windows, Unix/Linix, MacOS, OS/2 etc., независимо от ее версии. Иногда это могут быть даже исходные тексты программ, библиотечные или объектные модули.

Вирус ищет новый объект для заражения - подходящий по типу файл, который еще не заражен. Заражая файл, вирус внедряется в его код, чтобы получить управление при запуске этого файла. Кроме своей основной функции - размножения, вирус вполне может сделать что-нибудь замысловатое - это уже зависит от фантазии автора вируса. Если файловый вирус резидентный, то он установится в память и получит возможность заражать файлы и проявлять прочие способности не только во время работы зараженного файла. Заражая исполняемый файл, вирус всегда изменяет его код - заражение исполняемого файла всегда можно обнаружить. Но, изменяя код файла, вирус не обязательно вносит другие изменения:

  • он не обязан менять длину файла

  • неиспользуемые участки кода

  • не обязан менять начало файла

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

Загрузочные вирусы

Вирусы способны заражать не только загрузочные секторы дискет, но и загрузочные секторы винчестеров. При этом в отличие от дискет на винчестере имеются два типа загрузочных секторов, содержащих программы начальной загрузки, которые получают управление. При загрузке компьютера с винчестера первой берет на себя управление программа начальной загрузки в Master Boot Record. Если ваш жесткий диск разбит на несколько разделов, то лишь один из них помечен как загрузочный. Программа начальной загрузки в MBR находит загрузочный раздел винчестера и передает управление на программу начальной загрузки этого раздела. Код последней совпадает с кодом программы начальной загрузки, содержащейся на обычных дискетах, соответствующие загрузочные секторы отличаются только таблицами параметров. На винчестере имеются два объекта атаки загрузочных вирусов - программа начальной загрузки в MBR и программа начальной загрузки в бут-секторе загрузочного диска.

Макро-вирусы заражают файлы-документы и электронные таблицы нескольких популярных редакторов.

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

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

2. Заражаемая операционная система (вернее, ОС, объекты которой подвержены заражению) является вторым уровнем деления вирусов на классы. Каждый файловый или сетевой вирус заражает файлы какой-либо одной или нескольких OS - DOS, Windows, Win95/NT, OS/2 и т.д. Макро-вирусы заражают файлы форматов Word, Excel, Office. Загрузочные вирусы также ориентированы на конкретные форматы расположения системных данных в загрузочных секторах дисков.

3. По особенностям алгоритма работы вирусов выделяются следующие пункты:

  • резидентность;

  • использование стелс-алгоритмов;

  • самошифрование и полиморфичность;

  • использование нестандартных приемов.

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

Резидентными можно считать макро-вирусы, поскольку они постоянно присутствуют в памяти компьютера на все время работы зараженного редактора. При этом роль операционной системы берет на себя редактор, а понятие «перезагрузка операционной системы» трактуется как выход из редактора.

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

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

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

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

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

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

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

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

Различные нестандартные приемы часто используются в вирусах для того, чтобы как можно глубже спрятать себя в ядре OC, защитить от обнаружения свою резидентную копию, затруднить лечение от вируса и т.д.

4. По деструктивным возможностям вирусы можно разделить на:

  • безвредные, т.е. никак не влияющие на работу компьютера (кроме уменьшения свободной памяти на диске в результате своего распространения);

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

  • опасные вирусы, которые могут привести к серьезным сбоям в работе компьютера;

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

Если в алгоритме вируса не найдено ветвей, наносящих ущерб системе, этот вирус нельзя с полной уверенностью назвать безвредным, так как проникновение его в компьютер может вызвать непредсказуемые, порой катастрофические последствия. Ведь вирус, как и всякая программа, имеет ошибки, в результате которых могут быть испорчены как файлы, так и сектора дисков. До сих пор попадаются вирусы, определяющие «COM или EXE» не по внутреннему формату файла, а по его расширению. При несовпадении формата и расширения имени файл после заражения оказывается неработоспособным. Возможно также «заклинивание» резидентного вируса и системы при использовании новых версий DOS, при работе в Windows или с другими мощными программными системами.

Опасные и неопасные вирусы

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

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

Троянские кони, программные закладки и сетевые черви

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

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

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

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

В более 80% компьютерных преступлений, расследуемых ФБР, "взломщики" проникают в атакуемую систему через глобальную сеть Internet.

Этот процесс может быть автоматизирован с помощью вируса, называемого сетевой червь.

Червями называют вирусы, которые распространяются по глобальным сетям, поражая целые системы, а не отдельные программы. Это самый опасный вид вирусов, так как объектами нападения в этом случае становятся информационные системы государственного масштаба. С появлением глобальной сети Internet этот вид нарушения безопасности представляет наибольшую угрозу, т.к. ему в любой момент может подвергнуться любой из 40 миллионов компьютеров, подключенных к сети.

Пути проникновения вирусов в компьютер и механизм распределения вирусных программ

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

Часто вирусом заражаются загрузочный сектор диска и исполняемые файлы, имеющие расширения EXE, COM, SYS, BAT. Редко заражаются текстовые файлы. После заражения программы вирус может выполнить какую-нибудь диверсию, не слишком серьезную, чтобы не привлечь внимания. Каждое выполнение зараженной программы переносит вирус в следующую. Таким образом, заразится все программное обеспечение.

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

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

Вышеперечисленные явления необязательно вызываются присутствием вируса, могут быть следствием других причин.

Контрольные вопросы

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

  2. Классификация вирусов: среде обитания, по операционной системе (OC), по особенностям алгоритма работы и по деструктивным возможностям.

  3. Свойства компьютерных вирусов.

  4. Пути проникновения вирусов в компьютер и механизм распределения вирусных программ.

  5. К каким последствиям может привести заражение компьютерными вирусами?

  6. Какие типы вирусов существуют, чем они отличаются друг от друга?

  7. Приведите примеры опасных и неопасных вирусов.