Принципы работы антивируса
Антивирус – программа, ищущая вирусы, трояны, червей, бэкдоры и прочее нежелательное ПО на компьютере пользователя. Как правило антивирусы разрабатываются для семейства ОС Windows, что как бы намекает на следующие особенности этой операционки: а) большую распространенность, б) большую уязвимость к атакам, в) большую перспективность рынка антивирусов из-за высокой коммерциализации, г) увы, малую компьютерную грамотность её пользователей.
Антивирусы бывают платные и бесплатные. Подробно о плюсах и минусах обоих категорий мы говорить здесь не будем, замечу только лишь, что все не так однозначно, как может показаться на первый взгляд.
Если посмотреть со стороны на работу антивируса, его самого можно легко принять за вирус, но только со знаком плюс. Методы работы антивируса – слежение за сетевым трафиком, прослушивание портов, контроль служб, модификация и удаление файлов, сбор статистики и отправка данных разработчику ПО, изрядное потребление вычислительных мощностей… Разве что вывода из строя оборудования не хватает! Разумеется, все это направлено во благо пользователя и во имя сохранения его данных, но общая картина по меньшей мере любопытна. Кстати, именно из-за этой особенности крайне не рекомендуется устанавливать на одну машину сразу два антивируса. Мало того, что это без танцев с бубном редко кому удастся, так и последствия их совместной «работы» могут быть самыми причудливыми, вплоть до летальных для ОС.
В массовом сознании накрепко засел миф, что многие вирусы созданы самими антивирусными компаниями, точки над «i» в этом вопросе расставит неплохая статья здесь.
Разные антивирусы по-разному борются с вредоносным ПО. Все антивирусы могут обнаруживать вирусы, но, к сожалению, не все эффективно лечить. В состав антивируса могут входить несколько модулей, в зависимости от релиза и того, на что способна контора-разработчик антивируса. Модули могут быть следующие: модуль поиска нежелательного ПО, модуль анализа подозрительного поведения программ (эвристический модуль), карантинный модуль для изоляции подозрительных файлов, модуль обновлений – для поддержания актуальности новым угрозам, модуль «исцеления» зараженных файлов, брандмауэр, он же файрвол, и некоторые другие.
Антивирус не является панацеей! Это один из множества «бойцов», брошенных в бой с угрозами безопасности в бесконечной войне за информацию, причем не самый сильный. Никакой антивирус не дает 100% защиты в силу особенностей его функционирования.
К сожалению, большая часть работы антивируса направлена на устранение последствий «негигиеничной» рискованной, а иногда, увы, попросту неграмотной работы пользователя в Интернете, с внешними носителями данных и неизвестными приложениями.
Основные методы борьбы с вирусами
Сигнатурный метод обнаружения
Наверняка вы встречались с сообщениями антивируса, например, Антивируса Касперского, о том, что антивирусные базы устарели и их необходимо обновить. О каких базах идет речь?
Антивирусная лаборатория – разработчик антивируса – выявляет вирус, анализирует его, и выявляет так называемую сигнатуру. Сигнатура вируса (сигнатура атаки) – особый цифровой признак вредоносной программы, по которому её можно «узнать» и однозначно определить. Эти сигнатуры вносятся в базу данных, чье обновление регулярно скачивает пользователь вручную или по расписанию. Сообщение от антивируса об устаревании базы вирусов сигнализирует об ослаблении защиты и повышении вероятности подхватить какой-нибудь «свежак».
Достоинства этого метода:
Недостатки:
Эвристические методы обнаружения
Многие антивирусные программы содержат в себе модуль так называемого эвристического поиска вредоносных программ. Суть метода в анализе поведения всех запускаемых программ. Если в процессе работы системы вдруг обнаруживается «подозрительное» поведение приложения, то есть программа вдруг начинает делать то, что раньше не делала, то срабатывает тревога и эвристический модуль сообщает пользователю о потенциальной угрозе.
Достоинства метода:
Недостатки метода:
Брандмауэр или файрвол
Брандмауэр предназначен для защиты от сетевых угроз – из локальной сети и Интернета.
Этот модуль далеко не всегда входит в стандартный набор антивируса, зачастую брандмауэр разрабатывается, поставляется и продается как отдельная программа.
Многие программы для соединения с удаленными компьютерами или серверами могут использовать небезопасные методы, оставляя «дырки» и уязвимости для проникновения извне.
Суть работы брандмауэра в контроле как входящего, так и исходящего трафика путем ограничения возможности устанавливать соединения с определенными удаленными ресурсами. Самый наглядный метод защиты – белые и черные списки сетевых ресурсов.
«Черный» список сетевых ресурсов – это список, например, сайтов, куда заходить нельзя, а «белый» список – это список ресурсов, куда только и можно заходить. Как нетрудно заметить, метод белого списка значительно более безопасен, но и сильно ограничивает возможности пользователя и программ.
Достоинства брандмауэра:
Недостатки брандмауэра:
Современные антивирусы: функции и возможности – Часть I: Антивирусный движок и фаервол
Современные продукты безопасности для ПК на базе ОС Windows являются комплексными приложениями. Количество предлагаемых специализированных функций может вводить в заблуждение конечного пользователя. Каждый вендор программного обеспечения стремится использовать свое собственное название для одной и той же функции, которая может встречаться и в других продуктах под другим названием. Путаница усиливается, когда становится ясно, что две различные опции довольно часто имеют одинаковое название в продуктах различных вендоров.
Эта серия статей предназначена разъяснить основы и действительную функциональность наиболее распространенных опций современных пакетов безопасности для ОС Windows. Мы собираемся описать, что вы можете ожидать от конкретного решения, будь то инструментарий для защиты от вредоносного ПО, безопасного серфинга по сети или предотвращения нежелательного вторжения. Используя собранную в статьях информацию, вы сможете сравнить предлагаемые наборы функции продуктов различных вендоров и лучше понимать, как работают пакеты безопасности.
В первой части серии статей, мы обсудим наиболее основные компоненты: антивирусный движок и фаервол (брандмауэр).
Содержание
Антивирусный движок (Anti-virus Engine)
Также называют: антивирусная защита реального времени, защита реального времени, мониторинг файлов, защита от вредоносного ПО

