Jakie informacje o hoście vmware są dostępne dla gościa?

9

W vmware Workstationjakie informacje o oprogramowaniu hosta i sprzęcie są udostępniane systemowi-gościowi.

Na potrzeby mojej aplikacji martwi mnie proces uzyskiwania informacji w systemie operacyjnym gościa o fizycznym sprzęcie, na którym działa host. Może to obejmować takie szczegóły, jak numery seryjne, adresy MAC lub cokolwiek, co może fizycznie zidentyfikować uruchamiany komputer.

Zarówno host, jak i gość będą działali pod Ubuntu Linux.

Edycja: vmware-toolszostanie zainstalowany na gościu

Edycja 2: Dodawanie nagrody

Przeprowadziłem wiele badań dotyczących tego pytania, a większość odpowiedzi zawiera w sobie słowa typu „nie powinna”. Muszę wiedzieć z pewnym stopniem pewności, że gość vmware nie widzi żadnego z następujących elementów (w tym przypadku, gdyby te rzeczy były dostępne dla gościa, byłoby to uznane za poważne naruszenie bezpieczeństwa)

  • wszelkie numery seryjne sprzętu
  • adresy mac interfejsów sieciowych hosta
  • numer seryjny rejestracji oprogramowania vmware
  • dowolne pliki w systemie operacyjnym hosta

Motywacja tego pytania polega na tym, że muszę uruchamiać wysoce niezaufane oprogramowanie i chcę oddzielić je od wszelkich informacji, które mogłyby ujawnić moją tożsamość. Na przykład zakładam, że to oprogramowanie spróbuje odczytać numer seryjny mojego procesora i zgłosić go twórcy, i zakładam, że może to spowodować powrót do mojej tożsamości z prawdziwego świata. Nazwij to paranoikiem, jeśli chcesz. Część mojej sytuacji wymaga zainstalowania vmware-tools.

użytkownik13137
źródło

Odpowiedzi:

5

Informacje o hoście mogą wyciekać do gościa na wiele różnych sposobów. VMware (i ogólnie produkty do wirtualizacji) zapewniają ochronę przed wieloma rzeczami. Chociaż jest mało prawdopodobne, aby zapewnić pełne środowisko izolacyjne, prawdopodobnie wykonuje całkiem dobrą robotę. Na przykład niektórzy badacze wirusów używają VMware, aby zapewnić bezpieczne środowisko do badania zachowania złośliwego oprogramowania .

Informacje hosta mogą wyciekać do gościa:

  • jeśli gość bezpośrednio wykona instrukcje, których warstwa wirtualizacji nie przechwytuje.
  • jeśli gość może obserwować ruch sieciowy bezpośrednio w tym samym segmencie sieci co host.
  • jeśli gość może komunikować się ze światem zewnętrznym i sondować go z powrotem do gospodarza.

Wydaje się, że Twoim głównym zmartwieniem jest pierwsza metoda wycieku, ale powinieneś być pewien, że zabezpieczysz się również przed innymi mechanizmami.

VMware (i inne hiperwizory) zapewniają wirtualizację, przechwytując instrukcje uważane za poufne. Wrażliwe instrukcje albo ujawnią gościom informacje o hoście, albo pozwolą gościowi uciec przed warstwą wirtualizacji. Na przykład instrukcja modyfikująca podstawę tabeli stron (która kontroluje dostęp do pamięci) musi zostać wykryta przez warstwę wirtualizacji, przechwycona i zastąpiona „bezpieczną” wersją tej instrukcji, która zachowuje iluzję wirtualizacji.

Aby zapewnić złudzenie, że maszyna jest oddzielna od hosta, instrukcje, które ujawniają informacje identyfikujące hosta (takie jak numery seryjne, adresy MAC itp.) Są również wirtualizowane. W VMware te rzeczy można ustawić w vmxpliku. Te rzeczy są dobrze zrozumiałe i przypuszczalnie bezpieczne.

Czasami występują kompromisy dotyczące tego, co jest ujawniane, na przykład instrukcja CPUID, przed którą najnowsze wersje VMware zapewniają pewną „ochronę”. (Zobacz VMotion i kompatybilność procesora, aby uzyskać szczegółowe informacje na temat wirtualizacji CPUID.) Wykonane jako instrukcja uprzywilejowana, może zostać uwięzione i emulowane, ale może być również wykonane jako instrukcja natywna, która może ujawnić gościom pewne (prawdopodobnie nieciekawe) informacje .

Gość może jednak również pasywnie uczyć się innych informacji na temat hosta. Na przykład poprzez sondowanie czasów pamięci gość może uzyskać informacje o rozmiarze różnych pamięci podręcznych. Zdolność do uczenia się o innych gościach (lub gospodarzu) za pomocą czasu i innych wektorów („kanałów bocznych”) jest obszarem aktywnych badań. W październiku 2012 r. Naukowcy odkryli, że w rzeczywistości możliwe jest wyodrębnienie kluczy kryptograficznych z innych maszyn wirtualnych . Może to być dość przerażające, a granice tego, co można odkryć i jak się przed tym zabezpieczyć, nie są jeszcze w pełni jasne.

Najlepszym sposobem na pełne bezpieczeństwo jest odizolowanie urządzenia od szczeliny powietrznej od reszty świata. Wtedy nie ma znaczenia, czego uczy się złośliwe oprogramowanie, ponieważ nie może nikomu przekazać tych informacji. Po zakończeniu wyczyść urządzenie. Korzystanie z narzędzia takiego jak VMware ułatwia czyszczenie i odzyskiwanie stanu, ponieważ stan komputera jest zamknięty w zestawie plików.

Emil Sit
źródło
1

Gość nie powinien nic wiedzieć o ustawieniach hosta, takich jak jego sieci, ponieważ otrzymuje wirtualny sprzęt, który powinien zachowywać się (prawie) dokładnie tak, jak fizyczny sprzęt. Jednak niektóre rzeczy, takie jak procesor, gość musi wiedzieć, ale ta wiedza nie powinna zagrażać bezpieczeństwu.

Więc jeśli jakieś informacje o ustawieniach przeciekają z hosta na gościa, byłoby to luką w zabezpieczeniach.

Jeśli jednak włączysz hgfs (system plików host-gość), przynajmniej część systemu plików hosta będzie widoczna w gościu i możliwe będzie uzyskanie pewnych informacji o hoście. Powinieneś to wyłączyć, jeśli jesteś zaniepokojony.

Wszystko to może naprawdę nie mieć znaczenia normalnie, ponieważ w większości przypadków stacja robocza jest używana osobiście, tzn. W każdym przypadku masz dostęp do hosta. W przeciwnym razie powinieneś przyjrzeć się wirtualizacji serwerów (vsphere, xen, kvm).

johnshen64
źródło
1

Artykuł Jak wyodrębnić informacje o hoście z maszyny wirtualnej? opisuje narzędzia w ESX (i) / vSphere, których gość może użyć do uzyskania informacji o hoście. Jest to z konieczności ograniczone ze względów bezpieczeństwa.

Pierwszym narzędziem jest polecenie VMware Toolbox. Zawiera informacje o konfiguracji ESX (i) i guestOS, w tym podstawowe statystyki zasobów.

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

Drugi to narzędzie vmtoolsd (VMware Tools Daemon), w którym parametr „info-get” może ustawić guestinfo w pliku konfiguracyjnym maszyny wirtualnej .vmx lub w pamięci VMX podczas pracy maszyny wirtualnej.

UNIX/Linux - /usr/bin/vmtoolsd
Windows - C:\Program Files\VMware\VMware Tools\vmtoolsd.exe
harrymc
źródło