Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Раздел 3. Защита от компьютерных вирусов






ТЕМА 3.1. ПРОБЛЕМА ВИРУСНОГО ЗАРАЖЕНИЯ ПРОГРАММ.

 

Существует много определений компьютерного вируса. Исто­рически первое определение было дано в 1984 г. Фредом Коэном: «Компьютерный вирус – это программа, которая может заражать другие программы, модифицируя их посредством включения в них своей, возможно измененной копии, причем последняя со­храняет способность к дальнейшему размножению». Ключевыми понятиями в этом определении являются способность вируса к са­моразмножению и способность к модификации вычислительного процесса. Указанные свойства компьютерного вируса аналогичны паразитированию биологического вируса в живой природе. С тех пор острота проблемы вирусов многократно возросла – к кон­цу XX в. в мире насчитывалось более 14 300 модификаций ви­русов.

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

• способностью к созданию собственных копий, не обяза­тельно совпадающих с оригиналом, но обладающих свой­ствами оригинала (самовоспроизведение);

• наличием механизма, обеспечивающего внедрение созда­ваемых копий в исполняемые объекты вычислительной системы.

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

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

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

- по среде обитания;

- операционной системе (ОС);

- особенностям алгоритма работы;

- деструктивным возможностям.

Основной и наиболее распространенной классификацией компьютерных вирусов является классификация по среде обита­ния, или по типам объектов компьютерной системы, в которые внедряются вирусы (рис. 11). По среде обитания компьютер­ные вирусы можно разделить:

- на файловые;

- загрузочные;

- макровирусы;

- сетевые.

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

 

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

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

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

Сетевые вирусы используют для своего распространения про­токолы или команды компьютерных сетей и электронной почты. Иногда сетевые вирусы называют программами типа «червь». Сетевые черви подразделяются на Internet-черви (распространя­ются по Internet), LAN-черви (распространяются по локальной сети), IRC-черви Internet Relay Chat (распространяются через чаты). Существуют также смешанные типы, которые совмещают в себе сразу несколько технологий.

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

Другим признаком деления компьютерных вирусов на клас­сы является операционная система, объекты которой подвергают­ся заражению. Каждый файловый или сетевой вирус заражает файлы какой-либо одной или нескольких ОС. Макро-вирусы заражают файлы форматов Word, Excel, Microsoft Office. На определенные форматы расположения системных данных в загрузочных секто­рах дисков также ориентированы загрузочные вирусы.

Естественно, эти схемы классификации не являются единст­венно возможными, существуют много различных схем типиза­ции вирусов. Однако ограничимся пока классификацией компь­ютерных вирусов по среде обитания, поскольку она является базовой, и перейдем к рассмотрению общих принципов функ­ционирования вирусов. Анализ основных этапов «жизненного цикла» этих вредоносных программ позволяет выделить их раз­личные признаки и особенности, которые могут быть положены в основу дополнительных классификаций.

п.2 Жизненный цикл вирусов

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

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

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

Стадия исполнения компьютерных вирусов, как правило, включает пять этапов:

1. загрузка вируса в память;

2. поиск жертвы;

3. заражение найденной жертвы;

4. выполнение деструктивных функций;

5. передача управления программе-носителю вируса.

Рассмотрим эти этапы подробнее.

1. Загрузка вируса. Загрузка вируса в память осуществляется ОС одновременно с загрузкой исполняемого объекта, в который вирус внедрен. Например, если пользователь запустил на испол­нение программный файл, содержащий вирус, то, очевидно, ви­русный код будет загружен в память как часть этого файла. В простейшем случае процесс загрузки вируса представляет со­бой не что иное, как копирование с диска в оперативную па­мять, сопровождаемое иногда настройкой адресов, после чего происходит передача управления коду тела вируса. Эти действия выполняются ОС, а сам вирус находится в пассивном состоя­нии. В более сложных ситуациях вирус может после получения управления выполнять дополнительные действия, которые необ­ходимы для его функционирования. В связи с этим рассматрива­ются два аспекта.

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

- изменение порядка независимых инструкций;

- замену некоторых инструкций на эквивалентные по ре­зультату работы;

- замену используемых в инструкциях регистров на другие;

- введение случайным образом зашумляющих инструкций.

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

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

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

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

Стелс-вирусы (Stealth) способны скрывать свое присутствие в системе и избегать обнаружения антивирусными программами. Эти вирусы могут перехватывать запросы ОС на чтение/запись зараженных файлов, при этом они либо временно лечат эти файлы, либо «подставляют» вместо себя незараженные участки информации, эмулируя «чистоту» зараженных файлов.

В случае макровирусов наиболее популярным способом яв­ляется запрет вызовов меню просмотра макросов. Одним из пер­вых файловых стелс-вирусов был вирус «Frodo», первым загру­зочным стелс-вирусом был вирус «Brain».

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

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

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

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

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

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

2. Поиск жертвы. По способу поиска жертвы вирусы можно разделить два класса.

К первому классу относятся вирусы, осуществляющие «ак­тивный» поиск с использованием функций ОС. Примером явля­ются файловые вирусы, использующие механизм поиска испол­няемых файлов в текущем каталоге.

Второй класс составляют вирусы, реализующие «пассивный» механизм поиска, т. е. вирусы, расставляющие «ловушки» для программных файлов. Как правило, файловые вирусы устраива­ют такие ловушки путем перехвата функции Ехес ОС, а макрови­русы – с помощью перехвата команд типа Save as из меню File.

3. Заражение жертвы. В простейшем случае заражение пред­ставляет собой самокопирование кода вируса в выбранный в ка­честве жертвы объект. Классификация вирусов на этом этапе связана с анализом особенностей этого копирования и способов модификации заражаемых объектов.

Особенности заражения файловыми вирусами. По способу ин­фицирования жертвы вирусы можно разделить на два класса.

К первому классу относятся вирусы, которые не внедряют свой код непосредственно в программный файл, а изменяют имя файла и создают новый, содержащий тело вируса.

Второй класс составляют вирусы, внедряющиеся непосредст­венно в файлы-жертвы. Они характеризуются местом внедрения. Возможны следующие варианты.

Внедрение в начало файла. Этот способ является наиболее удобным для COM-файлов MS-DOS, так как данный формат не предусматривает наличие служебных заголовков. При внедрении этим способом вирусы могут либо производить конкатенацию собственного кода и кода программы-жертвы, либо переписы­вать начальный фрагмент файла в конец, освобождая место для себя.

Внедрение в конец файла. Это – наиболее распространенный тип внедрения. Передача управления коду вирусов обеспечива­ется модификацией первых команд программы (СОМ) или заго­ловка файла (EXE).

Внедрение в середину файла. Как правило, этот способ ис­пользуется вирусами применительно к файлам с заранее извест­ной структурой (например, к файлу COMMAND.COM) или же к файлам, содержащим последовательность байтов с одинаковыми значениями, длина которой достаточна для размещения вируса. Во втором случае вирусы архивируют найденную последователь­ность и замещают собственным кодом. Помимо этого вирусы могут внедряться в середину файла, освобождая себе место путем переноса фрагментов кода программы в конец файла или же «раздвигая» файл.

Особенности заражения загрузочными вирусами определяются особенностями объектов, в которые они внедряются, – загру­зочными секторами гибких и жестких дисков и главной загру­зочной записью (MBR) жестких дисков. Основной проблемой является ограниченный размер этих объектов. В связи с этим вирусам необходимо сохранить на диске ту свою часть, которая не уместилась на месте жертвы, а также перенести оригиналь­ный код инфицированного загрузчика. Существуют различные способы решения этой задачи. Ниже приводится классифика­ция, предложенная Е. Касперским.

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

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

Используются зарезервированные области разделов. Вирус пе­реносит необходимый код в области диска, зарезервированные под нужды ОС, а потому неиспользуемые.

Короткие вирусы могут уместиться в один сектор загрузчика и полностью взять на себя функции MBR или загрузочного сектора.

