Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Жизненный цикл вирусов

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

Учебно-материальное обеспечение

Комплект слайдов по материалам лекции.

 

Организационно-методические указания

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

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

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

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

Компьютерный вирус – это своеобразное явление, возникшее в процессе развития компьютерной техники и информационных технологий. Суть этого явления состо­ит в том, что программы-вирусы обладают рядом свойств, присущих живым орга­низмам, – они рождаются, размножаются и умирают. Термин «компьютерный ви­рус» впервые был употреблен в 1984 году на 7-й конференции по безопасности информации, проходившей в США. Этим термином был назван вредоносный фрагмент программного кода.

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

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



 

Существует много определений компьютерного вируса. Исторически первое опре­деление было дано в 1984 году: «Компьютерный вирус – это про­грамма, которая может заражать другие программы, модифицируя их посредством включения в них своей, возможно, измененной копии, причем последняя сохраня­ет способность к дальнейшему размножению». Ключевыми понятиями в этом опре­делении компьютерного вируса являются способность вируса к саморазмножению и способность к модификации вычислительного процесса. Указанные свойства ком­пьютерного вируса аналогичны паразитированию биологического вируса в живой при­роде. С тех пор острота проблемы вирусов многократно возросла - к концу XX века в мире насчитывалось более 14300 модификаций вирусов. Разнообразие вирусов столь велико, что просто невозможно указать достаточное условие (перечислить набор признаков, при выполнении которых программу можно однозначно отнести к вирусам) - всегда найдутся программы с данными признаками, не являющиеся вирусами [35].

В настоящее время под компьютерным вирусом принято понимать программный код, обладающий следующими свойствами:

1. Способностью к созданию собственных копий, необязательно совпадающих с оригиналом, но обладающих свойствами оригинала (самовоспроизведе­ние).

2. Наличием механизма, обеспечивающего внедрение создаваемых копий в ис­полняемые объекты вычислительной системы.

Следует отметить, что эти свойства являются необходимыми, но не достаточ­ными. Указанные свойства необходимо дополнить свойствами деструктивности и скрытности действий данной вредоносной программы в вычислительной среде.

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

На сегодняшний день известны десятки тысяч различных компьютерных вирусов. Несмотря на такое изобилие число типов вирусов, отличающихся друг от друга меха­низмом распространения и принципом действия, достаточно ограничено. Существуют и комбинированные вирусы, которые можно отнести одновременно к нескольким ти­пам. Вирусы можно разделить на классы по следующим основным признакам [35,85]:

– среда обитания;

– операционная система (ОС);

– особенности алгоритма работы;

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

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

– файловые;

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

– макровирусы;

– сетевые.

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

Загрузочные вирусы записывают себя либо в загрузочный сектор диска (boot-сектор), либо в сектор, содержащий системный загрузчик винчестера (Master Boot Record). Заг­рузочные вирусы замещают код программы, получающей управление при загрузке системы. В результате при перезагрузке управление передается вирусу. При этом оригинальный boot-сектор обычно переносится в какой либо другой секгор диска. Иногда загрузочные вирусы называют бутовыми вирусами.

 

 

 

Рис. 1. Классификация компьютерных вирусов по среде обитания

 

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

Сетевые вирусы используют для своего распространения протоколы или коман­ды компьютерных сетей и электронной почты. Иногда сетевые вирусы называют про­граммами типа «червь». Сетевые черви подразделяются на интернет-черви (распро­страняются по Интернету), LAN-черви (распространяются по локальной сети), IRC-черви (Internet Relay Chat - распространяются через чаты). Существуют также смешанные типы, которые совмещают в себе сразу несколько технологий.

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

Другим признаком деления компьютерных вирусов на классы является опера­ционная система, объекты которой подвергаются заражению. Каждый файловый или сетевой вирус заражает файлы какой-либо одной или нескольких операцион­ных систем - DOS, Windows 95/98, Windows NT/2000 и т.д. Макровирусы зара­жают файлы форматов Word, Excel и других приложений пакета Microsoft Office. На определенные форматы расположения системных данных в загрузочных секто­рах дисков также ориентированы загрузочные вирусы.

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

 

 

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

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

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

Стадия исполнения компьютерных вирусов, как правило, включает пять этапов:

1. Загрузка вируса в память.

2. Поиск жертвы.

3. Заражение найденной жертвы.

4. Выполнение деструктивных функций.

5. Передача управления программе-носителю вируса.

Рассмотрим эти этапы подробнее [35, 70].

 

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

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

– изменение порядка независимых инструкций;

– замену некоторых инструкций на эквивалентные по результату работы;

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

– введение случайным образом зашумляющих инструкций.

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

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

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

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

