Безопасность: облако или болото?Количество игроков, действующих в сегменте облачных вычислений, стремительно растет – всего за несколько лет здесь успели выделиться свои лидеры, а на прошедшей в ноябре 2009 года конференции International Cloud Conference & Expo был составлен первый список из полутора сотен ИТ-компаний, образующих верхушку пирамиды новой индустрии. В дополнение к ним действуют еще тысячи небольших компаний, среди которых много начинающих. Все это свидетельствует о том, что процесс перехода в облака «пошел», причем активно, даже несмотря на тот факт, что как технологическое направление сфера cloud computing еще очень далека от зрелости.

Серьезным препятствием на пути дальнейшего развития облаков являются сомнения в безопасности такого рода информационных структур. Отчасти такую настороженность следует отнести на счет инерционности мышления и недоверия к новым технологиям, но в то же время страхи нагнетают отдельные высказывания представителей ведущих ИТ-компаний. Джон Чемберс, глава корпорации Cisco Systems, сказал про облака так: «Это ночной кошмар системного администратора, от него нельзя избавиться традиционными методами». Иногда встречаются и явно надуманные страшилки, например, делается предположение, что виртуальный сервер вместе с его данными может быть, условно говоря, похищен из облака, причем утверждается, что такая процедура проще, чем вынос физического сервера из ЦОД. Для того чтобы совершить подобное хищение, достаточно завладеть правами администратора, а далее скопировать виртуальную машину вместе с ее данными и скрыть ее где-то в том же облаке.

Однако авторитетные специалисты сохраняют спокойствие, выражая уверенность в неизбежности перехода в облака. Уитфилд Диффи, создавший вместе Мартином Хеллманом алгоритмические основы криптографии с открытым ключом, обрисовал ситуацию следующим образом: «Мы попадаем в зависимость от облачных вычислений так же, как в зависимость от общественного транспорта. Увы, со многими его особенностями придется смириться, но ведь, пользуясь самолетами, мы вынуждены доверять неподконтрольным нам организациям, к тому же навязывающим нам свои условия и принуждающим нас следовать их расписанию... Да, всего этого можно было бы избежать в том случае, если бы мы могли пользоваться личными самолетами, но экономические преимущества общественного транспорта настолько велики, что у нас не остается выбора».

Тем не менее недоверие к облакам со стороны ИТ-руководителей все еще велико. По состоянию на декабрь 2009 года почти 70% европейских CIO не считают облачные сервисы безопасными, а в Скандинавии, представители которой отличаются особой взвешенностью решений, эта цифра приближается к 90%. Свои опасения они строят на основании личного опыта и собственных убеждений, разделяя опасности на три очевидные категории: обычные угрозы, характерные для любых ЦОД; недостаточная готовность облаков к предоставлению разнообразных ИТ-услуг; кажущаяся наиболее очевидной угроза завладения данными со стороны какой-то третьей силы.

При переносе функций классических ЦОД в облака их опасность кажется выше, а потенциальные отрицательные последствия страшнее. В число угроз первой категории входят: атаки на уровне виртуальных машин; собственные уязвимости на стороне провайдера; фишинг и другие приемы нарушения безопасности, базирующиеся на методах социальной инженерии; пробелы в организации аутентификации и авторизации; сложности отслеживания причин нарушения безопасности.

Вторую категорию образуют сомнения в достаточной надежности и, прежде всего, в готовности ЦОД, реализующих облачную модель вычислений. Такие сомнения имеют под собой реальную почву, например инциденты с Gmail, Amazon S3 и др. В эту же категорию попадают сомнения в корректности вычисленных в облачных инфраструктурах результатов: пока провайдеры не дают такого рода гарантий.

Самые сильные эмоции, возникающие при обсуждении надежности облаков, вызывает возможность доступа к данным со стороны других пользователей, хотя на большинство подобного рода претензий представители облачной индустрии могли бы ответить, апеллируя к опыту работы публичных авиакомпаний. Крупным авиаперевозчикам пассажиры обычно доверяют больше, справедливо полагая, что более богатая практика и пристальный контроль непосредственно влияют на квалификацию летного персонала. Специалисты по информационной безопасности, работающие в крупных компаниях-провайдерах, обладают не меньшей квалификацией, чем одиночки, разбросанные по множеству остальных.

