Проблемы выявления уязвимостей в модели облачных вычислений

ГРИГОРЬЕВ1 Виталий Робертович, кандидат технических наук, доцент КУЗНЕЦОВ2 Владимир Сергеевич

ПРОБЛЕМЫ ВЫЯВЛЕНИЯ УЯЗВИМОСТЕЙ В МОДЕЛИ ОБЛАЧНЫХ ВЫЧИСЛЕНИЙ

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

Целью данной статьи является обзор подходов к построению концептуальной модели облачных вычислений, приведенной в документе «NIST Cloud Computing Reference Architecture», и сравнение взглядов ведущих в этой области организаций на уязвимости в условиях данной модели вычислений, а также основных игроков на рынке создания облачных систем.

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

Пять основных характеристик

Самообслуживание по требованию

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

Оперативная эластичность — 1Т-

ресурсы могут оперативно масштабироваться в любую сторону по мере надобности.

Пул ресурсов — 1Т-ресурсы совместно используются различными приложениями и пользователями в несвязанном режиме.

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

Три сервисных модели

ПО как услуга (SaaS) — обычно приложения предоставляются конечным пользователям как услуга через веб-браузер. На сегодня имеются сотни предложений SaaS, от горизонтальных приложений предприятий до специализированных предложений по отдельным отраслям, а также потребительские приложения, такие как электронная почта.

Платформа как услуга (PaaS) — платформа для разработки и развертывания приложений предоставляется как услуга разработчикам для создания, развертывания и управления приложениями SaaS. Обычно платформа включает в себя базы данных, ПО среднего слоя и инструменты для разработки, причем все это предоставляется как услуга через Интернет. PaaS часто ориентируется на язык программирования или API, например, Java или Python. Виртуализованная кластерная архитектура распределенных вычислений часто служит базой для систем

1 — МГТУ МИРЭА, доцент кафедры Информационная безопасность;

2 — Московский Государственный Университет Радиоэлектроники и Автоматики (МГТУ МИРЭА), студент.

РааЯ, так как грид-структура сетевого ресурса обеспечивает необходимую эластичную масштабируемость и объединение ресурсов. Инфраструктура как услуга (IaaS) — серверы, хранилища данных и сетевое аппаратное обеспечение предоставляются как услуга. Это инфраструктурное оборудование часто вир-туализовано, поэтому виртуализация, управление и ПО операционной системы также являются элементами 1ааЯ.

Четыре модели развертывания

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

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

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

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

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

На рис. 1 представлена концептуальная модель облачных вычислений согласно документу «NIST Cloud Computing Reference Architecture». Согласно представленной на рис. 1 модели в стандарте выделяются основные участники облачной системы: облачный потребитель, облачный провайдер, облачный аудитор, облачный брокер, облачный посредник. Каждый участник — это человек или организация, выполняющий (ая) свои функции по реализации или предоставлению облачных вычислений. Облачный потребитель — лицо или организация, которая поддерживает бизнес-взаимодействие с другими ак-

Облачный потребитель

Облачный аудитор

С Аудит Л I безопасности J

I Аудит конфи- Л I денциальности J

( Аудит предостав- | ляемых услуг J

Облачный провайдер

Комплекс уровней

Пользовательский уровень

^ Сервис как услуга ^ ^ Платформа как услуга ^ Инфраструктура как услуга)

Уровень абстракции

Физический уровень

Облачный сервис

^ Поддержка J ^ Настройка J

Переносимость

лллл

й о о и

л §

к а к

а Ч К

Г&

и £

h4

н

О О

к

о cd К О

со

