Виртуализация как защита от вирусов

Технологии виртуализации и защищенность информационных систем


Виталий Зорин
К.т.н., системный аналитик ОАО "ЭЛВИС-ПЛЮС"


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

В последние годы технологии виртуализации широко используются в информационных системах (ИС). Аналитическая компания Gartner в своем ежегодном списке топ-10 стратегических технологий 2009 г. поставила на первое место виртуализацию.

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

Виртуализация компьютера - наиболее распространенный вид виртуализации. Существуют технологии программной и аппаратной виртуализации. Программная виртуализация несет в себе ряд особенностей, создающих серьезные проблемы ИБ:

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

Более современная технология аппаратной виртуализации решает ряд указанных проблем ИБ. Для повышения защищенности компания Intel внедрила в одном из своих чипсетов технологию безопасности LaGrande/TXT, использующую спецификацию TPM 1.2. Данная технология позволяет контролировать целостность программно-аппаратной среды компьютера. Аналогичные механизмы безопасности обеспечивает технология AMD-V, в которой реализован специальный защищенный режим запуска монитора виртуальных машин.

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

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


Виртуализация сетей на базе общепринятых (IPSec, SSL) и частных протоколов - сложившееся, самостоятельное направление сетевой безопасности.

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

Изоляцию данных и процессов между виртуальными машинами обеспечивают новые продукты компаний IBM, Intel, Microsoft, AMD, Citrix(Zen), VMware. Гарантированная изоляция позволяет их применение для разделения операционных сред по уровню конфиденциальности информации, обрабатываемой в системе.

Технология аппаратной виртуализации, использующая модуль TPM и спецификации TCG для реализации доверенной среды, позволяет создавать безопасные разделы с проверкой идентичности и целостности виртуальной машины и всех задействованных в ней программно-аппаратных компонент. Пока только компании Parallels и Microsоft поставляют на рынок продукты виртуализации, применяющие данные технологии защиты. Компания Parallels работает над использованием Intel VT-х и TXT для создания монитора виртуальных машин с гарантированной защитой от вирусов. Компания Microsoft использует технологию аппаратной защиты в рамках Windows Server 2008 и Hyper-V Server.

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

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

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

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

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

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

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

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

Многогранность понятия виртуализации в ИТ требует конкретного рассмотрения вопроса влияния технологий виртуализации на ИБ.

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

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

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

Другим аспектом ИБ является гарантированная изоляция процессов и данных виртуальных машин друг от друга. Компания Microsoft заявила о такой гарантии для гипервизора виртуализации Hyper-V, применяемой в ОС Windows Server 2008. Аналогичную гарантию дают компании IBM, Citrix и VMware. Изоляция процессов и данных виртуальных машин позволяет на одном физическом устройстве (сервере, рабочей станции) обрабатывать общедоступную и конфиденциальную информацию. Тем не менее гарантия изоляции виртуальных машин по данным не может быть стопроцентной, так как связана с потенциальными уязвимостями гипервизора.

По сравнению с физически изолированными хостами (отсутствие виртуализации) уровень рисков ИБ выше при использовании технологий аппаратной виртуализации и существенно выше - при реализации технологий программной виртуализации. Для снижения рисков ИБ в рамках применения аппаратной виртуализации должна работать технология аппаратной защиты на основе модуля TPM и спецификации TCG.

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

Рекомендуется применение технологии виртуализации для обеспечения непрерывности бизнеса (BCP, DRP) за счет резервирования оборудования и программного обеспечения их виртуальными аналогами. Для решения подобных задач в наибольшей степени подходит технология аппаратной виртуализации.

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки
Вход Регистрация Donate FAQ Правила Поиск

Лучшая защита от вирусов - одноразовые компьютеры? (про VM)

На страницу 1 , 2 След.
Печатать страницу | Печатать всю тему Пред. тема | След. тема
AD

Заслуженный участник


Оборона должна быть эшелонированной.

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

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

Заслуженный участник

20/07/05
695
Ярославль

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

Понятно, что вряд ли вирус будет исходить из предположения, что сидит на VM, и пытаться выбраться (если он конечно "матрицы" не насмотрелся ). Определить, что ты в VM, просто (можно посмотреть на названия устройств, скажем).

То есть вопрос номер раз - в принципе если процесс из VM обращается к диску как-нибудь на низком уровне - не обратится ли он при этом к диску внешней системы?

И вопрос номер два - что будет на этапе скачивания? Ведь VM shareит интернет с внешней средой, и по идее информация проходит же через основную систему?

И напоследок (одновременно отвечаю на

) Обычно доступ к файлам основной ОС бывает либо по "сети" (тоже, разумеется, виртуальной), либо через заshareнные папки, но VMware позволяет перетаскивание файликов просто мышкой в окошко машины. И для этого нужно на VM поставить соответствующие tools. Значит ли это прямую связь с внешней средой, или это делается другими средствами?

Понимаю, что создатели VM должны были все это обдумать и без меня, но ответы интересно получить.

Заслуженный участник

Спасибо еще раз, незваный гость , за оперативную реакцию. Воспользоваться, конечно, может, только вряд ли он рассчитывал на это (ну не будет вирусописатель отдельно разбирать случай, когда вирус попал на VM - они же непопулярны). Все-таки интереснее случай, когда вирус пользуется какими-нибудь командами/вызовами, на которые производитель не рассчитывал, и при выполнении обычного "боевого задания" случайно вылазит из VM в реальный мир. Принципиально ли это невозможно? То есть существует ли последовательность команд (по моимHO , очень низкоуровневых), которые выведут программу на соответствующий объект в реальной системе, а не в виртуальной? Короче, я много хОчу, видимо.

А и еще мысль - та же VMware позволяет ведь машинам работать на реальных дисках (есть такой вариант, с пометкой "для опытных пользователей")

Заслуженный участник


Я не очень понимаю, что именно Вы имеете в виду.

Может ли последовательность команд дать доступ к внешним объектам? Вероятно, да, но эта последовательность ищет дыру в VM. Нормально программа не должна ощущать разницы между VM и реальным железом — при условии, что она работает в ОС. Но сам ОС — дело другое. В частности, на VM часто устанавливают специализированные драйверы, которые (через специализированный интерфейс супервизора/хапервизора) общаются со своими протагонистами несущей системы.

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

Короче понятно что ничего не понятно.

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

Добавлено спустя 23 минуты 34 секунды:

То есть чем процессы внутри VM отличаются от процессов снаружи?

Заслуженный участник

Вооо, спасибо, незваный гость . Вот примерно то, про что я спрашивал:

(из первой ссылки)

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

Или нет? Или там все схвачено? Но это уже никто не ответит, поскольку это вопрос типа "допустили ли разработчики ошибку".

Спасибо, буду дальше разбираться.


04/02/08
322
Буково


26/02/06
179
Хижина дяди Тома

Не факт, что лучше.

P.S. Ну товарищи, ну вот нафига подняли тему через полтора года только для того, чтобы сказать, что виндовс маст дай?

Более 5080 заметок о виртуализации и виртуальных машинах VMware, Microsoft, Citrix, Red Hat


VM Guru / Articles / Аппаратура виртуализации для O-DAY антивирусной защиты.

Аппаратура виртуализации для O-DAY антивирусной защиты.

Реклама:

Статья:


Для более глубокого понимания статьи рекомендуем прочитать следующие статьи Андрея:

Также вам понадобится скачать Прикрепленные файлы (RED_PILL.exe и Project1.exe), гипердрайвер и гиперагент, с помощью которых можно контролировать средствами аппаратной виртуализации все без исключения события, связанные с передачей управления процессору.

Intel хочет победить вирусы

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

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

Результат оказался неудачным: защита, построенная на базе этой технологии, была встроена в операционные системы (пример — DEP в Microsoft Windows), но с легкостью пробивалась вирусами. Причина провала проста — программные компоненты этой защиты работают на том же самом уровне, что и сами вирусы, не имея перед ними приоритета.

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