Новые проблемы безопасности

Многие опасения по поводу облаков сродни обычному обывательскому страху перед любой новой технологией – достаточно вспомнить, какими несуразными правилами власти ограничивали движение первых автомобилей, вплоть до скорохода с красным флажком, оповещающего о появлении самодвижущейся коляски. Только профессионалы могут распознать подлинные угрозы cloud computing и предложить реальные способы борьбы с ними. Наиболее представительным собранием таких специалистов стала традиционная конференция по безопасности RSA Conference 2009, организуемая отделением EMC Security Division. Ее лейтмотивом была волнующая всех тема «Облака и безопасность», и нет ничего удивительного в том, что во многих публикациях RSA Conference 2009 переименовали в Cloud Security Conference 2009. Основными обсуждаемыми вопросами были сохранение целостности данных и возможность их потери, согласование с нормативными требованиями, ответственность перед пользователями, надежность, аутентификация и управление жизненным циклом информации.

Выступления на конференции вполне логично разделились на две группы. Первые адресовались тем, кто уже решил воспользоваться облачными сервисами, и были они сделаны представителями организаций, разрабатывающих практические рекомендации по работе с облаками. Эту функцию взяли на себя несколько координирующих альянсов и форумов. Наиболее авторитетным среди них считается Cloud Security Alliance (CSA), ставящий своей целью распространение передового опыта по обеспечению безопасности при работе с облачными сервисами. CSA был организован в 2008 году ведущими специалистами по информационной безопасности предприятий, участвовавших в ассоциации Information Systems Security Association (ISSA). Первым результатом ее деятельности стал документ Security Guidance for Critical Areas of Focus in Cloud Computing – руководство по критически важным вопросам безопасного облачных вычислений. В декабре 2009 года CSA опубликовал вторую редакцию этого руководства, в котором анализирует основные 15 областей угроз и рекомендует способы борьбы с ними. В пределах Европы аналогичную функцию взяла на себя организация Jericho Forum, созданная в 2004 году, еще до появления концепции cloud computing, как площадка для обсуждения проблем защиты данных, возникающих в связи с уходом в прошлое «замковой модели» и развитием модели без защищаемого периметра (депериметризации). Идеологической основой деятельности Jericho Forum является концепция архитектура, ориентированная на сотрудничество (Collaboration Oriented Architecture, COA). С появлением облачных вычислений Jericho Forum предложил руководящий документ Securely Collaborating in Clouds, в котором принципы COA распространены и на эту сферу.

Видение облаков в Jericho Forum сформулировали в виде кубической модели Cloud Cube Model, имеющей четыре измерения, чего пугаться не стоит – достоинство этой иллюстративной модели (см. рисунок) в том, что она дает возможность осознать разнообразие облачных решений.

Вторую группу образовали проблемные выступления, раскрывающие действительные угрозы и методы борьбы с ними с точки зрения основных игроков рынка информационной безопасности (RSA, Symantec, Trend Micro McAfee и Cisco), а также исследователей проблем облачной безопасности. Обобщая выступления данной группы, можно сделать несколько выводов.

Первый: вместе с перемещением данных и приложений в облака ушли в прошлое времена классической защиты периметра, которого уже нет в принципе. В обеспечении безопасности в новых условиях должны участвовать все стороны: производители технологий для облаков, провайдеры облачных сервисов и потребители. Средствами защиты должен оснащаться не охраняемый периметр, а сама информация.

Второй: технологии безопасности становятся информационно-центричными.

Третий: центр внимания смещается на интеллектуальные сервисы: репутационную (reputation) и прогностическую (predictive) безопасность.

Четвертый, возможно, самый главный: дальнейшее совершенствование безопасности облаков будет развиваться по трем направлениям: создание безопасной инфраструктуры, повышение качества управления идентификацией и усиление защищенности данных.

Создание безопасной инфраструктуры

