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

Автор работы: Пользователь скрыл имя, 24 Июня 2012 в 22:07, курс лекций

Краткое описание

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

Вложенные файлы: 1 файл

Копия Лекция-вирус1.doc

— 460.50 Кб (Скачать файл)

Однако, глобальных эпидемий в первой половине 2005 зафиксировано не было. Это не означает уменьшение числа вирусов - наоборот, с каждым днем их появляется все больше. Но при этом можно отметить увеличение избирательности вредоносных программ - становятся популярны черви, главной целью которых является похищение определенной информации. Кроме уже ставших привычными краж номеров кредитных карт, участились случаи воровства персональных данных игроков различных онлайновых игр - Ultima Online, Legend of Mir, Lineage, Gamania. В России также зафиксированы случаи с игрой "Бойцовский клуб", где реальная стоимость некоторых предметов на аукционах достигает тысяч долларов США. Развитие получили и вирусные технологии для мобильных устройств. Созданы вирусы всех трех типов - классические вирусы, черви и троянские программы. В качестве пути проникновения используются не только Bluetooth-устройства, но и обычные MMS-сообщения (червь ComWar).

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

Результат Фреда Коэна

В 1984 г. в своей работе "Computer Viruses - Theory and Experiments" Фред Коэн показал, что задача обнаружения компьютерных вирусов является неразрешимой. При этом он руководствовался следующими рассуждениями.

Отправной точкой был выбор определения вируса:

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

 

Лекция №2 Компьютерные вирусы, их свойства и классификация.

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

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

классификации вредоносных программ, чему и посвящена эта глава.

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

Практическое определение вируса

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

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

Жизненный цикл

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

Сам процесс размножения может быть условно разделен на несколько стадий:

1. Проникновение на компьютер

2. Активация вируса

3. Поиск объектов для заражения

4. Подготовка вирусных копий

5. Внедрение вирусных копий

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

Проникновение

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

Активация

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

1. Загрузочные вирусы - вирусы, заражающие загрузочные сектора постоянных и сменных носителей.

Вирусы второго типа во времена однозадачной DOS было принято называть резидентными. С переходом на Windows проблема остаться в памяти перестала быть актуальной: практически все вирусы, исполняемые в среде Windows, равно как и в среде приложений MS Office, являются вирусами второго типа. И напротив, скрипт- вирусы являются вирусами первого типа. Соответственно, атрибут резидентный применим только к файловым DOS вирусам. Существование нерезидентных Windows вирусов возможно, но на практике они являются редким исключением. Отдельно имеет смысл рассмотреть так называемые stealth-вирусы - вирусы, которые находясь постоянно в памяти, перехватывают обращения к зараженному файлу и на ходу удаляют из него вирусный код, передавая в ответ на запрос неизмененную версию файла. Таким образом эти вирусы маскируют свое присутствие в системе. Сигнатура вируса — в широком смысле, информация, позволяющая однозначно определить наличие данного вируса в файле или ином коде. Примерами сигнатур являются: уникальная последовательность байт, присутствующая в данном вирусе и не встречающаяся в других программах; контрольная сумма такой последовательности.

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

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

• Метаморфизм — создание различных копий вируса путем замены блоков команд на эквивалентные, перестановки местами кусков кода, вставки между значащими кусками кода "мусорных" команд, которые практически ничего не делают. Сочетание этих двух технологий приводит к появлению следующих типов вирусов.

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

• Метаморфный вирус — вирус, применяющий метаморфизм ко всему своему телу для создания новых копий.

• Полиморфный вирус — вирус, использующий метаморфный шифратор для шифрования основного тела вируса со случайным ключом. При этом часть информации, используемой для получения новых копий шифратора также может быть зашифрована. Например, вирус может реализовывать несколько алгоритмов шифрования и при создании новой копии менять не только команды шифратора, но и сам алгоритм. Полиморфные вирусы можно делить на классы по уровню полиморфизма, желающие подробнее познакомиться с этим вопросом могут найти полезную информацию в [1]. Пик популярности полиморфных вирусов пришелся на времена DOS, тем не менее, и позднее полиморфизм использовался во множестве вирусов, продолжает использоваться полиморфизм и сегодня

Внедрение

Внедрение вирусных копий может осуществляться двумя принципиально разными методами:

• Внедрение вирусного кода непосредственно в заражаемый объект

• Замена объекта на вирусную копию. Замещаемый объект, как правило, переименовывается

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

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

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

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

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

      Файлово-загрузочные вирусы заражают одновременно файлы  и  загрузочные сектора диска.

                   2. По способу заражения среды обитания.

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

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

             3. По деструктивным (разрушительным) возможностям.

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

      Неопасные, так же уменьшают объем памяти, не мешают работе компьютера, такие вирусы порождают графические, звуковые и другие эффекты.

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

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

                        4. По особенностям алгоритма.

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

      Вирусы-репликаторы (черви)  распространяются  по  компьютерным  сетям, вычисляют адреса сетевых компьютеров  и  записывают  по  этим  адресам  свои копии.

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

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

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

      Спутники – вирус, который не изменяет файл, а для выполнимых  программ (exe)  создают  одноименные  программы  типа  com,  которые  при  выполнении исходной  программы  запускаются  первыми,  а  затем   передают   управление исходной выполняемой программе.

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

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

 

Лекция №3. Типы вредоносных программ – троянские кони, сетевые черви.

 

Сетевые черви

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

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

Жизненный цикл

Так же как для вирусов, жизненный цикл червей можно разделить на определенные стадии:

1. Проникновение в систему

2. Активация

3. Поиск "жертв"

4. Подготовка копий

5. Распространение копий

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

Стадия 4 — Подготовка копий — практически ничем не отличается от аналогичной стадии в процессе размножения вирусов. Сказанное о подготовке копий вирусов без изменений применимо и к червям.

Каналы распространения

На этапе проникновения в систему черви делятся преимущественно по типам используемых протоколов:

• Сетевые черви — черви, использующие для распространения протоколы Интернет и локальных сетей. Обычно этот тип червей распространяется с использованием неправильной обработки некоторыми приложениями базовых пакетов стек протоколов tcp/ip

• Почтовые черви — черви, распространяющиеся в формате сообщений электронной почты

• IRC-черви — черви, распространяющиеся по каналам IRC (Internet Relay Chat)

• P2P-черви — черви, распространяющиеся при помощи пиринговых (peer-to-peer) файлообменных сетей

Информация о работе Компьютерные вирусы, история создания вирусов