Компьютерные вирусы как особый класс разрушающих программных воздействий.
Понятие вирусов было сформулировано в 1904 г. американским исследователем Ф.Коэном. Принято под вирусом понимать программный код, обладающий следующими свойствами:
1) Способность к созданию собственных копий, необязательно совпадающих с оригиналом, но обладающих свойствами оригинала.
2) Наличие механизма, обеспечивающего внедрение создаваемых копий в исполняемые объекты вычислительной системы.
В настоящее время известно более 5000 программных вирусов, их можно классифицировать по следующим признакам:
¨ среде обитания
¨ способу заражения среды обитания
¨ воздействию
¨ особенностям алгоритма
В зависимости от среды обитания вирусы можно разделить на сетевые, файловые, загрузочные и файлово-загрузочные. Сетевые вирусы распространяются по различным компьютерным сетям. Файловые вирусы внедряются главным образом в исполняемые модули, т. е. В файлы, имеющие расширения COM и EXE. Файловые вирусы могут внедряться и в другие типы файлов, но, как правило, записанные в таких файлах, они никогда не получают управление и, следовательно, теряют способность к размножению. Загрузочные вирусы внедряются в загрузочный сектор диска (Boot-сектор) или в сектор, содержащий программу загрузки системного диска (Master Boot Re-
cord). Файлово-загрузочные вирусы заражают как файлы, так и загрузочные сектора дисков.
По способу заражения вирусы делятся на резидентные и нерезидентные. Резидентный вирус при заражении (инфицировании) компьютера оставляет в оперативной памяти свою резидентную часть, которая потом перехватывает обращение операционной системы к объектам заражения (файлам, загрузочным секторам дисков и т. п.) и внедряется в них. Резидентные вирусы находятся в памяти и являются активными вплоть до выключения или перезагрузки компьютера. Нерезидентные вирусы не заражают память компьютера и являются активными ограниченное время.
По степени воздействия вирусы можно разделить на следующие виды:
* неопасные, не мешающие работе компьютера, но уменьшающие объем свободной оперативной памяти и памяти на дисках, действия таких вирусов проявляются в каких-либо графических или звуковых эффектах
* опасные вирусы, которые могут привести к различным нарушениям в работе компьютера
* очень опасные, воздействие которых может привести к потере программ, уничтожению данных, стиранию информации в системных областях диска.
По особенностям алгоритма вирусы трудно классифицировать из-за большого разнообразия. Простейшие вирусы - паразитические, они изменяют содержимое файлов и секторов диска и могут быть достаточно легко обнаружены и уничтожены. Можно отметить вирусы-репликаторы, называемые червями, которые распространяются по компьютерным сетям, вычисляют адреса сетевых компьютеров и записывают по этим адресам свои копии. Известны вирусы-невидимки, называемые стелс-вирусами, которые очень трудно обнаружить и обезвредить, так как они перехватывают обращения операционной системы к пораженным файлам и секторам дисков и подставляют вместо своего тела незараженные участки диска. Наиболее трудно обнаружить вирусы-мутанты, содержащие алгоритмы шифровки-расшифровки, благодаря которым копии одного и того же вируса не имеют ни одной повторяющейся цепочки байтов. Имеются и так называемые квазивирусные или «троянские» программы, которые хотя и не способны к самораспространению, но очень опасны, так как, маскируясь под полезную программу, разрушают загрузочный сектор и файловую систему дисков.
Классификация вирусов по типам объектов вычислительной системы, в которых внедряются:
1)Программные файлы операционной системы - это файловые вирусы.
2)Системные области компьютеров, в частности области начальной загрузки операционной системы. Соответствующие вирусы получили название загрузочных или бутовых.
3)Макропрограммы и файлы документов современных систем обработки информации. такие вирусы называются макровирусами.
ЖЦ вирусов
Стадии:
1)Хранение – соответствует периоду, когда вирус хранится на диске совместно с объектом, в который он внедрен. На этой стадии вирус является наиболее уязвимым для антивирусных программ, т.к. он не может контролировать работу операционной системы с целью самозащиты. Наиболее распространенным способом защиты является шифрование большей части тела вируса. Его использование совместно с механизмами мутации кода делает невозможным выделение устойчивых характеристических фрагментов сигнатур. Это в свою очередь приводит к недееспособности антивирусных средств, основанных на методах поиска заранее выделенных сигнатур.
2)Исполнение состоит из 5 этапов:
а) загрузка вируса в память
б) поиск жертвы
в) заражение найденной жертвы
г) выполнение деструктивных функций
д) передача управления программе-носителю вируса
Загрузка вируса в память осуществляется операционной системой одновременно с загрузкой исполняемого объекта, в который вирус внедрен. В простейшем случае, процесс загрузки вируса представляет собой копирование с диска в оперативную память сопровождаемой настройкой адресов, после чего управление передается коду тела вируса. Эти действия выполняются операционной системой, а сам вирус находится в пассивном состоянии. В сложном случае, после получения управления вирус может выполнить ряд действий:
а) использовать для защиты методы криптографической защиты. В этом случае дополнительные действия, которые вирус выполняет на этапе загрузки, состоят в расшифровании основанного тела вируса.
б) объект и вирус располагаются в едином адресном пространстве. После завершения работы объекта, объект выгружается из оперативной памяти и при этом выгружается вирус, переходя в пассивную стадию хранения. Однако некоторые типы вирусов способны сохраняться в памяти и оставаться активными после окончания работы вируса носителя. Такие вирусы называются резидентными.
Для закрепления в оперативной памяти вирусы переносят свой код либо в самостоятельно отведенные блоки памяти, либо в зарезервированные под нужды операционной системы участки памяти. Также вирус заботится, чтобы этой области передавалось оперативное управление. Вирусы изменяют код системных функций, которыми гарантированно используются прикладными программами. Добавляет в них команды передачи управления своему коду. Изменяют системные таблицы, адреса соответствующих системных функций, подставив адреса своих подпрограмм, т.е. свойство резидентности предполагает выполнение вирусом на этапе загрузки двух действий:
-закрепление в памяти
-перехват системных функций
Stells-вирусы, для которых характерным является перехват системных функций с целью контроля действий операционной системы. Они скрывают свое присутствие и избегают обнаружение антивирусными программами.
Поиск жертвы. По способу поиска жертвы вирусы можно разделить на два класса:
а) осуществляющие активный поиск с использованием функций операционной системы. Например: файловые вирусы, использующие механизм поиска используемых файлов в текущем каталоге.
б) реализующие пассивный механизм поиска. Это вирусы, расставляющие «ловушки» для программных файлов. Например: файловые вирусы устраивают «ловушки» для перехвата функции exe операционной системы. А макровирусы с помощью перехвата команд типа save as из меню файла.
return false">ссылка скрытаЗаражение найденной жертвы в простейшем случае заражение представляет собой самокопирование кода вируса выбранной в качестве жертвы объект. По способу инфицирования жертвы вирусы можно разделить на классы:
1) вирусы, которые не внедряют свой код непосредственно в программный файл, а изменяют имя файла и создают код старым именем новый, содержащий тело вируса.
2) Вирусы, внедряющиеся непосредственно в файлы жертвы. Они характеризуются местом внедрения в файл:
а) в начало файла. При внедрении производится объединение собственного кода программы. Либо переписывается начальный фрагмент файлов в конец, освобождая место для себя.
б) внедрение в конец файла. Передача управления вирусу обеспечивается модификацией первых команд программы (com) либо заголовков программы (exe)
в) внедрение в середину файла. Используется для файлов с заранее известной структурой, либо к файлам, содержащим последовательность байтов.