• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Sicherheit von VMs

Lurchi

Hacker
Hallo Leute.

Dieser Thread dient einfach nur als Diskussionsgrundlage: Wie sicher ist das Surfen im Internet in einer ungeschützten, sprich keine Firewall oder Antivir-Progamme), Windows-Gastumgebung? Könnte es nicht auch dort Datenklau geben, obwohl die VM nur ein Softwarekonstrukt ist?
Reicht das profane Löschen einer VM aus, um sich vor Mailware, Phishing & Co. zu schützen?

Bitte um rege Diskussion.
 

framp

Moderator
Teammitglied
Prinzipiell hast Du recht: Auch die VirtualsierungsSoftware kann Fehler haben die einen Ausbruch vom Gast- in das Hostsystem ermöglichen. Davon habe ich aber noch nichts gehört (jedenfalls nicht für VMware). Auch in der c't werden Viren immer in VMs getestet. Ich denke nicht, die würden das tun, wenn ein entsprechendes signifikantes Risko existiert.
 
Lurchi schrieb:
Wie sicher ist das Surfen im Internet in einer ungeschützten, sprich keine Firewall oder Antivir-Progamme), Windows-Gastumgebung?

Diese Umgebung ist dann naturgemäß genauso gefährdet wie ein ungeschütztes echtes Win.

Lurchi schrieb:
Könnte es nicht auch dort Datenklau geben, obwohl die VM nur ein Softwarekonstrukt ist?

Ein Betriebssystem ist genau genommen immer ein "Softwarekonstrukt". Ob die zugrunde liegende Hardware virtuell oder echt ist, spielt dabei keine Rolle.

Lurchi schrieb:
Reicht das profane Löschen einer VM aus, um sich vor Mailware, Phishing & Co. zu schützen?

Nö. Phishing z.B. nutzt ja keine Sicherheitslücken im eigentlichen Sinne, sondern die Arglosigkeit der user, es ist also völlig egal, ob man eine Phishing-Mail über die VM bezieht oder nicht. Malware würde tatsächlich mit der VM gelöscht werden, so wie man ein nicht-virtuelles System "bereinigt", wenn man es löscht oder neu installiert.
 

framp

Moderator
Teammitglied
Habe eben noch Deine Frage gesehen:
Lurchi schrieb:
...Reicht das profane Löschen einer VM aus, um sich vor Mailware, Phishing & Co. zu schützen?...
Deine Frage ist nicht so einfach zu beantworten, denn es hängt davon ab was Du genau machen willst - wie also Dein Benutzungsszenario aussieht. Ich stelle mal ein paar zusammen:

1) Du willst per Browser surfen und fängst Dir einen Virus ein. Kann Der Dein lokales Netz/Clients infizieren? Ja - wenn Du die VM auf Deinem normalen Rechner laufen lässt und im bridged oder nat network Mode betreibst. Dann kann die VM sämtliche lokalen Rechner angreifen. Sicher bist Du nur wenn Du die VM über eine dedizierte Netzwerkkarte und eine entsprechend konfigurierte FW ine Netz gehen lässt.
2) Du willst per Browser surfen und fängst Dir Malware ein. Alle VirtualsierungsSoftwaren bieten die Möglichkeit auf einen vorherigen Snapshot (gesicherten Stand) zurückzugehen. Du musst also nur wieder auf den alten Snapshot zurückgehen wo alles so aussieht als hättest Du Dir niemals Malware eingefangen.
3) Du willst eBanking per Browser machen und fängst Dir einen Keylogger oder Phishing SW ein. Pech gehabt - da nützt Dir keine VM.
4) ...

Wenn Dein BenutzungsSzenario nicht dabei ist kannst Du es ja noch beifügen ;-)
 
OP
Lurchi

Lurchi

Hacker
Halloo zusammen!