Стелс-вирусы (Stealth) способны скрывать свое присутствие в системе и избе­гать обнаружения антивирусными программами. Эти вирусы могут перехватывать запросы операционной системы на чтение/запись зараженных файлов, при этом они либо временно лечат эти файлы, либо «подставляют» вместо себя незараженные участки информации, эмулируя чистоту зараженных файлов.

В случае макровирусов наиболее популярным способом является запрет вызо­вов меню просмотра макросов. Одним из первых файловых стелс-вирусов был вирус Frodo, первым загрузочным стелс-вирусом был вирус Brain.

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

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

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

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

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

Следует отметить, что деление вирусов на резидентные и нерезидентные справедливо в основном для файловых вирусов. Загрузочные вирусы, как и макрови­русы, относятся к резидентным вирусам.

 

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

К первому относятся вирусы, осуществляющие активный поиск с использова­нием функций операционной системы. Примером являются файловые вирусы, использующие механизм поиска исполняемых файлов в текущем каталоге.

Второй класс составляют вирусы, реализующие пассивный механизм поиска, то есть вирусы, расставляющие «ловушки» дня программных файлов. Как правило, файловые вирусы устраивают такие ловушки путем перехвата определенной функции (exec) опе­рационной системы, а макровирусы - с помощью перехвата команд типа Save as (Сохранить как) из меню File (Файл).

 

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

 

Рассмотрим сначала особенности заражения файловыми вирусами.

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

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

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

1. Внедрение в начало файла. Этот способ является наиболее удобным для СОМ-файлов MS-DOS, так как данный формат не предусматривает наличия служеб­ных заголовков. При внедрении данным способом вирусы могут либо произ­водить конкатенацию собственного кода и кода программы-жертвы, либо переписывать начальный фрагмент файла в конец, освобождая место для себя.

2. Внедрение в конец файла. Это наиболее распространенный тип внедрения. Передача управления коду вирусов обеспечивается модификацией первых команд программы (СОМ) или заголовка файла (ЕХЕ).

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

Для загрузочных вирусов особенности этапа заражения определяются особен­ностями объектов, в которые они внедряются, - загрузочными секторами гибких и жестких дисков и главной загрузочной записью (MBR) жестких дисков. Основной проблемой является ограниченный размер этих объектов. В связи с этим ви­русам необходимо сохранить на диске ту свою часть, которая не уместилась на месте жертвы, а также перенести оригинальный код инфицированного загрузчика. Существуют различные способы решения этой задачи. Ниже приводится класси­фикация, предложенная Е. Касперским [35, 85]:

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

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

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

4. Короткие вирусы могут уместиться в один сектор загрузчика и полностью взять на себя функции главной загрузочной записи MBR или загрузочного сектора.

Для макровирусов процесс заражения сводится к сохранению вирусного макро­кода в выбранном документе-жертве. Для некоторых систем обработки информа­ции это сделать не совсем просто, так как формат файлов документов может не предусматривать возможность сохранения макропрограмм. В качестве примера приведем Microsoft Word 6.0. Сохранение макрокода для этой системы возможно только в файлах шаблонов (имеющих по умолчанию расширение .DOT). Поэтому для своего сохранения вирус должен контролировать обработку команды Save as из меню File, которая вызывается всякий раз, когда происходит первое сохране­ние документа на диск. Этот контроль необходим, чтобы в момент сохранения из­менить тип файла-документа (имеющего по умолчанию расширение .DOC) на тип файла-шаблона. В этом случае на диске окажутся и макрокод вируса, и содержи­мое документа.

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

 

Выполнение деструктивных функций. Вирусы могут выполнять помимо само­копирования деструктивные функции.

По деструктивным возможностям вирусы можно разделить на безвредные, нео­пасные, опасные и очень опасные [85].

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

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

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

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

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

Так, вирусы, созданные для работы в MS-DOS, обладают практически неогра­ниченными потенциальными возможностями.

Распространение вирусов под управлением Windows NT/2000 ограничивается развитой системой разграничения доступа.

Возможности макровирусов напрямую определяются возможностями макро­языков, на которых они написаны. В частности, язык Word Basic позволяет создать мощные макровирусы, способные доставить пользователям серьезные неприятности.

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

Передача управления программе-носителю вируса. Здесь следует указать на деление вирусов на разрушающие и неразрушающие.

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

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

 

<== предыдущая лекция | следующая лекция ==>
| Жизненный цикл вирусов

Дата добавления: 2014-01-07; Просмотров: 772; Нарушение авторских прав?;


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



ПОИСК ПО САЙТУ:


Читайте также:



studopedia.su - Студопедия (2013 - 2017) год. Не является автором материалов, а предоставляет студентам возможность бесплатного обучения и использования! Последнее добавление ‚аш ip: 23.20.179.211
Генерация страницы за: 0.098 сек.