Wie verhindere ich dass eine Virtuelle Maschine erkannt wird?

OP #5765917
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 :-)
#5766149
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.
Gast #5766611
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.
#5766622
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.
#5766791
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.
Gast #5767817
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.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren