В последнее время в антивирусной индустрии наметилась тенденция перехода на новые, более совершенные технологии защиты от вредоносного и нежелательного программного обеспечения. Одни софтверные компании взяли курс на реализацию в своих продуктах систем быстрого реагирования на угрозы и модулей контроля активности приложений, использующих поведенческие анализаторы. Другие занялись внедрением механизмов проактивной защиты и запуска подозрительных файлов в изолированных областях, блокирующих любые попытки вирусов нанести вред системе. Третьи начали оснащать антивирусы брандмауэрами, системами фильтрации адресов web-ресурсов и предлагать пользователям комплексные решения для защиты ПК. Четвертые, в стремлении укрепить позиции на рынке ПО, стали дорабатывать имеющиеся эвристические технологии, выводя их на качественно иной уровень. Наконец, пятые, в поисках перспективных направлений борьбы с цифровой "нечистью", сделали ставку на так называемые облачные вычисления (cloud computing), активно продвигаемые нынче на рынке под лозунгами "инновационный", "революционный" и т.д. О том, как используются cloud-технологии в сфере антивирусных решений и насколько хороши они на практике, попытаемся разобраться в данном материале.
Начиная разговор об облачных антивирусных продуктах, первым делом стоит вкратце рассказать о самой концепции "клауд компьютинга", точного определения которой, как бы странно это ни звучало, до сих пор не существует. Наиболее четкое и понятное определение термину cloud computing, на наш взгляд, дано в Википедии, гласящей, что облачные вычисления - это технология обработки данных, в которой компьютерные ресурсы и мощности предоставляются пользователю как интернет-сервис. Пользователь имеет доступ к собственным данным, но не может управлять и не должен заботиться об инфраструктуре, операционной системе и собственно программном обеспечении, с которым он работает. Термин "облако" используется как метафора, основанная на изображении интернета на диаграмме компьютерной сети, или как образ сложной инфраструктуры, за которой скрываются все технические детали. Существует несколько условных категорий cloud computing. Первая - Software as a Service (SaaS) - объединяет законченные решения для широкой аудитории, типичными представителями которых являются современные почтовые службы, файлообменники, многие CRM/ERP-системы. Во вторую группу, именуемую Platform as a Service (PaaS), входят предназначенные для разработчиков облачные сервисы, которые в первом приближении представляют собой хостинговые ресурсы с богатым набором API для создания web-приложений. Яркими примерами таких платформ являются Google App Engine, Windows Azure, Aptana Cloud. И еще одна категория - инфраструктура как сервис (Infrastructure as a Service, IaaS). В ее рамках крупные софтверные организации могут арендовать серверы/кластеры, выбирать необходимый инструментарий для работы и оплачивать только использованные ресурсы. Это самый дорогой вариант, открывающий полную свободу действий разработчикам. По данной схеме работают Amazon EC2, GoGrid, ElasticHosts и другие IT-компании.
Если говорить о плюсах, то их у "клауд компьютинга" хватает с лихвой. Достаточно привести в пример такие особенности, как масштабируемость (разработчик получает столько ресурсов, сколько требуется для функционирования программных продуктов при любых нагрузках), наличие стандартизированного интерфейса для работы в "облаке", организация взаимоотношений с системой по принципу "сколько потратил ресурсов, столько и заплатил", отказоустойчивость и надежность хранения данных. Есть у облачных технологий и отрицательные моменты. К таковым можно отнести жесткую привязку к сетевому каналу и идеологию, подразумевающую хранение и обработку данных на удаленных серверах. И если механизмы офлайновой работы клиентских частей сейчас активно развиваются, то обеспечение конфиденциальности хранящейся в клауд-системах информации целиком и полностью зависит от поставщика облачных услуг, заинтересованного и гарантирующего безопасность обрабатываемых в дата-центре клиентских данных. Имеются у концепции облачных вычислений и другие узкие места, о которых можно прочитать в опубликованном на нашем сайте материале Владимира Романченко "Облачные вычисления на каждый день".
Для того чтобы разобраться в вопросе, касающемся актуальности применения cloud-технологий в антивирусной области, достаточно взглянуть на ежегодные исследования антивирусных компаний, свидетельствующие о непрерывном увеличении количества вредоносных программ. К примеру, последний отчет "Лаборатории Касперского" отражает стремительный рост числа новых вирусов. Шутка ли: за 15 лет (с 1992 по 2007 год) сотрудниками "ЛК" было обнаружено около двух миллионов уникальных вредоносных программ и только за один 2008 год - 15 миллионов! В прошлом году число зловредов в коллекции антивирусной лаборатории достигло 33,9 млн, и количество новых угроз продолжает стремительно увеличиваться.
О неприятной тенденции можно также судить по ежегодным отчетам Internet Security Threat Report корпорации Symantec. Если в 2008 году специалистами компании было создано 709 тыс. новых сигнатур вредоносных кодов, то в прошлом году данная цифра увечилась в четыре раза и достигла 2,9 миллиона. Ровно за один год! Таким темпам работы вирусописателей позавидовал бы сам Алексей Григорьевич Стаханов.
Не нужно быть семи пядей во лбу, чтобы догадаться, что в ближайшей перспективе растущее в геометрической прогрессии количество вредоносных приложений достигнет критической точки и приведет к тому, что любая использующая сигнатурный анализ антивирусная программа останется не у дел - слишком уж велико будет потребление вычислительных ресурсов пользовательского компьютера. Для осознания того, что проблема имеет место быть, достаточно взять в руки калькулятор и проанализировать приведенные сотрудником компании F-Secure Олегом Федоровым цифры. "Даже если сигнатура одного вируса занимает всего 20 байт, то 3 млн вирусов - это уже, грубо говоря, 60 мегабайт, - пишет в своем блоге Олег. - Через пару лет их будет 10 млн - уже 200 мегабайт. А через пять лет - гигабайт? Только для антивируса? Слишком много". Плюс, подчеркивает эксперт F-Secure, не каждый пользователь загорится желанием в будущем скачивать каждый день десятки и сотни мегабайт новых антивирусных сигнатур, да и для компьютера всякий раз обрабатывать базу в десятки миллионов записей будет то еще цифровое удовольствие. Ситуация тупиковая, и многие специалисты видят решение проблемы в тех самых облаках, о которых говорилось в предыдущих абзацах.
Идея, положенная в основу облачных антивирусных продуктов, незамысловатая и подкупает многих разработчиков простотой реализации. Если излагать ее в максимально сжатой форме, то стоит выделить клиентскую и серверную части cloud-антивируса. Первая имеет минимальный размер, устанавливается на машины пользователей и содержит в своем составе движок, сканирующий данные и отправляющий контрольные суммы файлов на сервер. Дислоцированный в облаках сервер принимает от клиентов хэши файлов, ищет их в базе сигнатур вирусов и выдает свой вердикт относительно чистоты присланных данных. В случае обнаружения зловредов, сервер отсылает клиенту соответствующие скрипты, выполнение которых очищает пользовательский компьютер от вредоносных объектов. Подобная схема взаимодействия не только позволяет существенно снизить нагрузку на аппаратные ресурсы компьютера, но и освобождает пользователя от необходимости постоянно скачивать базы сигнатур, а также обеспечивает наилучшую защиту за счет применения системы "коллективного разума", использующей полученную от многомиллионной аудитории информацию для автоматического обнаружения и классификации новых видов вредоносных программ.
Есть, однако, у упомянутой методики одно "но", смысл которого сводится к тому, что на одной только пересылке контрольных сумм файлов далеко не уедешь, особенно при вылавливании только-только появившихся вирусов и их полиморфных собратьев, умеющих самостоятельно модифицировать свой код. В таких случаях клиенту так или иначе придется пересылать на сервер сам файл. Отсюда всплывает самое слабое звено таких антивирусных продуктов - зависимость от пропускной способности сетевого соединения и низкая скорость реакции при пересылке увесистых объектов по сети. Вторым недостатком облачных борцов за чистоту цифровой мысли является их стремление транслировать в интернет пользовательскую информацию, которая может содержать сведения конфиденциального характера, особенно в том случае, если антивирус используется в корпоративной сети какой-либо компании. Разработчики подобного рода продуктов, конечно, гарантируют безопасность передаваемых данных, но многие ли крупные организации готовы будут довериться обещаниям сторонних компаний? Вот вопрос, ставящий под сомнение широкое использование облачных антивирусов в корпоративной сфере. По крайней мере, в ближайшей перспективе.
Облачные технологии в том или ином виде применяются в продуктах "Лаборатории Касперского", ESET, Symantec, Agnitum, F-Secure, Alwil Software и других вендоров, но полностью перевели свои решения на новую платформу далеко не многие антивирусные компании. Из числа таковых в настоящий момент мы можем назвать Panda Security с ее антивирусом Panda Cloud Antivirus, американского разработчика Immunet с облачным продуктом Immunet Protect и фирму Prevx с ее одноименными клауд-решениями для защиты компьютеров. О том, чем хороши перечисленные программы и откуда их можно скачать, мы расскажем во второй части материала.