В последнее время мы все чаще слышим о таком понятии, как «облачные» технологии. При этом большинство пользователей считают, что это нечто весьма далекое, и практическое применение подобных технологий — вопрос завтрашнего дня. На самом деле это не так. .
Предпосылки
Ключевым фактором, который привел к необходимости пересмотреть подходы к обеспечению безопасности пользователей, является значительный рост числа уникальных образцов вредоносного кода. Тенденция последних лет была неутешительна — темпы роста носили экспоненциальный характер. Например, по данным независимой тестовой лаборатории AV-test, количество собранных образцов увеличилось в прошлом году почти вдвое — 20 млн, против 12 млн в 2009 году. Такая динамика позволяет строить прогнозы, которые рушат все традиционные представления о том, как действует средство защиты.
С начала формирования антивирусной индустрии сложился ясный механизм обеспечения защиты, когда от пострадавшего пользователя или из другого источника лаборатория получала образец вредоносного файла и после всестороннего анализа выпускала обновления к базе сигнатур вирусов вместе с рецептом удаления заразы. Все клиенты загружали это обновление и получали актуальную защиту. Разумеется, некоторые заражались раньше, чем получали обновление, но таких было немного. По мере роста числа угроз, производителям антивирусов пришлось максимально автоматизировать процесс анализа новых видов угроз, используя эвристические механизмы, и даже встроить подобные механизмы в сами антивирусы. При этом частота обновлений увеличилась и выпуски стали ежедневными и даже ежечасными.
Несмотря на успехи производителей антивирусов в описанных способах ускорения выпуска обновлений, очевидно, что экспоненциальный рост числа новых угроз не оставляет этому подходу шанса. С одной стороны, антивирусные компании не в силах наращивать человеческие ресурсы такими же темпами. С другой стороны, объем выпускаемых обновлений выходит за разумные пределы.
Одно время в индустрии безопасности бытовало мнение, что описанную проблему раз и навсегда решат так называемые эвристические технологии, то есть методики детектирования не на основе сигнатуры, а с использованием методов искусственного интеллекта, встраиваемого в антивирус. Эти технологии получили широкое распространение, но проблемы решить не смогли. Лучшие примеры реализации эвристического анализа обеспечивают уровень обнаружения в пределах 50–70% для знакомых семейств вирусов и совершенно бессильны перед новыми видами атак.
На сегодня сформировалось общее мнение, что распознавать угрозы необходимо непосредственно в распределенных центрах обработки данных антивирусной компании, а не только на компьютере конечного пользователя. Такой перенос центра тяжести технологии в Интернет и называется «облачным».
Переход к «облачным» технологиям позволяет упростить архитектуру продукта, который пользователь ставит на свой компьютер, ведь теперь для каждого подозрительного ресурса предоставляется небольшое по объему обновление, индивидуально загружаемое из «облака» практически в реальном времени. Разумеется, разработанные технологии существенно сложнее, ведь многие процессы в компьютере требуют реакции более быстрой, чем скорость получения подобных обновлений. Кроме того, необходимо обеспечить защиту в тот момент, когда компьютер вообще не подключен к Интернету. Тем не менее «облачные» технологии являются ключом к обеспечению безопасности не самых мощных компьютеров, таких как нетбуки, планшеты и смартфоны.
По данным исследования, проведенного во втором квартале 2010 года компанией NSS Labs, время, необходимое антивирусным компаниям для блокирования веб-угроз, составляет от 4,62 до 92,48 часа (http://nsslabs.com/host-malware-protection/q2–2010-endpoint-protection-product-group-test-report.html). Дальнейшее принципиальное увеличение максимальной скорости реакции на угрозы с помощью обычных антивирусных обновлений невозможно, так как затраты времени на обнаружение вирусов, их последующий анализ и тестирование формируемых антивирусных обновлений уже сведены к минимуму.
Антивирусное «облако» Kaspersky Security Network
Одной из реализаций «облачного» подхода стала Kaspersky Security Network (KSN). Эта «облачная» система безопасности была создана для максимально оперативного реагирования на новые угрозы в 2008 году и с тех пор является одной из ключевых технологий защиты компьютерных устройств в продуктах «Лаборатории Касперского». Главное отличие этого подхода от других используемых средств защиты заключается в том, что ключевой вклад в борьбу с новыми угрозами вносят сами пользователи. Разумеется, такую помощь от пользователя продукт получает не без спроса. При установке продукта Лаборатории Касперского пользователю явно предлагают согласиться на передачу данных о запускаемых программах в «облако». Эти данные полностью анонимны, но они позволяют определить новое вредоносное ПО и оповестить остальных пользователей программ «Лаборатории Касперского» буквально в течение нескольких минут.
Как это работает?
Начнем с того, что основная задача антивируса — предотвратить появление на компьютере вредоносных программ. К сожалению, на современном компьютере новые программы появляются регулярно. Даже если сам пользователь ничего не устанавливает, многие уже установленные программы (продукты компании Adobe, Apple, Google и т. д.) автоматически обновляют себя, загружая из Интернета свои новые версии. Это очень удобно для пользователя, но осложняет задачу антивирусу. Ведь распространение нового вируса или троянской программы происходит сходно: в системе «вдруг» появляется новая программа. В случае с вредоносным кодом чаще всего сценарий следующий: множество пользователей получают ссылку на вредоносный файл в социальных сетях, по электронной почте или через систему мгновенного обмена сообщениями и, увы, пытаются его загрузить и запустить. Более того, часто при посещении специальной страницы запуск вредоносного кода происходит автоматически. В таких случаях используются уязвимые места в браузере и других программах. Информация о запуске новых версий легитимного файла или же вредоносного кода накапливается в «облачной сети», и одновременно с этим поведение программы анализируется стандартными методами защиты. Если программа ведет себя подозрительно, например пытается изменить системные файлы или получить несанкционированный доступ к пользовательской информации, сообщение об этом также поступает в «облако». В результате выносится вердикт — является программа опасной или нет.
Что произойдет, если программа все же оказалась вредоносной? Пользователи, попытавшиеся запустить ее в первые минуты атаки, будут защищены только с помощью поведенческого анализа, который способен выявить «подозрительную» активность. Все остальные участники KSN оперативно получат информацию о новой угрозе и будут предупреждены при попытке запуска соответствующего файла. Данные также поступят в распоряжение экспертов «Лаборатории Касперского» для последующего анализа.
Такой подход принципиально отличается от традиционного. При традиционном обновлении антивирусных баз обратной связи от пользователя к серверу нет, поэтому антивирусная лаборатория не получает информацию о факте заражения, его источниках и распространении вредоносного программного обеспечения.
Отметим, что использование KSN обладает и другими преимуществами, кроме оперативной реакции на новые угрозы: в лабораторию никогда не пересылается сам подозрительный файл, а только его свойства: хэш-функция, информация о поведении, источник появления и т. д. Таким образом, у пользователя не должно возникать беспокойства по поводу утечки приватных данных. Так что, если вы используете продукт «Лаборатории Касперского», мы настоятельно рекомендуем не отключать функции KSN. В случае если подозрительный файл все же признается вредоносным, он может быть передан в «Лабораторию Касперского» для дополнительного обследования и принятия окончательного решения.
Trend Micro SPN
Первым масштабным проектом по переносу антивирусной защиты в «облако» было построение Smart Protection Network компанией Trend Micro. Ключевой идеей этой системы была концепция «репутации» — вынесения вердикта для ресурса (файла, сайта, сообщения электронной почты) только на основе накопленных ранее данных, то есть без необходимости анализировать сам ресурс непосредственно в момент обращения к нему пользователя. На первый взгляд такая идея кажется странной, но на самом деле это единственный подход, который позволяет автоматически отражать неизвестные угрозы в автоматическом режиме. Другие подходы, которые анализируют сам ресурс, могут основываться только на исследовании эксперта либо на эвристических алгоритмах. В современных условиях оба традиционных подхода становятся все менее эффективными. Ручной анализ потерял актуальность за последние несколько лет с ростом числа угроз, а эвристика не успевает за увеличением числа вариаций вредоносных кодов и других приемов злоумышленников.
В SPN используется несколько методов отслеживания репутации. Первый и самый очевидный — это формирование базы ресурсов, например сайтов, и отслеживание происходящих изменений. Чем-то этот подход похож на методику поисковых систем, но цели преследуются совсем иные, соответственно и данные собираются другие. Если, например, сайт слишком часто меняет IP-адрес, то это типичный признак вредоносного сайта. При этом в чем, собственно, заключается его вредоносность — неизвестно. Сайт может распространять вредоносный код или представлять собой ложный сайт какого-нибудь банка. В общем, пользователю это не важно. Главное, что при попытке посетить данный сайт антивирус Trend Micro в реальном времени сверяется с SPN и блокируется доступ.
Кроме базы репутации сайтов, SPN хранит базу репутации источников сообщений электронной почты, а также базу репутации отдельных файлов. Использование последней чаще всего называют «облачным» антивирусом. Но именно наличие всех трех баз дает второй и самый хитрый способ выявления угроз. Разработчики Trend Micro называют этот метод корреляцией. Суть его в том, что с помощью информации из одних баз наполняются другие. Опять же поясним данную методику на примере.
Рассмотрим сообщение электронной почты, которое приходит в ловушку для спама в TrendLabs с известного источника спама. Если к сообщению прикреплен исполняемый файл, то с него снимается контрольная сумма, которая пополняет базу репутации файлов. Одновременно этот файл автоматически запускается в контролируемом окружении и выясняется, например, что он загружает из Интернета еще два каких-то исполняемых файла. Отметим, что именно такое поведение характерно для популярных в последнее время троянцев семейства Trojan.Downloader. Хэш-суммы загруженных файлов также помещаются в базу репутации файлов, а адреса, с которых производилась загрузка, пополняют базу репутации сайтов. Адреса, с которых загружаются дополнительные компоненты, также помещаются в базу репутации сайтов.
Есть и более простые примеры использования корреляции. Например, если с серверов определенного провайдера рассылается подозрительно много спама, то все сайты, размещенные у данного провайдера, получают соответственно низкую репутацию. Разумеется, это не означает, что доступ к ним однозначно блокируется, но им уделяется более пристальное внимание.
Третьим способом определения репутации ресурсов в базах SPN является система обратной связи. Фактически SPN учитывает обращение клиентов Trned Micro к ней для ее собственного пополнения. Проще всего такой подход пояснить на примере репутации для электронной почты. При выявлении спам-письма IP-адрес отправителя помещается в базу на относительно короткий срок (в пределах нескольких часов). Такой осторожный подход призван застраховать от блокировки легитимных источников почты, которые отправили нечто, напоминающее спам. Если же в течение этих нескольких часов большое количество клиентов Trend Micro обратится к базе репутации электронной почты, чтобы свериться относительно репутации данного адреса, то это верный признак того, что адрес попал в базу не случайно. При таком развитии событий адрес «прописывается» в базе на очень долгое время. Разумеется, если все-таки произошла ошибка, у любого пользователя всегда есть возможность удалить свой адрес из базы.
Если попытаться сформулировать суть SPN, то эта «облачная» инфраструктура позволяет отслеживать поведение вредоносных программ в масштабе Интернета, а не непосредственно на компьютере жертвы. Это дает существенные преимущества в борьбе с современными вирусами, которые научились обманывать как пользователя, так и защитное программное обеспечение, установленное у него на компьютере.
Использование фильтра SmartScreen
Последней широко распространенной технологией безопасности, которую мы рассмотрим, будет фильтр SmartScreen, встроенный в Internet Explorer начиная с версии 8. Актуальность использования этой технологии бесспорна. Как показывает анализ SmartScreen Filter, каждая четырнадцатая программа, загружаемая пользователями Windows, является вредоносной, однако около 5% пользователей игнорируют предупреждения и скачивают опасные приложения. По статистике производителя, SmartScreen блокирует ежечасно более 125 тыс. потенциально небезопасных сайтов и программ.
Фильтр SmartScreen в Internet Explorer предупреждает пользователя о подозрительных или уже известных мошеннических веб-узлах. При этом фильтр проводит анализ содержимого соответствующего сайта, а также использует сеть источников данных для определения степени надежности сайта. Фильтр SmartScreen сочетает анализ веб-страниц на стороне клиента на предмет обнаружения подозрительного поведения с онлайн-службой, доступ к которой пользователь разрешает или запрещает. При этом реализуется три способа защиты от мошеннических и вредоносных узлов.
- Сравнение адреса посещаемого сайта со списком известных сайтов. Если сайт найден в этом списке, больше проверок не производится.
- Анализ сайта на предмет наличия признаков, характерных для мошеннических сайтов.
- Отправка адреса сайта, на который пользователь собирается зайти, онлайн-службе Microsoft, которая ищет сайт в списке фишинговых и вредоносных сайтов. При этом доступ к онлайн-службе производится асинхронно по SSL-соединению, так что это не сказывается на скорости загрузки страниц.
С помощью Internet Explorer вы можете узнать, является ли узел мошенническим. Для этого выберите в меню «Безопасность» пункт фильтра SmartScreen, а затем «Проверить веб-узел». Работа фильтра SmartScreen основывается на службе Microsoft URL Reputation Service (URS), осуществляющей круглосуточную поддержку. Если фильтр SmartScreen включен, то он просматривает локальный список известных разрешенных узлов и отправляет адрес URL-узла службе URS для проверки.
Во избежание задержек обращения к URS производятся асинхронно, так что на работе пользователя это не отражается. Чтобы уменьшить сетевой трафик, на клиентском компьютере хранится зашифрованный файл со списком в несколько тысяч наиболее посещаемых узлов; все включенные в список узлы не подвергаются проверке фильтром SmartScreen. В фильтре SmartScreen также применяется механизм локального кэширования адресов URL, позволяющий сохранять ранее полученные рейтинги узлов и избежать лишних обращений по сети. Один из способов выявления потенциально подставных узлов, применяемый службой URS, — сбор отзывов пользователей о ранее неизвестных узлах. Каждый пользователь имеет возможность отправлять информацию об узле, который вызывает у него подозрения.
Для защиты от фишинга и вредоносного кода фильтр SmartScreen исследует строку URL целиком, а не подмножество адресов URL, на которые заходил пользователь. Учтите, что службе URS могут быть переданы личные сведения, поскольку иногда они находятся в самой строке URL.
Фильтр SmartScreen можно включать или отключать избирательно для каждой зоны безопасности, но только в том случае, когда эта функция включена глобально. По умолчанию фильтр SmartScreen включен для всех зон, кроме местной интрасети. Если вы захотите исключить некоторые узлы из списка проверяемых фильтром SmartScreen, но не отключать при этом фильтр полностью, необходимо включить фильтр глобально, а затем отключить фильтрацию только для зоны «Надежные узлы», после чего конкретные узлы добавить в эту зону.
Итак, все больше технологий движется к использованию «облачных» инфраструктур. Навигаторы переходят на загрузку в реальном времени карт от поставщиков вместо «прошитых» при покупке. Мало кто в наше время заглядывает в энциклопедии, чаще сверяются с Википедией. Вот и защитные технологии не остались в стороне от этого процесса. Как было сказано в начале, многие пользователи если и слышали об «облачных» технологиях, то представляют их себе как некую отдаленную перспективу развития информационных технологий. А на самом деле оказывается, что такое привычное решение, как антивирус или интернет-браузер, сегодня не способно без участия «облачных» технологий обеспечить пользователю защиту.
Владимир Безмалый (vladb@windowslive.com) — специалист по обеспечению безопасности, MVP Consumer Security, Microsoft Security Trusted Advisоr.
Михаил Кондрашин (mkondrashin@apl.ru) — генеральный директор ЗАО APL, имеет сертификат Trend Micro Certified Security Master