@ all:
Danke für Eure Szenarien und Kommentare. Mir ist vom Verständnis eins nicht klar:
Wie lässt sich ein Linux-Host durch einen Windows-Gast unterminieren bzw. schädigen? Geht man von der Programmierung von Spyware, Dialern, Mailware etc. von Windowsumgebungen aus, wie sollen genannte Schädlinge ein Linuxsystem aushebeln? Geschweigedenn, wie eine Laus von Blatt zu Blatt zu wandern. War Linux nicht immer ein "Garant" für Systemsicherheit? Eine exe-Datei lässt sich nicht in einem Linuxsystem nicht öffnen. Das mag sich naiv anhören. Aber:
Wie soll eine gelöschte VM einem Host Schaden zu fügen können? Alle relevanten Dateien des Gastsystems sind doch gelöscht.

@ framp:
Punkte 1 und 2 eher nicht. Bin kaum Online!
Punkt 3: eBanking mach ich nur auf'm Host! Und das mit SSL!

@ all nochmal:
Was bewirken sog. "Installer", die andere Software mitinstallieren, um auf kostenpflichtige Seiten zu verlinken, die dann kostenpflichtig werden können. Wie greifen sich diese "Späher" Adressdaten etc.?
Wie gesagt: Wie komme ich von einem Windows-Gast auf einen Linux-Host? Und wie werden die Daten gestohlen?
 

framp

Moderator
Teammitglied
Lurchi schrieb:
...Wie gesagt: Wie komme ich von einem Windows-Gast auf einen Linux-Host? Und wie werden die Daten gestohlen? ...
Wie schon oben gesagt: Der Virus muss

1) Feststellen dass er unter einer VM läuft
2) Ein Loch in der VirtualisierungsSoftware kennen/finden sofern es existiert. Das Loch ermöglicht ihm aus der VirtualsierungsUmgebung rauszukommen aund das Hostsystem zu kontrollieren
3) Dieses Loch benutzen um auf das Hostsystem zuzugreifen
4) Da VMs unter verschiedenen Hosts laufen können kann der Virus ein Windows oder Linux vorfinden
5) Nun muss der Virus das jeweilige HostSystem angreifen

Alles theoretisch möglich ... sofern ein Loch existiert :roll:
 
Meiner Ansicht nach lohnt es sich für einen Angreifer kaum, eine virtuelle Umgebung einzuplanen - wie framp schon schrieb, bislang ist dies wohl noch nicht durchgeführt worden. Das Gastsystem reagiert aber in jedem Falle entsprechend auf einen Angriff, egal unter welchen Host es läuft.

Lurchi schrieb:
War Linux nicht immer ein "Garant" für Systemsicherheit?

So solltest Du *niemals* an den Parameter Sicherheit gehen. Die Antwort muss hier eindeutig "nein" lauten.
 
OP
Lurchi

Lurchi

Hacker
Morgen!

@ all:

Danke für Eure Einschätzungen. Falls es Löcher in einer VM gibt, welcher Mechanismus steht hinter einem Angriff. Ist es unter Linux nicht so, das man quasi über gewissen Rechte besitzen muss, um ein System zu untergraben? Welche internen Schutzmechanismen stehen zur Verfügung?
Das würde aber auch im Umkehrschluss bedeuten, das eine ungeschützte VM ein Sicherheitsrisiko für einen Host sein kann! Oder?
 
Lurchi schrieb:
Falls es Löcher in einer VM gibt, welcher Mechanismus steht hinter einem Angriff.

Angriffe können höchst unterschiedlich aussehen, je nachdem, welche Lücke ausgenutzt wird. Das kann man nicht pauschalisieren.

Lurchi schrieb:
Ist es unter Linux nicht so, das man quasi über gewissen Rechte besitzen muss, um ein System zu untergraben?

Das ist richtig, aber um die Übernahme der entsprechenden Rechte geht es bei einem Angriff ja (meistens).

Lurchi schrieb:
Welche internen Schutzmechanismen stehen zur Verfügung?

Naja, Sicherheit setzt sich aus verschiedenen Parametern zusammen, z.B. das regelmäßige Schließen von Lücken aus vertrauenswürdigen Quellen über die Softwareaktualisierung, speziellen Anwendungen wie AppArmor und nicht zuletzt Brain2.0 (wie schon angedeutet: bei z.B. Phishing hilft nichts anderes).

Lurchi schrieb:
Das würde aber auch im Umkehrschluss bedeuten, das eine ungeschützte VM ein Sicherheitsrisiko für einen Host sein kann! Oder?