Методы определения
Антивирусный движок использует большое количество методов для обнаружения вредоносного ПО. Антивирусные программы содержат в себе обширную базу образцов вирусов, которые необходимо выявить во время сканирования. Каждый образец может либо определять уникальный вредоносный код или, что является более распространенным, описывать целое семейство вирусов. Основная особенность определения вирусов путем сравнивания с образцами в том, что антивирусная программа может определить только хорошо известный вирус, в то время как новые угрозы могут быть не обнаружены.
Метод эвристического анализа (heuristic-based detection) служит для выявления даже тех вирусов, для которых не существует образцов в базе антивирусной программы. Существует множество различных методов эвристического анализа. Основной принцип – идентифицировать программный код, который является крайне нежелательным для безопасных программных продуктов. Как бы то ни было, этот метод неточен и может вызвать множество ложных тревог. Хороший эвристический анализ отлично сбалансирован и вызывает минимальное количество ложных тревог при большой доле обнаружения вредоносного ПО. Чувствительность эвристики может быть настроена.
Виртуализация (создание виртуальной среды, Virtualization) или песочница (sandboxing) являются более совершенными методами определения угроз. Определенное время образцы кода исполняются в виртуальной машине или другой безопасной среде, откуда сканируемые образцы не могут выбраться и навредить операционной системе. Поведение исследуемого образца в песочнице находится под наблюдением и анализируется. Этот метод является удобным в том случае, когда вредоносное ПО запаковано неизвестным алгоритмом (это обычный способ оказаться неуязвимым для системы обнаружения для вируса), и оно не может быть распаковано антивирусной системой. Внутри виртуальной среды вирус распаковывает сам себя, как будто он исполняется на реальной системе и антивирусный движок может просканировать распакованный код и данные.
Одно из новейших достижений антивирусного инструментария – облачное сканирование (scanning in the cloud). Этот метод основан на том, что ПК ограничены в своих вычислительных способностях, в то время как антивирусные вендоры имеют возможность создания крупных систем с огромной производительностью. Компьютерная мощность необходима для выполнения сложного эвристического анализа, а также анализа с использованием виртуальных машин. Сервера вендоров могут работать с гораздо более объемными базами данных образцов вирусов по сравнению с ПК в режиме реального времени. При выполнении облачного сканирования единственным требованием является наличие быстрого и стабильного интернет подключения. Когда клиентской машине необходимо отсканировать файл, этот файл отправляется на сервер вендора посредством сетевого соединения и ожидается ответ. Тем временем, клиентская машина может выполнять свое собственное сканирование.
Типы сканирования и настройки
С точки зрения пользователя, существует несколько типов антивирусного сканирования, Которые зависят от событий, которые вызвали запуск процесса сканирования:
— Сканирование при доступе (On access scan) – сканирование, которое происходит, когда ресурс становится доступен. Например, когда файл копируется на жесткий диск или когда запускается исполняемый файл (запуск процесса сканирования в этом случае иногда называется сканирование при запуске). Только ресурс, к которому появляется доступ, подвергается сканированию в этом случае.
— Сканирование по требованию (On demand scan) провоцируется конечным пользователем – например, когда пользователь вызывает сканирование соответствующей командой меню в проводнике Windows. Такое сканирование также называется ручным. Только выбранные папки и файлы сканируются при этом способе.
— Сканирование по расписанию (Scheduled scan) является обычно повторяемым действием, которое обеспечивает постоянную проверку системы на предмет вредоносного ПО. Пользователь может настраивать время и частоту сканирования. Это сканирование обычно применяется для полного сканирования системы.
— Сканирование при загрузке (Startup scan) – сканирование, инициализируемое антивирусной программой при запуске ОС. Это сканирование происходит быстро и затрагивает папку автозагрузки, запускающиеся процессы, системную память, системные службы и загрузочный сектор.
Большинство продуктов позволяет пользователям настраивать каждый вид сканирования раздельно. Ниже собраны одни из самых основных параметров антивирусного сканирования:
Множество этих параметров могут влиять на скорость сканирования. Набор автоматических правил сканирования для быстрого, но в тоже время эффективного сканирования называется Интеллектуальное сканирование (Smart Scan) или Быстрое сканирование (Quick Scan). В противном случае, сканирование называется полным (Full Scan) или глубоким (Deep Scan). Мы также можем встретить сканирование переносных устройств, которое применяется для проверки оптических дисков, флоппи дисков, USB накопителей, флэш карт и схожих устройств. Пользовательское сканирование (Custom Scan) также доступно и является полностью настраиваемым конечным пользователем.
Специализированные сканеры
Руткит-сканирование (или антируткит-сканирование) это опция, которую предлагают некоторые антивирусные вендоры всвоих продуктах, т.к. руткиты стали чрезвычайно распространенными за последнее десятилетие. Руткит – особенный тип вредоносного ПО, который использует хитрые приемы для того, чтобы оставаться невидимым для пользователя и основных методов детектирования вируса. Он применяет внутренние механизмы ОС для того чтобы сделать себя недосягаемым. Борьба с руткитами требует от разработчиков антивирусного ПО создания особых способов обнаружения. Руткит-сканирование пытается найти расхождения в работе ОС, которые могут служить доказательством наличия руткита в системе. Некоторые реализации проверок на наличие руткитов основываются на постоянном мониторинге системе, в то время как другие реализации антируткитного инструментария могут вызываться по требованию.
Сканирование файлов Microsoft Office (или сканирование на предмет макровирусов) – опция, которая защищает пользователя от вредоносного кода внутри офисных документов. Внутренние принципы сканирования схожи с общими методами сканирования, они просто специализируются на поисках вируса внутри макросов. Опция сканирования может быть представлена как плагин для Microsoft Office.
Дополнительные связанные опции
Фаервол (Firewall)
Также называют: персональный фаервол, межсетевой экран, расширенный брандмауэр, двусторонний межсетевой экран.