Особенности заражения макровирусами. Процесс заражения сводится к сохранению вирусного макрокода в выбранном доку­менте-жертве. Для некоторых систем обработки информации это сделать не просто, так как формат файлов документов может не предусматривать возможность сохранения макропрограмм. В ка­честве примера приведем Microsoft Word 6.0. Сохранение макро­кода для этой системы возможно только в файлах шаблонов (имеющих по умолчанию расширение.DOT). Поэтому для сво­его сохранения вирус должен контролировать обработку коман­ды Save as из меню File, которая вызывается всякий раз, когда происходит первое сохранение документа на диск. Этот кон­троль необходим, чтобы в момент сохранения изменить тип файла-документа (имеющего по умолчанию расширение.DOC) на тип файла-шаблона. В этом случае на диске окажутся и мак­рокод вируса, и содержимое документа.

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

4. Выполнение деструктивных функций. Вирусы могут выпол­нять помимо самокопирования деструктивные функции.

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

Безвредные вирусы – это вирусы, в которых реализован толь­ко механизм самораспространения. Они не наносят вред систе­ме, за исключением расхода свободной памяти на диске в ре­зультате своего распространения.

Неопасные вирусы – это вирусы, присутствие которых в сис­теме связано с различными эффектами (звуковыми, видео) и уменьшением свободной памяти на диске, но которые не нано­сят вред программам и данным.

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

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

На «степень опасности» вирусов оказывает существенное влияние та среда, под управлением которой вирусы работают.

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

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

5. Передача управления программе-носителю вируса. Здесь следует указать на деление вирусов на разрушающие и неразру­шающие.

Разрушающие вирусы не заботятся о сохранении работоспо­собности инфицированных программ, поэтому для них этот этап функционирования отсутствует.

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

п.3. Вредоносные программы других типов

Кроме вирусов принято выделять еще несколько видов вре­доносных программ. Это троянские программы, логические бомбы, хакерские утилиты скрытого администрирования удален­ных компьютеров, программы, ворующие пароли доступа к ре­сурсам Интернет и прочую конфиденциальную информацию. Четкого разделения между ними не существует: троянские про­граммы могут содержать вирусы, в вирусы могут быть встроены логические бомбы и т. д.

Троянские программы не размножаются и не рассылаются сами. Внешне они выглядят совершенно безобидно и даже пред­лагают полезные функции. Но когда пользователь загрузит та­кую программу в свой компьютер и запустит ее, она может неза­метно выполнять вредоносные функции. Чаще всего троянские программы используются для первоначального распространения вирусов, для получения удаленного доступа к компьютеру через Интернет, кражи данных или их уничтожения.

Логической бомбой называется программа или ее отдельные модули, которые при определенных условиях выполняют вредо­носные действия. Логическая бомба может, например, сработать по достижении определенной даты или тогда, когда в БД появит­ся или исчезнет запись, и т. п. Такая бомба может быть встроена в вирусы, троянские программы и даже в обычные программы.

п.4. Основные каналы распространения вирусов и других вредоносных программ

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

Классические способы распространения

Файловые вирусы распространяются вместе с файлами про­грамм в результате обмена дискетами и программами, загрузки программ из сетевых каталогов, с Web- или ftр-серверов. Загру­зочные вирусы попадают на компьютер, когда пользователь забы­вает зараженную дискету в дисководе, а затем перезагружает ОС. Загрузочный вирус также может быть занесен на компьютер ви­русами других типов. Макрокомандные вирусы распространяются в результате обмена зараженными файлами офисных докумен­тов, такими как файлы Microsoft Word, Excel, Access.

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

Электронная почта

В настоящее время глобальная сеть Internet является основ­ным источником вирусов. Большое число заражений вирусами происходит при обмене письмами по электронной почте в фор­матах Microsoft Word. Электронная почта служит каналом рас­пространения макрокомандных вирусов, так как вместе с сооб­щениями часто отправляются офисные документы.

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

Распространители вирусов часто пользуются для маскировки тем фактом, что диалоговая оболочка Microsoft Windows по умолчанию не отображает расширения зарегистрированных фай­лов. Например, файл с именем FreeCreditCard.txt.exe, будет по­казан пользователю как FreeCreditCard.txt. Если пользователь попытается открыть такой файл, будет запущена вредоносная программа.

Сообщения электронной почты часто приходят в виде доку­ментов HTML, которые могут включать ссылки на элементы управления ActiveX, апплеты Java и другие активные компонен­ты. Из-за ошибок в почтовых клиентах злоумышленники могут воспользоваться такими активными компонентами для внедре­ния вирусов и троянских программ на компьютеры пользовате­лей. При получении сообщения в формате HTML почтовый клиент показывает его содержимое в своем окне. Если сообще­ние содержит вредоносные активные компоненты, они сразу же запускаются и выполняют заложенные в них функции. Чаще всего таким способом распространяются троянские программы и черви.

