АНАЛИЗ УГРОЗ БЕЗОПАСНОСТИ
виртуальных информационных
СИСТЕМ
технологии
Ю.К. Сергеев
В данной статье приведены основные уязвимости систем виртуализации с учетом так называемых естественных уязвимостей, возникающих в результате ошибок программистов, воплотивших то или иное средство виртуализации. Приводится взаимоувязка уязвимостей с возможными путями реализации атак и необходимыми для этого условиями, что в конечном счете порождает угрозы безопасности информации, обрабатываемой в виртуальных информационных системах.
Ключевые слова: виртуализация, защита информации, угрозы, уязвимости, нарушитель, атаки.
ние интереса к вопросу технологий виртуализации в современном мире1. И это не случайно, поскольку создание и функционирование столь популярных сегодня центров обработки данных немыслимо без их использования. При этом большинство компаний, вне зависимости от их размера, уже сегодня могут оценить экономический эффект от внедрения виртуальных информационных систем. Тем не менее подход к защите виртуальных информационных систем не то чтобы не систематизирован, но и не учитывает характерных для таких систем угроз.
Основное отличие виртуальных систем от привычных физических заключается в необходимости изоляции ресурсов друг от
© Сергеев Ю.К., 2011
На сегодняшний день мы наблюдаем активное повыше-
Возникновение угроз, свойственных средам виртуализации
друга. И хотя эта проблема давно известна, в разрезе особенностей применения средств виртуализации она обретает новый облик. Ярким примером тому являются «облачные» технологии2. Рассмотрим ситуацию, в которой компания А организует еЬи^сервис с использованием виртуализации как дополнительного уровня абстракции в целях распределения нагрузки на аппаратные ресурсы, представленные в виде десятков серверов. Могут ли в данном случае получатели услуги - некие компании Б и В - быть уверены в том, что их данные, которые обрабатываются на одном и том же физическом сервере, но в разных виртуальных машинах, действительно защищены?
Виртуализация позволяет разделять между компьютерами, входящими в состав различных информационных систем, следующие основные ресурсы:
- процессор;
- оперативную память;
- постоянную память;
- сетевые адаптеры.
Естественным является то, что зачастую информационные системы призваны обеспечивать обработку информации разных категорий и в разных целях. Благодаря технологиям виртуализации эксплуатация этих систем становится более удобной и гибкой. Однако при создании виртуальной инфраструктуры забываются либо не учитываются вопросы ее безопасности.
Инфраструктура, опирающаяся на технологию виртуализации, приобретает звенья, компрометация которых приводит к возможности несанкционированного доступа ко всем виртуальным компьютерам. Такими звеньями становятся гипервизор и средство управления виртуальной средой.
Используя гипервизор, злоумышленник может проводить любые действия в виртуальной инфраструктуре, причем полностью скрывать свои действия, так как информация может быть изменена путем выполнения кода вне оперативной памяти виртуальной машины, где действия злоумышленника могли бы быть зафиксированы. Атака на сервер управления приводит к тому, что злоумышленник может получить доступ к виртуальным машинам аналогичный физическому. В этом случае организационные меры по контролю доступа в серверные помещения уже не помогают. Загрузка компьютера - эта та стадия, на которой еще не работают средства защиты, а нарушитель уже может действовать. Таким образом, ключевыми элементами виртуальной инфраструктуры с точки зрения защиты информации становятся гипервизор и средство управления виртуальной инфраструктурой, которое зачастую является доверенным по отношению к гипервизору.
На текущий момент в открытом доступе не так много эксплой-тов, которые бы позволяли выходить за пределы памяти виртуальной машины и тем более получать почти неограниченный доступ над всеми виртуальными машинами, но, учитывая рост применения технологии виртуализации, интерес к созданию атакующих средств в будущем злоумышленники будут проявлять больший. Однако такие широкие возможности доступны не только нарушителю, но и защищающимся, поэтому необходимо разрабатывать специализированные средства защиты, которыми можно было бы пользоваться.
Результат попытки систематизировать и свести воедино перечень угроз, соотнесенный с причинами их возникновения, на основе опыта, полученного при создании систем обеспечения безопасности информации различных организаций во многих отраслях деятельности, представлен в таблице.
Таблица
Соотнесение угроз виртуальных информационных систем и причин их возникновения
Угроза Описание Путь реализации Условия
уязвимости угрозы возникновения
Несанкцио- Отсутствие Подключение Даже когда разграничитель-
нированный механизмов диска к вирту- ная система защиты настро-
доступ к контроля альной машине ена внутри операционной
данным на доступа злоумышленника системы, СУБД и прило-
диске другой Копирование жений, виртуальные диски
виртуальной Ошибка в ПО виртуальной могут быть доступны для
машины виртуализа- машины со всеми подключения (в некоторых
ции данными случаях только на чтение). Отсутствие контроля поль-
Ошибка зователей в части контроля
конфигури- доступа к дискам виртуаль-
рования ных машин может привести к копированию виртуальной машины целиком вместе с конфиденциальной информацией на незащищенные носители, где к защищаемой информации можно получить доступ в обход средств защиты от несанкционированного доступа
Продолжение таблицы
Угроза Описание Путь реализации Условия
уязвимости угрозы возникновения
Перехват Отсутствие Перевод вирту- Сетевая инфраструктура
информации, средств филь- ального адаптера часто базируется на основе
передавае- трации трафи- в promiscuous- программно-аппаратных
мой по сети ка между режим средств контроля межсете-
между вир- виртуальны- Прямой доступ вого трафика, использование
туальными ми машинами к виртуальным которых осложнено в вирту-
машинами машинам в обход альной инфраструктуре
Прослушива- внешних средств
ние инфор- межсетевого
мации на экранирования
виртуальном
коммутаторе
Ошибка в ПО
виртуализа-
ции
Ошибка
конфигуриро-
вания
Единое время Атака типа «че- Так как создание TCP ISN
и зависимость ловек посереди- (initial sequence number) за-
от одной не», например висит от функции генерации
аппаратной TCP hijacking псевдослучайных чисел, то
платформы атакующему на виртуальную
машину из виртуальной сре-
ды гораздо проще подобрать
TCP ISN и реализовать TCP
hijacking атаку
Отказ в об- Ошибка Загрузка цент- Создание виртуальных ин-
служивании конфигуриро- рального процес- формационных систем про-
в результате вания сора виртуальной изводится без учета такого
захвата машины свойства безопасности ин-
ресурсов Отсутствие Отъем оператив- формации, как доступность.
механизмов ной памяти Часто пользователь инфор-
квотирования Активное мационных систем не фор-
ресурсов использование мирует бизнес-требований
Продолжение таблицы
Угроза Описание Путь реализации Условия
уязвимости угрозы возникновения
виртуальных по приоритезации доступ-
жестких дисков ности тех или иных инфор-
мационных систем
Перехват Отсутствие Прослушивание Использование общей ЛВС
данных механизмов трафика для миграции. Память вир-
во время защиты пере- туальной машины синхрони-
миграции дачи трафика зируется через общую сеть
виртуальной
машины
Несанкцио- Отсутствие Использование Информационные системы,
нированный механизмов встроенных воз- обрабатывающие инфор-
доступ к контроля можностей досту- мацию разных категорий,
данным в па- доступа па к памяти дру- размещаются в одной вир-
мяти другой гих виртуальных туальной среде. При этом не
виртуальной машин (backend/ предусматривается исполь-
машины frontend- зование механизмов разгра-
драйвера, общие ничения доступа к памяти
области памяти)
Ошибка в ПО Эксплуатация
виртуализа- классических
ции уязвимостей
(переполнение
буфера, уязви-
мость форматной
строки и т. п.) с
последующим
доступом к опе-
ративной памяти
атакуемой вирту-
альной машины
Ошибка Неверная наст-
конфигури- ройка прав
рования разграничения
доступа к памяти
другой виртуаль-
ной машины
Продолжение таблицы
Угроза Описание Путь реализации Условия
уязвимости угрозы возникновения
Несанкцио- Отсутствие Атака на сервер Атака на сервер управления
нированный сетевого кон- управления позволяет злоумышленни-
доступ к троля доступа ку получить интерфейс для
данным в к серверу обхода средств защиты, ус-
результате управления тановленных на виртуаль-
компромета- ной машине, в процессе ее
ции сервера Отсутствие загрузки
управления механизмов
контроля
доступа
Ошибка
конфигуриро-
вания
Ошибка в ПО
виртуализа-
ции
Отказ в об- Ошибка Создание вирту- Разрешение использова-
служивании конфигуриро- альных машин с ния в промышленной сис-
за счет роста вания «динамически- теме динамических дисков
«динамичес- ми» дисками и и отсутствие контроля за
ких» дисков Отсутствие одновременное их использованием, а так-
механизмов заполнение их же планирования дискового
предупрежде- файловых систем пространства
ния4 данными
Несанкцио- Ошибка Монтирование При проектировании SAN
нированный конфигури- LUN с виртуаль- не учитываются требования
доступ к рования ными машинами по безопасности с учетом
данным в в другие системы обработки защищаемой ин-
результате формации разных категорий
компромета- в виртуальных информаци-
ции SAN онных системах
Компро- Функция Сохранение Ключи шифрования, загру-
метация сохранения snapshot с опера- женные в оперативную па-
ключевой состояний тивной памятью мять даже из защищенного
информации, (snapshot) на диск носителя, могут быть извле-
Продолжение таблицы
Угроза Описание Путь реализации Условия
уязвимости угрозы возникновения
исполь- чены из snapshot либо полу-
зуемой в чены путем прямого доступа
криптогра- к оперативной памяти
фических
операциях Отсутствие Прямой доступ к
механизмов ключам в памяти
контроля другой виртуаль-
доступа ной машины
Зависимость Иер1ау-атака Прослушав одноразовый па-
от времени и на Опе-Ише- роль в сети, можно откатить
аппаратной аутентификацию из snapshot виртуальную
платформы машину назад во времени,
при генерации после чего она примет про-
ключевой слушанный ранее пароль как
информации верный
Атака на поточ- Существует вероятность
ные шифры того, что две виртуальные
машины (например, копии
одной и той же), использую-
щие программный генератор
псевдослучайных чисел, бу-
дут шифровать поток данных
на одном и том же ключе. В
этом случае расшифровать
их можно после применения
простого XOR
Подбор ключей Так как генерация ключевой
информации полагается на
одну и ту же программно-
аппаратную платформу,
повышается вероятность ус-
пешной криптографической
атаки при высоком уровне
подготовки атакующего
Продолжение таблицы
Угроза Описание уязвимости Путь реализации угрозы Условия возникновения
Атаки на время-зависимые протоколы За счет отката времени с использованием snapshot существует вероятность реализации атаки на различные протоколы, зависимые от времени либо базирующиеся на истории выполнения: американский стандарт генерации цифровой подписи DSS5, российский ГОСТ Р 34.10-20016, механизм Perfect Forward Secrecy (PFS)7 в технологии SSL или IPSec
Ошибка конфигурирования
Деактивация средств защиты Отсутствие механизмов контроля доступа Ошибка в ПО виртуализации Изменение данных в оперативной памяти Изменение файлов конфигураций Возможность осуществления чтения и записи оперативной памяти виртуальных машин из других приводит к тому, что пользователь, не обладающий правами администратора в защищаемой информационной системе, имеет возможность деакти-вировать средства защиты без его ведома
Отказ в обслуживании сети из за «принудительной» миграции Ошибка конфигурирования Навязывание постоянной миграции виртуальных машин между узлами кластера среды виртуализации В результате ошибок конфигурирования пользователи могут вызвать отказ в обслуживании в результате многократной миграции виртуальной машины с одного хоста на другой и появления задержки в сети, соединяющей кластер
Окончание таблицы
Угроза Описание Путь реализации Условия
уязвимости угрозы возникновения
Неотсле- Функция Сохранение Использование snapshot
живаемость сохранения состояния - приводит к тому, что регис-
действий состояний осуществление трация событий средствами
злоумыш- (snapshot) несанкцио- «классических» средств за-
ленника нированных щиты недостаточна, так как
Отсутствие действий - откат пользователи, имеющие пра-
механизмов предыдущего ва создания копии состоя-
контроля состояния ния, всегда могут откатиться
доступа в него, осуществив несанкционированные действия по отношению к данным, обрабатываемым в виртуальной информационной системе
Несанкцио- Функция Создание и В угоду производительнос-
нированный расширения запуск злоумыш- ти средство виртуализации
доступ к «динамичес- ленником новой не обеспечивает очистки па-
остаточной ких» дисков виртуальной мяти перед ее выделением,
информации Функция динамического выделения оперативной памяти машины полагаясь на выполнение данной операции средствами операционной системы в виртуальной машине
Приведенная таблица не включает в себя информацию, необходимую для ранжирования угроз по степени их важности, и не определяет конкретные средства защиты, которые могут помочь снизить их возникновение. Часть угроз может быть минимизирована за счет встроенных механизмов систем виртуализации, другая же требует применения новых специализированных средств защиты.
Тем не менее указанный перечень позволяет сформировать общие требования по защите виртуальных информационных систем.
Требования по защите виртуальных информационных систем
Состав перечня требований по защите виртуальных информационных систем зависит от актуальности той или иной угрозы и предполагает, что стоимость защиты от угрозы не превышает ценность самой защищаемой информации, за исключением категорий информации, защита которой осуществляется в соответствии с положениями законодательства РФ, включающих обязательный набор требований по защите.
По результатам анализа угроз, представленных в таблице, можно выделить следующие требования по защите виртуальных информационных систем, которые рекомендуется корректировать в зависимости от ситуации:
1) проектирование информационных систем, реализуемых в виртуальной среде, должно проводиться с учетом требований по безопасности обрабатываемой информации;
2) в промышленной системе должно быть запрещено использование функции создания snapshot. Допускается их использование только в тестовой среде или среде для разработчиков, в которых не ведется обработка конфиденциальной информации;
3) должны быть предусмотрены механизмы разграничения доступа к оперативной памяти, виртуальным жестким дискам (дискреционный или полномочный доступ в зависимости от категории информации);
4) должно быть обеспечено журналирование действий пользователей средства управления виртуальной инфраструктурой;
5) должны использоваться специализированные средства защиты виртуальных машин. Указанные средства не просто должны выполняться в виртуальной среде, но и использовать преимущества, получаемые от возможности использования функций гипервизора для защиты виртуальных машин;
6) должны использоваться механизмы квотирования ресурсов (особенно для виртуальных сред, в которых обрабатывается конфиденциальная информация нескольких компаний);
7) необходимо производить генерацию ключевой информации с использованием аппаратных датчиков случайных чисел либо генерировать ключи вне виртуальной среды;
8) необходимо предусматривать механизмы очистки остаточной информации.
Заключение
В результате проведенного анализа был сформирован перечень возможных угроз для виртуальных информационных систем, которые должны быть дополнительно рассмотрены с целью определения степени их опасности и вероятности возникновения, а также предложен набор общих требований по защите виртуальных информационных систем, которые могут быть использованы на стадии разработки технического задания на создание системы защиты.
На основе полученных результатов можно выделить основные направления защиты виртуальных информационных систем, которые необходимо развивать для минимизации обозначенных угроз. Последующие исследования могут быть направлены на классификацию угроз по степени ущерба, разработки основных механизмов защиты, учитывающих характерные угрозы виртуальных информационных систем.
Примечания
i
2
См.: Rutkowska J. Security Challenges in Virtualized Environments // RSA Conference. San Francisco, 2008.
См.: Aviram A., Hu S, Ford B., Gummadi R. Determinating timing channels in compute clouds // Proceedings of the 2010 ACM Workshop on Cloud Computing Security. Chicago, Illinois, USA, October 8, 2010.
Большинство средств виртуализации, предназначенных для промышленной эксплуатации, имеют данный функционал.
Большинство средств виртуализации, предназначенных для промышленной эксплуатации, имеют данный функционал.
Для генерации простых чисел используются SHA и начальное число SEED. Как раз SEED и может быть повторен из-за восстановления виртуальной машины из snapshot.
Хотя ГОСТ Р 34.10-2001 и не описывает процедуры генерации простых чисел, принципиально условия появления уязвимости не отличаются от DSS в случае, если зависят от программного датчика генерации псевдослучайных чисел. При использовании PFS злоумышленник, получивший сессионный ключ, не может скомпрометировать предыдущие сессионные ключи за счет применения «соли», генерируемой псевдослучайным образом, которая также может быть предугадана из-за восстановления виртуальной машины из snapshot.
3
4
5
6
/