Анализ публикаций, обсуждающих проблемы безопасности облаков, со всей очевидностью показывает, что в подавляющем большинстве еще нет осознания истинной причины опасности, того факта, что появление облачных сред, состоящих из сотен и более виртуальных машин, означает выход на качественно новый системный уровень. Создаваемая облачная инфраструктура оказывается настолько сложной, что начинает приобретать новые, собственные свойства и соответственно новые, неизвестные до сих пор уязвимости.

Ключевым словом для понимания новых проблем обеспечения безопасности является «виртуализация», благодаря которой стало возможным создание облаков, но от которой исходит не только благо, но и неизвестные прежде угрозы для безопасности. Поначалу между физической машиной и виртуальной не делали большого различия – каждое приложение работает на собственной виртуальной машине, что создает впечатление изолированности, но не следует забывать, что облачная инфраструктура сложнее, чем просто набор виртуальных машин (все они работают на разных физических и под управлением тех или иных гипервизоров). На самом деле изолированность виртуальных машин существенно ниже, чем изолированность физических машин, и это может стать источником повышенной системной опасности. Кроме того, при том что гипервизоры по определению являются «тонкими» и, следовательно, у них меньше врожденных уязвимостей, они остаются хоть и специализированными, но все же операционными системами со всеми вытекающими последствиями.

Можно выделить следующие уязвимости, возникающие в пуле виртуальных машин, образующих облачную инфраструктуру.

Несанкционированное взаимодействие между виртуальными машинами и хостами. Теоретически инфраструктура облака должна исключать любое взаимодействие между отдельными виртуальными машинами или виртуальными машинами и физическими машинами, на которых они работают. Однако подобного рода взаимодействие возможно через общие или распределенные области обмена данными (shared clipboard), оставляющие лазейку для распространения паразитных кодов. Примерно такую же возможность создают технологии виртуализации, использующие общий для всего хоста буфер хранения введенных с клавиатуры символов. Иногда считается, что в случае, когда виртуальная машина и хост работают под управлением разных операционных систем, утечка такого рода невозможна, но это утверждение доказательства еще не получило.

«Побег» виртуальной шины. При недостаточной изоляции от хоста специально созданная злонамеренная виртуальная машина может «совершить побег» (VM Escape) – пройти сквозь гипервизор и захватить управление хостом. В случаях, когда целью побега является захват других виртуальных машин, это явление называют «перескакиванием» (VM Hopping).

Слежение со стороны хоста. По определению виртуальная машина работает на хосте и под его управлением, и если не создать специальные барьеры, то хосту могут стать известны все секреты виртуальных машин. Такая ситуация недопустима, она создает условия для тотальной слежки в облаке.

Слежение со стороны виртуальной машины. Современные гипервизоры и процессоры со встроенной защитой памяти исключают взаимное наблюдение между виртуальными машинами, но изолированность может пострадать на уровне сетевого трафика, если машины используют «виртуальный коммутатор». В таком случае возможно хищение или переадресация передаваемых пакетов данных.

Атаки в облаке. При недостаточной изоляции в облаке можно создать DoS-атаку, которая выведет из строя все облако, или же локальную атаку одной виртуальной машины на другую.

Внешние модификации. Целью атак такого рода может быть изменение кодов гипервизора и приложений, работающих на виртуальных машинах.

Перечисленные угрозы прежде не возникали, поэтому их невозможно устранить существующими технологиями или процессами, нет также единого решения по борьбе с ними, которая требует целенаправленных усилий производителей всех технологий, применяемых в облаках, – аппаратного и программного обеспечения, сетевого оборудования и средств защиты.

Повышение надежности идентификации

