Вирусы

Автор: Пользователь скрыл имя, 23 Января 2013 в 09:31, лекция

Описание работы

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

Работа содержит 1 файл

лекция 2.doc

— 197.50 Кб (Скачать)


Лекция 2  Вирусы

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

Кто и почему пишет вирусы?

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

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

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

Став старше и опытнее, но так и не повзрослев, многие из подобных вирусописателей попадают в третью, наиболее опасную группу, которая создает и запускает в мир "профессиональные" вирусы. Эти очень тщательно продуманные и отлаженные программы создаются профессиональными, часто очень талантливыми программистами. Такие вирусы нередко используют достаточно оригинальные алгоритмы, недокументированные и мало кому известные способы проникновения в системные области данных. "Профессиональные" вирусы часто выполнены по технологии "стелс" и(или) являются полиморфик-вирусами, заражают не только файлы, но и загрузочные сектора дисков, а иногда и выполняемые файлы Windows и OS/2.

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

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

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

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

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

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

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

По СРЕДЕ  ОБИТАНИЯ вирусы можно разделить на:

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

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

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

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

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

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

Заражаемая  ОПЕРАЦИОННАЯ СИСТЕМА (вернее, ОС, объекты  которой подвержены заражению) является вторым уровнем деления вирусов на классы. Каждый файловый или сетевой вирус заражает файлы какой-либо одной или нескольких OS - DOS, Windows, Win95/NT, OS/2 и т.д. Макро-вирусы заражают файлы форматов Word, Excel, Office97. Загрузочные вирусы также ориентированы на конкретные форматы расположения системных данных в загрузочных секторах дисков.

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

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

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

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

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

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

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

Различные НЕСТАНДАРТНЫЕ ПРИЕМЫ часто используются в вирусах для того, чтобы как можно глубже спрятать себя в ядре OC (как это делает вирус "3APA3A"), защитить от обнаружения свою резидентную копию (вирусы "TPVO", "Trout2"), затруднить лечение от вируса (например, поместив свою копию в Flash-BIOS) и т.д.

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

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

Но даже если в алгоритме вируса не найдено  ветвей, наносящих ущерб системе, этот вирус нельзя с полной уверенностью назвать безвредным, так как проникновение его в компьютер может вызвать непредсказуемые и порой катастрофические последствия. Ведь вирус, как и всякая программа, имеет ошибки, в результате которых могут быть испорчены как файлы, так и сектора дисков (например, вполне безобидный на первый взгляд вирус "DenZuk" довольно корректно работает с 360K дискетами, но может уничтожить информацию на дискетах большего объема). До сих пор попадаются вирусы, определяющие "COM или EXE" не по внутреннему формату файла, а по его расширению. Естественно, что при несовпадении формата и расширения имени файл после заражения оказывается неработоспособным. Возможно также "заклинивание" резидентного вируса и системы при использовании новых версий DOS, при работе в Windows или с другими мощными программными системами. И так далее.

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

Загрузочные вирусы заражают загрузочный (boot) сектор флоппи-диска  и boot-сектор или Master Boot Record (MBR) винчестера. Принцип действия загрузочных вирусов основан на алгоритмах запуска операционной системы при включении или перезагрузке компьютера - после необходимых тестов установленного оборудования (памяти, дисков и т.д.) программа системной загрузки считывает первый физический сектор загрузочного диска (A:, C: или CD-ROM в зависимости от параметров, установленных в BIOS Setup) и передает на него управление.

В случае дискеты  или компакт-диска управление получает boot-сектор, который анализирует таблицу  параметров диска (BPB - BIOS Parameter Block) высчитывает адреса системных файлов операционной системы, считывает их в память и запускает на выполнение. Системными файлами обычно являются MSDOS.SYS и IO.SYS, либо IBMDOS.COM и IBMBIO.COM, либо других в зависимости от установленной версии DOS, Windows или других операционных систем. Если же на загрузочном диске отсутствуют файлы операционной системы, программа, расположенная в boot-секторе диска выдает сообщение об ошибке и предлагает заменить загрузочный диск.

В случае винчестера управление получает программа, расположенная в MBR винчестера. Эта программа анализирует таблицу разбиения диска (Disk Partition Table), вычисляет адрес активного boot-сектора (обычно этим сектором является boot-сектор диска C:), загружает его в память и передает на него управление. Получив управление, активный boot-сектор винчестера проделывает те же действия, что и boot-сектор дискеты.

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

Заражение дискет производится единственным известным способом - вирус записывает свой код вместо оригинального кода boot-сектора дискеты. Винчестер заражается тремя возможными способами - вирус записывается либо вместо кода MBR, либо вместо кода boot-сектора загрузочного диска (обычно диска C:), либо модифицирует адрес активного boot-сектора в Disk Partition Table, расположенной в MBR винчестера.

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

 

 

 

 

 

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

Если продолжение  вируса размещается в секторах, которые  принадлежат свободным кластерам диска (при поиске этих секторов вирусу приходится анализировать таблицу размещения файлов - FAT), то, как правило, вирус помечает в FAT эти кластеры как сбойные (так называемые псевдосбойные кластеры). Этот способ используется вирусами "Brain", "Ping-Pong" и некоторыми другими.

Информация о работе Вирусы