3.1.4 Классификация компьютерных вирусов
В настоящее время известно более 5000 программных вирусов, их можно классифицировать по следующим признакам (рис. 2):
Рис. 3.3 Классификация вирусов
По среде обитания все вирусы можно разделить на файловые, загрузочные и сетевые.
ФАЙЛОВЫМ ВИРУСОМ называют вирус, который внедряется в выполняемые файлы.Это означает, что код программы-вируса находится в каком-то выполняемом файле. Файл, в теле которого присутствует код программы-вируса, называется зараженным (инфицированным) файлом.
ЗАГРУЗОЧHЫМ ВИРУСОМ (бутовым) называют вирус, который внедряется в загрузочный сектор диска (Boot-сектоp), либо в сектор, содержащий системный загрузчик винчестера (Master Boot Record).В данном случае код программы-вируса (или его часть) размещен в загрузочном секторе или в главной загрузочной записи. Диск, загрузочный сектор которого поражен вирусом, называется зараженным, или инфицированным диском.
СЕТЕВЫМ ВИРУСОМ называют вирус, который распространяется по различным компьютерным сетям.
По способам заражения различают резидентные и нерезидентные вирусы:
РЕЗИДЕНТНЫЙ ВИРУС размещает себя или некоторую свою часть в оперативной памяти компьютера, получая возможность перехватывать обращения операционной системы к дискам и файлам. При обращении операционной системы к этим объектам вирус внедряется в них. Резидентный вирус находится в оперативной памяти и является активным (т.е., способным заражать все новые и новые объекты) вплоть до выключения или перезагрузки компьютера. Резидентными являются все загрузочные вирусы.
НЕРЕЗИДЕHТHЫЙ ВИРУС не заражает оперативную память компьютера, то есть, не размещает свой код в оперативной памяти. Он является активным только во время работы зараженной программы.
По особенностям алгоритма можно выделить следующие группы вирусов:
ПАРАЗИТИЧЕСКИЕ — это вирусы, изменяющие содержимое файлв и секторов диска, они могут быть достаточно легко обнаружены.
РЕПЛИКАТОРЫ — называемые червями, они распространяются по компьютерным сетям, вычисляя адреса сетевых компьютеров, они записывают по этим адресам свои копии.
НЕВИДИМКИ — называемые стелс-вирусами, их трудно обнаружить и обезвредить, так как они перехватывают обращения операционной системы к пораженным файлам и секторам дисков и подставляют вместо своего тела незараженные участки диска.
МУТАНТЫ – это вирусы, содержащие алгоритмы шифровки-расшифровки, благодаря которым копии одного и того же вируса не имеют ни одной повторяющейся цепочки байтов.
ТРОЯНСКИЕ – это квазивирусные программы, которые хотя и неспособны к самораспространению, но очень опасны, так как, маскируясь под полезную программу, разрушают загрузочный сектор и файловую систему дисков.
3.1.5 Типы вирусов
С тех пор как появились вирусы, началась и бесконечная борьба между авторами вирусов и авторами антивирусных программ. Как только вырабатывались эффективные методы противодействия уже известным вирусам, появлялись новые типы вирусов. В [STEP 93] предлагается следующая классификация вирусов.
Паразитный вирус. Традиционная и до сих пор самая распространенная форма вируса. Паразитный вирус добавляет свой код к исполняемым файлам и размножается при каждом запуске инфицированной программы, находя другие файлы, которые можно было бы инфицировать.
Резидентный вирус. Размещается в оперативной памяти как часть рези дентной системной программы. С момента размещения в памяти инфицирует любую запускаемую программу.Резидентная программа перехватывает прерывания выполняющейся программы, то есть, переопределяет, некоторые обработчики прерываний своими собственными функциями и завершается таким образом, что эти обработчики остаются в памяти. Теперь, когда выполняющаяся программа вызовет такое вот перехваченное (т.е., переопределенное) прерывание, получит управление процедура резидентной программы (ее обработчик прерывания), которая сначала выполнит свою работу, а потом вызовет исходный обработчик. Таким образом резидентные программы-вирусы заменяют обработчики прерываний своими собственными функциями. Итак, резидентный вирус, получив управление, оставляет в оперативной памяти компьютера свой резидентный модуль, который остается активным вплоть до перезагрузки компьютера. Резидентный модуль вируса по сути состоит из процедур, которые подменяют перехватываемые вирусом прерывания. Они решают самые различные задачи. Это и размножение вируса, и маскировка вируса, и создание спецэффектов и т.п. Чаще всего вирус з(еняет обработчики прерываний процедурами, которые осуществляют размножение вируса. Резидентный модуль отслеживает запуск программ или открытие файлов и заражает их, часто проверяя при этом, не были ли они уже заражен.
Загрузочный вирус. Инфицирует главную загрузочную запись или загрузочный сектор и распространяется, когда система загружается с зараженного диска.
Вирус-невидимка. Разновидность вируса, имеющего специально предусмотренное свойство, защищающее вирус от обнаружения антивирусным программным обеспечением.
Полиморфный (мимикрирующий) вирус. Вирус, код которого изменяется при каждом новом заражении, что делает практически невозможным обнаружить его по «сигнатуре».
Один из примеров вируса-невидимки (stealth virus) был рассмотрен выше (рис 3.2): вирус, использующий сжатие, чтобы длина инфицированного файла была в точности равна длине исходного. Существуют и другие, гораздо более хитроумные решения. Например, вирус может перехватывать обращения к функциям ввода-вывода и при попытках прочитать подозрительные части диска с помощью этих функций возвращать оригинальные неинфицированные версии программ. Таким образом, применяемая в данном случае характеристика относится не столько к вирусам, сколько к технологии, обеспечивающей вирусу защиту от обнаружения.
Полиморфный вирус создает при размножении копии, эквивалентные по функциям, но существенно различающиеся по двоичному представлению кода. Как и в случае с вирусами-невидимками, это делается с целью противостоять программам, обнаруживающим вирусы. Для изменения представления кода вирус может вставлять в свой код генерируемые случайным образом избыточные команды или же изменять порядок следования независимых команд. Более эффективным подходом является шифрование. Часть вируса, называемая механизмом управления мутациями, генерирует случайное значение ключа, с помощью которого шифрует остальной код вируса. Ключ сохраняется вместе с вирусом, а механизм управления мутациями видоизменяется. Во время запуска инфицированной программы вирус с помощью сохраненного ключа расшифровывается. При новом инфицировании генерируется новый ключ.
Макровирусы.За последние годы число вирусов, регистрируемых на корпоративных узлах, стремительно растет. Практически весь этот прирост связан с распространением нового типа вирусов, называемых макровирусами.
Макровирусы особенно опасны по следующим причинам:
- Макровирусы независимы от платформы. Так, практически все макровирусы поражают документы Microsoft Word. Поэтому любая аппаратно-программная система, поддерживающая Word, может быть заражена таким вирусом;
- Макровирусы инфицируют документы, а не выполняемый код. Информация, вводимая в компьютерную систему, по большей части представлена в форме документов, а не программ;
- Макровирусы быстро распространяются. Чаще всего распространение происходит по электронной почте;
1. Компьютерные вирусы, их свойства и классификация
Сейчас применяются персональные компьютеры, в которых пользователь имеет свободный доступ ко всем ресурсам машины. Именно это открыло возможность для опасности, которая получила название компьютерного вируса.
Что такое компьютерный вирус? Формальное определение этого понятия до сих пор не придумано, и есть серьезные сомнения, что оно вообще может быть дано. Многочисленные попытки дать «современное» определение вируса не привели к успеху. Чтобы почувствовать всю сложность проблемы, попробуйте, к примеру, дать определение понятия «редактор». Вы либо придумаете нечто очень общее, либо начнете перечислять все известные типы редакторов. И то и другое вряд ли можно считать приемлемым. Поэтому мы ограничимся рассмотрением некоторых свойств компьютерных вирусов, которые позволяют говорить о них как о некотором определенном классе программ.
Прежде всего, вирус — это программа. Такое простое утверждение само по себе способно развеять множество легенд о необыкновенных возможностях компьютерных вирусов. Вирус может перевернуть изображение на вашем мониторе, но не может перевернуть сам монитор. К легендам о вирусах-убийцах, «уничтожающих операторов посредством вывода на экран смертельной цветовой гаммы 25-м кадром» также не стоит относиться серьезно. К сожалению, некоторые авторитетные издания время от времени публикуют «самые свежие новости с компьютерных фронтов», которые при ближайшем рассмотрении оказываются следствием не вполне ясного понимания предмета.
Вирус — программа, обладающая способностью к самовоспроизведению. Такая способность является единственным средством, присущим всем типам вирусов. Но не только вирусы способны к самовоспроизведению. Любая операционная система и еще множество программ способны создавать собственные копии. Копии же вируса не только не обязаны полностью совпадать с оригиналом, но, и могут вообще с ним не совпадать!
Вирус не может существовать в «полной изоляции»: сегодня нельзя представить себе вирус, который не использует код других программ, информацию о файловой структуре или даже просто имена других программ. Причина понятна: вирус должен каким-нибудь способом обеспечить передачу себе управления.
1.2 Классификация вирусов
В настоящее время известно более 5000 программных вирусов, их можно классифицировать по следующим признакам:
способу заражения среды обитания
В зависимости от среды обитания вирусы можно разделить на сетевые, файловые, загрузочные и файлово-загрузочные. Сетевые вирусы распространяются по различным компьютерным сетям. Файловые вирусы внедряются главным образом в исполняемые модули, т. е. В файлы, имеющие расширения COM и EXE. Файловые вирусы могут внедряться и в другие типы файлов, но, как правило, записанные в таких файлах, они никогда не получают управление и, следовательно, теряют способность к размножению. Загрузочные вирусы внедряются в загрузочный сектор диска (Boot-сектор) или в сектор, содержащий программу загрузки системного диска (Master Boot Re-cord). Файлово-загрузочные вирусы заражают как файлы, так и загрузочные сектора дисков.
По способу заражения вирусы делятся на резидентные и нерезидентные. Резидентный вирус при заражении (инфицировании) компьютера оставляет в оперативной памяти свою резидентную часть, которая потом перехватывает обращение операционной системы к объектам заражения (файлам, загрузочным секторам дисков и т. п.) и внедряется в них. Резидентные вирусы находятся в памяти и являются активными вплоть до выключения или перезагрузки компьютера. Нерезидентные вирусы не заражают память компьютера и являются активными ограниченное время.
По степени воздействия вирусы можно разделить на следующие виды:
неопасные, не мешающие работе компьютера, но уменьшающие объем свободной оперативной памяти и памяти на дисках, действия таких вирусов проявляются в каких-либо графических или звуковых эффектах
опасные вирусы, которые могут привести к различным нарушениям в работе компьютера
очень опасные, воздействие которых может привести к потере программ, уничтожению данных, стиранию информации в системных областях диска.
По особенностям алгоритма вирусы трудно классифицировать из-за большого разнообразия. Простейшие вирусы — паразитические, они изменяют содержимое файлов и секторов диска и могут быть достаточно легко обнаружены и уничтожены. Можно отметить вирусы-репликаторы, называемые червями, которые распространяются по компьютерным сетям, вычисляют адреса сетевых компьютеров и записывают по этим адресам свои копии.
Известны вирусы-невидимки, называемые стелс-вирусами, которые очень трудно обнаружить и обезвредить, так как они перехватывают обращения операционной системы к пораженным файлам и секторам дисков и подставляют вместо своего тела незараженные участки диска. Наиболее трудно обнаружить вирусы-мутанты, содержащие алгоритмы шифровки-расшифровки, благодаря которым копии одного и того же вируса не имеют ни одной повторяющейся цепочки байтов. Имеются и так называемые квазивирусные или «троянские» программы, которые хотя и не способны к самораспространению, но очень опасны, так как, маскируясь под полезную программу, разрушают загрузочный сектор и файловую систему дисков.
Теперь поподробнее о некоторых из этих групп.