Ja. Aber wie schon geschrieben: meiner Einschätzung nach lohnt es sich für einen Malware-Programmierer wohl nicht, virtuelle Umgebungen bzw. deren Host als Angriffsziel einzuplanen, denn 1. erkennen, dass man sich in einer virtuellen Umgebung befindet, 2. diese verlassen, um das Gastsystem anzugreifen und 3. dessen Sicherheitsmechanismen zu umgehen, das halte ich schon für einigermaßen komplex - demgegenüber haben Virenprogrammierer aber großes Interesse daran, ihre Werke möglichst weit zu verbreiten, weshalb sie von möglichst "generischen" Bedingungen ausgehen.

Ich würde dennoch in jedem Falle den Gast ausreichend absichern - nicht um des Hosts Willen, sondern um es selbst zu schützen.
 

marce

Guru
es braucht übrigens nicht zwingend ein Loch in der Virtualisierungssoftware, um das Host-System anzugreifen. Es würde z.B. schon reichen, wenn dieses z.B. per ssh vom Gast aus erreichbar wäre und dort ein vewundbarer sshd laufen würde. So käme man vom Gast auf den Host, ohne die Virtualisierungssoftwaree knacken zu müssen...
 

framp

Moderator
Teammitglied
marce schrieb:
es braucht übrigens nicht zwingend ein Loch in der Virtualisierungssoftware, um das Host-System anzugreifen. Es würde z.B. schon reichen, wenn dieses z.B. per ssh vom Gast aus erreichbar wäre und dort ein vewundbarer sshd laufen würde. So käme man vom Gast auf den Host, ohne die Virtualisierungssoftwaree knacken zu müssen...
Stimmt. Fällt auch unter
framp schrieb:
1) Du willst per Browser surfen und fängst Dir einen Virus ein. Kann Der Dein lokales Netz/Clients infizieren? Ja - wenn Du die VM auf Deinem normalen Rechner laufen lässt und im bridged oder nat network Mode betreibst. Dann kann die VM sämtliche lokalen Rechner angreifen. Sicher bist Du nur wenn Du die VM über eine dedizierte Netzwerkkarte und eine entsprechend konfigurierte FW ins Netz gehen lässt.
Wenn die VM von extern erreichbar ist - sei es http, ssh, ftp oder sonstiges Protokoll und keine FW diese VM vor dem internen Netz schützt - ist natürlich diese VM ein idealer Brückenkopf vom Internet ins lokale Netz sofern das OS der VM unsicher konfiguriert ist oder Security Löcher hat. Das OS in der VM muss also netzwerkmäßig isoliert oder aber entsprechend sicher konfiguriert und mit SecurityPatches versorgt sein.
 

harley

Hacker
Im Endeffekt sind dies aber verstärkt Szenarien, welche nicht per Viren, Malware etc. ausgeführt werden, sondern einen direkten Angriff auf das System darstellen. Sollte z.B. per Trojaner ein Zugriff auf das Win-System in der VM ermöglicht sein, kann von dort aus (Brückenkopf) auf weitere Einfalltore im Netzwerk getestet werden. Die entsprechenden Lücken sind beispielhaft oben schon aufgeführt worden. Dies würde den Zugriff nicht nur auf das Wirtssystem (Linuxrechner) sondern auch auf weitere Rechenr im Netz (incl. Router etc.) bedeuten. Bestimmt lassen sich viele dieser Ideen auch automatisiert durchführen, ich denke aber, daß dies eher einem gezielten Angriff gleicht. Trotzdem plädiere ich ebenfalls auf den schon oben gegebenen Rat den Rechner lieber abzusichern.

Micha :-D
 
OP
Lurchi

Lurchi

Hacker
n'Abend zusammen.

Gut. Werden wir mal konkret: Eine VM ist genau so verwundbar, wie der Host. Es sei denn, man schützt den Gast. Von außen durch Firewall & CO.
Aber wie schütze ich eine VM nach Innen? So dass keine "Brückenfunktion entsteht.
openSUSE steht AppArmor zur Verfügung. Wie konfiguiere ich speziell die .vdi-Datei damit? Zu wissen, das man on-board ein Sicherheitswerkzeug hat, ist das eine. Aber wie man dieses für spezielle Anwendungen, hier VM, konfiguriert, ist das andere.
 
