Возможность защиты в vShere, которую пока нельзя использовать.

Июнь 1st, 2010 by Семен Leave a reply »

Сегодня очень многие обсуждают вопросы безопасности виртуальной ИТ-инфраструктуры. Действительно есть над чем подумать, ведь помимо всех тех прелестей, что дает консолидация, она же увеличивает риск потери информации и помогает собрать все системы в одну большую мишень для злоумышленника. Прекрасно это понимают и разработчики, поэтому и стремятся предоставить новые средства защиты. Об одном из таких новых средств написал на электронных страницах своего блога Eric Siebert, достаточно известный специалист в сфере виртуализации. Постараюсь сделать вольный перевод его статьи о возможности «VMkernel Protection» из списка возможностей vSphere.

Данная возможность использует технологию Trusted Platform Module (TPM) добавляя слой защиты к VMKernel. VMKernel или гипервизор – самый критичный компонент сервера виртуализации, который может поставить под угрозу работу и данные виртуальных машин, запущенных на этом сервере. VMware разработала новый механизм проверки целостности гипервизора на уровне как оперативной памяти так и дисковой подсистемы. По словам VMware это:

«VMkernel Protection – As part of ongoing efforts to protect the hypervisor from common attacks and exploits, mechanisms were introduced to assure the integrity of the VMkernel and loaded modules as they reside on disk and in memory. Disk-integrity techniques protect the boot-up of the hypervisor using the Trusted Platform Module (TPM), a hardware device embedded in servers. To ensure the authenticity and integrity of dynamically loaded code, VMkernel modules are digitally signed and validated during load-time. These disk integrity mechanisms protect against malware, which might attempt to overwrite or modify VMkernel as it persists on disk. VMkernel also uses memory integrity techniques at load-time coupled with microprocessor capabilities to protect itself from common buffer-overflow attacks that are used to exploit running code. These techniques create a stronger barrier of protection around the hypervisor. See the ESX Configuration Guide and the ESXi Configuration Guide.»

«VMkernel Protection – как часть мер, направленных на защиту гипервизора от атак и эксплойтов, механизм предназначенный для проверки целостности VMKernel и загружаевых модулей, расположенных в памяти и на диске. Целостность диска защищает гипервизор на этапе запуска, используя специальное, встроенное в сервер, устройство – Trusted Platform Module (TPM). Для уверенности в подлинности и целостности динамически загружаемого кода, модули VMKernel проверяются и подписываются (цифровой подписью) во время запуска. Этот механизм защищает от вредоносных программ (malware) которые могут перезаписать или модифицировать VMKernel. Наряду с используемой в микропроцессорах защиты от обычных атак переполнения буфера, VMKernel проверяет оперативную память при запуске. Использование этих техник позволяет построить защиту гипервизора. Чтобы узнать больше смотрите the ESX Configuration Guide и the ESXi Configuration Guide

TPM – это спецификация, разработанная организацией Trusted Computing Group (TCG), которая использует криптографические ключи для защиты данных. Специальный TPM чип, в котором записан уникальный RSA ключ, проверяет софт на предмет изменений. vSphere может использовать этот чип подписи модулей VMKernel и проверки во время старта системы. Похожая реализация была использована Microsoft (Windows File Protection), для защиты критичных для работы Windows файлов.

Intel и AMD интегрируют TPM, как и другие технологии, в процессоры и чипсеты. У Intel эта технология называется Trusted Execution Technology (TXT) которая была доступна некоторое время, у AMD это Secure Execution Mode, которая не получила широкого распространения. Для работы TPM необходим процессор и чипсет с поддержкой специальных инструкций. TPM использует так называемые Platform Configuration Registers (PCR) – контейнеры которые могут хранит 160-битные значения, и используются следующим образом:

  • При загрузки все PCR-ы инициализируются и принимают значения 0 или -1
  • Приложения могут проводить сравнения чего-либо на основе значений хэша этого «чего-либо».
  • Результаты сравнений записываются в PCR, этот процесс называется “extending the PCR”.
  • PCR-ы могут быть расширены несколько раз, пока не достигнут конечного значения.
  • Каждый сегмент кода сравнивается на контрольных точках.
  • В PCR-ах аккумулируются сравнения исполняемого кода с начала загрузки системы.
  • Значения PCR-ов могут быть подписаны ключами, хранимыми в TPM.
  • Состояние системы может быть проверено из хэшей, хранимых в PCR-ах.

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

«Решив проверить технологию в действии, я заказал чип TPM для одного из наших серверов. Сам чип оказался недорогой, его стоимость для сервера HP составила $39, и представляет собой небольшую микросхему, которая вставляется в специальный разъём на материнской плате»- пишет Eric.

clip_image001

clip_image002

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

clip_image003

После того как чип установлен, в BIOS сервере появляются новые опции связанные с безопасностью.

clip_image004

Получив и установив чип, Eric вернулся к документации по vSphere чтобы настроить его. Проблема была в том, что небыло написано как настроить эту новую возможность и ESXi configuration guide содержал только один абзац о TPM:

«This module is a hardware element that represents the core of trust for a platform and enables attestation of the boot process, as well as cryptographic key storage and protection. As part of the boot process, ESXi measures the VMkernel by the TPM, and changes to the VMkernel are logged from one boot to the next. Measurement values are propagated to vCenter Server, and can be retrieved by third-party agents using the vSphere API».

Из которого можно понять что, как уже было сказано, TPM это аппаратный модуль, используя который ESXi отслеживает изменения на этапе загрузки в VMKernel и передает данные об этих изменениях в vCenter Server, и могут быть получены агентами сторонних приложений через vSphere API.

Обратившись к VMware с вопросами об использовании этой возможности, Eric получил следующую информацию:

  • TPM поддерживается только с ESXi;
  • В BIOS должен поддерживаться TCG. TXT включается в BIOS’е. После включения этой опции необходимо в UI Advanced configuration, у ESXi хоста включить функцию tboot. Для этого хост должен быть подключен к vCenter.
  • Для мониторинга работы TPM могут быть использованы несколько логов, которые показывают значения PCR, относящихся к TPM. Например, если TXT активирован, то возвращается значение в PCR19, если TPM установлен в системе но TXT не используется – возвращается значение в PCR8, во всех других случаях PRC возвращается как NULL.
  • На сегодняшний день может не оказаться промышленных серверов с поддержкой TXT.

Поискав значение tboot, и не обнаружив (как и я) его или что-либо похожее в Advanced Settings, Eric приходит к выводу, что TPM – технология, которая может дать новые возможности защиты VMKernel, пока не готова к использованию. Даже если и есть способ включить ее, нет существующих способов эффективного ее использовать. Возможно, VMware или другие вендоры, в настоящий момент трудятся над разработкой инструментов использования данной технологии и уже в ближайшем будущем они появятся.

Advertisement

Добавить комментарий