Троянские Web-сайты

Пользователи могут «получить» вирус или троянскую про­грамму во время простого серфинга сайтов Интернета, посетив троянский Web-сайт. Ошибки в браузерах пользователей зачастую приводят к тому, что активные компоненты троянских Web-сай­тов (элементы управления ActiveX или апплеты Java) внедряют на компьютеры пользователей вредоносные программы. Здесь ис­пользуется тот же самый механизм, что и при получении сообще­ний электронной почты в формате HTML. Но заражение происхо­дит незаметно: активные компоненты Web-страниц могут внешне никак себя не проявлять. Приглашение посетить троянский сайт пользователь может получить в обычном электронном письме.

Локальные сети

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

Другие каналы распространения вредоносных программ

Одним из серьезных каналов распространения вирусов явля­ются пиратские копии ПО. Часто нелегальные копии на дискетах и CD-дисках содержат файлы, зараженные разнообразными ти­пами вирусов. К источникам распространения вирусов следует также отнести электронные конференции и файл-серверы ftp и BBS. Часто авторы вирусов закладывают зараженные файлы сра­зу на несколько файл-серверов ftp/BBS или рассылают одновре­менно по нескольким электронным конференциям, причем зара­женные файлы обычно маскируют под новые версии программ­ных продуктов и даже антивирусов. Компьютеры, установленные в учебных заведениях и Интернет-центрах и работающие в режи­ме общего пользования, также могут легко оказаться источника­ми распространения вирусов. Если один из таких компьютеров оказался зараженным вирусом с дискеты очередного пользовате­ля, тогда дискеты и всех остальных пользователей, работающих на этом компьютере, окажутся зараженными.

По мере развития компьютерных технологий совершенству­ются и компьютерные вирусы, приспосабливаясь к новым для себя сферам обитания. В любой момент может появиться компь­ютерный вирус, троянская программа или «червь» нового, неиз­вестного ранее типа, либо известного типа, но нацеленного на новое компьютерное оборудование. Новые вирусы могут ис­пользовать неизвестные или не существовавшие ранее каналы распространения, а также новые технологии внедрения в компь­ютерные системы. Чтобы исключить угрозу вирусного зараже­ния, системный администратор корпоративной сети должен вне­дрять методики антивирусной защиты и постоянно отслеживать новости в мире компьютерных вирусов.

 

ТЕМА 3.2. СТРУКТУРА СОВРЕМЕННЫХ АНТИВИРУСНЫХ ПРОГРАММ И ПЕРСПЕКТИВНЫЕ МЕТОДЫ АНТИВИРУСНОЙ ЗАЩИТЫ.

 

Для защиты от компьютерных вирусов могут использоваться:

- общие методы и средства защиты информации;

- специализированные программы для защиты от вирусов;

- профилактические меры, позволяющие уменьшить вероят­ность заражения вирусами.

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

- средства копирования информации (применяются для соз­дания копий файлов и системных областей дисков);

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

При заражении компьютера вирусом важно его обнаружить. К внешним признакам проявления деятельности вирусов можно отнести следующие:

- вывод на экран непредусмотренных сообщений или изо­бражений;

- подача непредусмотренных звуковых сигналов;

- изменение даты и времени модификации файлов;

- исчезновение файлов и каталогов или искажение их содер­жимого;

- частые зависания и сбои в работе компьютера;

- медленная работа компьютера;

- невозможность загрузки ОС;

- существенное уменьшение размера свободной оперативной памяти;

- прекращение работы или неправильная работа ранее ус­пешно функционировавших программ;

- изменение размеров файлов;

- неожиданное значительное увеличение количества файлов на диске.

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

п.1. Антивирусные программы

Для обнаружения и защиты от компьютерных вирусов разра­ботано несколько видов специальных программ, которые позво­ляют обнаруживать и уничтожать компьютерные вирусы. Такие программы называются антивирусными. Практически все анти­вирусные программы обеспечивают автоматическое восстанов­ление зараженных программ и загрузочных секторов. Антиви­русные программы используют различные методы обнаружения вирусов.

