5.2. Компьютерные вирусы и проблемы антивирусно... 15 Компьютерные вирусы и проблемы антивирусной защиты
Скачать 176.5 Kb.
|
15.1. Компьютерные вирусы и проблемы антивирусной защиты Существует много определений компьютерного вируса. Исторически первое определение было дано в 1984 г. Фредом Коэном: «Компьютерный вирус — это программа, которая может заражать другие программы, модифицируя их посредством включения в них своей, возможно измененной копии, причем последняя сохраняет способность к дальнейшему размножению». Ключевыми понятиями в этом определении являются способность вируса к саморазмножению и способность к модификации вычислительного процесса. Указанные свойства компьютерного вируса аналогичны паразитированию биологического вируса в живой природе. С тех пор острота проблемы вирусов многократно возросла — к концу XX в. в мире насчитывалось более 14 300 модификаций вирусов. В настоящее время под компьютерным вирусом принято понимать программный код, обладающий следующими свойствами: способностью к созданию собственных копий, не обязательно совпадающих с оригиналом, но обладающих свойствами оригинала (самовоспроизведение); наличием механизма, обеспечивающего внедрение создаваемых копий в исполняемые объекты вычислительной системы. Следует отметить, что эти свойства являются необходимыми, но не достаточными. Указанные свойства следует дополнить свойствами деструктивности и скрытности действий данной вредоносной программы в вычислительной среде. 15.1.1. Классификация компьютерных вирусов На сегодняшний день известны десятки тысяч различных компьютерных вирусов. Несмотря на такое изобилие, число типов вирусов, отличающихся друг от друга механизмом распространения и принципом действия, достаточно ограничено. Существуют и комбинированные вирусы, которые можно отнести одновременно к нескольким типам. Вирусы можно разделить на классы [38, 85]: по среде обитания; операционной системе (ОС); особенностям алгоритма работы; деструктивным возможностям. Основной и наиболее распространенной классификацией компьютерных вирусов является классификация по среде обитания, или по типам объектов компьютерной системы, в которые внедряются вирусы (рис. 15.1). По среде обитания компьютерные вирусы можно разделить: на файловые; загрузочные; макровирусы; сетевые. Рис. 15.1. Классификация компьютерных вирусов по среде обитания Файловые вирусы либо внедряются в выполняемые файлы (наиболее распространенный тип вирусов) различными способами, либо создают файлы-двойники (компаньон-вирусы), либо используют особенности организации файловой системы (link-вирусы). Загрузочные вирусы записывают себя либо в загрузочный сектор диска (boot-сектор), либо в сектор, содержащий системный загрузчик винчестера (Master Boot Record). Загрузочные вирусы замещают код программы, получающей управление при загрузке системы. В результате при перезагрузке управление передается вирусу. При этом оригинальный boot-сектор обычно переносится в какой-либо другой сектор диска. Иногда загрузочные вирусы называют бутовыми вирусами. Макровирусы заражают макропрограммы и файлы документов современных систем обработки информации, в частности файлы-документы и электронные таблицы популярных редакторов Microsoft Word, Microsoft Excel и др. Для размножения макровирусы используют возможности макроязыков и при их помощи переносят себя из одного зараженного файла в другие. Вирусы этого типа получают управление при открытии зараженного файла и инфицируют файлы, к которым впоследствии идет обращение из соответствующего офисного приложения. Сетевые вирусы используют для своего распространения протоколы или команды компьютерных сетей и электронной почты. Иногда сетевые вирусы называют программами типа «червь». Сетевые черви подразделяются на Internet-черви (распространяются по Internet), LAN-черви (распространяются по локальной сети), IRC-черви Internet Relay Chat (распространяются через чаты). Существуют также смешанные типы, которые совмещают в себе сразу несколько технологий. Существуют много комбинированных типов компьютерных вирусов, например, известен сетевой макро-вирус, который заражает редактируемые документы, а также рассылает свои копии по электронной почте. В качестве другого примера вирусов комбинированного типа можно указать файлово-загрузочные вирусы, заражающие как файлы, так и загрузочные секторы дисков. Такие вирусы имеют усложненный алгоритм работы и применяют своеобразные методы проникновения в систему. Другим признаком деления компьютерных вирусов на классы является операционная система, объекты которой подвергаются заражению. Каждый файловый или сетевой вирус заражает файлы какой-либо одной или нескольких ОС — DOS, Windows 95/98, Windows NT/2000 и т. д. Макро-вирусы заражают файлы форматов Word, Excel, Microsoft Office. На определенные форматы расположения системных данных в загрузочных секторах дисков также ориентированы загрузочные вирусы. Естественно, эти схемы классификации не являются единственно возможными, существуют много различных схем типизации вирусов. Однако ограничимся пока классификацией компьютерных вирусов по среде обитания, поскольку она является базовой, и перейдем к рассмотрению общих принципов функционирования вирусов. Анализ основных этапов «жизненного цикла» этих вредоносных программ позволяет выделить их различные признаки и особенности, которые могут быть положены в основу дополнительных классификаций. 15.1.2. Жизненный цикл вирусов Как и у любой программы, у компьютерных вирусов можно выделить две основные стадии жизненного цикла — хранение и исполнение. Стадия хранения соответствует периоду, когда вирус просто хранится на диске совместно с объектом, в который он внедрен. На этой стадии вирус является наиболее уязвимым со стороны антивирусного ПО, так как он не активен и не может контролировать работу ОС с целью самозащиты. Некоторые вирусы на этой стадии используют механизмы защиты своего кода от обнаружения. Наиболее распространенным способом защиты является шифрование большей части тела вируса. Его использование совместно с механизмами мутации кода (об этом идет речь ниже) делает невозможным выделение сигнатур — устойчивых характеристических фрагментов кода вирусов. Стадия исполнения компьютерных вирусов, как правило, включает пять этапов: загрузка вируса в память; поиск жертвы; заражение найденной жертвы; выполнение деструктивных функций; передача управления программе-носителю вируса. Рассмотрим эти этапы подробнее [38, 70]. 1. Загрузка вируса. Загрузка вируса в память осуществляется ОС одновременно с загрузкой исполняемого объекта, в который вирус внедрен. Например, если пользователь запустил на исполнение программный файл, содержащий вирус, то, очевидно, вирусный код будет загружен в память как часть этого файла. В простейшем случае процесс загрузки вируса представляет собой не что иное, как копирование с диска в оперативную память, сопровождаемое иногда настройкой адресов, после чего происходит передача управления коду тела вируса. Эти действия выполняются ОС, а сам вирус находится в пассивном состоянии. В более сложных ситуациях вирус может после получения управления выполнять дополнительные действия, которые необходимы для его функционирования. В связи с этим рассматриваются два аспекта. Первый аспект связан с максимальным усложнением процедуры обнаружения вирусов. Для обеспечения защиты на стадии хранения некоторые вирусы используют достаточно сложные алгоритмы. К таким 'усложнениям можно отнести шифрование основного тела вируса. Однако использование только шифрования является полумерой, так как в открытом виде должна храниться та часть вируса, которая обеспечивает расшифрование вируса на стадии загрузки. Для избежания подобной ситуации разработчики вирусов используют механизмы «мутаций» кода расшифровщика. Суть этого метода состоит в том, что при внедрении в объект копии вируса часть ее кода, относящаяся к расшифровщику, модифицируется так, чтобы возникли текстуальные различия с оригиналом, но результаты работы остались неизменными. Обычно применяют следующие приемы модификации кода: изменение порядка независимых инструкций; замену некоторых инструкций на эквивалентные по результату работы; замену используемых в инструкциях регистров на другие; • введение случайным образом зашумляющих инструкций. Вирусы, использующие подобные механизмы мутации кода, получили название полиморфных вирусов. При совместном использовании механизмов шифрования и мутации внедряемая копия вируса окажется отличной от оригинала, так как одна ее часть будет изменена, а другая окажется зашифрованной на ключе, сгенерированном специально для этой копии вируса. А это существенно осложняет выявление вируса в вычислительной системе. Полиморфные вирусы (polymorphic) — это трудно обнаруживаемые вирусы, не имеющие сигнатур, т. е. не содержащие ни одного постоянного участка кода. В большинстве случаев два образца одного и того же полиморфного вируса не будут иметь ни одного совпадения. Полиморфизм встречается в вирусах всех типов — файловых, загрузочных и макровирусах. Дополнительные действия, которые выполняют полиморфные вирусы на этапе загрузки, состоят в расшифровывании основного тела вируса. При использовании стелс-алгоритмов вирусы могут полностью или частично скрыть себя в системе. Наиболее распространенный стелс-алгоритм осуществляет перехват системных запросов с целью контроля действий ОС. Вирусы, использующие стелс-алгоритмы, называются стелс-вирусами. Стелс-вирусы (Stealth) способны скрывать свое присутствие в системе и избегать обнаружения антивирусными программами. Эти вирусы могут перехватывать запросы ОС на чтение/запись зараженных файлов, при этом они либо временно лечат эти файлы, либо «подставляют» вместо себя незараженные участки информации, эмулируя «чистоту» зараженных файлов. В случае макровирусов наиболее популярным способом является запрет вызовов меню просмотра макросов. Одним из первых файловых стелс-вирусов был вирус «Frodo», первым загрузочным стелс-вирусом был вирус «Brain». Нередко в вирусах используются различные нестандартные приемы с целью глубже спрятаться в ядре ОС, либо защитить от обнаружения свою резидентную копию, либо затруднить лечение от вируса и т. п. Второй аспект связан с так называемыми резидентными вирусами. Поскольку вирус и объект, в который он внедрен, являются для ОС единым целым, то после загрузки они располагаются, естественно, в едином адресном пространстве. После завершения работы объекта он выгружается из оперативной памяти, при этом одновременно выгружается и вирус, переходя в пассивную стадию хранения. Однако некоторые типы вирусов способны сохраняться в памяти и оставаться активными после окончания работы вирусоносителя. Эти вирусы получили название резидентных. Резидентные вирусы при инфицировании компьютера оставляют в оперативной памяти свою резидентную часть, которая затем перехватывает обращения ОС к объектам заражения и внедряется в них. Резидентные вирусы находятся в памяти и являются активными вплоть до выключения компьютера или перезагрузки ОС. Резидентными можно считать макровирусы, так как для большинства из них выполняются основные требования — постоянное присутствие в памяти компьютера на все время работы зараженного редактора и перехват функций, используемых при работе с документами. При этом роль ОС берет на себя редактор, а понятие «перезагрузка операционной системы» трактуется как выход из редактора. Нерезидентные вирусы не заражают память компьютера и сохраняют активность ограниченное время. Некоторые вирусы оставляют в оперативной памяти небольшие резидентные программы, которые не распространяют вирус. Такие вирусы считаются нерезидентными. Следует отметить, что деление вирусов на резидентные и нерезидентные справедливо в основном для файловых вирусов. Загрузочные вирусы, как и макровирусы, относятся к резидентным вирусам. 2. Поиск жертвы. По способу поиска жертвы вирусы можно разделить на два класса. К первому классу относятся вирусы, осуществляющие «активный» поиск с использованием функций ОС. Примером являются файловые вирусы, использующие механизм поиска исполняемых файлов в текущем каталоге. Второй класс составляют вирусы, реализующие «пассивный» механизм поиска, т. е. вирусы, расставляющие «ловушки» для программных файлов. Как правило, файловые вирусы устраивают такие ловушки путем перехвата функции ExecОС, а макровирусы — с помощью перехвата команд типа Saveasиз меню File. 3.Заражение жертвы. В простейшем случае заражение представляет собой самокопирование кода вируса в выбранный в качестве жертвы объект. Классификация вирусов на этом этапе связана с анализом особенностей этого копирования и способов модификации заражаемых объектов. Особенности заражения файловыми вирусами. По способу инфицирования жертвы вирусы можно разделить на два класса. К первому классу относятся вирусы, которые не внедряют свой код непосредственно в программный файл, а изменяют имя файла и создают новый, содержащий тело вируса. Второй класс составляют вирусы, внедряющиеся непосредственно в файлы-жертвы. Они характеризуются местом внедрения. Возможны следующие варианты. Внедрение в начало файла. Этот способ является наиболее удобным для СОМ-файлов MS-DOS, так как данный формат не предусматривает наличие служебных заголовков. При внедрении этим способом вирусы могут либо производить конкатенацию собственного кода и кода программы-жертвы, либо переписывать начальный фрагмент файла в конец, освобождая место для себя. Внедрение в конец файла. Это — наиболее распространенный тип внедрения. Передача управления коду вирусов обеспечивается модификацией первых команд программы. (СОМ) или заголовка файла (ЕХЕ). Внедрение в середину файла. Как правило, этот способ используется вирусами применительно к файлам с заранее известной структурой (например, к файлу COMMAND.COM) или же к файлам, содержащим последовательность байтов с одинаковыми значениями, длина которой достаточна для размещения вируса. Во втором случае вирусы архивируют найденную последовательность и замещают собственным кодом. Помимо этого вирусы могут внедряться в середину файла, освобождая себе место путем переноса фрагментов кода программы в конец файла или же «раздвигая» файл. Особенности заражения загрузочными вирусами определяются особенностями объектов, в которые они внедряются, — загрузочными секторами гибких и жестких дисков и главной загрузочной записью (MBR) жестких дисков. Основной проблемой является ограниченный размер этих объектов. В связи с этим вирусам необходимо сохранить на диске ту свою часть, которая не уместилась на месте жертвы, а также перенести оригинальный код инфицированного загрузчика. Существуют различные способы решения этой задачи. Ниже приводится классификация, предложенная Е. Касперским [38, 85]. Используются псевдосбойные секторы. Вирус переносит необходимый код в свободные секторы диска и помечает их как сбойные, защищая тем самым себя и загрузчик от перезаписи. Используются редко применяемые секторы в конце раздела. Вирус переносит необходимый код в эти свободные секторы в конце диска. С точки зрения ОС эти секторы выглядят как свободные. Используются зарезервированные области разделов. Вирус переносит необходимый код в области диска, зарезервированные под нужды ОС, а потому неиспользуемые. Короткие вирусы могут уместиться в один сектор загрузчика и полностью взять на себя функции MBR или загрузочного сектора. Особенности заражения макровирусами. Процесс заражения сводится к сохранению вирусного макрокода в выбранном документе-жертве. Для некоторых систем обработки информации это сделать не просто, так как формат файлов документов может не предусматривать возможность сохранения макропрограмм. В качестве примера приведем Microsoft Word 6.0. Сохранение макрокода для этой системы возможно только в файлах шаблонов (имеющих по умолчанию расширение .DOT). Поэтому для своего сохранения вирус должен контролировать обработку команды Saveasиз меню File, которая вызывается всякий раз, когда происходит первое сохранение документа на диск. Этот контроль необходим, чтобы в момент сохранения изменить тип файла-документа (имеющего по умолчанию расширение .DOC) на тип файла-шаблона. В этом случае на диске окажутся и макрокод вируса, и содержимое документа. Помимо простого копирования кода вируса в заражаемый объект на этом этапе могут использоваться более сложные алгоритмы, обеспечивающие защиту вируса на стадии хранения. К числу таких вирусов относятся описанные выше полиморфные вирусы. 4. Выполнение деструктивных функций. Вирусы могут выполнять помимо самокопирования деструктивные функции. По деструктивным возможностям вирусы можно разделить Hti безвредные, неопасные, опасные и очень опасные [85]. , Безвредные вирусы — это вирусы, в которых реализован только механизм самораспространения. Они не наносят вред системе, за исключением расхода свободной памяти на диске в результате своего распространения. Неопасные вирусы — это вирусы, присутствие которых в системе связано с различными эффектами (звуковыми, видео) и уменьшением свободной памяти на диске, но которые не наносят вред программам и данным. Опасные вирусы — это вирусы, которые могут привести к серьезным сбоям в работе компьютера. Последствием сбоя может стать разрушение программ и данных. Очень опасные вирусы — это вирусы, в алгоритм работы которых заведомо заложены процедуры, непосредственно приводящее к разрушениям программ и данных, а также к стиранию информации, записанной в системных областях памяти и необходимой для работы компьютера. На «степень опасности» вирусов оказывает существенное влияние та среда, под управлением которой вирусы работают. Так, вирусы, созданные для работы в MS-DOS, обладают практически неограниченными потенциальными возможностями. Распространение вирусов под управлением Windows NT/2000 ограничивается развитой системой разграничения доступа. Возможности макровирусов напрямую определяются возможностями макроязыков, на которых они написаны. В частности, язык Word Basic позволяет создать мощные макровирусы, способные доставить пользователям серьезные неприятности. Дополняя эту классификацию, можно отметить также деление вирусов на вирусы, наносящие вред системе вообще, и вирусы, предназначенные для целенаправленных атак на определенные объекты. 5. Передача управления программе-носителю вируса. Здесь следует указать на деление вирусов на разрушающие и неразрушающие. Разрушающие вирусы не заботятся о сохранении работоспособности инфицированных программ, поэтому для них этот этап функционирования отсутствует. Для неразрушающих вирусов этот этап связан с восстановлением в памяти программы в том виде, в котором она должна корректно исполняться, и передачей управления программе-носителю вируса. Вредоносные программы других типов Кроме вирусов принято выделять еще несколько видов вредоносных программ. Это троянские программы, логические бомбы, хакерские утилиты скрытого администрирования удаленных компьютеров, программы, ворующие пароли доступа к ресурсам Интернет и прочую конфиденциальную информацию. • Четкого разделения между ними не существует: троянские программы могут содержать вирусы, в вирусы могут быть встроены логические бомбы и т. д. Троянские программы не размножаются и не рассылаются сами. Внешне они выглядят совершенно безобидно и даже предлагают полезные функции. Но когда пользователь загрузит такую программу в свой компьютер и запустит ее, она может незаметно выполнять вредоносные функции. Чаще всего троянские программы используются для первоначального распространения вирусов, для получения удаленного доступа к компьютеру через Интернет, кражи данных или их уничтожения. Логической бомбой называется программа или ее отдельные модули, которые при определенных условиях выполняют вредоносные действия. Логическая бомба может, например, сработать по достижении определенной даты или тогда, когда в БД появится или исчезнет запись, и т. п. Такая бомба может быть встроена в вирусы, троянские программы и даже в обычные программы. 15.1.3. Основные каналы распространения вирусов и других вредоносных программ Для того чтобы создать эффективную систему антивирусной защиты компьютеров и корпоративных сетей, необходимо четко представлять себе, откуда грозит опасность. Вирусы находят самые разные каналы распространения, причем к старым способам постоянно добавляются новые. Классические способы распространения Файловые вирусы распространяются вместе с файлами программ в результате обмена дискетами и программами, загрузки программ из сетевых каталогов, с Web- или ftp-серверов. Загрузочные вирусы попадают на компьютер, когда пользователь забывает зараженную дискету в дисководе, а затем перезагружает ОС. Загрузочный вирус также может быть занесен на компьютер вирусами других типов. Макрокомандные вирусы распространяются в результате обмена зараженными файлами офисных документов, такими как файлы Microsoft Word, Excel, Access. Если зараженный компьютер подключен к локальной сети, вирус легко может оказаться на дисках файл-сервера, а оттуда через каталоги, доступные для записи, попасть на все остальные компьютеры сети. Так начинается вирусная эпидемия. Системному администратору следует помнить, что вирус имеет в сети такие же права, что и пользователь, на компьютер которого этот вирус пробрался. Поэтому он может попасть во все сетевые каталоги, доступные пользователю. Если же вирус завелся на рабочей станции администратора сети, последствия могут быть очень тяжелыми. Электронная почта В настоящее время глобальная сеть Internet является основным источником вирусов. Большое число заражений вирусами происходит при обмене письмами по электронной почте в форматах Microsoft Word. Электронная почта служит каналом распространения макрокомандных вирусов, так как вместе с сообщениями часто отправляются офисные документы. Заражения вирусами могут осуществляться как непреднамеренно, так и по злому умыслу. Например, пользователь зараженного макровирусом редактора, сам того не подозревая, может рассылать зараженные письма адресатам, которые в свою очередь отправляют новые зараженные письма и т. д. С другой стороны, злоумышленник может преднамеренно послать по электронной почте вместе с вложенным файлом исполняемый модуль вирусной или троянской программы, вредоносный программный сценарий Visual Basic Script, зараженную или троянскую программу сохранения экрана монитора, словом — любой опасный программный код. Распространители вирусов часто пользуются для маскировки тем фактом, что диалоговая оболочка Microsoft Windows no умолчанию не отображает расширения зарегистрированных файлов. Например, файл с именем FreeCreditCard.txt.exe, будет показан пользователю как FreeCreditCard.txt. Если пользователь попытается открыть такой файл, будет запущена вредоносная программа. Сообщения электронной почты часто приходят в виде документов HTML, которые могут включать ссылки на элементы управления ActiveX, апплеты Java и другие активные компоненты. Из-за ошибок в почтовых клиентах злоумышленники могут воспользоваться такими активными компонентами для внедрения вирусов и троянских программ на компьютеры пользователей. При получении сообщения в формате HTML почтовый клиент показывает его содержимое в своем окне. Если сообщение содержит вредоносные активные компоненты, они сразу же запускаются и выполняют заложенные в них функции. Чаще всего таким способом распространяются троянские программы и черви. Троянские Web-сайты Пользователи могут «получить» вирус или троянскую программу во время простого серфинга сайтов Интернета, посетив троянский Web-сайт. Ошибки в браузерах пользователей зачастую приводят к тому, что активные компоненты троянских Web-сайтов (элементы управления ActiveX или апплеты Java) внедряют на компьютеры пользователей вредоносные программы. Здесь используется тот же самый механизм, что и при получении сообщений электронной почты в формате HTML. Но заражение происходит незаметно: активные компоненты Web-страниц могут внешне никак себя не проявлять. Приглашение посетить троянский сайт пользователь может получить в обычном электронном письме. Локальные сети Локальные сети также представляют собой путь быстрого заражения. Если не принимать необходимых мер защиты, то зараженная рабочая станция при входе в локальную сеть заражает один или несколько служебных файлов на сервере. В качестве таких файлов могут выступать служебный файл LOGIN.COM, Excel-таблицы и стандартные документы-шаблоны, применяемые в фирме. Пользователи при входе в эту сеть запускают зараженные файлы с сервера, и в результате вирус получает доступ на компьютеры пользователей. Другие каналы распространения вредоносных программ Одним из серьезных каналов распространения вирусов являются пиратские копии ПО. Часто нелегальные копии на дискетах и CD-дисках содержат файлы, зараженные разнообразными типами вирусов. К источникам распространения вирусов следует также отнести электронные конференции и файл-серверы ftp и BBS. Часто авторы вирусов закладывают зараженные файлы сразу на несколько файл-серверов ftp/BBS или рассылают одновременно по нескольким электронным конференциям, причем зараженные файлы обычно маскируют под новые версии программных продуктов и даже антивирусов. Компьютеры, установленные в учебных заведениях и Интернет-центрах и работающие в режиме общего пользования, также могут легко оказаться источниками распространения вирусов. Если один из таких компьютеров оказался зараженным вирусом с дискеты очередного пользователя, тогда дискеты и всех остальных пользователей, работающих на этом компьютере, окажутся зараженными. По мере развития компьютерных технологий совершенствуются и компьютерные вирусы, приспосабливаясь к новым для себя сферам обитания. В любой момент может появиться компьютерный вирус, троянская программа или «червь» нового, неизвестного ранее типа, либо известного типа, но нацеленного на новое компьютерное оборудование. Новые вирусы могут использовать неизвестные или не существовавшие ранее каналы распространения, а также новые технологии внедрения в компьютерные системы. Чтобы исключить угрозу вирусного заражения, системный администратор корпоративной сети должен внедрять методики антивирусной защиты и постоянно отслеживать новости в мире компьютерных вирусов. 15.2. Антивирусные программы и комплексы Для защиты от компьютерных вирусов могут использоваться: общие методы и средства защиты информации; специализированные программы для защиты от вирусов; профилактические меры, позволяющие уменьшить вероятность заражения вирусами. Общие средства защиты информации полезны не только для защиты от вирусов. Они используются также как страховка от физической порчи дисков, неправильно работающих программ или ошибочных действий пользователя. Существуют две основные разновидности этих средств: средства копирования информации (применяются для создания копий файлов и системных областей дисков); средства разграничения доступа (предотвращают несанкционированное использование информации, в частности обеспечивают защиту от изменений программ и данных вирусами, неправильно работающими программами и ошибочными действиями пользователей). При заражении компьютера вирусом важно его обнаружить. К внешним признакам проявления деятельности вирусов можно отнести следующие: вывод на экран непредусмотренных сообщений или изображений; подача непредусмотренных звуковых сигналов; изменение даты и времени модификации файлов; исчезновение файлов и каталогов или искажение их содержимого; частые зависания и сбои в работе компьютера; медленная работа компьютера; невозможность загрузки ОС; существенное уменьшение размера свободной оперативной памяти; прекращение работы или неправильная работа ранее успешно функционировавших программ; изменение размеров файлов; неожиданное значительное увеличение количества файлов на диске. Однако следует заметить, что перечисленные выше явления необязательно вызываются действиями вируса, они могут быть следствием и других причин. Поэтому правильная диагностика состояния компьютера всегда затруднена и обычно требует привлечения специализированных программ. Антивирусные программы Для обнаружения и защиты от компьютерных вирусов разработано несколько видов специальных программ, которые позволяют обнаруживать и уничтожать компьютерные вирусы. Такие программы называются антивирусными. Практически все антивирусные программы обеспечивают автоматическое восстановление зараженных программ и загрузочных секторов. Антивирусные программы используют различные методы обнаружения вирусов. Методы_обнаружения_вирусов'>Методы обнаружения вирусов К основным методам обнаружения компьютерных вирусов можно отнести следующие: метод сравнения с эталоном; эвристический анализ; антивирусный мониторинг; метод обнаружения изменений; встраивание антивирусов в BIOS компьютера и др. [85]. Метод сравнения с эталоном. Самый простой метод обнаружения заключается в том, что для поиска известных вирусов используются так называемые маски. Маской вируса является некоторая постоянная последовательность кода, специфичная для этого конкретного вируса. Антивирусная программа последовательно просматривает (сканирует) проверяемые файлы в поиске масок известных вирусов. Антивирусные сканеры способны найти только уже известные вирусы, для которых определена маска. Если вирус не содержит постоянной маски или длина этой маски недостаточно велика, то используются другие методы. Применение простых сканеров не защищает компьютер от проникновения новых вирусов. Для шифрующихся и полиморфных вирусов, способных полностью изменять свой код при заражении новой программы или загрузочного сектора, невозможно выделить маску, поэтому антивирусные сканеры их не обнаруживают. Эвристический анализ. Для того чтобы размножаться, компьютерный вирус должен совершать какие-то конкретные действия: копирование в память, запись в секторы и т. д. Эвристический анализатор (который является частью антивирусного ядра) содержит список таких действий и проверяет программы и загрузочные секторы дисков и дискет, пытаясь обнаружить в них код, характерный для вирусов. Эвристический анализатор может обнаружить, например, что проверяемая программа устанавливает резидентный модуль в памяти или записывает данные в исполнимый файл программы. Обнаружив зараженный файл, анализатор обычно выводит сообщение на экране монитора и делает запись в собственном или системном журнале. В зависимости от настроек, антивирус может также направлять сообщение об обнаруженном вирусе администратору сети. Эвристический анализ позволяет обнаруживать неизвестные ранее вирусы. Первый эвристический анализатор появился в начале 1990-х гг. Практически все современные антивирусные программы реализуют собственные методы эвристического анализа. В качестве примера такой программы можно указать сканер McAffee VirusScan. Антивирусный мониторинг. Суть данного метода состоит в том, что в памяти компьютера постоянно находится антивирусная программа, осуществляющая мониторинг всех подозрительных действий, выполняемых другими программами. Антивирусный мониторинг позволяет проверять все запускаемые программы, создаваемые, открываемые и сохраняемые документы, файлы программ и документов, полученные через Интернет или скопированные на жесткий диск с дискеты либо компакт диска. Антивирусный монитор сообщит пользователю, если какая-либо программа попытается выполнить потенциально опасное действие. Пример такой программы — сторож Spider Guard, который входит в комплект сканера Doctor Web и выполняет функции антивирусного монитора. Метод обнаружения изменений. При реализации этого метода антивирусные программы, называемые ревизорами диска, запоминают предварительно характеристики всех областей диска, которые могут подвергнуться нападению, а затем периодически проверяют их. Заражая компьютер, вирус изменяет содержимое жесткого диска: например, дописывает свой код в файл программы или документа, добавляет вызов программы-вируса в файл AUTOEXEC.BAT, изменяет загрузочный сектор, создает файл-спутник. При сопоставлении значений характеристик областей диска антивирусная программа может обнаружить изменения, сделанные как известным, так и неизвестным вирусом. Встраивание антивирусов в BIOS компьютера. В системные платы компьютеров встраивают простейшие средства защиты от вирусов. Эти средства позволяют контролировать все обращения к главной загрузочной записи жестких дисков, а также к загрузочным секторам дисков и дискет. Если какая-либо программа пытается изменить содержимое загрузочных секторов, срабатывает защита, и пользователь получает соответствующее предупреждение. Однако эта защита не очень надежна. Известны вирусы, которые пытаются отключить антивирусный контроль BIOS, изменяя некоторые ячейки в энергонезависимой памяти (CMOS-памяти) компьютера. Виды антивирусных программ Различают следующие виды антивирусных программ [85]: программы-фаги (сканеры); программы-ревизоры (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 винчестера. Программы-иммунизаторы — это программы, предотвращающие заражение файлов. Иммунизаторы делятся на два типа: иммунизаторы, сообщающие о заражении, и иммунизаторы, блокирующие заражение каким-либо типом вируса. Иммунизаторы первого типа обычно записываются в конец файлов и при запуске файла каждый раз проверяют его на изменение. У таких иммунизаторов имеется один серьезный недостаток — они не могут обнаружить заражение стелс-вирусом. Поэтому этот тип иммунизаторов практически не используются в настоящее время. Иммунизатор второго типа защищает систему от поражения вирусом определенного вида. Он модифицирует программу или диск таким образом, чтобы это не отражалось на их работе, вирус при этом воспринимает их зараженными и поэтому не внедряется. Такой тип иммунизации не может быть универсальным, поскольку нельзя иммунизировать файлы от всех известных вирусов. Однако в качестве полумеры подобные иммунизаторы могут вполне надежно защитить компьютер от нового неизвестного вируса вплоть до того момента, когда он будет определяться антивирусными сканерами. Критерии качества антивирусной программы Качество антивирусной программы можно оценить по нескольким критериям [85]: надежность и удобство работы — отсутствие «зависаний» антивируса и прочих технических проблем, требующих от пользователя специальной подготовки; качество обнаружения вирусов всех распространенных типов, сканирование внутри файлов-документов/таблиц (MS Word, Excel, Office), упакованных и архивированных файлов; возможность лечения зараженных объектов; существование версий антивируса под все популярные платформы (DOS, Windows NT, Novell NetWare, OS/2, Alpha, Linux и т. д.); наличие режимов сканирования «по запросу» и «на лету», существование серверных версий с возможностью администрирования сети; • скорость работы и другие полезные особенности. Надежность работы антивируса является наиболее важным критерием, поскольку даже «абсолютный» антивирус может оказаться бесполезным, если он не в состоянии довести процесс сканирования до конца, т. е. «повиснет» и не проверит часть дисков и файлов и, в результате, вирус останется незамеченным в системе. Качество обнаружения вирусов стоит на следующем месте по вполне естественной причине. Главная обязанность антивирусных программ — обнаруживать 100 % вирусов и лечить их. При этом антивирусная программа не должна иметь высокий уровень ложных срабатываний. Следующий по важности критерий — многоплатформенность антивируса, поскольку только программа, рассчитанная на конкретную ОС, может полностью использовать функции этой системы. Моментальная и принудительная проверка приходящих на компьютер файлов и вставляемых дискет - это практически 100%-я гарантия от заражения вирусом. Если в серверном варианте антивируса присутствует возможность антивирусного администрирования сети, то его ценность еще более возрастает. Скорость работы также является важным критерием качества антивирусной программы. В разных антивирусах используются различные алгоритмы поиска вирусов, один алгоритм может оказаться более быстрым и качественным, другой — медленным и менее качественным. Профилактические меры защиты Своевременное обнаружение зараженных вирусами файлов и дисков, полное уничтожение обнаруженных вирусов на каждом компьютере позволяют избежать распространения вирусной эпидемии на другие компьютеры. Абсолютно надежных программ, гарантирующих обнаружение и уничтожение любого вируса, не существует. Важным методом борьбы с компьютерными вирусами является своевременная профилактика. Чтобы существенно уменьшить вероятность заражения вирусом и обеспечить надежное хранение информации на дисках, необходимо выполнять следующие меры профилактики: применять только лицензионное ПО; оснастить компьютер современными антивирусными программами и постоянно возобновлять их версии; всегда проверять дискеты на наличие вирусов (запуская антивирусные программы своего компьютера) перед считыванием с них информации, записанной на других компьютерах; при переносе на свой компьютер файлов в архивированном виде проверять их сразу же после разархивации на жестком диске, ограничивая область проверки только вновь записанными файлами; периодически проверять на наличие вирусов жесткие диски компьютера, запуская антивирусные программы для тестирования файлов, памяти и системных областей дисков с защищенной от записи дискеты, предварительно загрузив ОС с защищенной от записи системной дискеты; всегда защищать свои дискеты от записи при работе на других компьютерах, если на них не будет производиться запись информации; обязательно делать на дискетах архивные копии ценной для пользователя информации; не оставлять в кармане дисковода А дискеты при включении или перезагрузке ОС, чтобы исключить заражение компьютера загрузочными вирусами; использовать антивирусные программы для входного контроля всех исполняемых файлов, получаемых из компьютерных сетей. Антивирусные программные комплексы У каждого типа антивирусных программ есть свои достоинства и недостатки. Только комплексное использование нескольких типов антивирусных программ может привести к приемлемому результату. Программные средства защиты представляют собой комплекс алгоритмов и программ, нацеленных на контроль и исключение проникновения несанкционированной информации. Существует спектр программных комплексов, предназначенных для профилактики заражения вирусом, обнаружения и уничтожения вирусов [9]. Они обладают универсальностью, гибкостью, адаптивностью и др. Перечислим наиболее распространенные антивирусные программные комплексы: антивирус Касперского (AVP) Personal; антивирус Dr.Web; антивирус Symantec Antivirus; антивирус McAfee; антивирус AntiVir Personal Edition. |