Файл: 15 Компьютерные вирусы и проблемы антивирусной защиты.doc
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 11.01.2024
Просмотров: 271
Скачиваний: 1
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
15.1. Компьютерные вирусы и проблемы антивирусной защитыСуществует много определений компьютерного вируса. Исторически первое определение было дано в 1984 г. Фредом Коэном: «Компьютерный вирус — это программа, которая может заражать другие программы, модифицируя их посредством включения в них своей, возможно измененной копии, причем последняя сохраняет способность к дальнейшему размножению». Ключевыми понятиями в этом определении являются способность вируса к саморазмножению и способность к модификации вычислительного процесса. Указанные свойства компьютерного вируса аналогичны паразитированию биологического вируса в живой природе. С тех пор острота проблемы вирусов многократно возросла — к концу XX в. в мире насчитывалось более 14 300 модификаций вирусов.В настоящее время под компьютерным вирусом принято понимать программный код, обладающий следующими свойствами:
По среде обитания компьютерные вирусы можно разделить:
операционная система, объекты которой подвергаются заражению. Каждый файловый или сетевой вирус заражает файлы какой-либо одной или нескольких ОС — DOS, Windows 95/98, Windows NT/2000 и т. д. Макро-вирусы заражают файлы форматов Word, Excel, Microsoft Office. На определенные форматы расположения системных данных в загрузочных секторах дисков также ориентированы загрузочные вирусы.Естественно, эти схемы классификации не являются единственно возможными, существуют много различных схем типизации вирусов. Однако ограничимся пока классификацией компьютерных вирусов по среде обитания, поскольку она является базовой, и перейдем к рассмотрению общих принципов функционирования вирусов. Анализ основных этапов «жизненного цикла» этих вредоносных программ позволяет выделить их различные признаки и особенности, которые могут быть положены в основу дополнительных классификаций.15.1.2. Жизненный цикл вирусовКак и у любой программы, у компьютерных вирусов можно выделить две основные стадии жизненного цикла — хранение и исполнение.Стадия хранения соответствует периоду, когда вирус просто хранится на диске совместно с объектом, в который он внедрен. На этой стадии вирус является наиболее уязвимым со стороны антивирусного ПО, так как он не активен и не может контролировать работу ОС с целью самозащиты.Некоторые вирусы на этой стадии используют механизмы защиты своего кода от обнаружения. Наиболее распространенным способом защиты является шифрование большей части тела вируса. Его использование совместно с механизмами мутации кода (об этом идет речь ниже) делает невозможным выделение сигнатур — устойчивых характеристических фрагментов кода вирусов.Стадия исполнения компьютерных вирусов, как правило, включает пять этапов:
Первый аспект связан с максимальным усложнением процедуры обнаружения вирусов. Для обеспечения защиты на стадии хранения некоторые вирусы используют достаточно сложные алгоритмы. К таким 'усложнениям можно отнести шифрование основного тела вируса. Однако использование только шифрования является полумерой, так как в открытом виде должна храниться та часть вируса, которая обеспечивает расшифрование вируса на стадии загрузки. Для избежания подобной ситуации разработчики вирусов используют механизмы «мутаций» кода расшифровщика. Суть этого метода состоит в том, что при внедрении в объект копии вируса часть ее кода, относящаяся к расшифровщику, модифицируется так, чтобы возникли текстуальные различия с оригиналом, но результаты работы остались неизменными. Обычно применяют следующие приемы модификации кода:
В случае макровирусов наиболее популярным способом является запрет вызовов меню просмотра макросов. Одним из первых файловых стелс-вирусов был вирус «Frodo», первым загрузочным стелс-вирусом был вирус «Brain».Нередко в вирусах используются различные нестандартные приемы с целью глубже спрятаться в ядре ОС, либо защитить от обнаружения свою резидентную копию, либо затруднить лечение от вируса и т. п.Второй аспект связан с так называемыми резидентными вирусами. Поскольку вирус и объект, в который он внедрен, являются для ОС единым целым, то после загрузки они располагаются, естественно, в едином адресном пространстве. После завершения работы объекта он выгружается из оперативной памяти, при этом одновременно выгружается и вирус, переходя в пассивную стадию хранения. Однако некоторые типы вирусов способны сохраняться в памяти и оставаться активными после окончания работы вирусоносителя. Эти вирусы получили название резидентных.Резидентные вирусы при инфицировании компьютера оставляют в оперативной памяти свою резидентную часть, которая затем перехватывает обращения ОС к объектам заражения и внедряется в них. Резидентные вирусы находятся в памяти и являются активными вплоть до выключения компьютера или перезагрузки ОС.Резидентными можно считать макровирусы, так как для большинства из них выполняются основные требования — постоянное присутствие в памяти компьютера на все время работы зараженного редактора и перехват функций, используемых при работе с документами. При этом роль ОС берет на себя редактор, а понятие «перезагрузка операционной системы» трактуется как выход из редактора.Нерезидентные вирусы не заражают память компьютера и сохраняют активность ограниченное время. Некоторые вирусы оставляют в оперативной памяти небольшие резидентные программы, которые не распространяют вирус. Такие вирусы считаются нерезидентными.Следует отметить, что деление вирусов на резидентные и нерезидентные справедливо в основном для файловых вирусов. Загрузочные вирусы, как и макровирусы, относятся к резидентным вирусам.2. Поиск жертвы. По способу поиска жертвы вирусы можно разделить на два класса.К первому классу относятся вирусы, осуществляющие «активный» поиск с использованием функций ОС. Примером являются файловые вирусы, использующие механизм поиска исполняемых файлов в текущем каталоге.
-
способностью к созданию собственных копий, не обязательно совпадающих с оригиналом, но обладающих свойствами оригинала (самовоспроизведение); -
наличием механизма, обеспечивающего внедрение создаваемых копий в исполняемые объекты вычислительной системы.
-
по среде обитания; -
операционной системе (ОС); -
особенностям алгоритма работы; -
деструктивным возможностям.
По среде обитания компьютерные вирусы можно разделить:
-
на файловые; -
загрузочные; -
макровирусы; -
сетевые.
операционная система, объекты которой подвергаются заражению. Каждый файловый или сетевой вирус заражает файлы какой-либо одной или нескольких ОС — DOS, Windows 95/98, Windows NT/2000 и т. д. Макро-вирусы заражают файлы форматов Word, Excel, Microsoft Office. На определенные форматы расположения системных данных в загрузочных секторах дисков также ориентированы загрузочные вирусы.Естественно, эти схемы классификации не являются единственно возможными, существуют много различных схем типизации вирусов. Однако ограничимся пока классификацией компьютерных вирусов по среде обитания, поскольку она является базовой, и перейдем к рассмотрению общих принципов функционирования вирусов. Анализ основных этапов «жизненного цикла» этих вредоносных программ позволяет выделить их различные признаки и особенности, которые могут быть положены в основу дополнительных классификаций.15.1.2. Жизненный цикл вирусовКак и у любой программы, у компьютерных вирусов можно выделить две основные стадии жизненного цикла — хранение и исполнение.Стадия хранения соответствует периоду, когда вирус просто хранится на диске совместно с объектом, в который он внедрен. На этой стадии вирус является наиболее уязвимым со стороны антивирусного ПО, так как он не активен и не может контролировать работу ОС с целью самозащиты.Некоторые вирусы на этой стадии используют механизмы защиты своего кода от обнаружения. Наиболее распространенным способом защиты является шифрование большей части тела вируса. Его использование совместно с механизмами мутации кода (об этом идет речь ниже) делает невозможным выделение сигнатур — устойчивых характеристических фрагментов кода вирусов.Стадия исполнения компьютерных вирусов, как правило, включает пять этапов:
-
загрузка вируса в память; -
поиск жертвы; -
заражение найденной жертвы; -
выполнение деструктивных функций; -
передача управления программе-носителю вируса. Рассмотрим эти этапы подробнее [38, 70].
Первый аспект связан с максимальным усложнением процедуры обнаружения вирусов. Для обеспечения защиты на стадии хранения некоторые вирусы используют достаточно сложные алгоритмы. К таким 'усложнениям можно отнести шифрование основного тела вируса. Однако использование только шифрования является полумерой, так как в открытом виде должна храниться та часть вируса, которая обеспечивает расшифрование вируса на стадии загрузки. Для избежания подобной ситуации разработчики вирусов используют механизмы «мутаций» кода расшифровщика. Суть этого метода состоит в том, что при внедрении в объект копии вируса часть ее кода, относящаяся к расшифровщику, модифицируется так, чтобы возникли текстуальные различия с оригиналом, но результаты работы остались неизменными. Обычно применяют следующие приемы модификации кода:
-
изменение порядка независимых инструкций; -
замену некоторых инструкций на эквивалентные по результату работы; -
замену используемых в инструкциях регистров на другие;
В случае макровирусов наиболее популярным способом является запрет вызовов меню просмотра макросов. Одним из первых файловых стелс-вирусов был вирус «Frodo», первым загрузочным стелс-вирусом был вирус «Brain».Нередко в вирусах используются различные нестандартные приемы с целью глубже спрятаться в ядре ОС, либо защитить от обнаружения свою резидентную копию, либо затруднить лечение от вируса и т. п.Второй аспект связан с так называемыми резидентными вирусами. Поскольку вирус и объект, в который он внедрен, являются для ОС единым целым, то после загрузки они располагаются, естественно, в едином адресном пространстве. После завершения работы объекта он выгружается из оперативной памяти, при этом одновременно выгружается и вирус, переходя в пассивную стадию хранения. Однако некоторые типы вирусов способны сохраняться в памяти и оставаться активными после окончания работы вирусоносителя. Эти вирусы получили название резидентных.Резидентные вирусы при инфицировании компьютера оставляют в оперативной памяти свою резидентную часть, которая затем перехватывает обращения ОС к объектам заражения и внедряется в них. Резидентные вирусы находятся в памяти и являются активными вплоть до выключения компьютера или перезагрузки ОС.Резидентными можно считать макровирусы, так как для большинства из них выполняются основные требования — постоянное присутствие в памяти компьютера на все время работы зараженного редактора и перехват функций, используемых при работе с документами. При этом роль ОС берет на себя редактор, а понятие «перезагрузка операционной системы» трактуется как выход из редактора.Нерезидентные вирусы не заражают память компьютера и сохраняют активность ограниченное время. Некоторые вирусы оставляют в оперативной памяти небольшие резидентные программы, которые не распространяют вирус. Такие вирусы считаются нерезидентными.Следует отметить, что деление вирусов на резидентные и нерезидентные справедливо в основном для файловых вирусов. Загрузочные вирусы, как и макровирусы, относятся к резидентным вирусам.2. Поиск жертвы. По способу поиска жертвы вирусы можно разделить на два класса.К первому классу относятся вирусы, осуществляющие «активный» поиск с использованием функций ОС. Примером являются файловые вирусы, использующие механизм поиска исполняемых файлов в текущем каталоге.