mikrocontroller.net

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


Autor: Msp 4. (msp430_crew)
Datum:

Bewertung
1 lesenswert
nicht lesenswert
Hallo Forumfreude :-),

aktuell habe ich festgestellt, dass man mittlerweile jede VM erkennen 
kann, wenn man das will.
Unter Linux zum Beispiel:
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 :-)

Autor: Andreas B. (andreasb)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Jens M. (schuchkleisser)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: georg (Gast)
Datum:

Bewertung
-1 lesenswert
nicht 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

Autor: Gödel Escher Bach (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Jens M. (schuchkleisser)
Datum:

Bewertung
0 lesenswert
nicht 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
Autor: Mach (Gast)
Datum:

Bewertung
1 lesenswert
nicht 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?

Autor: Mach (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nachtrag: Jens M.s Beitrag hat hat sich überschnitten.

Autor: Vlad T. (vlad_tepesch)
Datum:

Bewertung
3 lesenswert
nicht 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.

Autor: Uhu U. (uhu)
Datum:

Bewertung
0 lesenswert
nicht 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.Ä.

Autor: M. H. (bambel2)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Gödel Escher Bach (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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")

Autor: Uhu U. (uhu)
Datum:

Bewertung
0 lesenswert
nicht 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…

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.