Ясное небо до самого горизонта: «облачные» вычисления и безопасность «из облака»
Статья опубликована на сайте www.viruslist.ru; размещается с разрешения «Лаборатории Касперского».
Введение
Каждая эпоха имеет свои модные словечки. Индустрия информационных технологий не исключение: в 80-е годы таким словечком было «мультимедиа», в 90-е – «интерактивный», в последние годы – «web 2.0». Не успеют все привыкнуть к очередному неологизму, как появляется следующий. Последней новинкой стало выражение in-the-cloud («облачный»). Как и сами облака, концепция «облачных» вычислений довольно туманна. Цель настоящей статьи – прокомментировать сложившуюся ситуацию и объяснить разницу между cloud computing («облачными» вычислениями) и in-the-cloud-безопасностью.
Причем тут облака?
На рисунках, где нужно схематично изобразить Интернет, в качестве его стандартного символа используется облако. В этом есть определенный смысл: вы не видите, что находится внутри облака, – как не видно и того, какие компьютеры в данный момент находятся «в Интернете». Если небо затянуто облаками, можно сделать вывод, что пойдет дождь, и при этом не надо знать, что происходит внутри облака. Что касается Интернет-облака, необходимо знать только то, что оно есть и что к нему можно подключиться. А что происходит там внутри, точно понимать не обязательно.
Cloud Computing («облачные» вычисления)
Предвестник cloud computing
Системы cloud computing существовали задолго до того, как Windows, MacOS и Linux начали завоевывать пользовательские компьютеры. Но в те времена идея cloud computing называлась иначе – «мэйнфрейм + терминал».(mainframe + terminal). Мэйнфреймы были мощными серверами, на которых исполнялись все программы и хранились данные, а терминалы – простыми системами, которые использовались только для связи с мэйнфреймами. Конечно, для подобных систем были необходимы как быстрые (а значит, дорогие) мэйнфреймы, так и соответствующая сетевая инфраструктура. А вот для IBM PC и домашних компьютеров этого не требовалось: компьютеры проектировались так, чтобы обеспечивать все необходимые функции в одном устройстве. В результате концепция мэйнфреймов быстро устарела.
И все же такие компании, как HP, Sun и Citrix, не пожелали списывать эту идею в утиль: они заменили терминал устройством, которое теперь называется тонким клиентом, а большие мэйнфреймы – мощными серверами, выпускаемыми серийно. Подобные серверы обычно основаны на тех же технологиях, которые применяются в ПК (только в них используются более мощные и дорогие процессоры, больший объем оперативной памяти и жесткие диски большей емкости, чем в обычных настольных компьютерах). Несмотря на изменения, в основе концепции по-прежнему лежит сочетание мощных серверов и быстрых сетевых соединений. Именно поэтому подобные системы до сих пор не применялись домашними пользователями – у них просто не было доступа к подобным ресурсам. Но теперь у многих семей есть высокоскоростной доступ в Интернет с каналом, позволяющим передавать несколько мегабайт в секунду.
Инфраструктура почти готова
Несмотря на то что мэйнфреймы с тонкими клиентами можно рассматривать как предвестники cloud computing, между этими двумя концепциями есть существенная разница. Компании, внедряющей технологию тонких клиентов, обычно приходится покупать собственный сервер, обеспечивать его размещение, электропитание и т.п. А в случае cloud computing все оборудование приобретает провайдер сервиса in-the-cloud, сдающий в аренду свободные мощности тем, кто в них нуждается. Интересно, что клиенты арендуют не сервер, а только определенное количество памяти или процессорных циклов. Клиенту не нужно знать, размещено ли все на одном компьютере или распределено на нескольких. Провайдер даже может заменить компьютер, на котором выполняется используемое клиентом ПО, — существуют технологиям, специально разработанные для подобной горячей замены без ощутимого влияния на работу клиента. Вот это и есть суть «облака»: клиенту не нужно беспокоиться о деталях; если требуется больше памяти или мощности процессора, достаточно щелкнуть мышью по соответствующей кнопке, чтобы запросить нужный сервис.
Одним из первых крупных игроков в области cloud computing стала компания Amazon, в 2008 г. представившая свою концепцию Amazon Elastic Compute Cloud. Недавно компания Canonical, известная как спонсор дистрибутива Ubuntu Linux, объявила, что сервис Amazon будет интегрирован в версию Ubuntu 9.10 Linux, которая должна выйти ближайшей осенью. Другие компании, такие как Microsoft и Google, также вышли на этот рынок и будут бороться за свою долю в потенциальной прибыли. Кроме того, тысячи хостинг-компаний предлагают «виртуальные серверы» небольшим компаниям и частным лицам, которым требуются недорогие Web-серверы. Это тоже можно рассматривать как своего рода сервис in-the-cloud.
Таким образом, рынок налицо. Этот рынок будет быстро расти, и задача сервис-провайдеров – предложить оборудование, отвечающее потребностям клиентов. Размещение этих компьютеров будет одной из наиболее трудных задач: когда появится значительный спрос на услуги in-the-cloud, будет требоваться все больше серверных центров. Такие центры должны быть географически расположены поблизости от клиентов, поскольку каждый лишний километр увеличивает задержку в обмене данными между клиентским компьютером и сервером. Несмотря на то что задержка эта минимальна, для таких пользователей, как геймеры, которым необходима высокая производительность, даже задержка в 200 мс неприемлема, поскольку она не позволяет насладиться игрой в реальном времени. Когда у пользователей – частных лиц появится интерес к сервисам in-the-cloud, провайдерам придется приобретать много дополнительного оборудования, чтобы удовлетворить выросший спрос. В ближайшие лет десять серверные центры появятся в каждом городе, даже небольшом. Возможно, свои центры будут даже в многоквартирных домах, где живет больше 100 человек.
Преимущества
Несмотря на то что сейчас провайдеры сервисов in-the-cloud ориентируются прежде всего на бизнес-клиентов, успешность этой концепции, скорее всего, будет зависеть от индивидуальных пользователей по причине их многочисленности. У компаний есть собственные специалисты по ИТ, а для отдельного человека пользование компьютером может быть сопряжено со значительным стрессом. Прежде всего надо приобрести компьютер. Эта задача лишь кажется простой: для начала надо выбрать, что больше соответствует вашим потребностям – компактный и мобильный ноутбук или настольный компьютер, который будет дешевле и почти наверняка производительнее? В мире cloud computing можно совместить портативность с производительностью, купив дешевый ноутбук, который вы будете использовать как тонкий клиент (при желании его можно присоединить к монитору и клавиатуре) меньше чем за 300 евро. Затем достаточно подключить его к провайдеру сервисов in-the-cloud и получить такую производительность и объем памяти, какие пожелаете (или сможете себе позволить). Два года спустя вы по-прежнему сможете пользоваться тем же тонким клиентом, в то время как обычный ноутбук к этому времени уже устарел бы и нуждался в замене. Ведь в данном случае производительность зависит не от самого компьютера, а от сервис-провайдера.
Проблемы владельцев компьютеров не ограничиваются лишь аппаратной частью. Обновление ОС и приложений, а также установка патчей для устранения уязвимостей бывает непростой задачей. Cloud computing решает все эти проблемы, уменьшая стоимость владения домашним компьютером и обеспечивая при этом более высокий уровень безопасности и надежности.
Cloud computing также пойдет на пользу индустрии создания контента. Ни один из использовавшихся до сих пор методов защиты от незаконного копирования музыки и кино не лишен недостатков. Случается, что защищенные от копирования компакт-диски не проигрываются некоторыми CD-плеерами, а усилия компании Sony по защите контента привели к скандалу и отказу от используемой технологии. Все больше магазинов, торгующих музыкой в формате MP3, отказываются от материала, защищенного системой DRM (Digital Rights Management), и предлагают не защищенные от копирования музыкальные файлы. Однако cloud computing дает системе DRM новый шанс: производители контента получают возможность напрямую предлагать потребителю фильмы, игры и музыку. Подобный контент будет рассчитан на то, чтобы проигрываться внутри системы cloud computing, и для незаконного копирования музыки и фильмов, доставляемых пользователю таким образом, потребуется больше времени и усилий. В конечном счете все это должно привести к уменьшению числа незаконных копий и увеличению прибыли производителей контента.
Опасности
Преимущества cloud computing очевидны, но риск также присутствует. Практически ни дня не проходит без сообщений об утечке или потере данных. Использование сервисов in-the-cloud требует беспрецедентно высокого уровня доверия к провайдеру. Найдется ли компания, которой вы доверяете настолько, что предоставите ей полный доступ не только к своей электронной почте, но и к личным документам, банковским реквизитам, паролям, чатлогам и семейным фотографиям? Даже если компании вы доверяете, нет никакой гарантии, что ваши данные не попадут не в те руки. Конечно, кража данных – проблема, затрагивающая не только cloud computing, но дело в том, что в данном случае провайдеры будут иметь доступ ко всем вашим данным, а не только к небольшой их части. Поэтому если утечка данных действительно произойдет, это может иметь далеко идущие последствия.
Может ли риск вытеснить cloud computing из бизнеса? Это представляется чрезвычайно маловероятным, поскольку cloud computing – сервис, удобный пользователям и выгодный провайдерам. В будущем полный отказ от использования таких сервисов будет способен вызвать изоляцию компании (и невозможность вести дела) в той же степени, что отказ от использования электронной почты в наши дни. Новые формулировки в законодательстве и строгие правила работы для провайдеров, а также создание технологий, делающих (почти) невозможной кражу пользовательских данных для сотрудников провайдера, – гораздо более продуктивный подход, чем бойкот этой технологии. Сейчас не существует никаких ограничений для компаний, желающих выйти на рынок с предложением услуг in-the-cloud. Однако через десять лет картина будет совершенно иная: провайдеры, желающие предоставлять подобные услуги, будут вынуждены придерживаться строгих стандартов.
Внедрение стандартов привлечет также авторов вредоносного ПО и хакеров – это наглядно показала стандартизация персональных компьютеров, подавляющее большинство которых работает под управлением Windows. Когда cloud computing достигнет критической массы, вероятно, появится небольшое число хакеров с узкой специализацией, умеющих взламывать cloud-системы с целью кражи данных или манипулирования ими. Эти «специалисты» смогут заработать очень много денег. Найдутся также мошенники, не проявляющие особого интереса к технологии, но использующие нынешние трюки вроде нигерийских писем, чтобы получить деньги от жертв обмана. Будут и киберпреступники, создающие и использующие троянские программы, черви и другое вредоносное ПО, и компании, работающие в области ИТ-безопасности и защищающие своих клиентов от этих угроз. В целом изменения будут не такими уж существенными, за исключением того, что все – пользователи, провайдеры и киберпреступники – будут действовать «в облаке».
In-the cloud-безопасность
Главный принцип cloud computing состоит в возможности использования компьютерных ресурсов без физического доступа к самому компьютеру. А вот in-the-cloud-безопасность – это совсем другое дело. Здесь речь идет об использовании услуг в области безопасности, предлагаемых сторонней компанией по схеме in-the-cloud; при этом ОС функционирует на локальном ПК на вашем рабочем месте. Существует несколько разновидностей безопасности in-the-cloud. Например, «Лаборатория Касперского» предлагает сервис Kaspersky Hosted Security, обеспечивающий защиту от спама и вредоносного ПО путем фильтрации трафика на предмет наличия опасного контента до того, как он попадет на компьютер пользователя. В состав персональных продуктов компании также входит функционал in-the-cloud-безопасности в форме Kaspersky Security Network. Далее в настоящей статье мы будем говорить именно о такого рода сервисе в области безопасности на основе решений для настольных ПК.
В феврале 2006 г. Брюс Шнайер (Bruce Schneier) писал в своем блоге (http://www.schneier.com/blog/archives/2006/02/security_in_the.html) о безопасности «из облака». И он не был единственным, кто занимался этой темой. Вопрос о реализации концепции in-the-cloud-безопасности обсуждался весьма активно, причем все сходились на том, что внедрять ее действительно необходимо. Почему же тогда антивирусной отрасли потребовалось больше двух лет на то, чтобы приступить к реализации этой технологии в своих продуктах?
Вопрос необходимости
Реализация новых технологий не только требует времени и средств, но зачастую и сопряжена с определенными недостатками. Наиболее очевидный недостаток in-the-cloud-сервисов, будь то cloud computing или in-the-cloud-безопасность, состоит в том, что их достоинства реализуются только при наличии у клиента соединения с Интернетом. Пока существующие технологии были способны обеспечить защиту от новейших вредоносных программ, не требуя при этом от пользователя постоянного подключения к Интернету, не было никакой необходимости в изменениях. Но, как это всегда бывает, изменения в характере угроз привели к переменам в антивирусной отрасли.
Традиционный способ обнаружения вредоносного ПО основан на использовании так называемых сигнатур. Сигнатура вредоносной программы – это аналог отпечатка пальца человека: если программа соответствует сигнатуре, то она будет детектирована как вредоносная. Однако есть и разница между этими понятиями: отпечаток пальца идентифицирует только одного человека, а хорошая сигнатура позволяет обнаружить не только конкретный файл, но и несколько его модификаций. Высокое качество сигнатур означает не только высокий уровень обнаружения, но и уменьшение числа необходимых сигнатур, что, в свою очередь, уменьшает потребление памяти. Именно поэтому число сигнатур в базах антивирусных компаний обычно гораздо меньше общего числа известных вредоносных файлов.
Очевидно, что высокое качество сигнатур позволяет уменьшить размер антивирусных баз, но это не решает основной проблемы: чем больше вредоносных программ, тем больше нужно сигнатур для их обнаружения. Как видно из рисунка, за последние несколько лет число сигнатур резко возросло в результате взрывоподобного увеличения количества вредоносных программ.
Рост числа сигнатур не только увеличивает потребление памяти компьютера и создает дополнительный трафик при обновлении антивирусных баз, но и уменьшает скорость антивирусной проверки. На момент написания настоящей статьи объем антивирусных баз «Лаборатории Касперского», используемых в персональных продуктах, составляет 45 Мбайт. Если отраженная на рисунке тенденция роста числа сигнатур продолжится (а причин полагать обратное нет), то размер баз превысит 1000 Мбайт уже в ближайшие три-четыре года. Это больше, чем объем оперативной памяти некоторых компьютеров; базы данных такого размера не оставили бы места в памяти для ОС, браузера или игр. Использование ресурсов компьютера исключительно для проверки самого компьютера, а не для работы или игры, нельзя считать приемлемым решением.
Каков же ответ? Удаление из баз старых записей, относящихся к вредоносному ПО для MS-DOS, не поможет, поскольку позволит высвободить объем памяти гораздо меньший, чем прирост ее потребления, вызванный появлением новых сигнатур за одни сутки. Несмотря на то что более эффективные сигнатуры способствуют решению этой проблемы, по сути это борьба с симптомами заболевания, а не с самой болезнью. В конечном счете рост числа записей в антивирусных базах таким образом остановить не удастся.
В 2007 г. некоторые антивирусные компании пришли к выводу, что in-the-cloud-безопасность – единственный выход из создавшейся ситуации. Необходимость постоянного соединения с Интернетом по-прежнему была минусом, который отсутствовал в традиционных антивирусных решениях, но в конечном счете преимущества этой технологии перевешивают ее недостатки.
Преимущества безопасности in-the-cloud
Суть идеи in-the-cloud-безопасности в интерпретации «Лаборатории Касперского» состоит в том, что потенциально опасный файл или Web-сайт проверяется онлайн, а не с помощью сигнатур, которые хранятся локально, на самом компьютере. Проще всего это реализовать так: подсчитать контрольную сумму (т. е. цифровой «отпечаток пальца») файла, а потом проверить на соответствующем сервере, не определялся ли файл с такой контрольной суммой как вредоносный. Если приходит ответ «да», то пользователь получает сообщение с предупреждением, а вредоносный файл помещается в карантин.
С точки зрения пользователя между этим и старым подходами нет существенной разницы, если не считать повышения производительности компьютера. Для вычисления контрольной суммы файла больших ресурсов процессора не требуется. Это означает, что такая операция выполняется в несколько раз быстрее, чем проверка файла, основанная на сигнатурном методе. Есть и другие преимущества, на которые пользователь может поначалу не обратить внимания, но которые в конечном счете принесут ему пользу.
Меньшее потребление оперативной памяти и меньший размер обновлений. Как уже говорилось, через несколько лет классические базы сигнатур достигнут неприемлемого для пользователей размера. Решения in-the-cloud легко справляются с этой проблемой: все «отпечатки пальцев» хранятся на сервере антивирусной компании. На компьютере пользователя находится лишь само антивирусное ПО, а также кэшируемые данные. Соединение с сервером устанавливается только в тех случаях, когда на локальном диске обнаруживается новая, еще неизвестная программа. Если пользователь не устанавливает новых программ, то нет необходимости загружать новые данные. В этом и состоит принципиальное отличие от нынешней ситуации, при которой сигнатуры необходимо постоянно обновлять на случай установки в системе новой программы (которая может оказаться вредоносной).
Более быстрая реакция на появление новых угроз. Скорость реакции всегда была в антивирусной отрасли горячей темой. Выпуск новых сигнатур – важное дело. Но если сигнатура попадет на компьютер через несколько часов после того, как пользователь откроет зараженное вложение, может быть уже поздно: к этому времени компьютер может оказаться втянут в ботнет. Не исключено, что он уже загрузит дополнительные вредоносные компоненты, для которых пока нет процедур обнаружения. Именно поэтому «Лаборатория Касперского» перешла почти на ежечасный выпуск обновлений, в то время как большинство антивирусных компаний выпускали обновления раз в сутки. Тем не менее даже в такой ситуации временной разрыв между появлением новой вредоносной программы и выпуском сигнатуры для нее может составлять час или более. Методы проактивного обнаружения и технологии эмуляции, используемые на стороне клиента, могут отчасти компенсировать этот разрыв, но проблема остается. Эффект от in-the-cloud-безопасности очевиден: сигнатурная проверка проводится по требованию и в реальном времени, а скорость реакции значительно увеличивается. Как только вирусные аналитики признают файл вредоносным, эта информация становится доступной клиенту, сокращая время реакции до минут или даже секунд.
С помощью технологии in-the-cloud можно передавать не только сигнатуры троянских программ, вирусов и червей, но и почти все остальные данные, входящие в состав стандартных обновлений антивирусных баз: URL опасных Web-сайтов, заголовки и ключевые слова, фигурирующие в последних рассылках спама, а также целиком профили программ, используемые локальной системой предотвращения вторжений (Host-based Intrusion Detection System, HIPS), которая реализована, в частности, в продукте Kaspersky Internet Security 2009. Эта технология годится не только для персональных компьютеров. Ее имеет смысл использовать и для защиты мобильных устройств – тем более что у смартфонов объем оперативной памяти значительно меньше, чем у ПК, и каждый байт на счету. Большинство антивирусных решений для мобильных телефонов ориентировано на обнаружение мобильных угроз, поскольку обнаружение всего вредоносного ПО, нацеленного на Windows XP и Vista, потребовало бы слишком много ресурсов. Технология in-the-cloud способна полностью решить эту проблему.
Двусторонняя связь
Очевидно, что системы in-the-cloud способны помочь пользователю выяснить, заражен файл на его компьютере или нет: клиентский компьютер посылает запрос, а сервер отвечает. Но – в зависимости от реализации – система может работать и в обратном направлении, давая пользователям возможность помочь антивирусной компании в выявлении новых угроз. Предположим, что антивирусный продукт анализирует файл на клиентской машине с помощью технологий эмуляции или проактивной защиты и делает вывод о вредоносности файла. Для того чтобы аналитики антивирусной компании могли провести дальнейшее исследование файла, его нужно загрузить на ее сервер. Конечно, это означает, что пользователь должен предоставить сам файл, на что он может и не согласиться. Однако есть и другой путь: вместо отправки бинарного файла клиентское ПО может послать на сервер «отпечаток пальца» файла вместе с полученной из проводивших анализ модулей информацией о файле (размер, наименование угрозы по классификации и т. п.). Если новый червь быстро распространяется, аналитики антивирусной компании заметят внезапное появление на тысячах компьютеров нового файла, отмеченного как подозрительный. После этого они должны решить, действительно ли речь идет о новом вредоносном файле. Если аналитики приходят к заключению, что это реальная угроза, добавить ее детектирование несложно: «отпечаток пальца» файла уже существует, и его достаточно переместить в базу данных, получающую запросы от клиентских компьютеров.
Бесплатный сыр бывает только в мышеловке
Как обычно, при всех достоинствах in-the-cloud-безопасности у нее есть и недостатки. Приведенный выше пример показывает, как обнаружение новых вредоносных программ с помощью статистического мониторинга позволяет эффективно бороться с внезапными эпидемиями. Однако при этом резко возрастает вероятность ложных срабатываний. Предположим, выходит новая версия популярной условно-бесплатной программы. Новость о ее выходе разлетается быстро, и очень скоро программу начнет загружать множество пользователей. Если программа затрагивает системные файлы, не подписана, да еще и обновляется, загружая при этом другие исполняемые файлы, то с большой степенью вероятности автоматическая система in-the-cloud-безопасности определит ее как вредоносную. Еще несколько секунд – и по всему миру пойдет волна ложных срабатываний. Конечно, этого не произошло бы, если бы на программу обратил внимание аналитик, но это требует времени, сводя на нет потенциальный эффект от ускоренного обнаружения. Несмотря на то что на внесение в базу изменений, исключающих ложные срабатывания, занимает всего несколько секунд (в отличие от ситуации с классическими базами сигнатур, которые остаются неизменными до загрузки следующего обновления), негативных последствий не избежать. Люди не любят ложных срабатываний, и если пользователь обнаружит, что использование in-the-cloud-безопасности привело к росту числа ложных срабатываний, он, вероятнее всего, отключит соответствующую функцию или перейдет на продукты другого производителя, применяющие классический сигнатурный подход к обнаружению угроз. Чтобы не допустить подобного развития событий, антивирусным компаниям приходится создавать и поддерживать собственные коллекции гарантированно чистых файлов. При выпуске нового патча или программы антивирусной компании необходимо очень оперативно проанализировать новый файл и добавить его в белый список – до того, как клиенты начнут загружать файл.
Таким образом, переход в «облачную» сферу означает большой объем дополнительной работы для антивирусных компаний. Им не просто нужно активно поддерживать коллекции чистых файлов – их серверы должны абсолютно устойчиво работать 24 часа в сутки. Конечно, подобная устойчивость требовалась всегда, ведь если сервер не находится на связи, то он не способен доставлять обновления. Но классический подход позволяет работать и с сигнатурами, созданными несколько часов назад, хотя уровень обнаружения угроз при этом снижается. А в случае с «облачным» подходом при отказе сервера клиенты оказываются совершенно незащищенными, поскольку вся концепция in-the-cloud-безопасности основана на связи с сервером по требованию и в реальном времени. Чтобы обеспечить защиту пользователей при отказе сервера, необходимо задействовать эвристические механизмы в сочетании с мощной технологией HIPS.
Что день грядущий нам готовит?
«Лаборатория Касперского» оказалась среди пионеров безопасности in-the-cloud, внедрив ее элементы в продукт Kaspersky Internet Security 2009 и развернув сервис Kaspersky Security Network, работающий в связке с этим продуктом. Сейчас уже многие компании, занимающиеся компьютерной безопасностью, реализуют подход in-the-cloud в своих продуктах. Однако отрасль в целом пока находится лишь на начальном этапе внедрения этой чрезвычайно мощной технологии. Здесь можно провести параллель с миром автомобилей: несмотря на то что со временем электромобили заменят бензиновые и дизельные машины, на данный момент в большинстве автомобилей, рекламируемых как электрические, на деле используются гибридные технологии. В мире ИТ инновации, как правило, внедряются быстрее, чем в других отраслях. Тем не менее, скорее всего, пройдет два или три года, прежде чем in-the-cloud-безопасность полностью заменит используемые ныне методы сигнатурного обнаружения.
Заключение
В настоящей статье объясняются различия между cloud computing («облачными» вычислениями) и in-the-cloud-безопасностью. Для полноценной реализации концепции cloud computing потребуется около двух лет, поскольку компаниям придется привыкать к идее доступа сервис-провайдеров ко всем их данным.
Антивирусные продукты, в которых реализована технология in-the-cloud, уже функционируют, и остается мало сомнений в том, что к концу года эта технология получит широкое признание. Со временем два подхода, описанные в статье, сольются в один: защита отдельных пользователей и целых организаций, использующих «облачные» вычисления, будет обеспечиваться сервисами безопасности «из облака». Когда это произойдет, Интернет станет играть такую же важную роль в повседневной жизни, какую сегодня играет электричество.