OP
Lurchi

Lurchi

Hacker
Rainer Juhser schrieb:
Kannst du uns mal verraten, worauf du eigentlich hinaus willst?

Hallo R.J.

Ich fass noch mal für Dich zusammen: Mein diskussionswürdiges Thema war die "Sicherheit von VMs". :/
Meine Hoffnung war zu erfahren, ob und in wie fern eine VM schadhaft für einen Host werden kann, falls der Gast schutzlos ist.
Es wurden mögliche Szenarien aufgezeigt, die eine äußere Bedrohung darstellen könnten. Es wurde sogar von möglichen "Löchern" in der VM-Software gesprochen. On-Board Sicherheitsmechanismen, wie etwa AppArmor, wurde genannt.

Alles O.K. Aber genaugenommen konnte man mir, und vielleicht auch anderen Interessierten, wirklich keiner einen Lösungsansatz schildern, wie man eine VM nach Innen absichert, sodass z.B. kein Trojaner oder Wurm den Gast als Sprungbrett benutzt, und den Host unterminiert.
Was meine ich mit "Innen"? Bei der Installation einer VM, wird doch ein Ordner auf dem lokalen User angelegt, die ein *.vdi-Datei. Sie beinhaltet den Gast. So. Noch einmal: Ist sie der Schwachpunkt oder die Virtualisierungssoftware an sich??

Ich bin mir sicher, dass dieses Thema auch, im privaten Bereich, nicht unter den Teppich gekehrt werden sollte. Darüberhinaus möchte ich nicht wissen, wie viele Linux-Benutzer sich eine VM a´ la MS aufsetzten und meinen, mir passiert ja nichts. Vielleicht pinnt Ihr das Thema irgendwann einmal! :roll:
 

marce

Guru
beides ist die (potentielle) Schwachstelle.

Sowohl die Virtualisierungssoftware kann exploited werden (sei es von extern oder vom Gast aus), aber auch der Gast kann exploited werden - so wie jeder andere PC mit einem installierten OS auch.

Ob und wie dann evtl. vom Gast auf den Host zugegriffen werden kann ist dann - Sicherheits- und Konfigurationsarbeit im Gast, Host, VM, ...
 

framp

Moderator
Teammitglied
Lurchi schrieb:
..Was meine ich mit "Innen"? Bei der Installation einer VM, wird doch ein Ordner auf dem lokalen User angelegt, die ein *.vdi-Datei. Sie beinhaltet den Gast. So. Noch einmal: Ist sie der Schwachpunkt oder die Virtualisierungssoftware an sich??
Auf den Dateien arbeitet nur die Virtualisierungssoftware. Solange sie kein Loch hat ist das kein Problem. Es ist also die VirtualsierungsSoftware die hier ein Problem verursachen kann.

In dem Zusammenhang fällt mir noch was ein was man beachten sollte: VirtualisierungsSoftware (jedenfalls VMWare) bietet die Möglichkeit Teile des Hostfilesystems dem Gast zugreifbar zu machen. Ist z.B. sinnvoll wenn man Daten zwischen Host und Gast austauschen will. Wenn dort wiederum unsaubere Sachen eingerichtet wurden und z.B. Schreib/Lesezugriffe auf wichtige Hostdateien existieren ist das natürlich sehr schlecht und man kann das Hostsystem vom Gastsystem dadurch schädigen. Der Normalfall ist aber, dass man irgendwelche Userverzeichnisse freigibt und dort greifen dann wieder die normalen Host Userberechtigungen. Aber nochmal: Das sind alles so seltene Szenarien die kaum ein Virenprogrammieren angehen wird, denn er will ja möglichst zu 100% ein System unterminieren oder schädigen können. Wer aber ganz sichergehen will shared eben keine Filesysteme zwischen Host und Gast.
 
OP
Lurchi

Lurchi

Hacker
Wenn Du von freigegebenen Userverzeichnissen sprichst, fällt mit spontan der "Gemeinsame Ordner" ein, den man formelle Rechte zuordnen kann. Dort könnte man "zugreifen".
 
Oben