Что может аппаратура

Сама аппаратура, где бы ее ни размещали, конечно, не панацея от всех бед. Она может контролировать только относительно простые взаимосвязи между объектами программирования (значениями регистров, статусов блоков памяти). Поэтому важна связка контрольной аппаратуры, регистрирующей события, и логических обработчиков этих событий. В реальной работе компьютера таких событий очень много — миллионы в секунду, и из них нужно выбирать только те, которые попадают под критерии вирусной атаки.
Классический гипервизор может контролировать только атаки вирусов, связанные с нарушениями общепринятых соглашений по построению программных модулей. Это ограничивает область эффективного использования такого аппаратного контроля: для построения абсолютной антивирусной защиты возможностей аппаратуры виртуализации явно не хватает. Нужно добавлять специализированные блоки, заточенные на регистрацию более широкого класса событий. Сформулировать требования к такой аппаратуре могут только специалисты в области антивирусной защиты. Видимо, это и послужило причиной интереса Intel к McAfee.

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

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

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

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

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


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

  • Выполнение кода в области виртуальных адресов 0000_0000h — 7FFF_FFFFh с нулевым уровнем привилегий, Это детектирует вирусную атаку нацеленную на повышения уровня привилегий.
  • Передачу управления на код, состоящий из последовательности одинаковых байт (в данном случае — при длине цепочки из 7 и более байт). Это детектирует вирусную атаку переполнением стека и динамически распределяемой памяти.
  • Выполнение любого кода при условии нахождения указателя стека в том же 4-килобайтном блоке, что и этот код. Это детектирует вирусную атаку по классическому сценарию ROP.

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

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

На вкладке просмотра дампа есть ползунковый регулятор глубины просмотра событий. В крайнем левом положении глубина просмотра — максимально возможная, с детализацией до одного 4-килобайтного блока программного кода. В крайнем правом положении детализация ограничивается 16 блоками.

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

Дамп регистрирует линейные адреса точек перехода (From_IP и Tо_IP). Программный код зарегистрированного в дампе события можно просмотреть двойным щелчком мыши в колонке Adr_Mem (адрес физической памяти).


Событие зарегистрировано по факту последовательности из 7 одинаковых байт (команда NOP) в точке передачи управления.

Как это работает — подробности для профессионалов

Блок контроля переходов (LBR) позволяет использовать для анализа информацию о точке перехода (FROM_IP, TO_IP). Блок теневой трансляции (NPG) позволяет контролировать все обращения к физическим страницам оперативной памяти через биты контроля U\S, R\W, NXE.

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

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

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

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

Перспективы использования

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

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

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

В любом случае, вектор развития антивирусных технологий определился. Фирма Intel свой выбор сделала, купив McAfee. Посмотрим, кого купит себе AMD.

P.S.

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

P.P.S.



13/05/2020: VMware vFORUM 2020 Online
05/06/2020: Linux Moscow 2020

Вебинары VMC о виртуализации:

Постер VMware vSphere PowerCLI 6.3:

Постер VMware ESXi 5.1:

Постер VMware Hands-on Labs 2015:

Постер VMware Platform Services Controller 6.0:

Постер VMware vCloud Networking:

Постер VMware NSX (референсный):

Постер VMware vCloud SDK:

Постер VMware vCloud Suite:

Постер VMware vCenter Server Appliance:

Порты и соединения VMware vSphere 6:

Порты и соединения VMware Horizon 7:

Порты и соединения VMware NSX:

Управление памятью в VMware vSphere 5:

Как работает кластер VMware High Availability:

Постер VMware vSphere 5.5 ESXTOP (обзорный):

Постер Veeam Backup & Replication v8 for VMware:

Постер Microsoft Windows Server 2012 Hyper-V R2:

Читайте также:

Пожалуйста, не занимайтесь самолечением!
При симпотмах заболевания - обратитесь к врачу.

Copyright © Иммунитет и инфекции