Jak ukryć się przed programem, który jest uruchomiony na maszynie wirtualnej?

11

Niektóre programy zawierają testy sprawdzające, czy działają na maszynie wirtualnej.

Bardzo nieprzyjemne jest wyświetlanie komunikatów alarmowych, takich jak „Przepraszamy, ta aplikacja nie może działać pod maszyną wirtualną”. i zatrzymaj swoje oprogramowanie!

Istnieje wiele powodów prawnych, aby zastąpić takie testy. Ponadto takie ograniczenia nie są (w większości przypadków) nie zapisane w umowach licencyjnych użytkownika.

Więc ... jak ukryć fakt, że maszyna wirtualna uruchamia program? Nie chcę, aby programy, które wykonują to skanowanie, wykryły uruchomioną maszynę wirtualną.

Używam Virtual Private Server (VPS) z Hyper-V ... Jestem administratorem systemu operacyjnego (Windows 2003) zainstalowanego na tym VPS, a nie administratora Hyper-V.

Femto Trader
źródło
1
Czy możesz wyjaśnić, co masz na myśli mówiąc „ukryj program”? Ponadto, jakie oprogramowanie próbujesz uruchomić, w szczególności?
Anderson Green
@AndersonGreen oznaczają, że chcą zapobiec wykryciu przez program, że jest uruchomiony w maszynie wirtualnej.
Synetech
Pozwólcie, że przejdę do tego prosto, twoje działające oprogramowanie w VM i nie chcesz, aby oprogramowanie na hoście wykryło, że pewne oprogramowanie działa w VM, prawda?
user88311
1
Powinieneś być ostrożny. Jeśli program jest celowo sprawdzanie, czy działa w środowisku debugowanym / wirtualnym, może być bardzo prawdopodobne, że próbuje egzekwować określone oświadczenie wymienione w Umowie licencyjnej . Manipulowanie maszyną wirtualną może być bezpośrednim naruszeniem umowy EULA.
bytebuster
1
@bytebuster Powiedziałem w moim pytaniu „Ponadto takie ograniczenia (w większości przypadków) nie są zapisane w umowach licencyjnych użytkownika.” ... Więc wiem, że czasami jest to zabronione ... a czasami jest to dozwolone ... I nie szukaj porady prawnej, ale porady technicznej!
Femto Trader

Odpowiedzi:

1

Krótko mówiąc, myślę, że po prostu nie możesz. Jest to dyskusja na temat złośliwego oprogramowania próbującego wykryć, czy działa w maszynie wirtualnej, aby uniknąć wykrycia przez systemy używające maszyn wirtualnych do uruchamiania kodu w celu sprawdzenia, czy nie ma złośliwego oprogramowania.

Niektóre szybkie odniesienia to: VRT: W jaki sposób złośliwe oprogramowanie zna różnicę między światem wirtualnym a światem rzeczywistym? i The Dead Giveaways of VM-Aware Malware .

scherand
źródło
1
Zdecydowanie się nie zgadzam, masz nieodpowiednią argumentację. Wykrycie, że jest to środowisko zwirtualizowane, znacznie ułatwia złośliwemu oprogramowaniu wykonywanie jego zadań. Należy również rozważyć istnienie laboratoriów antywirusowych i antywirusowych, które muszą uruchamiać maszyny wirtualne, aby wyizolować swoje badania i zasadzić złośliwe oprogramowanie w tych maszynach wirtualnych i muszą ukryć fakt, że instancja jest instancją wirtualizowaną. Dokładnie dlatego ESXi / VSphere pozwala ustawić flagę, aby ukryć fakt, że maszyna wirtualna jest maszyną wirtualną.
Matt
Zdecydowanie się nie zgadzam. Co powiesz na przepustowość procesora graficznego NVidia w kartach klasy konsumenckiej? Sterowniki NVidia sprawdzają „VM” i nie instalują kodu z błędem 43, ale szybkie google znajduje obejście. Jest to ciągła gra w kotka i myszkę, jeśli chodzi o takie rzeczy.
FreeSoftwareServers
0

O ile wiem, zależy to od rodzaju używanej wirtualizacji.

Zacznijmy od tego, że możesz z pewnością złagodzić pewne rzeczy (np. Zmienić adres MAC, odinstalować dodatki dla gości).

Jeśli jednak uruchomisz pełną wirtualizację, hiperwizor emuluje sprzęt dla gości. Emulowany procesor będzie miał swój własny (programowy) zegar, który wkrótce lub później pokaże różne prędkości, kiedy nie powinien.

Jest to jedna z rzeczy, których nie można naprawić w żaden sposób, a program (głównie złośliwe oprogramowanie) będzie wiedział, że działa w VM.

Możesz to wypróbować za pomocą wirtualizacji Paravirtualization, która polega na użyciu prawdziwego sprzętu w zamkniętym środowisku.

ingroxd
źródło
Powiedziałbym, że zależy to w równym stopniu od tego, jakiej hiper-wizjera używasz do sprawdzania, czy oprogramowanie sprawdza, czy jest w maszynie wirtualnej.
FreeSoftwareServers