(U

W

Облачный брокер

Облачный посредник

Рис. 1. Концептуальная модель, разработанная специалистами NIST

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

Достоинства и проблемы облачных вычислений

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

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

Для адекватной оценки безопасности в облачных системах имеет смысл исследовать взгляды на угрозы данной области основных игроков рынка. Мы сравним существующие подходы к угрозам в облачных системах, представленные в документе NIST Cloud Computing Standards Roadmap с подходами, которые предлагают компании IBM, Oracle и VmWare.

Стандарт безопасности облачных вычислений, принятый Национальным институтом стандартов ^ВД США

Стандарт безопасности облачных вычислений (NIST Cloud Computing Standards Roadmap), принятый в NIST, охватывает возможные потенциальные типы атак на сервисы облачных вычислений:

♦ компрометация конфиденциальности и доступности данных, передаваемых облачными провайдерами;

♦ атаки, которые исходят из особенностей структуры и возможностей среды облачных вычислений для усиления и увеличения ущерба от атак;

♦ неавторизированный доступ потребителя (посредством некорректной аутентификации или авторизации, или уязвимостей, внесенных по-средствам периодического технического обслуживания) к ПО, данным и ресурсам, используемым автори-зированным потребителем облачного сервиса;

♦ увеличение уровня сетевых атак, таких как DoS, эксплуатирующих ПО, при разработке которого не учитывалась модель угроз для распределенных ресурсов интернета, а также уязвимости в ресурсах, которые были доступны из частных сетей;

♦ ограниченные возможности по шифрованию данных в среде с большим количеством участников;

♦ переносимость, возникающая в результате использования нестандартных API, которые усложняют облачному потребителю возможность перехода к новому облачному провайдеру, когда требования доступности не выполняются;

♦ атаки, эксплуатирующие физическую абстракцию облачных ресурсов, и эксплуатирующие недостатки в записях и процедурах аудита;

♦ атаки на виртуальные машины, которые не были соответствующим образом обновлены;

♦ атаки, эксплуатирующие нестыковки в глобальных и частных политиках безопасности.

Также стандарт выделяет основные задачи безопасности для облачных вычислений:

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

♦ защита от «цепных» (supply chain threats) угроз; включает в себя подтверждение степени доверия и надежности сервис провайдера в той же степени, что и степень доверия используемого ПО и «железа»;

♦ предотвращение неавторизирован-ного доступа к ресурсам облачных вычислений; включает в себя создание защищенных доменов которые логически отделены от ресурсов (например, логическое разделение рабочих нагрузок, запущенных на одном и том же физическом сервере посредством гипервизора в среде с мультиарендованием) и использование безопасных по умолчанию конфигураций;

♦ разработка веб-приложений, развернутых в облаке, для модели угроз распределенных ресурсов интернета и встраивание функций по обеспечению безопасности в процесс разработки ПО;

♦ защита интернет-браузеров от атак для смягчения слабых мест безопасности конечного пользователя; включает в себя принятие мер для защиты интернет-соединения персональных компьютеров на основе использования безопасного ПО, межсетевых экранов (файр-волов) и периодической установки обновлений;

♦ развертывание контроля доступа и технологий обнаружения вторже-

ний у облачного провайдера и проведение независимой оценки, для проверки наличия оных; включает в себя (но этим не ограничивается) традиционные меры по безопасности периметра в сочетании с моделью безопасности домена; традиционная безопасность периметра включает в себя ограничение физического доступа к сети и устройствам, защита индивидуальных компонент от эксплуатации посредствам развертывания обновлений, установкой по умолчанию большинства настроек безопасности, отключением всех неиспользуемых портов и сервисов, использованием ролевого управления доступом, мониторингом записей аудита, минимизированием используемых привилегий, использованием антивирусных пакетов и шифрованием соединений;

♦ задание доверенных границ между сервис-провайдером (ами) и потребителями для того, чтобы убедиться в ясности авторизованной ответственности за предоставление безопасности;

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

Таким образом, Стандарт безопасности облачных вычислений (NIST Cloud Computing Standards Roadmap), принятый в NIST, определяет базовый список атак на облачные системы и список основных задач, которые должны

решаться посредством применения

соответствующих мер.

Сформулируем угрозы информационной безопасности облачной системы:

♦ У1 — угроза (компрометации, доступности, etc...) данным;

♦ У2 — угрозы, порождаемые особенностями структуры и возможностями архитектуры реализации распределенных вычислений;

♦ У3 — угрозы неавторизированного доступа к ПО, данным и ресурсам;

♦ У4 — угрозы, связанные с некорректной моделью угроз;

♦ У5 — угрозы, связанные с некорректным использованием шифрования (необходимо использование шифрования в среде, где существуют несколько потоков данных);

♦ У6 — угрозы, связанные с использованием нестандартных API при разработке;

♦ У7 — угрозы виртуализации;

♦ У8 — угрозы, эксплуатирующие нестыковки в глобальных политиках безопасности.

Взгляд на проблемы обеспечения безопасности облачных вычислений, принятый в компании IBM

Документ Cloud Security Guidance IBM Recommendations for the Implementation of Cloud Security позволяет нам сделать выводы о взглядах на обеспечение безопасности, сформированных специалистами компании IBM. На основе этого документа мы можем расширить предложенный ранее список угроз, а именно:

♦ У9 — угрозы, связанные с доступом сторонних лиц к физическим ресур-сам\системам;

♦ У10 — угрозы, связанные с некорректной утилизацией (жизненный цикл) персональной информации;

♦ У11 — угрозы, связанные с нарушением региональных, национальных и интернациональных законов, касающихся обрабатываемой информации.

Подходы компаний IBM, Oracle и VmWare к обеспечению безопасности облачных вычислений

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

В табл. 1 приводятся основные классы уязвимостей, сформулированные компаниями в своих продуктах. Табл. 1 позволяет увидеть отсутствие полного покрытия угроз у исследованных компаний и сформулировать «ядро угроз», созданное компаниями в своих облачных системах:

♦ угроза данным;

♦ угрозы, основанные на структуре\ возможностях распределенных вычислений;

♦ угрозы неавторизированного доступа к ПО, данным и ресурсам;

♦ угрозы, связанные с некорректной моделью угроз;

♦ угрозы виртуализации.

Заключение

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

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

Таблица 1. Классы уязвимостеи

Источник Декларируемые угрозы

У1 У2 У3 У4 У5 У6 У7 У8 У9 У10 У11

NIST + + + + + + + + - - -

IBM + + + + + - + - + + +

Sun/Oracle + + + + - - + - - + -

VmWare + + + + - - + - - - -

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

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

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

Литература

1. Cloud Security Guidance IBM Recommendations for the Implementation of Cloud Security, ibm.com/redbooks, November 2, 2009.

2. http://www.vmware.com/technical-resources/security/index.html.

3. NIST Cloud. Computing Reference Architecture, National Institute of Standards and. Technology, Special Publication. 500-292, September 2011.

4. NIST Cloud. Computing Standards Roadmap, National Institute of Standards and. Technology, Special Publication. 500-291, July 2011.

5. http://www.oracle.com/technetwork/indexes/documentation/index.html.