Ich beginne mit der Feststellung, dass diese Frage sehr weit gefasst ist und sehr wenig originelle Forschung zeigt und dass diese Antwort nicht als Anregung für diese Art von Frage gesehen werden sollte. Stattdessen hofft diese Antwort, einige äußerst grundlegende Sicherheitstipps für Leute zu liefern, die gerade erst mit der Malware-Analyse beginnen.
Unter der Annahme, dass Sie bekannte, zuvor recherchierte Malware verwenden, hängt die Art und Weise, wie Sie Ihre Umgebung isolieren, stark von der Fähigkeit dieser Malware ab. Einige allgemeine Regeln, die für die meisten modernen Schadprogramme gelten, könnten sein:
Isolieren Sie Ihre VM vom Internet. Dies kann so einfach sein, wie keine Schnittstellenweiterleitung zum Gastcomputer einzurichten, und verhindert, dass die Malware mit potenziellen Befehls- und Steuerknoten kommuniziert, die sie möglicherweise anweisen, unvorhersehbar zu handeln.
Verwenden Sie einen geeigneten Hypervisor. Es gibt einige wichtige auf dem Markt, darunter VirtualBox, HyperV, QEMU und macOS Hypervisor.framework
, um nur einige zu nennen. Einige von ihnen werden aktiv von Malware angegriffen und sind je nach Version möglicherweise anfällig für das Ausbrechen von Malware auf dem Gastcomputer.
Installieren Sie auf keinen Fall Guest Additions oder das Analogon einer anderen Plattform. Das eigentliche Ziel dieser Art von Software ist es, die Integration zwischen Gast und Host herzustellen und die Trennung zwischen diesen effektiv zu schwächen. Ich bin kein Malware-Forscher, aber ich wäre überrascht, wenn es keine Malware gäbe, die speziell auf diese Art von Oberfläche abzielt.
So sprechen Sie einige Ihrer Punkte direkt an:
Wie isoliert kann eine virtuelle Maschine vom Host erstellt werden?
Zu diesem Zeitpunkt kann eine VM ziemlich vollständig isoliert sein, aber einige Funktionen müssen noch mehr oder weniger direkt mit wenig Hypervisor-Schutz über den Host ausgeführt werden. Auf Anhieb teilen sich die meisten virtuellen Maschinen (wie VirtualBox), die keine KVM-Maschinen sind, keinen Kernel mit dem Host-Betriebssystem. Dies allein dient als Blocker für zahlreiche Exploit-Klassen, insbesondere für die Blockierung der Fähigkeit, beliebige Systemaufrufe für Ihren Host-Kernel auszuführen (mit dem bemerkenswerten Sternchen, dass eine defekte VM-Layer-Implementierung es Malware ermöglichen kann, dies auf weniger offensichtliche Weise zu umgehen).
Ihre VM hat noch einen Prozessraum in Ihrem Host - Rechner-Hardware, obwohl - und obwohl dies nicht der Fall ist generell ein Risiko , weil moderne OSes anständig Prozessraum Isolation bieten, kann es immer noch verwendet werden , extrem Low-Level - Attacken wie ein auszubeuten Rowhammer , Dabei schreibt ein Prozess sequentiell auf eine bestimmte Weise in den Speicher, bis er benachbarte Speicherblöcke lesen kann, deren Eigentümer er nicht ist. Dadurch wird effektiv ein Speicherverlust zwischen den Prozessen ermöglicht.
Erwähnenswert ist auch, dass die Isolation tendenziell etwas nachlässt, wenn Sie im Wesentlichen jede Art von E / A ausführen möchten: Eingabe und Ausgabe bedeuten zwangsläufig Durchgang, wodurch eine Angriffsfläche verfügbar gemacht wird, die für die Ausführung von Hostaktionen genutzt werden kann. Dies umfasst HID-Passthrough wie Maus und Tastatur sowie Netzwerk-Passthrough - obwohl dies im Allgemeinen davon abhängt, wie gut das I / O-Passthrough in Ihrer VM implementiert ist.
Sollte (oder kann ich?) Ich eine Firewall zwischen dem Gast und dem Host einrichten?
Das kommt darauf an, ist aber im Allgemeinen keine schlechte Idee . Die meisten wichtigen Plattformen unterstützen Firewalls auf Hypervisor-Ebene. Diese sind höchstens so zulässig wie die Firewall auf Ihrem Host-Computer, die wiederum höchstens so zulässig ist wie die Firewall in Ihrem LAN oder VLAN. Wenn Sie diese Vorteile nutzen möchten, anstatt den Netzwerkzugriff vollständig zu unterbrechen, indem Sie die virtuellen Netzwerkschnittstellen trennen, sollten Sie nachforschen, welche Ports und Hosts Ihre ausgewählten Malware-Ziele haben und von dort aus vorgehen.
Sind Gast-Add-Ons ein Sicherheitsrisiko?
Ja . Sie ermöglichen alle Arten von Integrationen zwischen Ihrem Hostcomputer und dem Gastcomputer und enthalten nicht immer offene Spezifikationen, in denen Sie sehen können, was geöffnet wird. siehe oben.
Was ist mit freigegebenen Verzeichnissen?
Das hängt davon ab, wie Sie es machen, aber es ist oft eine schlechte Idee . Viele Hypervisoren erstellen dazu ein virtuelles Laufwerk auf dem Gastcomputer, dessen Stammverzeichnis sich in diesem Verzeichnis befindet. Abhängig von der Implementierung dieses Mechanismus, der zwischen den Frameworks geringfügig variieren kann, können Sie sicher sein oder auch nicht, je nachdem, welche Malware Sie testen möchten.
Ich mache mir Sorgen, dass Sie diesbezüglich nur sehr wenig Nachforschungen angestellt haben und dass Sie möglicherweise Ihren Computer oder Ihre Daten beschädigen. Bevor Sie fortfahren, sollten Sie die verschiedenen Isolationsmechanismen auf gängigen Betriebssystemen (KVMs) untersuchen, wie sie in übergeordnete Virtualisierungsframeworks ( virtuelle Maschinen ), Container ( Container ) und den zu benennenden chroot
Mechanismus ( Chroot ) integriert werden ein paar), wann jeder angebracht ist und was sie können und was nicht. An diesem Punkt können Sie besser beurteilen, ob Sie in einer entsprechend isolierten Umgebung sicher mit Malware spielen können oder nicht.
Schließlich sollten Sie nicht versuchen, mit neuer oder wenig bekannter Malware zu arbeiten (es sei denn, Sie sind ein erfahrener Sicherheitsforscher, aber diese Antwort richtet sich nicht an erfahrene Sicherheitsforscher). Böswillige Schauspieler sind äußerst kreativ, wenn es darum geht, was sie ausnutzen und wie sie es ausnutzen. Um sich ein Bild davon zu machen, werfen Sie einen Blick auf die jüngsten DEFCON-Gespräche, bei denen es nicht um Social Engineering oder den physischen Zugang über mechanische Mittel geht.