Лекции по "Информационной безопасности"

Автор работы: Пользователь скрыл имя, 11 Мая 2013 в 20:43, курс лекций

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

Информационная безопасность. Тема 10. Лекция 16.
Информационная безопасность. Лекция 6. Административный уровень обеспечения ИБ
Информационная безопасность. Тема 5-1. Лекция 7. Введение в криптографию
Информационная безопасность. Тема 5-2. Лекция 8. Симметричные алгоритмы шифрования. Алгоритм DES

Вложенные файлы: 12 файлов

ИБ-11_12.doc

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


Информационная безопасность. Лекция 11-12.

Вредоносное ПО и защита от него

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

ОБЯЗАТЕЛЬНЫМ (НЕОБХОДИМЫМ) СВОЙСТВОМ КОМПЬЮТЕРНОГО ВИРУСА является возможность создавать  свои дубликаты (не обязательно совпадающие  с оригиналом) и внедрять их в  вычислительные сети и/или файлы, системные области компьютера и прочие выполняемые объекты. При этом дубликаты сохраняют способность к дальнейшему распространению.

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

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

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

  • среда обитания;
  • заражаемая операционная система;
  • особенности алгоритма работы;
  • деструктивные возможности.

По  СРЕДЕ ОБИТАНИЯ вирусы бывают:

  • файловые;
  • загрузочные;
  • макро;
  • сетевые.

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

По ДЕСТРУКТИВНЫМ ВОЗМОЖНОСТЯМ вирусы можно разделить на:

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

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

Среди ОСОБЕННОСТЕЙ АЛГОРИТМА РАБОТЫ вирусов выделяются следующие пункты:

  • резидентность;
  • использование стелс-алгоритмов;
  • самошифрование и полиморфичность;
  • метаморфичность.

Под термином "резидентность" (DOS'овский термин TSR - Terminate and Stay Resident) понимается способность вирусов оставлять свои копии в системной памяти, перехватывать некоторые события (например, обращения к файлам или дискам) и вызывать при этом процедуры заражения обнаруженных объектов (файлов и секторов). Резидентные копии вирусов остаются жизнеспособными вплоть до очередной перезагрузки, даже если на диске уничтожены все зараженные файлы.

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

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

Использование СТЕЛС-алгоритмов позволяет вирусам полностью или частично скрыть себя в системе. Наиболее распространенным стелс-алгоритмом является перехват запросов OC на чтение/запись зараженных объектов. Стелс-вирусы при этом либо временно лечат их, либо «подставляют» вместо себя незараженные участки информации. В случае макро-вирусов наиболее популярный способ — запрет вызовов меню просмотра макросов. Одним из первых файловых стелс-вирусов был вирус «Frodo», а загрузочным стелс-вирусом — «Brain». Следует отметить, что были разработаны и ответные меры. Используя специальные методики и программное обеспечение, можно организовать защиту и от стелс-вирусов.

САМОШИФРОВАНИЕ  и ПОЛИМОРФИЧНОСТЬ используются практически всеми типами вирусов для того, чтобы максимально усложнить процедуру детектирования вируса. Полиморфик-вирусы (polymorphic) - это достаточно труднообнаружимые вирусы, не имеющие сигнатур, т.е. не содержащие ни одного постоянного участка кода. В большинстве случаев два образца одного и того же полиморфик-вируса не будут иметь ни одного совпадения. Это достигается шифрованием основного тела вируса и модификациями программы-расшифровщика.

Первые антивирусные программы искали вирусы, сравнивая  содержимое файлов и секторов диска с характерными фрагментами вирусов (с сигнатурами вирусов). Именно эти фрагменты хранились в вирусных базах данных антивирусных программ.

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

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

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

Полиморфные генераторы

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

Метаморфные вирусы

 

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

 

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

 

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

 

Самой сложной трансформацией метаморфного вируса является замена целых блоков кода на функционально-эквивалентные. Например, умножение числа x на 3. Это можно выразить как «x*3». Однако в качестве альтернативы его можно заменить на сумму трех x: «x+x+x».

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

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

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

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

Если продолжение  вируса размещается в секторах, которые  принадлежат свободным кластерам  диска, то, как правило, вирус помечает эти кластеры как сбойные (так называемые псевдосбойные кластеры).

При заражении  большинство вирусов копирует в  код своего загрузчика системную  информацию, хранящуюся в первоначальном загрузчике (для MBR этой информацией  является Disk Partition Table, для Boot-сектора дискет - BIOS Parameter Block). В противном случае система окажется неспособной загрузить себя, поскольку дисковые адреса компонент системы высчитываются на основе этой информации. Некоторые 100%-стелс вирусы не сохраняют эту информацию или преднамеренно шифруют ее.

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

  Макро-вирусы

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

Для существования  вирусов в конкретной системе (редакторе) необходимо наличие встроенного в систему макро-языка с возможностями:

  1. привязки программы на макро-языке к конкретному файлу;
  2. копирования макро-программ из одного файла в другой;
  3. возможность получения управления макро-программой без вмешательства пользователя (автоматические или стандартные макросы).

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

Сетевые вирусы (сетевые черви)

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

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

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

Почтовые  вирусы

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

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

·  в виде присоединенных файлов (файлов вложений);

· в виде ссылок на вредоносные объекты ActiveX или аплеты Java, расположенные на троянских Web-сайтах или на Web-сайтах злоумышленников;

Информация о работе Лекции по "Информационной безопасности"