В облачных условиях не теряет своего значения направление, называемое управлением идентификацией и доступом (Identity Management, IM), а также решения более широкого класса – обеспечения безопасности на основе контроля за идентификацией (Identity-Based Security, IBS). Обеспечение сквозных (end-to-end) процедур управления идентификацией, аутентификация услуг, предлагаемых третьей стороной, и федеративная, охватывающая разные системы, проверка идентичности должны стать ключевыми компонентами облачной безопасности. Решения категории IBS позволяют сохранить целостность и конфиденциальность данных, допуская при этом возможность для доступа к ним со стороны множества пользователей и приложений. Этот класс технологий базируется на технологиях сильной аутентификации (strong authentication): многофакторная аутентификация; однократные пароли; аутентификация на основе рисков (risk-based authentication), учитывающая предшествующую историю, текущий контекст и другие факторы риска, сопровождающие тот или иной запрос к данным. Аутентификация должна делиться на уровни, предусмотренные в соглашении об уровне обслужиания, а процедуры авторизации, то есть наделения правами, должны стать более гранулированными (granular authorization) – полномочия должны даваться только в ограниченных пределах, задаваемых выполняемыми ролями и функциями. Должны получить развитие такие технологии, как управление доступом на основе ролей (Role Based Access Control, RBAC), управление правами на информацию (Information Rights Management, IRM) и избирательное управление доступом (Discretionary Access Control, DAC).

Усиление защищенности данных

В традиционных ЦОД защита данных строится на основе физической защиты доступа к аппаратным или программным ресурсам, но в облаке происходит то, что называют депериметризацией, – все расставленные по периметру барьеры теряют смысл. Чтобы сохранить защищенность, соответствующие методы должны стать информационно-центричными (information-centric). Такого рода секретность предполагает перенос методов защиты непосредственно к данным – доступ может получить только тот, кто обладает нужными правами, в нужное время и в нужном месте.

В распределенных средах, обладающих качествами multi-tenancy (коммунальности, позволяющей нескольким пользователям независимо разделять один и тот же ресурс) и multi-instancy (индивидуальности, позволяющей каждому пользователю владеть частью облака для выполнения своих приложений), данные защищены с предельной возможностью, чтобы исключить доступ разных пользователей к одним информационным ресурсам. Ничего особенно нового здесь пока не предлагается – все те же криптография, виртуализация и контроль за доступом. Если сравнивать IaaS (Infrastructure as a Service – предоставление унифицированных аппаратных и программных ресурсов в виде сервиса), PaaS (Platform as a Service – предоставление в виде сервиса платформы для разработки) и SaaS (Software as a Service – предоставление по запросу готового специализированного ПО), то в первом случае изолировать данные проще, так как меньше границ соприкосновения. Обеспечение защиты, как и аутентификации должно быть более гранулярным, нацеленным на более мелкие порции данных и меньшие по размерам группы пользователей. В нынешних условиях представления о гранулярности сформировались исходя из того, что данные находятся в пределах защищаемого периметра, но если данные «лежат» в облаке, то защиты может потребовать не только файл в целом, но, например, отдельное поле или отдельный блок.

Работа в облаке может потребовать согласованной защищенности данных, различной для разных групп пользователей, например при обмене между «своими» и теми, кто вовне. Вместе с тем распределение грифов секретности должно быть таковым, чтобы не снижать общей производительности, а для этого нужно ранжировать данные по степени их важности и величине рисков. IRM обычно распространяют только на управление идентификацией и доступом, но в условиях облаков права должны быть доведены до уровня данных.

***

Рональд Ривест, профессор МТИ, создавший вместе с Ади Шамиром и Леном Аделманом криптографию с открытыми ключами и компанию RSA, оценивает сложившуюся ситуацию так: «Думаю, безопасность облачных вычислений становится важнейшим направлением в сфере информационной безопасности. И очень важно не поддаться обманчивости названия, cloud computing звучит так ласково, прекрасно и даже надежно. Но если присмотреться внимательно, то из-за скрытых в нем опасностей его можно было бы назвать 'болотным' (swamp)».


Кубическая модель облаков


От защиты периметра к защите данных
Вместе с развитием технологий трансформируются взгляды на то, как обеспечить сохранность и конфиденциальность данных. Еще совсем недавно к данным относились как к ценностям, хранимым в банке, и вся защита сводилась к тому, чтобы стены были покрепче и запоры понадежнее, но теперь, когда данные приобрели мобильность, они сами должны уметь себя защищать.

Реальная безопасность виртуальных серверов
Комплекс проблем, связанных с обеспечением безопасности любых виртуальных систем, в том числе и виртуализованных серверов стандартной архитектуры, сложнее, чем это может показаться на первый взгляд.