В конечном итоге, за редкими исключениями, чтобы запуститься, вирусу необходимо сохранить свой код на диске компьютера-жертвы в виде файла — зараженного файла, в случае чистого вируса, либо полностью вредоносной программы, в случаях червей и большинства троянов. Таковы особенности архитектуры ОС Microsoft Windows - поместить вирусный код непосредственно в память компьютера, не затрагивая файловую систему, можно только используя уязвимости в сетевых службах и программах, установленных на компьютере.
Соответственно, основные средства из состава антивирусного комплекса для рабочих станций Windows направлены на предотвращение записи вредоносного кода на диски компьютера, на предотвращение запуска вредоносных программ, а также на проверку хранящихся на дисках (постоянных, сменных, сетевых) файлов - нет ли в них вредоносного кода. Последняя функция нужна для того, чтобы при запуске (или сразу после установки) антивируса удостовериться в отсутствии вирусов на компьютере - функции предотвращения в последствии позволяют сохранить этот status quo.
|
|
Как уже отмечалось в классификации антивирусов, средства проверки файловой системы бывают двух видов:
- Сканеры по требованию — запускаются по инициативе пользователя или по расписанию для проверки четко очерченного круга объектов файловой системы
- Сканеры при доступе — проверяют все объекты файловой системы, к которым производится доступ, на чтение/запуск или на создание/запись
Реализация подобных средств может быть различной. Это могут быть независимые модули, либо различные функции одного и того же модуля. Модуль проверки при доступе, который по понятным причинам должен постоянно находиться в памяти компьютера в зависимости от применяемых технологий может быть выполнен в виде приложения, службы или драйвера файловой системы. Эффективность при этом растет в порядке перечисления.
Пример. В текущей версии Антивируса Касперского перехват файловых операций осуществляет драйвер файловой системы, что позволяет обеспечить максимальную надежность и производительность. Проверка же выполняется антивирусной службой, причем как объектов, перехваченных драйвером, так и объектов указанных пользователем для проверки по требованию/расписанию. Это позволяет минимизировать используемые ресурсы памяти, поскольку все проверки выполняются одним процессом, в памяти хранится только одна копия антивирусной базы.
Кроме того, что на момент установки или запуска антивируса вредоносные программы могут находиться на дисках, они могут находиться также и в памяти компьютера. Соответственно, имеется необходимость в проверке памяти. Особенности архитектуры операционной системы Windows таковы, что отслеживать изменения в памяти на лету попросту невозможно. В связи с этим функции проверки памяти выполняются сканером по требованию.
|
|
С точки зрения применяемых технологий обнаружения вирусов, основной упор при проверке объектов памяти и файловой системы делается на сигнатурные методы и эвристический анализ. Это и понятно, ведь таким образом обеспечивается максимальная защита от уже известных вирусов, а также защита от новых, еще не известных. Метод поведенческого анализа и блокирования подозрительных действий применялся в прошлом, но показал себя неэффективным из-за большого числа ложных срабатываний: в большинстве случаев вредоносные программы не выполняют никаких особых команд или действий, не свойственных обычным утилитам или службам. Более того, одна и та же программа в зависимости от условий применения может расцениваться как вредоносная или вполне легальная.
Пример. Входящая в состав Windows XP утилита shutdown.exe может с пользой применяться для выключения компьютера по расписанию. Эта же утилита может использоваться в составе вредоносной программы для принудительной перезагрузки без уведомления пользователя. Например, помещение этой утилиты в автозапуск может надолго воспрепятствовать нормальной работе неискушенного пользователя.
Тем не менее, в некоторых специфических случаях применение поведенческого анализа не только оправдано, но и является более эффективным методом предотвращения запуска новых вирусов, чем эвристический анализ.
Пример. До сих пор во многих версиях BIOS можно встретить опцию защиты от вирусов, которая препятствует записи в критические области дисков - в загрузочные сектора и в сам BIOS. В данном случае ключевым является тот факт, что после непродолжительного периода настройки, необходимости в изменении структуры дисков и перепрошивке BIOS уже нет. В любом случае эти действия являются достаточно редкими и выполнение их без ведома пользователя должно по меньшей мере вызывать подозрения.
Стоит сказать, что современные вирусы крайне редко пытаются записать данные в загрузочные сектора или в BIOS. Эпоха загрузочных вирусов давно прошла. Вследствие этого, антивирусные функции также постепенно исчезают из BIOS.
Если в случае исполняемых файлов, подозрительные операции выделить достаточно сложно в силу очень большого разнообразия этих файлов и решаемых ими задач, то сфера применения макросов в документах Microsoft Office и других офисных пакетов, достаточно ограничена - чаще всего они используются для сокращения времени на выполнение рутинных операций или же для придания дополнительной функциональности документам. В большинстве случаев действие макроса распространяется только на документ, в состав которого он входит, а взаимодействие с другими документами чаще всего ограничивается операциями чтения. Следовательно, активные действия связанные с файловыми операциями или с записью в другие документы, могут вызывать обоснованные подозрения.
Пример. В Антивирусе Касперского для Windows Workstations имеется специальный модуль для защиты от макровирусов, который работает по принципу поведенческого блокиратора. Идея та же, что и в случае с функцией поведенческого анализа в BIOS: макровирусу для успешного размножения или выполнения серьезных деструктивных функций приходится использовать функции работы с внешними файлами, функции работы с макросами и другие функции, нечасто (если не сказать крайне редко) встречающиеся в обычных макросах, применяемых для автоматизации регулярно выполняемых действий. Соответственно, при обнаружении подозрительных макрокоманд Антивирус Касперского имеет возможность заблокировать их выполнение либо полностью прекратить работу макроса.
|
|
Нерассмотренным остался метод анализа изменений (контрольных сумм). Здесь необходимо отметить, что для обнаружения вирусов этот метод в современных условиях уже не годится. Даже в системном каталоге Windows количество файлов может достигать нескольких тысяч. При этом обновления ОС и ряда приложений регулярно приводят к изменениям в составе и версиях хранящихся там файлов. Анализ изменений на дисках в целом - задача еще более трудоемкая и плохо автоматизируемая.
Конечно, опытный специалист на основании данных об изменениях в файловой системе мог бы с большой вероятностью определить признаки заражения неизвестным вирусом. Но количество времени, необходимое на такой анализ, делают его с одной стороны невозможным в сколько-нибудь больших сетях, а с другой стороны нерентабельным в сетях небольшого размера или в единичных случаях - из-за стоимости услуг по привлечению высококвалифицированного специалиста.
Пример. В эпоху классических вирусов под Windows и еще раньше в эпоху вирусов под DOS были широко распространены так называемые программы-ревизоры, которые как раз и выполняли расчет и сравнение контрольных сумм файлов на дисках, а также выполняли простейший анализ зафиксированных изменений. Среди продуктов Лаборатории Касперского такой программой был Kaspersky Inspector. Несколько большей известностью пользовался AdInf производства компании "ДиалогНаука". В настоящее время подобные программы исчезли из линеек продуктов всех ведущих производителей.
Тем не менее, даже если анализ контрольных сумм не позволяет определить факт наличия вируса в системе, он позволяет определить факт отсутствия вирусов в файлах, контрольная сумма которых осталась неизменной. Об использовании метода сравнения контрольных сумм в таком качестве будет рассказано при рассмотрении эксплуатационных характеристик антивирусных продуктов.
Почта
Одним из наиболее часто используемых каналов проникновения вредоносных программ по прежнему остается электронная почта. И хотя для предотвращения пересылки зараженных писем имеются специализированные средства антивирусной защиты уровня почтовых систем, существует множество ситуаций, когда такие средства по тем или иным причинам не используются.
|
|
Пример. Домашние пользователи и небольшие компании практически никогда не имеют собственного почтового сервера, на который можно было бы установить антивирус для проверки почтовых сообщений. Услуги по доставке почтовых сообщений в таких случаях оказывает провайдер, у которого могут быть не установлены антивирусные средства на почтовых серверах - по причине большого количества подлежащих защите почтовых ящиков и, как следствие, высокой стоимости лицензии.
В связи с этим, антивирус для рабочих станций Windows должен обладать собственными средствами защиты от вирусов, приходящих по почте.
Нужно отметить, что с большинством таких вирусов вполне справляются стандартные средства проверки файловой системы, поскольку находящийся во вложении вирус, даже будучи запущенным пользователем, все равно сначала сохраняется на диск во временный каталог, и только потом загружается в память. В момент сохранения он будет обнаружен и обезврежен средством проверки при доступе.
Для чего же в таком случае нужны и нужны ли вообще дополнительные средства проверки почты? В первую очередь для повышения производительности и надежности. Не секрет, что наибольшее "замедление" работы компьютера связано именно с работой постоянной защиты файловой системы. По этой причине многие пользователи отключают эту защиту вовсе или неоправданно снижают уровень защиты в настройках. Модуль защиты почты серьезного влияния на производительность не оказывает и может работать едва ли не с максимальными настройками, перекрывая один из наиболее опасных, с точки зрения распространения вирусов, потоков.
Пример. В Антивирусе Касперского для Windows Workstations задача постоянной защиты файлов не проверяет архивы - с одной стороны для повышения производительности, а с другой, по описанной выше причине - файлы внутри архивов перед запуском все равно будут распакованы во временный каталог, обнаружены и обезврежены. Аналогичным образом построили защиту и другие производители антивирусных средств. Задача же постоянной защиты почты, напротив, по умолчанию архивы проверяет, а значит, учитывая тенденцию по распространению вредоносных программ в заархивированном виде, именно она обеспечит предотвращение проникновения вируса на компьютер.
В силу того, что задача постоянной защиты файлов не проверяет архивы, только задача постоянной защиты почты может помешать отправке письма с инфицированным вложением, что также немаловажно.
По сути, локальный модуль проверки почтовых сообщений играет роль отсутствующего антивируса на почтовом сервере - он снижает нагрузку на другие модули проверки и уменьшает общую вероятность заражения. Например, некоторые черви используют уязвимости в почтовых клиентах для автоматического запуска зараженного вложения. Если проверка файловой системы по каким-то причинам отключена, получение такого червя означало бы немедленное заражение, не будь в составе антивирусного комплекса модуля проверки почты.
Кроме этого, не следует забывать, что любой вирус, даже находящийся в архиве или почтовой базе, представляет собой потенциальную угрозу. Если вирус уже так или иначе проник на компьютер и ожидает, что пользователь сам его запустит, это рано или поздно может случиться. Полная проверка компьютера проводится, как правило, не так часто: раз в неделю, а то и реже, чтобы можно было быть уверенным в своевременном обнаружении и удалении вируса внутри архива и/или почтовой базы. А значит, есть шанс, что вирус будет запущен пользователем хотя бы по причине небрежности или случайной ошибки. Использование модуля проверки почты позволяет не допустить появления в почтовой базе зараженных объектов и предотвратить возникновение потенциально опасной ситуации.
Есть и еще одна опасность. Как известно, в ответ на то, что антивирусы стали проверять заархивированные вложения, многие вредоносные программы стали распространяться в защищенных паролем архивах, указывая пароль в теле сообщения. В отсутствие модуля проверки почты, такие письма будут беспрепятственно попадать в почтовый ящик с все тем же риском быть запущенными. Но в этом случае даже проверка по требованию может не обнаружить такие вирусы, если не включена или не реализована проверка в архивах, защищенных паролем.
Пример. В Антивирусе Касперского реализован автоматический механизм обнаружения паролей в теле письма, как при проверке почтовых сообщений на лету, так и при проверке почтового ящика по требованию (по расписанию).
С точки зрения технологий, используемых в модулях проверки почты, можно выделить два направления в которых ведутся разработки:
- Интеграция с почтовыми клиентами
- Перехват соединений по почтовым протоколам
Преимущества первого способа состоят в том, что проверяются все почтовые сообщения, обрабатываемые почтовым клиентом, независимо от используемых протоколов. С другой стороны, обеспечить необходимую интеграцию со всеми возможными почтовыми клиентами - задача практически неразрешимая. Поэтому используется второй способ, когда модуль проверки перехватывает соединения по некоторым почтовым протоколам, вычленяет из потока данных объекты, которые могут быть заражены, и проверяет их.
Каждый из способов имеет свои преимущества и недостатки. Интеграция обычно поддерживается с очень ограниченным числом почтовых клиентов, например, только с клиентом Microsoft Outlook. С другой стороны, способ перехвата соединений также ограничен в числе поддерживаемых протоколов - как правило, это только протоколы SMTP и POP.
Пример. Учитывая ограничения каждого из способов реализации модуля проверки почтовых сообщений, в Антивирусе Касперского для Windows Workstations применяются одновременно оба способа: интеграция с Microsoft Outlook и перехват сообщений, отправляемых по протоколу SMTP и получаемых по протоколу POP v3.