Forum: PC-Programmierung Wie verhindere ich dass eine Virtuelle Maschine erkannt wird?


von Msp 4. (msp430_crew)


Lesenswert?

Hallo Forumfreude :-),

aktuell habe ich festgestellt, dass man mittlerweile jede VM erkennen 
kann, wenn man das will.
Unter Linux zum Beispiel:
1
systemd-detect-virt
Wirft mir bei einer Linux VM unter VirtualBox, "Oracle" raus.
Dazu gibt es auch Bibliotheken usw.
https://github.com/MikePohatu/TsGui/blob/master/TsGui/Control/HardwareEvaluator.cs

Meine Frage ist nun, ist damit eigentlich das Testen in einer VM 
hinfällig?
Ich lege meinen Code so aus, dass alles super funktioniert unter der VM 
und im Echtbetrieb kommt dann die Schummelsoftware ;-).

Ich möchte gerne wissen, ob es eine Möglichkeit gibt, dass die VM immer 
für den User als PC dargestellt wird und höchstens durch sowas wie die 
Temperaturmessung ect. auffällt.

Selbst QEMU wird mittlerweile erkannt.

Ich danke euch für alle Anregungen und Ideen.

Viele Grüße :-)

von Andreas B. (andreasb)


Lesenswert?

Msp 4. schrieb:
> Meine Frage ist nun, ist damit eigentlich das Testen in einer VM
> hinfällig?

Kommt darauf an, was du testen willst. Wenn du testest ob es eine VM 
oder ein PC ist dann ja :-)

> Ich möchte gerne wissen, ob es eine Möglichkeit gibt, dass die VM immer
> für den User als PC dargestellt wird und höchstens durch sowas wie die
> Temperaturmessung ect. auffällt.
https://github.com/systemd/systemd/blob/04d7ca022843913fba5170c40be07acf2ab5902b/src/basic/virt.c

Hier siehst du, was geprüft wird. Wenn es dir darum geht, dass dies 
nicht erkannt wird, dann änderst du in QEMU oder in Virtualbox diese 
Werte, und kompilierst dir das ganze neu.
Sind ja beide Open Source.

Macht für mich zwar keinen Sinn, aber müsste eigentlich die Frage auf 
deine Antwort sein.

von Jens M. (schuchkleisser)


Lesenswert?

Malware erkennt VM und übliche Testsuiten schon seit Jahren, und die 
üblichen  AV-Hersteller entwickeln immer wieder neue Tricks um die 
Erkennung zu umgehen.
Was dazu führt, das die Malwarehersteller bessere Tricks wissen um VMs 
zu erkennen.

von georg (Gast)


Lesenswert?

Jens M. schrieb:
> Malware erkennt VM und übliche Testsuiten schon seit Jahren

Das wäre doch eine neue Möglichkeit sich zu schützen: man lädt ein 
kleines Progrämmchen, das den PC als VM ausgibt, und schon verhält sich 
die Malware ruhig.

Georg

von Gödel Escher Bach (Gast)


Lesenswert?

Diese Möglichkeit funktioniert nur, solange sie neu ist.

Sobald mehrere PCs behaupten, sie seien ein Honeypot eines 
Antiviren-Herstellers, entwickeln die Malwarehersteller Tricks, mit 
denen sie gefakte Testsuiten erkennen.

von Jens M. (schuchkleisser)


Lesenswert?

georg schrieb:
> Das wäre doch eine neue Möglichkeit sich zu schützen: man lädt ein
> kleines Progrämmchen, das den PC als VM ausgibt, und schon verhält sich
> die Malware ruhig.

Ja ach.
Was meinst du was normale Leute machen wenn sie zweifelhafte Software 
"testen". ;)

Es ist aber nicht so, das da nur irgendwelche DLLs getestet werden oder 
so, da geht's um Timings und eigenartige Vorkommnisse.
Z.B. vielkernige Prozessoren die auf einmal andere Namen oder Kernzahlen 
haben, komische Taktfrequenzen, nicht funktionierende Features, sowas.

also dieses:

Gödel Escher Bach schrieb:
> Sobald mehrere PCs behaupten, sie seien ein Honeypot eines
> Antiviren-Herstellers, entwickeln die Malwarehersteller Tricks, mit
> denen sie gefakte Testsuiten erkennen.

: Bearbeitet durch User
von Mach (Gast)


Lesenswert?

Mich würde es schon interessieren, an welchen Kriterien Programme 
aktuell die VMs erkennen. Nur um eine Vorstellng davon zu bekommen. Weiß 
jemand Genaueres dazu?

von Mach (Gast)


Lesenswert?

Nachtrag: Jens M.s Beitrag hat hat sich überschnitten.

von Vlad T. (vlad_tepesch)


Lesenswert?

Gödel Escher Bach schrieb:
> Diese Möglichkeit funktioniert nur, solange sie neu ist.
>
> Sobald mehrere PCs behaupten, sie seien ein Honeypot eines
> Antiviren-Herstellers, entwickeln die Malwarehersteller Tricks, mit
> denen sie gefakte Testsuiten erkennen.

Aber der Angriff von 2 Seiten hätte was.
Auf der einen Seite die AV-VMs, die nicht als solche erkannt werden 
wollen und auf der anderen Seite die User, die gern als solche erkannt 
werden wollen.

Womit die Virenhersteller in der Bredouille wären. Ist es jetzt ein 
User, der eine VM simuliert, um den Virus lahmzulegen oder ist es eine 
AV-Test-VM.

von Uhu U. (uhu)


Lesenswert?

georg schrieb:
> Das wäre doch eine neue Möglichkeit sich zu schützen: man lädt ein
> kleines Progrämmchen, das den PC als VM ausgibt, und schon verhält sich
> die Malware ruhig.

Das geht viel einfacher: in einer echten VM. Ich mach das schon lange so 
beim Internet-Banking u.Ä.

von M. Н. (Gast)


Lesenswert?

Das beste sind dann die Viren, die das Spiel andersherum machen. 
Rootkits, die dein System in einer virtuellen Maschine booten, sodass 
sie komplette Kontrolle haben, aber das System+Antivirus nichts 
dagegegen machen können. Durch die massiven 
Virtualisierungsmöglichkeiten heutiger CPUs braucht so eine kleine VM 
kaum Codeaufwand.

von Gödel Escher Bach (Gast)


Lesenswert?

Noch besser sind dann Viren, und ihren Programmcode in der Firmware der 
Festplatte verstecken.

http://spritesmods.com/?art=hddhack
(Interessant wird es auf der Seite "Software flashing")

von Uhu U. (uhu)


Lesenswert?

Gödel Escher Bach schrieb:
> Noch besser sind dann Viren, und ihren Programmcode in der Firmware der
> Festplatte verstecken.

Das wird wohl in der Praxis an der Artenvielfalt im Plattenbiotop 
scheitern…

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.