Wie kann man vor einem Programm verbergen, dass es auf einer virtuellen Maschine ausgeführt wird?

Wie kann man vor einem Programm verbergen, dass es auf einer virtuellen Maschine ausgeführt wird?

Einige Software enthält Tests, um festzustellen, ob sie auf einer virtuellen Maschine ausgeführt wird.

Es ist sehr unangenehm, Warnmeldungen wie „Leider kann diese Anwendung nicht auf einer virtuellen Maschine ausgeführt werden.“ zu sehen und Ihre Software angehalten zu werden!

Es gibt zahlreiche rechtliche Gründe, solche Tests außer Kraft zu setzen. Darüber hinaus sind solche Einschränkungen (meistens) nicht in Benutzerlizenzvereinbarungen niedergeschrieben.

Also... wie verberge ich die Tatsache, dass eine virtuelle Maschine das Programm ausführt? Ich möchte nicht, dass Programme, die diesen Scan durchführen, die laufende VM erfolgreich erkennen.

Ich verwende einen virtuellen privaten Server (VPS) mit Hyper-V. Ich bin Administrator des auf diesem VPS installierten Betriebssystems (Windows 2003), nicht Administrator von Hyper-V.

Antwort1

Kurz gesagt, ich glaube, das geht einfach nicht. Es geht um die Diskussion über Malware, die versucht zu erkennen, ob sie in einer VM ausgeführt wird, um zu vermeiden, dass sie von Systemen erkannt wird, die VMs verwenden, um Code auszuführen und nach Malware zu suchen.

Einige Kurzreferenzen sind:VRT: Wie erkennt Malware den Unterschied zwischen der virtuellen und der realen Welt?UndDie todsicheren Hinweise auf VM-Aware-Malware.

Antwort2

Soweit ich weiß, hängt es von der Art der verwendeten Virtualisierung ab.

Beginnen wir damit, dass Sie sicherlich einige Dinge abmildern können (z. B. MAC-Adresse ändern, Gasterweiterungen deinstallieren).

Wenn Sie jedoch eine vollständige Virtualisierung ausführen, emuliert der Hypervisor die Hardware für die Gäste. Eine emulierte CPU verfügt über eine eigene (Software-)Uhr, die früher oder später andere Geschwindigkeiten anzeigt, als dies eigentlich der Fall sein sollte.

Dies ist eines der Dinge, die Sie auf keine Weise reparieren können, und ein Programm (meistens Malware) weiß, dass es in einer VM ausgeführt wird.

Sie können dies durch die Verwendung einer Paravirtualisierung erreichen, bei der Sie Ihre echte Hardware in einer geschlossenen Umgebung verwenden.

verwandte Informationen