Технологии защиты от вредоносных программ и спама
РАЗДЕЛ 6
ТЕХНОЛОГИИ ЗАЩИТЫ ОТ ВРЕДОНОСНЫХ ПРОГРАММ И СПАМА
Вредоносные программы и проблемы антивирусной защиты
Вредоносные программы классифицируют по способу проникновения, размножения и типу вредоносной нагрузки.
В соответствии со способами распространения и вредоносной нагрузки все вредоносные программы можно разделить на четыре основных типа:
· компьютерные вирусы;
· черви;
· трояны;
· другие вредоносные программы и нежелательная корреспонденция.
В настоящее время вредоносные программы – это не вирусы, хотя такие термины как «вирус» и «заражение вирусом» применяются по отношению ко всем вредоносным программам. Поэтому далее под термином «вирус» будет пониматься и вредоносная программа.
Компьютерные вирусы
Существует много определений компьютерного вируса. Исторически первое определение было дано в 1984 году Фредом Коэном: «Компьютерный вирус – это программа, которая может заражать другие программы, модифицируя их посредством включения в них своей, возможно, измененной копии, причем последняя сохраняет способность к дальнейшему размножению». Ключевыми понятиями в этом определении компьютерного вируса являются:
· способность вируса к саморазмножению;
· способность вируса к модификации вычислительного процесса.
В настоящее время под компьютерным вирусом принято понимать программный код, обладающий следующими свойствами:
· способность к созданию собственных копий, необязательно совпадающих с оригиналом, но обладающих свойствами оригинала (самовоспроизведение);
· наличие механизма, обеспечивающего внедрение создаваемых копий в исполняемые объекты вычислительной системы;
· деструктивность;
· скрытность действий в вычислительной среде.
Основная цель любого компьютерного вируса – это распространение на другие ресурсы компьютера и выполнение специальных действий при определенных событиях или действиях пользователя.
Жизненный цикл любого компьютерного вируса можно разделить на четыре этапа:
· проникновение на чужой компьютер;
· активация;
· поиск объектов для заражения;
· подготовка и внедрение копий.
Путями проникновения вируса могут служить все каналы, по которым можно скопировать файл. Однако, в отличие от червей, вирусы не используют сетевые ресурсы – заражение вирусом возможно, только если пользователь сам каким-либо образом его активировал, например, скопировал или получил по почте зараженный файл и сам его запустил или просто открыл.
После проникновения следует активация вируса. Это может происходить разными путями (рис. 6.1.), и в зависимости от выбранного метода вирусы делятся на:
Рис. 6.1. Классификация компьютерных вирусов по среде обитания
· загрузочные вирусы – заражают загрузочные сектора жестких дисков и мобильных носителей. Загрузочные вирусы замещают код программы, получающей управление при загрузке системы. В результате при перезагрузке управление передается вирусу. При этом оригинальный boot-сектор обычно переносится в какой-либо другой сектор диска;
· файловые вирусы – либо внедряются в выполняемые файлы различными способами, либо создают файлы-двойники (компаньон-вирусы), либо используют особенности организации файловой системы (link-вирусы) заражают файлы;
· макровирусы – заражают макропрограммы и файлы документов современных систем обработки информации, в частности файлы-документы и электронные таблицы популярных редакторов Microsoft Word, Microsoft Excel и др. Для размножения макровирусы используют возможности макроязыков и при их помощи переносят себя из одного зараженного файла в другие. Вирусы этого типа получают управление при открытии зараженного файла и инфицируют файлы, к которым впоследствии идет обращение из соответствующего офисного приложения.
Дополнительным признаком отличия вирусов от других вредоносных программ служит их привязанность к операционной системе или программной оболочке, для которой каждый конкретный вирус пишется. Так, вирус для Microsoft Windows не будет работать и заражать файлы на компьютере с другой установленной операционной системой UNIX.
При подготовке своих копий вирусы могут применять для маскировки разные технологии:
· шифрование – в этом случае вирус состоит из двух частей: сам вирус и шифратор;
· метаморфизм – при применении этого метода вирусные копии создаются путем замены некоторых команд на аналогичные, перестановки местами частей кода, вставки между ними дополнительных, обычно ничего не делающих команд;
· полиморфные – используют обе технологии маскировки.
Жизненный цикл вирусов
У компьютерных вирусов можно выделить две основные стадии жизненного цикла – хранение и исполнение.
Стадия хранения соответствует периоду, когда вирус просто хранится на диске совместно с объектом, в который он внедрен. На этой стадии вирус является наиболее уязвимым со стороны антивирусного программного обеспечения, так как он не активен и не может контролировать работу операционной системы с целью самозащиты.
Некоторые вирусы на этой стадии используют механизмы защиты своего кода от обнаружения. Наиболее распространенным способом защиты является шифрование большей части тела вируса. Его использование совместно с механизмами мутации кода делает невозможным выделение сигнатур – устойчивых характеристических фрагментов кода вирусов.
Стадия исполнения компьютерных вирусов, как правило, включает пять этапов:
1. Загрузка вируса в память.
2. Поиск жертвы.
3. Заражение найденной жертвы.
4. Выполнение деструктивных функций.
5. Передача управления программе-носителю вируса.
Загрузка вируса. Загрузка вируса в память осуществляется операционной системой одновременно с загрузкой исполняемого объекта, в который вирус внедрен. В простейшем случае (когда вирус при хранении никак не скрывается) процесс загрузки вируса представляет собой копирование с диска в оперативную память, сопровождаемое иногда настройкой адресов, после чего происходит передача управления коду тела вируса. Эти действия выполняются операционной системой, а сам вирус находится в пассивном состоянии. В случае, когда вирус при хранении скрывается тем или иным способом, вирус может после получения управления выполнять дополнительные действия, которые необходимы для его функционирования.
Для обеспечения защиты на стадии хранения некоторые вирусы используют достаточно сложные алгоритмы. К таким усложнениям можно отнести шифрование основного тела вируса. Однако использование только шифрования является полумерой, так как в открытом виде должна храниться та часть вируса, которая обеспечивает расшифрование вируса на стадии загрузки. Для того, чтобы избежать подобной ситуации разработчики вирусов используют механизмы «мутаций» кода расшифровщика. Суть этого метода состоит в том, что при внедрении в объект копии вируса часть ее кода, относящаяся к расшифровщику, модифицируется так, чтобы возникли текстуальные различия с оригиналом, но результаты работы остались неизменными. Обычно применяют следующие приемы модификации кода:
· изменение порядка независимых инструкций;
· замена некоторых инструкций на эквивалентные по результату работы;
· замена используемых в инструкциях регистров на другие;
· введение случайным образом зашумляющих инструкций.
Вирусы, использующие подобные механизмы мутации кода, получили название полиморфных вирусов. При совместном использовании механизмов шифрования и мутации внедряемая копия вируса окажется отличной от оригинала, так как одна ее часть будет изменена, а другая окажется зашифрованной на ключе, сгенерированном специально для этой копии вируса.
Полиморфные вирусы (polymorphic) – это трудно обнаруживаемые вирусы, не имеющие сигнатур, то есть не содержащие ни одного постоянного участка кода. В большинстве случаев два образца одного и того же полиморфного вируса не будут иметь ни одного совпадения. Полиморфизм встречается в вирусах всех типов – файловых, загрузочных и макровирусах. Дополнительные действия, которые выполняют полиморфные вирусы на этапе загрузки, состоят в расшифровании основного тела вируса.
Стелс-вирусы (Stealth) способны скрывать свое присутствие в системе и избегать обнаружения антивирусными программами. Эти вирусы могут перехватывать запросы операционной системы на чтение/запись зараженных файлов, при этом они либо временно лечат эти файлы, либо «подставляют» вместо себя незараженные участки информации, эмулируя чистоту зараженных файлов. В случае макровирусов наиболее популярным способом является запрет вызовов меню просмотра макросов.
Резидентные вирусы при инфицировании компьютера оставляют в оперативной памяти свою резидентную часть, которая затем перехватывает обращения операционной системы к объектам заражения и внедряется в них. Резидентные вирусы находятся в памяти и являются активными вплоть до выключения компьютера или перезагрузки операционной системы.
Резидентными можно считать макровирусы, так как для большинства из них выполняются основные требования – постоянное присутствие в памяти компьютера на все время работы зараженного редактора и перехват функций, используемых при работе с документами. При этом роль операционной системы берет на себя редактор, а понятие «перезагрузка операционной системы» трактуется как выход из редактора.
Нерезидентные вирусы не заражают память компьютера и сохраняют активность ограниченное время. Некоторые вирусы оставляют в оперативной памяти небольшие резидентные программы, которые не распространяют вирус. Такие вирусы считаются нерезидентными.
Поиск жертвы. По способу поиска жертвы вирусы можно разделить на два класса:
· вирусы, осуществляющие активный поиск с использованием функций операционной системы. Примером являются файловые вирусы, использующие механизм поиска исполняемых файлов в текущем каталоге.
· вирусы, реализующие пассивный механизм поиска, то есть вирусы, расставляющие «ловушки» для программных файлов. Как правило, файловые вирусы устраивают такие ловушки путем перехвата функции ехес операционной системы, а макровирусы – с помощью перехвата команд типа Save as из меню File.
Заражение жертвы. В простейшем случае заражение представляет собой самокопирование кода вируса в выбранный в качестве жертвы объект.
По способу инфицирования жертвы вирусы можно разделить на:
· вирусы, которые не внедряют свой код непосредственно в программный файл, а изменяют имя файла и создают новый, содержащий тело вируса.
· вирусы, внедряющиеся непосредственно в файлы-жертвы.
Возможны следующие способы внедрения:
1. Внедрение в начало файла – при внедрении данным способом вирусы могут либо производить конкатенацию собственного кода и кода программы-жертвы, либо переписывать начальный фрагмент файла в конец, освобождая место для себя.
2. Внедрение в конец файла – передача управления коду вирусов обеспечивается модификацией первых команд программы (СОМ) или заголовка файла (EXE).
3. Внедрение в середину файла – этот способ используется вирусами применительно к файлам с заранее известной структурой (например, к файлу COMMAND.COM) или же к файлам, содержащим последовательность байтов с одинаковыми значениями, длина которой достаточна для размещения вируса. Во втором случае вирусы архивируют найденную последовательность и замещают ее собственным кодом. Помимо этого вирусы могут внедряться в середину файла, освобождая себе место путем переноса фрагментов кода программы в конец файла или же «раздвигая» файл.
Для загрузочных вирусов особенности этапа заражения определяются особенностями объектов, в которые они внедряются – загрузочные сектора гибких и жестких дисков, главная загрузочная запись (MBR) жестких дисков. Основной проблемой является ограниченный размер этих объектов. В связи с этим вирусам необходимо сохранить на диске ту свою часть, которая не уместилась на месте жертвы, а также перенести оригинальный код инфицированного загрузчика. Для этой цели используются следующие методы:
1. Используются псевдосбойные сектора – вирус переносит необходимый код в свободные сектора диска и помечает их как сбойные, защищая себя и загрузчик от перезаписи.
2. Используются редко применяемые сектора в конце раздела – вирус переносит необходимый код в свободные сектора в конце диска. С точки зрения операционной системы эти сектора выглядят как свободные.
3. Используются зарезервированные области разделов – вирус переносит необходимый код в области диска, зарезервированные под нужды операционной системы, а потому – неиспользуемые.
4. Короткие вирусы могут уместиться в один сектор загрузчика и полностью взять на себя функции MBR или загрузочного сектора.
Для макровирусов процесс заражения сводится к сохранению вирусного макрокода в выбранном документе-жертве. Для некоторых систем обработки информации это сделать не совсем просто, так как формат файлов документов может не предусматривать возможность сохранения макропрограмм. Так в документах Microsoft Office Word для сохранения макропрограмм необходимо установить тип файла – Документ Word с поддержкой макросов. Поэтому для своего сохранения вирус должен контролировать обработку команды Сохранить как…, которая вызывается всякий раз, когда происходит первое сохранение документа на диск. Этот контроль необходим, чтобы в момент сохранения изменить тип файла – Документ Word (имеющего по умолчанию расширение .docx) на тип файла – Документ Word с поддержкой макросов (имеет расширение .docm). В этом случае на диске окажутся и макрокод вируса, и содержимое документа.
Выполнение деструктивных функций. Вирусы могут выполнять помимо самокопирования деструктивные функции.
По деструктивным возможностям вирусы можно разделить на:
· безвредные;
· неопасные;
· опасные;
· очень опасные.
Безвредные вирусы – это вирусы, в которых реализован только механизм самораспространения. Они не наносят вред системе, за исключением расхода свободной памяти на диске в результате своего распространения.
Неопасные вирусы – это вирусы, присутствие которых в системе связано с различными эффектами (звуковыми, видео) и уменьшением свободной памяти на диске, но которые не наносят вред программам и данным.
Опасные вирусы – это вирусы, которые могут привести к серьезным сбоям в работе компьютера. Последствием сбоя может стать разрушение программ и данных.
Очень опасные вирусы – это вирусы, в алгоритм работы которых заведомо заложены процедуры, непосредственно приводящие к разрушению программ и данных, а также к стиранию информации, записанной в системных областях памяти и необходимой для работы компьютера.
На степень опасности вирусов оказывает существенное влияния та среда, под управлением которой вирусы работают:
– вирусы, созданные для работы в MS-DOS, обладают практически неограниченными потенциальными возможностями;
– распространение вирусов под управлением Windows NT/2000 ограничивается системой разграничения доступа;
– возможности макровирусов напрямую определяются возможностями макроязыков, на которых они написаны. В частности, язык VBA позволяет создать мощные макровирусы, способные доставить пользователям серьезные неприятности.
Передача управления программе-носителю вируса.
Разрушающие вирусы не заботятся о том, чтобы при инфицировании программ сохранять их работоспособность, поэтому для них этот этап функционирования отсутствует.
Для неразрушающих вирусов этот этап связан с восстановлением в памяти программы в том виде, в котором она должна корректно исполняться, и передачей управления программе-носителю вируса.
Сетевые черви
Сетевые черви – это самостоятельные вредоносные программы. Главной их особенностью является способность к саморазмножению, однако при этом они способны к самостоятельному распространению с использованием сетевых каналов.
В зависимости от способа проникновения в систему черви делятся на:
· сетевые черви – используют для распространения локальные сети и Интернет;
· почтовые черви – распространяются с помощью почтовых программ;
· IM-черви – используют программы обмена сообщениями в режиме реального времени;
· IRC-черви – распространяются через чаты IRC (Internet Relay Chat);
· Р2Р-черви распространяются при помощи пиринговых файлообменных сетей Р2Р (Peer-to-Peer – равный с равным).
После проникновения на компьютер червь должен активироваться –запуститься. По методу активации все черви можно разделить на 2-большие группы: на тех, которые требуют активного участия пользователя, и те кто его не требует.
Отличительная особенность червей из первой группы – это использование обманных методов. Например, получатель инфицированного файла вводится заблуждение текстом полученного письма и добровольно открывает вложение с почтовым червем, тем самым его активируя.
Черви из второй группы используют ошибки в настройке или бреши в системе безопасности операционной системы.
Сетевые черви могут кооперироваться с вирусами – такая пара способна самостоятельно распространяться по сети (благодаря червю) и в то же время заражать ресурсы компьютера (функции вируса).
Троянские программы
Троянская программа имеет только одно назначение – нанести ущерб целевому компьютеру пут т выполнения не санкционированных пользователем действий: кражи, порчи или удаления конфиденциальных данных, нарушения работоспособности компьютера или использования его ресурсов в неблаговидных целях.
В отличие от вирусов и червей, трояны сами не размножаются. Жизненный цикл троянов состоит всего из трех этапов:
· проникновение в систему;
· активация;
· выполнение вредоносных действий.
Некоторые трояны способны к самостоятельному преодолению систем защиты компьютерной системы с целью проникновения в нее. В этом случае обычно применяется маскировка, когда троян выдает себя за полезное приложение, которое пользователь самостоятельно копирует себе на диск и запускает. При этом программа действительно может быть полезна, но наряду с основными функциями она может выполнять действия, свойственные трояну. Однако в большинстве случаев трояны проникают на компьютеры вместе с вирусом либо червем.
После проникновения на компьютер трояну активируется либо с помощью действий пользователя, либо через уязвимости в программном обеспечении самостоятельно заражает систему.
Трояны классифицируются по типу вредоносной нагрузки:
· похитители паролей – предназначены для кражи паролей путем поиска на зараженном компьютере специальных файлов, которые их содержат;
· утилиты скрытого удаленного управления – это трояны, которые обеспечивают несанкционированный удаленный контроль над инфицированным компьютером. Обычно это возможность скрыто загружать, отсылать, запускать или уничтожать файлы;
· логические бомбы – характеризуются способностью при срабатывании заложенных в них условий (в конкретный день, время суток, в ответ на определенное действие пользователя или команды извне) выполнять какое-либо действие, например удаление файлов;
· клавиатурные шпионы – постоянно находясь в оперативной памяти, записывают все данные, поступающие от клавиатуры, с целью последующей их передачи своему автору;
· анонимные SMTP- и прокси-серверы – такие трояны на зараженном компьютере организуют несанкционированную отправку электронной почты, что часто используется для рассылки спама;
· утилиты дозвона – в скрытом от пользователя режиме инициируют подключение к платным сервисам Интернета;
· модификаторы настроек браузера – меняют стартовую страницу в браузере, страницу поиска или еще какие-либо настройки, открывают дополнительные окна, имитируют нажатия на рекламные баннеры и т.п.;
· организаторы DDoS-атак – это класс троянов наносит вред другим, удаленным компьютерам и сетям, при этом не нарушает работоспособности инфицированного компьютера.
Антивирусные программы
Для защиты от компьютерных вирусов могут использоваться следующие методы и средства:
· общие методы и средства защиты информации;
· специализированные программы для защиты от вирусов;
· профилактические меры, позволяющие уменьшить вероятность заражения вирусами.
Общие средства защиты информации полезны не только для защиты от вирусов. Они используются также как страховка от физической порчи дисков, неправильно работающих программ или ошибочных действий пользователя. Существует две основных разновидности этих средств:
· средства копирования информации – применяются для создания копий файлов и системных областей дисков;
· средства разграничения доступа – предотвращают несанкционированное использование информации, в частности обеспечивают защиту от изменений программ и данных вирусами, неправильно работающими программами и ошибочными действиями пользователей.
При заражении компьютера вирусом важно его обнаружить. К внешним признакам проявления деятельности вирусов можно отнести следующие:
· вывод на экран непредусмотренных сообщений или изображений;
· подача непредусмотренных звуковых сигналов;
· изменение даты и времени модификации файлов;
· исчезновение файлов и каталогов или искажение их содержимого;
· частые зависания и сбои в работе компьютера;
· медленная работа компьютера;
· невозможность загрузки операционной системы;
· существенное уменьшение размера свободной оперативной памяти;
· прекращение работы или неправильная работа ранее успешно функционировавших программ;
· изменение размеров файлов;
· неожиданное значительное увеличение количества файлов на диске.
Перечисленные явления необязательно вызываются действиями вируса, они могут быть следствием и других причин. Поэтому правильная диагностика состояния компьютера всегда затруднена и обычно требует привлечения специализированных программ.
Виды антивирусных программ
Различают следующие виды антивирусных программ:
· программы-фаги (сканеры);
· программы-ревизоры (CRC-сканеры);
· программы-блокировщики;
· программы-иммунизаторы.
Программы-фаги (сканеры) используют для обнаружения вирусов метод сравнения с эталоном, метод эвристического анализа и некоторые другие методы. Программы-фаги осуществляют поиск характерной для конкретного вируса маски путем сканирования содержимого оперативной памяти и файлов и при обнаружении выдают соответствующее сообщение. Программы-фаги не только находят зараженные вирусами файлы, но и лечат их, то есть удаляют из файла тело программы- вируса, возвращая файлы в исходное состояние. В начале своей работы программы-фаги сканируют оперативную память, обнаруживают вирусы и уничтожают их и только затем переходят к лечению файлов. Среди фагов выделяют полифаги, то есть программы-фаги, предназначенные для поиска и уничтожения большого количества вирусов.
Программы-фаги можно разделить на две категории: универсальные и специализированные сканеры. Универсальные сканеры рассчитаны на поиск и обезвреживание всех типов вирусов вне зависимости от операционной системы, на работу в которой рассчитан сканер. Специализированные сканеры предназначены для обезвреживания ограниченного числа вирусов или только одного их класса, например макровирусов. Специализированные сканеры, рассчитанные только на макровирусы, оказываются более удобным и надежным решением для защиты систем документооборота в средах MS Word и MS Excel.
Программы-фаги делятся также на резидентные мониторы, производящие сканирование «налету», и нерезидентные сканеры, обеспечивающие проверку системы только по запросу. Резидентные мониторы обеспечивают более надежную защиту системы, поскольку они немедленно реагируют на появление вируса, в то время как нерезидентный сканер способен опознать вирус только во время своего очередного запуска.
К достоинствам программ-фагов всех типов относится их универсальность. К недостаткам программ-фагов следует отнести относительно небольшую скорость поиска вирусов и относительно большие размеры антивирусных баз.
Наиболее известные из программ-фагов: Aidstest, Scan, Norton AntiVirus, Dr. Web. Учитывая, что постоянно появляются новые вирусы, программы-фаги быстро устаревают и требуется регулярное обновление версий.
Программы-ревизоры (CRC-сканеры) используют для поиска вирусов метод обнаружения изменений. Принцип работы CRC-сканеров основан на подсчете CRC-сумм (кодов циклического контроля) для присутствующих на диске файлов/системных секторов. Затем в базе данных антивируса сохраняются эти CRC- суммы, а также некоторая другая информация: длины файлов, даты их последней модификации и другие параметры. При последующем запуске CRC-сканеры сверяют данные, содержащиеся в базе данных, с реально подсчитанными значениями. Если информация о файле, записанная в базе данных, не совпадает с реальными значениями, то CRC-сканеры сигнализируют о том, что файл был изменен или заражен вирусом. Как правило, сравнение состояний производят сразу после загрузки операционной системы.
CRC-сканеры, использующие антистелс-алгоритмы, являются довольно мощным средством против вирусов: практически 100% вирусов оказываются обнаруженными почти сразу после их появления на компьютере. Однако у CRC-сканеров имеется недостаток, заметно снижающий их эффективность. CRC-сканеры не могут определить вирус в новых файлах (в электронной почте, на дискетах, в файлах, восстанавливаемых из резервной копии или распаковываемых из архива), поскольку в их базах данных отсутствует информация об этих файлах.
К числу CRC-сканеров относится широко распространенная в России программа Adinf (Advanced Diskinfoscope) и ревизор AVP Inspector. Вместе с ADinf применяется лечащий модуль ADinf Cure Module (ADinfExt), который использует собранную ранее информацию о файлах для их восстановления после поражения неизвестными вирусами. В состав ревизора AVP Inspector также входит лечащий модуль, способный удалять вирусы.
Программы-блокировщики реализуют метод антивирусного мониторинга. Антивирусные блокировщики – это резидентные программы, перехватывающие вирусоопасные ситуации и сообщающие об этом пользователю. К вирусоопасным ситуациям относятся вызовы на открытие для записи в выполняемые файлы, запись в загрузочные сектора дисков, попытки программ остаться в памяти резидентно и т.п., то есть вызовы, которые характерны для вирусов в моменты их размножения.
При попытке какой-либо программы произвести указанные действия блокировщик посылает пользователю сообщение и предлагает запретить соответствующее действие. К достоинствам блокировщиков относится их способность обнаруживать и останавливать вирус на самой ранней стадии его размножения, что бывает особенно полезно в случаях, когда регулярно появляется давно известный вирус. Однако они не лечат файлы и диски. Для уничтожения вирусов требуется применить другие программы, например фаги. К недостаткам блокировщиков можно отнести существование путей обхода их защиты и их «назойливость» (например, они постоянно выдают предупреждение о любой попытке копирования исполняемого файла).
Следует отметить, что созданы антивирусные блокировщики, выполненные в виде аппаратных компонентов компьютера. Наиболее распространенной является встроенная в BIOS защита от записи в MBR жесткого диска.
Программы-иммунизаторы – это программы, предотвращающие заражение файлов. Иммунизаторы делятся на два типа: сообщающие о заражении и блокирующие заражение каким-либо типом вируса. Иммунизаторы первого типа обычно записываются в конец файлов и при запуске файла каждый раз проверяют его на изменение. У таких иммунизаторов имеется один серьезный недостаток: они не могут обнаружить заражение стелс-вирусом. Поэтому этот тип иммунизаторов практически не используется в настоящее время.
Иммунизатор второго типа защищает систему от поражения вирусом определенного вида. Этот иммунизатор модифицирует программу или диск таким образом, чтобы это не отражалось на их работе, а вирус будет воспринимать их зараженными и поэтому не внедрится. Такой тип иммунизации не может быть универсальным, поскольку нельзя иммунизировать файлы от всех известных вирусов. Однако подобные иммунизаторы могут в качестве полумеры вполне надежно защитить компьютер от нового неизвестного вируса вплоть до того момента, когда он будет определяться антивирусными сканерами.
Режимы работы антивируса
Надежность антивирусной защиты обеспечивается не только способностью отражать любые вирусные атаки. Другое не менее важное свойство защиты – ее непрерывность. Это означает, что антивирус должен начинать работу по возможности до того, как вирусы смогут заразить только что включенный компьютер, и выключаться только после завершения работы всех программ.
Однако, с другой стороны, пользователь должен иметь возможность в любой момент запросить максимум ресурсов компьютера для решения своей прикладной задачи и антивирусная защита не должна ему мешать это сделать. Оптимальный выход в этой ситуации – введение двух различных режимов работы антивирусных средств:
· тщательная проверка на наличие вирусов по запросу пользователя.
· непрерывная проверка на наличие вирусов с небольшой функциональностью в режиме реального времени;
Проверка в режиме реального времени. Проверка в режиме реального времени обеспечивает непрерывность работы антивирусной защиты. Это реализуется с помощью обязательной проверки всех действий, совершаемых другими программами и самим пользователем, на предмет вредоносности вне зависимости от их исходного расположения. Также проверке подвергаются все косвенные действия через третьи программы. Режим постоянной проверки защиты системы от заражения должен быть включен с момента начала загрузки операционной системы и выключаться только в последнюю очередь.
Проверка по требованию. В некоторых случаях наличия постоянно работающей проверки в режиме реального времени может быть недостаточно. Допустим, что на компьютер был скопирован зараженный файл, исключенный из постоянной проверки ввиду больших размеров, и, следовательно, вирус в нем обнаружен не был. Если этот файл на рассматриваемом компьютере запускаться не будет, то вирус может проявить себя только после пересылки его на другой компьютер. Для исключения подобных случаев используется второй режим работы антивируса – проверка по требованию.
Для такого режима пользователь обычно сам указывает, какие файлы, каталоги или области диска необходимо проверить, и время, когда нужно произвести такую проверку, – в виде расписания или разового запуска вручную. Рекомендуется проверять все чужие внешние носители информации каждый раз перед чтением информации с них, а также весь свой жесткий диск не реже одного раза в неделю.
Тестирование работы антивируса. После того как антивирус установлен и настроен, необходимо убедиться, что все сделано правильно и антивирусная защита работает.
Использовать для тестирования настоящие вирусы крайне опасно. Если пользователь неправильно выполнил установку или настройку антивируса, то в процессе такого тестирования он может заразить свой компьютер, потеряв в результате данные или став источником заражения для других компьютеров.
Нужен такой способ тестирования антивирусов, который был бы безопасным, но давал четкий ответ на вопрос, корректно ли работает антивирус.
Учитывая важность проблемы, организация EICAR при участии антивирусных компаний создала специальный тестовый файл, названный по имени организации – eicar.com.
Eicar.com – это исполняемый файл в СОМ-формате, который не выполняет никаких вредоносных действий, а просто выводит на экран строку «EICAR-STANDARD-ANTIVIRUS-TEST-FILE!».
Получить eicar.com можно на сайте организации EICAR по адресу http://www. eicar.org/anti_virus_test_file.htm. Файл eicar.com позволяет протестировать, как антивирус справляется с файловыми вирусами и близкими по структуре вредоносными программами – большинством троянов, некоторыми червями.
Обновления ПО
Как известно, вирусы нередко проникают на компьютеры через уязвимости в операционной системе или установленных программах. Причем чаще всего вредоносные программы используют уязвимости операционной системы Microsoft Windows, пакета приложений Microsoft Office, браузера Internet Explorer и почтовой программы Outlook Express.
Чтобы не дать вирусам возможности использовать уязвимость, операционную систему и программное обеспечение нужно обновлять. Производители, как правило, раньше вирусописателей узнают о «дырах» в своих программах и заблаговременно выпускают для них исправления.
Для загрузки и установки обновлений в большинстве программ и систем есть встроенные средства. Например, в Windows XP и Windows Vista имеется специальный компонент Автоматическое обновление, параметры работы которого настраиваются в окне Свойства системы.
В последнее время вредоносные программы, использующие уязвимости в Windows и прикладных программах, появляются вскоре после выхода исправлений к этим уязвимостям. В некоторых случаях вредоносные программы появляются даже раньше исправлений. Поэтому необходимо своевременно устанавливать исправления, используя для этого средства автоматической установки.
Брандмауэры
Для того чтобы удаленно воспользоваться уязвимостью в программном обеспечении или операционной системе, нужно установить соединение и передать специально сформированный пакет данных. От таких попыток проникновения и заражения можно защититься путем запрета определенных соединений. Задачу контроля соединений успешно решают программы-брандмауэры (межсетевые экраны).
Брандмауэр – это программа, которая следит за сетевыми соединениями и принимает решение о разрешении или запрещении новых соединений на основании заданного набора правил.
Правило брандмауэра задается несколькими атрибутами:
· приложение – определяет программу, к которой относится правило, так что одни и те же действия могут быть разрешены одним программам и запрещены другим. Например, получать и отправлять почту разумно разрешить только почтовому клиенту;
· протокол – определяет протокол, используемый для передачи данных. Обычно можно выбрать между двумя протоколами – TCP и UDP;
· адреса – определяет, для соединений с каких адресов или на какие адреса будет действовать правило;
· порт – задает номера портов, на которые распространяется правило;
· направление – позволяет отдельно контролировать входящие и исходящие соединения;
· действие – определяет реакцию на обнаружение соединения, соответствующего остальным параметрам. Реакция может быть следующей: разрешить, запретить или спросить у пользователя.
Необязательно задавать конкретные значения всем атрибутам правила. Можно создать правило, которое будет запрещать входящие соединения на TCP-порт 111 для всех приложений или разрешать любые исходящие соединения для программы Internet Explorer.
Для борьбы с вирусами брандмауэры могут применяться следующим образом:
1. Брандмауэр можно успешно использовать для защиты от вредоносн