Методы обнаружения вирусов

К основным методам обнаружения компьютерных вирусов можно отнести следующие:

- метод сравнения с эталоном;

- эвристический анализ;

- антивирусный мониторинг;

- метод обнаружения изменений;

- встраивание антивирусов в BIOS компьютера и др.

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

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

Эвристический анализ. Для того чтобы размножаться, компь­ютерный вирус должен совершать какие-то конкретные дейст­вия: копирование в память, запись в секторы и т. д. Эвристиче­ский анализатор (который является частью антивирусного ядра) содержит список таких действий и проверяет программы и за­грузочные секторы дисков и дискет, пытаясь обнаружить в них код, характерный для вирусов. Эвристический анализатор может обнаружить, например, что проверяемая программа устанавлива­ет резидентный модуль в памяти или записывает данные в ис­полнимый файл программы. Обнаружив зараженный файл, ана­лизатор обычно выводит сообщение на экране монитора и дела­ет запись в собственном или системном журнале. В зависимости от настроек, антивирус может также направлять сообщение об обнаруженном вирусе администратору сети. Эвристический ана­лиз позволяет обнаруживать неизвестные ранее вирусы. Первый эвристический анализатор появился в начале 1990-х гг. Практи­чески все современные антивирусные программы реализуют собственные методы эвристического анализа. В качестве приме­ра такой программы можно указать сканер McAfiee VirusScan.

Антивирусный мониторинг. Суть данного метода состоит в том, что в памяти компьютера постоянно находится антивирусная программа, осуществляющая мониторинг всех подозрительных действий, выполняемых другими программами. Антивирусный мониторинг позволяет проверять все запускаемые программы, создаваемые, открываемые и сохраняемые документы, файлы программ и документов, полученные через Интернет или скопи­рованные на жесткий диск с дискеты либо компакт диска. Анти­вирусный монитор сообщит пользователю, если какая-либо про­грамма попытается выполнить потенциально опасное действие. Пример такой программы – сторож Spider Guard, который вхо­дит в комплект сканера Doctor Web и выполняет функции анти­вирусного монитора.

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

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

Виды антивирусных программ

Различают следующие виды антивирусных программ:

- программы-фаги (сканеры);

- программы-ревизоры (CRC-сканеры);

- программы-блокировщики;

- программы-иммунизаторы.

Программы-фаги (сканеры) используют для обнаружения ви­русов метод сравнения с эталоном, метод эвристического анали­за и некоторые другие методы. Программы-фаги осуществляют поиск характерной для конкретного вируса маски путем скани­рования в оперативной памяти и в файлах и при обнаружении выдают соответствующее сообщение. Программы-фаги не толь­ко находят зараженные вирусами файлы, но и «лечат» их, т. е. удаляют из файла тело программы-вируса, возвращая файлы в исходное состояние. В начале работы программы-фаги сканиру­ют оперативную память, обнаруживают вирусы и уничтожают их и только затем переходят к «лечению» файлов. Среди фагов вы­деляют полифаги – программы-фаги, предназначенные для по­иска и уничтожения большого числа вирусов.

Программы-фаги можно разделить на две категории – уни­версальные и специализированные сканеры. Универсальные ска­неры рассчитаны на поиск и обезвреживание всех типов вирусов вне зависимости от ОС, на работу в которой рассчитан сканер. Специализированные сканеры предназначены для обезвреживания ограниченного числа вирусов или только одного их класса, на­пример макровирусов. Специализированные сканеры, рассчи­танные только на макровирусы, оказываются более удобным и надежным решением для защиты систем документооборота в средах MS Word и MS Excel.

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

К достоинствам программ-фагов всех типов относится их универсальность. К недостаткам следует отнести относительно небольшую скорость поиска вирусов и относительно большие размеры антивирусных баз.

Наиболее известные программы-фаги: Aidstest, Scan, Norton AntiVirus, Doctor Web. Учитывая, что постоянно появляются но­вые вирусы, программы-фаги быстро устаревают, и требуется ре­гулярное обновление версий.

