При переходе от физической инфраструктуры к виртуальной возникает множество новых угроз. При расширении виртуализации до облака их список расширяется, а возможный ущерб от их эксплуатации многократно возрастает. В этой статье хотелось бы поговорить про одну из основных «новых» угроз в виртуальной среде – уязвимости гипервизора.
Рассмотрим основные классы уязвимостей гипервизоров на примере VMware vSphere и возможные пути защиты от их эксплуатации.
CVE-2013-3657 – Удаленный пользователь может отправить специально сформированный пакет на ESX 4.0-4.1 и ESXi 4.0-5.0 и вызвать переполнение буфера с запуском произвольного кода или отказом в обслуживании.
CVE-2013-1405 – Удаленный пользователь может отправить специально сформированный пакет авторизации в ESX 3.5-4.1, ESXi 3.5-5.0 и vSphere Server 4.0-4.1, который вызовет переполнение буфера и запуск произвольного кода.
CVE-2012-2448 – Удаленный пользователь может отправить специально сформированный NFS-пакет на ESX 3.5-4.1 и ESXi 3.5-5.0 и вызвать переполнение буфера с запуском произвольного кода или отказом в обслуживании.
Защититься от атак со стороны управления виртуальной инфраструктурой помогут наложенные средства защиты виртуализации, которые фильтруют весь трафик, идущий к гипервизору.
Защититься от таких ошибок со стороны виртуальных машин с помощью наложенных средств сложнее, но можно нивелировать последствия атаки, например, с помощью механизма контроля целостности конфигурации.
CVE-2012-1518 – уязвимость ESXi 3.5-5.0 и ESX 3.5-4.1, позволяющая повысить права доступа пользователю гостевой операционной системы внутри неё с помощью переполнения буфера в VMware Tools, если права доступа для директории с VMware Tools настроены неправильно.
Защититься от данного класса уязвимостей можно путем отказа от установки VMware Tools и применяя классические средств защиты информации от несанкционированного доступа внутри гостевой операционной системы, аналогично физическому компьютеру.
Как и в случае с переполнением памяти эти ошибки могут содержаться и во внешних интерфейсах, и во внутренних функциях виртуальных машин.
CVE-2012-5703 – API для работы внешних служб (vSphere API) в ESXi 4.1 и ESXi 4.1 содержат ошибку, которая может вызвать падение и отказ в обслуживании службы, принимающей запросы API, в случае отправки неверного значения параметров команды RetrieveProp и RetrievePropEx.
Защита от атак со стороны внешних пользователей аналогична защите от переполнения буфера, когда применяются наложенные средства защиты виртуализации, которые фильтруют весь трафик, идущий к гипервизору.
Со стороны виртуальных машин универсальных решений по защите пока не существует.
Однако у такой защиты есть два недостатка. Во-первых, существует большое множество уязвимостей, известных только узкому кругу злоумышленников, но пока неизвестных производителю и, соответственно, неучтённых им. Во-вторых, при использовании сертифицированного ФСТЭК гипервизора его обновления запрещены, так как нарушают целостность бинарных файлов.
Поэтому рекомендуется использовать сертифицированные наложенные средства защиты виртуальной инфраструктуры и по возможности применять не сертифицированный гипервизор последней версии с последними обновлениями безопасности. Только этот способ позволяет максимально нейтрализовать угрозу, связанную с наличием уязвимостей в программном обеспечении гипервизора.
Рассмотрим основные классы уязвимостей гипервизоров на примере VMware vSphere и возможные пути защиты от их эксплуатации.
Переполнение буфера и вызов произвольного кода
Вызвать переполнение буфера и инициировать запуск произвольного кода могут определенные ошибки в гипервизоре. Ошибки могут содержаться как на стороне управления виртуальной инфраструктурой, когда их эксплуатация проводится снаружи, с правами администратора или без них, или со стороны виртуальных машин. Во втором случае возможен выход за пределы виртуальной машины и выполнение любых команд на гипервизоре.Примеры известных уязвимостей:
CVE-2012-1516...1517, CVE-2012-2448...2450 – VMX-процесс в ESXi 4.0-5.0 и ESX 3.5-4.1 уязвим из-за ошибки в обработке RPC-команд, при эксплуатации уязвимости, возможно переполнение памяти и выполнение произвольного кода на хостовой операционной системе из гостевых операционных систем.CVE-2013-3657 – Удаленный пользователь может отправить специально сформированный пакет на ESX 4.0-4.1 и ESXi 4.0-5.0 и вызвать переполнение буфера с запуском произвольного кода или отказом в обслуживании.
CVE-2013-1405 – Удаленный пользователь может отправить специально сформированный пакет авторизации в ESX 3.5-4.1, ESXi 3.5-5.0 и vSphere Server 4.0-4.1, который вызовет переполнение буфера и запуск произвольного кода.
CVE-2012-2448 – Удаленный пользователь может отправить специально сформированный NFS-пакет на ESX 3.5-4.1 и ESXi 3.5-5.0 и вызвать переполнение буфера с запуском произвольного кода или отказом в обслуживании.
Защититься от атак со стороны управления виртуальной инфраструктурой помогут наложенные средства защиты виртуализации, которые фильтруют весь трафик, идущий к гипервизору.
Защититься от таких ошибок со стороны виртуальных машин с помощью наложенных средств сложнее, но можно нивелировать последствия атаки, например, с помощью механизма контроля целостности конфигурации.
Повышение прав пользователя внутри виртуальной машины
Целый класс уязвимостей гипервизора позволяет нарушить работу гостевой операционной системы виртуальной машины и повысить права пользователя в ней. В среде ESX/ESXi такие атаки реализуются обычно через два основных направления – эксплуатация уязвимостей в VMware Tools (набор утилит и драйвером для гостевой операционной системы) или через прямой доступ к памяти виртуальной машины через гипервизор в обход механизмов доступа гостевой операционной системы.Рассмотрим на примерах:
CVE-2012-1666 – уязвимость VMware Tools в ESX 4.0-5.0 позволяет повысить права доступа пользователю гостевой операционной системы внутри неё с помощью заражения вредоносным кодом файла tpfc.dll.CVE-2012-1518 – уязвимость ESXi 3.5-5.0 и ESX 3.5-4.1, позволяющая повысить права доступа пользователю гостевой операционной системы внутри неё с помощью переполнения буфера в VMware Tools, если права доступа для директории с VMware Tools настроены неправильно.
Защититься от данного класса уязвимостей можно путем отказа от установки VMware Tools и применяя классические средств защиты информации от несанкционированного доступа внутри гостевой операционной системы, аналогично физическому компьютеру.
Отказ в обслуживании
В конце списка идет наименее опасный в плане компрометации информации класс уязвимостей, однако подобные уязвимости влияют на другой показатель – доступность. И их реализация негативно сказывается на качестве услуг облачного провайдера, репутацию сервиса и, в конечном итоге, на прибыли. Речь идет об ошибках гипервизора, используя которые злоумышленник может привести к отказу в обслуживании, не затрачивая при этом больших усилий. Отказ в обслуживании путем генерации большого объема мусорного трафика не рассматривается как специфичная для гипервизора угроза. Речь идет об уязвимостях, при которых один или несколько простых сетевых пакетов или команд приводят к остановке в работе гипервизора целиком или отдельных его служб.Как и в случае с переполнением памяти эти ошибки могут содержаться и во внешних интерфейсах, и во внутренних функциях виртуальных машин.
Примеры подобных уязвимостей:
CVE-2013-5970 – сервис hostd-vmdb в ESXi 4.0-4.1 и ESXi 4.0-5.0 может быть выведен из строя путем отправки специально подготовленного сетевого пакета.CVE-2012-5703 – API для работы внешних служб (vSphere API) в ESXi 4.1 и ESXi 4.1 содержат ошибку, которая может вызвать падение и отказ в обслуживании службы, принимающей запросы API, в случае отправки неверного значения параметров команды RetrieveProp и RetrievePropEx.
Защита от атак со стороны внешних пользователей аналогична защите от переполнения буфера, когда применяются наложенные средства защиты виртуализации, которые фильтруют весь трафик, идущий к гипервизору.
Со стороны виртуальных машин универсальных решений по защите пока не существует.
Заключение
Есть и универсальный способ защиты от известных атак, например, применение обновлений безопасности («патчей») самого производителя и обновление версий программного обеспечения до последних.Однако у такой защиты есть два недостатка. Во-первых, существует большое множество уязвимостей, известных только узкому кругу злоумышленников, но пока неизвестных производителю и, соответственно, неучтённых им. Во-вторых, при использовании сертифицированного ФСТЭК гипервизора его обновления запрещены, так как нарушают целостность бинарных файлов.
Поэтому рекомендуется использовать сертифицированные наложенные средства защиты виртуальной инфраструктуры и по возможности применять не сертифицированный гипервизор последней версии с последними обновлениями безопасности. Только этот способ позволяет максимально нейтрализовать угрозу, связанную с наличием уязвимостей в программном обеспечении гипервизора.