Фильтрация сетевого трафика может происходить на нескольких уровнях. Большинство фаерволов, включенных в комплекты безопасности для ПК имеют набор правил по крайней мере для двух уровней – нижний интернет уровень, контролируемый IP правилами и верхний уровень приложения. Говоря про верхний уровень, фаервол содержит набор правил для того чтобы допустить или запретить доступ конкретного приложения в сеть. Такие термины, как сетевые правила (Network Rules), экспертные правила (Expert Rules) или настройки правил IP (IP Rule Setting) используются на нижнем уровне правил. На верхнем уровне мы встречаемся с терминами Контроль программ (Program Control) или правила приложений (Application Rules).
Множество современных продуктов позволяют пользователю настраивать уровень доверия ко всем сетям, подключенных к компьютеру. Даже если существует только одно физическое подключение, ПК может быть подключен к нескольким сетям – например, когда ПК подключен к локальной сети, имеющей шлюзы для выхода в интернет. Антивирусный комплекс будет раздельно управлять локальным и интернет трафиком. Каждая из найденных сетей может быть либо доверенной, либо недоверенной и различные системные сервисы, такие как общий доступ для файлов или принтеров могут быть разрешены или запрещены. По умолчанию, только компьютеры из доверенных сетей (trusted networks) могут иметь доступ к защищаемому компьютер. Подключения, регистрируемые с недоверенных сетей (untrusted networks) обычно блокируются, если соответствующая опция не разрешает доступ. Вот почему интернет соединение обычно помечается как недоверенное. Как бы то ни было, некоторые продукты не различают сети в рамках одного пользовательского интерфейса и настройки доверенных/недоверенных сетей могут быть раздельно указаны для каждого интерфейса. Термин Сетевая зона (Network Zone) или просто зона (Zone) обычно используется вместо логической сети.
Для недоверенных сетей существует возможность настроить стелс-режим. Этот режим позволяет изменить поведение системы, как будто ее адрес не доступен для сети. Эта мера способна ввести в заблуждение хакеров, которые сначала находят объекты для атаки. Поведение системы по умолчанию предусматривает ответ на все сообщения, даже отправленные с закрытых портов. Стелс-режим (также известный как стелс-режим порта (stealth ports) предотвращает обнаружение ПК во время сканирования портов.
Обнаружение и предотвращение вторжения(Intrusion Detection/Prevention)
Также называют: Обнаружение атаки, Система обнаружения вторжения, IP блокировка, вредоносные порты.
Хотя все вышеперечисленные термины не являются эквивалентными, они относятся к набору свойств, которые способны предотвратить или обнаружить специальные виды атак с удаленных компьютеров. Они включают такие опции, как обнаружение порта сканирования, обнаружение подменного IP, блокирование доступа к хорошо известным портам вредоносного ПО, используемых программами удаленного администрирования, троянским коням, клиентами ботнета. Некоторые термины включают механизмы для защиты от ARP атак (атак с подменным адресом протокола расширения) – эта опция может называться защита от APR, защита от кэша ARP и т.д. Основная способность этого вида защиты – автоматическая блокировка атакующей машины. Это опция может быть напрямую связана с нижеследующей функцией.
Черный список IP (IP Blacklist)
Блокирование всего трафика (Block All Traffic)
Контроль программ (Program Control)
Также называют: контроль приложений, инспектор приложений
Фильтрация сетевого трафика на программном уровне позволяет программам безопасности раздельно контролировать доступ в сеть каждого приложения на ПК. Антивирусный продукт содержит базу данных свойств приложений, которая определяет доступна ли сеть для программы или нет. Эти свойства различаются между клиентскими программами, которые инициализируют подключение с локальной машины на удаленные сервера (исходящее направление) и серверными программами, которые сканируют сетевой порт и принимают соединения с удаленных компьютеров (входящее направление). Современные антивирусные решения позволяют пользователю определять детальные правила для каждого конкретного приложения.
В общем, поведение контроля программ зависит от политики безопасности (Firewall Policy), выбранной в фаерволе и может включать следующие режимы поведения:
Контроль программ обычно содержит настройки, которые могут помочь продукту разрешить спорные ситуации, независимо от включенного режима работы. Эта особенность известна как автоматический набор правил (Automatic rule creation). Типичная опция в этом случае позволяет любые действия приложениям с цифровой подписью от доверенных вендоров, даже если нет соответствующей записи в базе данных. Эта опция может быть расширена другой функцией, которая позволяет совершать любые действия приложениям без цифровой подписи, но знакомых антивирусному продукту. Контроль программ обычно тесно связан с другими функциями, которые мы осветим попозже, в особенности опция поведенческого контроля.
Принципы работы антивирусных программ
Даже начинающий пользователь очень быстро сталкивается с опасностями, которые угрожают его компьютеру из различных источников. Поэтому компьютерные курсы всегда включают в себя не только обучение работе с различными программами, но также и пользованию средствами, которые позволяют защитить результаты труда. Чтобы правильно выбрать антивирусную программу, нужно знать, каковы механизмы их работы и от чего именно они защищают.
Главных принципов работы антивирусных программ два. Во-первых, это использование антивирусной базы данных, которая содержит информацию о существующих вирусах и при проверке сравнивает с ней каждый существующий файл. Соответственно, для эффективного пользования такими средствами обнаружения необходимо регулярное и частое обновления. В большинстве случаев для домашнего компьютера достаточно обновлять вирусную базу раз в неделю, но если позволяют условия соединения с интернетом, лучше делать это ежедневно.
Другой метод, с помощью которого программы обнаруживают вирусы, основан на поиске действий, характерных для вирусов. Обнаружив их, антивирус блокирует программу, которая их осуществляет. Таким образом, в большинстве случаев может быть выявлен и вирус, которого нет в базе. Поэтому современные антивирусные программы, обучение использованию которых входит в компьютерные курсы, как правило, используют сочетание обоих подходов.
Также антивирусные программы подразделяются и по режиму работы. Программы-мониторы ведут постоянный контроль над работой компьютера. Они отслеживают те файлы, которые вновь создаются или переносятся на компьютер, и сигнализируют об обнаружении вируса в них. Как правило, программа-монитор запускается автоматически при включении компьютера. Программа-сканер требует отдельного запуска или запускается по определённому расписанию. При её работе проверяются все файлы, которые соответствуют критериям, установленным в настройках программы. Поэтому такая проверка может иметь различную глубину и охватывать один или несколько дисков. Компьютерные курсы рекомендуют использовать оба типа антивирусных средств. Нередко бывает полезным использовать программу-сканер от другого производителя, чтобы оценить качество работы монитора.
Основы работы антивирусных программ
Общие сведения
Методы и принципы защиты теоретически не имеют особого значения, главное чтобы они были направлены на борьбу с вредоносными программами. Но на практике дело обстоит несколько иначе: практически любая антивирусная программа объединяет в разных пропорциях все технологии и методы защиты от вирусов, созданные к сегодняшнему дню.
Из всех методов антивирусной защиты можно выделить две основные группы:
Сигнатурный анализ
Сигнатурой вируса будет считаться совокупность черт, позволяющих однозначно идентифицировать наличие вируса в файле (включая случаи, когда файл целиком является вирусом). Все вместе сигнатуры известных вирусов составляют антивирусную базу.
Практически в каждой компании, выпускающей антивирусы, есть своя группа экспертов, выполняющая анализ новых вирусов и пополняющая антивирусную базу новыми сигнатурами. По этой причине антивирусные базы в разных антивирусах отличаются. Тем не менее, между антивирусными компаниями существует договоренность об обмене образцами вирусов, а значит рано или поздно сигнатура нового вируса попадает в антивирусные базы практически всех антивирусов. Лучшим же антивирусом будет тот, для которого сигнатура нового вируса была выпущена раньше всех.
Соотношение количества сигнатур и количества известных вирусов для каждой антивирусной базы свое и вполне может оказаться, что база с меньшим количеством сигнатур в действительности содержит информацию о большем количестве вирусов. Если же вспомнить, что антивирусные компании обмениваются образцами вирусов, можно с высокой долей уверенности считать, что антивирусные базы наиболее известных антивирусов эквивалентны.
Эвристический анализ
Слово » эвристика » происходит от греческого глагола «находить». Суть эвристических методов состоит в том, что решение проблемы основывается на некоторых правдоподобных предположениях, а не на строгих выводах из имеющихся фактов и предпосылок. Поскольку такое определение звучит достаточно сложно и непонятно, проще объяснить на примерах различных эвристических методов
Поиск вирусов, похожих на известные
Если сигнатурный метод основан на выделении характерных признаков вируса и поиске этих признаков в проверяемых файлах, то эвристический анализ основывается на (весьма правдоподобном) предположении, что новые вирусы часто оказываются похожи на какие-либо из уже известных. Постфактум такое предположение оправдывается наличием в антивирусных базах сигнатур для определения не одного, а сразу нескольких вирусов. Основанный на таком предположении эвристический метод заключается в поиске файлов, которые не полностью, но очень близко соответствуют сигнатурам известных вирусов.
Положительным эффектом от использования этого метода является возможность обнаружить новые вирусы еще до того, как для них будут выделены сигнатуры. Отрицательные стороны:
Поиск вирусов, выполняющих подозрительные действия
Другой метод, основанный на эвристике, исходит из предположения, что вредоносные программы так или иначе стремятся нанести вред компьютеру. Метод основан на выделении основных вредоносных действий, таких как, например:
Понятно, что выполнение каждого такого действия по отдельности не является поводом считать программу вредоносной. Но если программа последовательно выполняет несколько таких действий, например, записывает запуск себя же в ключ автозапуска системного реестра, перехватывает данные вводимые с клавиатуры и с определенной частотой пересылает эти данные на какой-то адрес в Интернет, значит эта программа по меньшей мере подозрительна. Основанный на этом принципе эвристический анализатор должен постоянно следить за действиями, которые выполняют программы.
Преимуществом описанного метода является возможность обнаруживать неизвестные ранее вредоносные программы, даже если они не очень похожи на уже известные. Например, новая вредоносная программа может использовать для проникновения на компьютер новую уязвимость, но после этого начинает выполнять уже привычные вредоносные действия. Такую программу может пропустить эвристический анализатор первого типа, но вполне может обнаружить анализатор второго типа.