Программы-ревизоры (CRC-сканеры) используют для поиска ви­русов метод обнаружения изменений. Принцип работы CRC-сканеров основан на подсчете CRC-сумм (кодов циклического контроля) для присутствующих на диске файлов/системных секторов. Эти CRC-суммы, а также некоторая другая информация (длины файлов, даты их последней модификации и др.) затем сохраняются в БД ан­тивируса. При последующем запуске CRC-сканеры сверяют дан­ные, содержащиеся в БД, с реально подсчитанными значениями. Если информация о файле, записанная в БД, не совпадает с реаль­ными значениями, то CRC-сканеры сигнализируют о том, что файл был изменен или заражен вирусом. Как правило, сравнение состоя­ний производят сразу после загрузки ОС.

CRC-сканеры, использующие алгоритмы анти-стелс, явля­ются довольно мощным средством против вирусов: практически 100 % вирусов оказываются обнаруженными почти сразу после их появления на компьютере. Однако у CRC-сканеров имеется недостаток, заметно снижающий их эффективность: они не мо­гут определить вирус в новых файлах (в электронной почте, на дискетах, в файлах, восстанавливаемых из backup или при распа­ковке файлов из архива), поскольку в их БД отсутствует инфор­мация об этих файлах.

К числу CRC-сканеров относится широко распространен­ная в России программа ADinf (Advanced Diskinfoscope) и ре­визор AVP Inspector. Вместе с ADinf применяется лечащий мо­дуль ADinf Cure Module (ADinfExt), который использует соб­ранную ранее информацию о файлах для их восстановления после поражения неизвестными вирусами. В состав ревизора AVP Inspector также входит лечащий модуль, способный уда­лять вирусы.

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

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

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

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

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

Критерии качества антивирусной программы

Качество антивирусной программы можно оценить по не­скольким критериям:

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

- качество обнаружения вирусов всех распространенных ти­пов, сканирование внутри файлов-документов/таблиц (MS Word, Excel, Office), упакованных и архивированных фай­лов; возможность лечения зараженных объектов;

- существование версий антивируса под все популярные плат­формы; наличие режимов сканирования «по запросу» и «на лету», существование серверных версий с возможно­стью администрирования сети;

- скорость работы и другие полезные особенности.

Надежность работы антивируса является наиболее важным критерием, поскольку даже «абсолютный» антивирус может ока­заться бесполезным, если он не в состоянии довести процесс сканирования до конца, т. е. «повиснет» и не проверит часть дисков и файлов и, в результате, вирус останется незамеченным в системе.

Качество обнаружения вирусов стоит на следующем месте по вполне естественной причине. Главная обязанность антивирус­ных программ – обнаруживать 100 % вирусов и лечить их. При этом антивирусная программа не должна иметь высокий уровень ложных срабатываний.

Следующий по важности критерий – многоплатформенность антивируса, поскольку только программа, рассчитанная на кон­кретную ОС, может полностью использовать функции этой сис­темы. Моментальная и принудительная проверка приходящих на компьютер файлов и вставляемых дискет – это практически 100%-я гарантия от заражения вирусом. Если в серверном вари­анте антивируса присутствует возможность антивирусного адми­нистрирования сети, то его ценность еще более возрастает.

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

Профилактические меры защиты

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

- применять только лицензионное ПО;

- оснастить компьютер современными антивирусными про­граммами и постоянно возобновлять их версии;

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

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

- периодически проверять на наличие вирусов жесткие дис­ки компьютера, запуская антивирусные программы для тестирования файлов, памяти и системных областей дисков с защищенной от записи дискеты, предварительно загрузив ОС с защищенной от записи системной дискеты;

- всегда защищать свои дискеты от записи при работе на других компьютерах, если на них не будет производиться запись информации;

- обязательно делать на дискетах архивные копии ценной для пользователя информации;

- не оставлять в кармане дисковода А дискеты при включе­нии или перезагрузке ОС, чтобы исключить заражение ком­пьютера загрузочными вирусами;

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

п.2. Антивирусные программные комплексы

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

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

Перечислим наиболее распространенные антивирусные про­граммные комплексы:

- антивирус Касперского (AVP) Personal;

- антивирус Dr.Web;

- антивирус Symantec Antivirus;

- антивирус McAfee;

- антивирус AntiVir Personal Edition.

 






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.