Облачные вычисления: Вопросы безопасности в виртуальных облаках

Использование виртуальных машин в контексте инфраструктуры облачных вычислений создает интересные эффекты в области безопасности.

Вик Уинклер

Адаптированная выдержка из книги «Securing the Cloud» (Syngress, подразделение издательства Elsevier).

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

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

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

Новая угроза

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

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

Один из новых рисков — риск компрометации гипервизора виртуальных машин. Если гипервизор ненадежен, он станет первой целью злоумышленников.  Если не устранить эту опасность, в облаке атака может привести к масштабным разрушениям. Это требует дополнительного уровня изоляции сети и усиленной системы мониторинга безопасности.

Для анализа этой опасности попытаемся для начала понять природу гипервизора. Вот мнение консультанта по безопасности и одного из основателей компании Nemertes Research Group Inc. Андреаса Антонопулоса (Andreas Antonopoulos): «Гипервизоры — узкоспециализированные устройства. Обычный гипервизор меньше и более специализирован, чем операционная система общего назначения, и меньше открыт для атак, так как у него меньше или вообще нет открытых во вне сетевых портов.

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

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

Вопросы хранения

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

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

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

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

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

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

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

Управления трафиком

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

При таком подходе может использоваться одна из форм маркировки, подобно той, что применяется в многоуровневых ОС (таких как Trusted Solaris или SE-Linux). Можно также использовать базу данных управления конфигурацией для отслеживания запросов арендаторов на изоляцию приложений.

Но, как говорит Билл Майне (Bill Meine), архитектор ПО и специалист по облакам в компании Blackhawk Network: «Во всех этих примерах проблемы возникают, когда арендатору также требуется максимальная защита компонентов приложения от отказов по стандартным причинам, например из-за необходимости высокой доступности. Все дело не в том, что такую схему нельзя заставить работать, а в стоимости всех несовместимых и недогруженных фрагментов сервера (которые нельзя продать), которую приходится учитывать в цене сервиса».

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

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

Вопросы сертификации

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

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

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

VicWinkler

Вик Дж. Р. Уинклер* старший партнер в компании Booz Allen Hamilton, где занимается техническим консультированием в основном государственных учреждений. Он является исследователем в области информационной безопасности, а также экспертом в области обнаружения вторжений и аномального поведения.*