9

В vmware Workstation какая информация о программном и аппаратном обеспечении хоста предоставляется гостевой ОС.

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

И хост, и гость будут работать под управлением Ubuntu Linux.

Изменить: vmware-tools будут установлены на гостевой

Редактировать 2: Добавление щедрости

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

  • любые аппаратные серийные номера
  • MAC-адреса сетевых интерфейсов хоста
  • регистрационный серийный номер программного обеспечения VMware
  • любые файлы в операционной системе хоста

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

3 ответа3

5

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

Информация о хосте может просочиться к гостю:

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

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

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

Чтобы создать иллюзию отдельной машины от хоста, также виртуализируются инструкции, раскрывающие идентификационную информацию о хосте (например, серийные номера, MAC-адреса и т.д.). В VMware эти вещи можно установить в файле vmx . Этот материал хорошо понятен и предположительно безопасен.

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

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

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

1

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

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

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

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

1

Статья Как извлечь информацию о хосте из виртуальной машины? описывает утилиты в ESX(i)/vSphere, которые могут использоваться гостем для получения некоторой информации о хосте. Это обязательно ограничено в объеме из соображений безопасности.

Первая утилита - это команда VMware Toolbox. Он предоставляет некоторую информацию о конфигурации ESX(i) и guestOS, включая базовую статистику ресурсов.

UNIX/Linux - /usr/bin/vmware-toolbox-cmd
Windows - C:\Program Files\VMware\VMware Tools\VMwareToolboxCmd.exe

Второй - это утилита vmtoolsd (VMware Tools Daemon), в которой параметр «info-get» может задавать гостевую информацию в файле конфигурации .vmx виртуальной машины или в памяти VMX во время работы виртуальной машины.

UNIX/Linux - /usr/bin/vmtoolsd
Windows - C:\Program Files\VMware\VMware Tools\vmtoolsd.exe

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .