Menü
Security

Löchrige VMs: Den PGP-Schlüssel des Nachbarn klauen

Teilt man sich auf einem virtuellen Server die gleiche Hardware mit anderen VMs, kann man diese ausspionieren. Dabei lassen sich auf überraschend vielen Wegen Side-Channel-Angriffe durchführen.

Von
vorlesen Drucken Kommentare lesen 44 Beiträge
Side-Channel-Angriffe über löchrige VMs

Virtuelle Maschinen abstrahieren die physische Hardware, auf der sie laufen, nicht so gut, wie sie eigentlich sollten. In der Cloud kann das dazu führen, dass clevere Hacker Side-Channel-Angriffe auf VMs fahren können, die auf der selben Hardware laufen wie ihr Ausgangssystem. Sicherheitsforscherin Sophia D'Antoine hat nun eine Sammlung von Angriffen präsentiert, die das einfacher machen und unter anderem das Kopieren von privaten PGP-Schlüsseln aus einer Nachbar-VM erlauben.

Kernstück der VM-Schwachstellen ist der sogenannte Flush+Reload-Angriff, den zuerst zwei Kollegen D'Antoines von der Universität Adelaide beschrieben haben. Sie schafften es nach eigenen Angaben, an PGP-Schlüssel einer VM zu kommen, die den selben Level-3-Cache der CPU benutzt wie die VM des Angreifers. Durch geschicktes Ausnutzen ihres Zugriffs auf den Cache konnten die Forscher so bei jedem Zugriff der Ziel-VM über 96% der Bits des Schlüssels auslesen.

Zusätzlich beschreibt D'Antoine mehrere Möglichkeiten, wie man herausfinden kann, ob die VM, auf der ein Ziel-Server läuft, auf dem selben physischen System ist wie man selbst. Das kann nützlich sein, um den zuvor genannten Angriff auszuführen, denn dafür muss man sich ja mit der Ziel-VM eine CPU teilen.

Neben dem Cache kann ein Angreifer allerdings auch auf die Prozessor-Pipeline zugreifen, da diese ebenfalls von mehreren VMs zusammen benutzt wird. Hier kann ein Angreifer dann mitschreiben, was die Prozesse der Ziel-VM für Aufgaben erledigen und so Informationen über das Ziel sammeln. Allerdings ist das kniffliger als der Zugriff auf den Level-3-Cache.

In ihrer Master-Arbeit entwickelt die Forscherin aus diesen Sicherheitslücken mehrere theoretische Schadcode-Programme, die Informationen aus benachbarten VMs aushorchen und auch selbst manipulierte Informationen einbringen können. Sie kommt zu dem Schluss, dass man so komplexe Angriffe auf Cloud-Infrastrukturen fahren könnte. (fab)