> > > > AMD Opteron: Zen-Architektur verschlüsselt Daten im RAM für einzelne VMs

AMD Opteron: Zen-Architektur verschlüsselt Daten im RAM für einzelne VMs

Veröffentlicht am: von

Auf modernen Server-Prozessoren wird meist nicht mehr nur ein Betriebssystem bzw. eine Instanz ausgeführt, sondern mithilfe von virtuellen Maschinen laufen darauf gleich mehrere. Diese teilen sich nicht nur die Ressourcen des Prozessors, sondern auch die darauf befindlichen Daten. Um diese besser schützen können, bietet AMD bei der Zen-Architektur eine teilweise und gänzliche Verschlüsselung des Arbeitsspeichers.

Auf dem KVM Forum 2016 sprach Linux-Entwickler Thomas Lendacky von AMD über die Secure Memory Encryption (SME) und Secure Encrypted Virtualization (SEV). Ziel beider Technologien ist die Verschlüsselung der Daten im Arbeitsspeicher. Dazu verwendet AMD eine AES128-Verschlüsselung mit einem geheimen Schlüssel. Dieser soll nicht ausgelesen oder manipuliert werden können. SME und SEV arbeiten aber auf unterschiedlichen Ebenen der Verschlüsselung.

SME dient vor allem dem Schutz vor physischen Attacken auf das System, bei denen der Arbeitsspeicher direkt ausgelesen wird. Dies ist möglich, wenn der Angriff physikalisch am Speicherbus stattfindet oder aber per Cold-Boot-Attacke die Daten sprichwörtlich eingefroren werden. In Zukunft werden aber auch mehr und mehr NVDIMMs in Servern zum Einsatz kommen, die solche Angriffe noch einmal erleichtern, da sie nichtflüchtige Speicherkomponenten beinhalten. SME kann aber nicht nur den kompletten Arbeitsspeicher schützen, sondern auch bestimmte RAM-Adressbereiche. Dazu muss der Hypervisor bestimmte Befehle setzen und die Daten in diesem Bereich werden per SME geschützt. Aus dem ungeschützten Speicherbereich kann nicht auf den per SME geschützten Bereich zugegriffen werden.

SEV bietet eine komplette Abschottung der Daten auf dem Arbeitsspeicher für jede einzelne virtuelle Maschine. Das Betriebssystem muss dies allerdings aktiv unterstützen, was bei SME nicht notwendig ist. Auch bei SEV können bestimmte Bereiche des Arbeitsspeicher unverschlüsselt bleiben und dieser Speicherbereich kann dann als Shared Memory zum Datenaustausch zwischen den VMs genutzt werden. Der Linux-Kernel soll in Kürze die Unterstützung für SEV erhalten.

Die Schlüssel für die Verschlüsselung sind auf dem Secure Processor abgelegt, der sich in allen AMD-Prozessoren befindet. AMD verwendet dazu einen Cortex A5 von ARM, der wiederum über die Trust Zone verfügt. Apple verwendet bei seinen SoCs genau wie Samsung und andere Hersteller ein ähnliches Konzept eines Secure Processors. Intel nennt dies ab den Skylake-Prozessoren Software Guard Extension (SGX). Skylake-EP bzw. Purley soll im kommenden Jahre mit Memory Encryption Extensions (MEE) eine ähnliche Funktion wie AMD zur Verschlüsselung des Arbeitsspeichers bieten. Weitere Details hält das AMD64-Handbuch (PDF) bereit.

Social Links

Ihre Bewertung

Ø Bewertungen: 0

Tags

Kommentare (7)

#1
customavatars/avatar215183_1.gif
Registriert seit: 01.01.2015
€Uropäische Union - Bairischer Sprachraum
Kapitän zur See
Beiträge: 3668
Angriff vor Physischen Attacken, also direkt am Server bzw System?
Also hilfreich gegen Polizei und Spionage?
#2
Registriert seit: 05.07.2010

Admiral
Beiträge: 16633
Ist das schon im Hinblick auf die neuen, nicht flüchtigen Storage Class Speichermedien die 3D XPoint, die dann auch als RAM dienen werden, zu sehen? Eigentlich sollte ja das Betriebssystem die Trennung der VMs sicherstellen, nur wenn der Inhalt des RAMs eben beim Start nicht leer ist, könnte das natürlich zu Sicherheitsproblemen führen.
#3
customavatars/avatar37147_1.gif
Registriert seit: 20.03.2006
München
Bootsmann
Beiträge: 659
Zitat lll;24899819
Angriff vor Physischen Attacken, also direkt am Server bzw System?
Also hilfreich gegen Polizei und Spionage?

Gegen jeden der an die Daten in deinem Arbeitsspeicher will, weil die Platten z.B. stark verschlüsselt sind.
Zitat Holt;24899953
Ist das schon im Hinblick auf die neuen, nicht flüchtigen Storage Class Speichermedien die 3D XPoint, die dann auch als RAM dienen werden, zu sehen? Eigentlich sollte ja das Betriebssystem die Trennung der VMs sicherstellen, nur wenn der Inhalt des RAMs eben beim Start nicht leer ist, könnte das natürlich zu Sicherheitsproblemen führen.

Zum Einen ja. Zum Anderen ist es möglich die Daten auf RAM-Modulen, mit extremer Kühlung einige Sekunden lang, auch nach dem Entfernen vom Mainboard auszulesen. Bei sehr wichtigen Daten ist das durchaus interessant.

Desweiteren könnte es gegen DMA-Angriffe die man z.B. über Firewire machen kann helfen, dass man das Passwort des aktuell eingeloggten Benutzers nicht mehr so einfach aus dem Arbeitsspeicher klauen kann.

Und generell kann man damit vielleicht Attacken auf nicht zulässige Speicherbereichen vorbeugen, selbst wenn das Zugriffsmanagement versagt und/oder ausgehebelt wird.

Es hat also durchaus einige interessante Anwendungszwecke. :)

Leider wird auch hier im Artikel nicht näher darauf eingegangen welche Vorteile AMDs Lösung gegenüber SGX hat.
#4
customavatars/avatar37485_1.gif
Registriert seit: 25.03.2006
Da Hood
Oberstabsgefreiter
Beiträge: 391
Interesant wäre dazu die Info was das an Performance kostet.
Bisherige CPUs können ja trotz Hardware-AES-Beschleunigung nicht mal ansatzweise so schnell AES de/entschlüsseln wie Daten aus dem Ram laden bzw. da speichern.
Ram: http://www.legitreviews.com/intel-core-i7-6700k-skylake-processor-review_169935/5
AES: http://www.legitreviews.com/intel-core-i7-6700k-skylake-processor-review_169935/12

Und der Benchmark dürfte sequentiell messen und somit noch nichtmal das Problem beinhalten, dass da bei kleineren Schreibzugriffen ein riseiger Overhead (1 Byte schreiben = einen "Block" lesen, entschlüsseln, das Byte schreiben, wieder verschlüsseln und alls schreiben) entstehen wird.
#5
Registriert seit: 24.01.2011

Bootsmann
Beiträge: 734
Zitat lll;24899819
Also hilfreich gegen Polizei und Spionage?

Gegen die Wald&Wiesen Polizei und Industriespione vielleicht,
NSA und Geheimdienste haben aber garantiert einen 'Generalschlüssel'
#6
customavatars/avatar89889_1.gif
Registriert seit: 19.04.2008
PorscheTown
Vizeadmiral
Beiträge: 6898
Zitat lll;24899819
Angriff vor Physischen Attacken, also direkt am Server bzw System?
Also hilfreich gegen Polizei und Spionage?

So lang du nicht auf dem Host System deine "Tätigkeiten" ausübst sondern auf den VM Clients sieht keiner was von außen.
Die Daten werden verschlüsselt gelesen und geschrieben, wenn es dann noch auf einem RAM-Laufwerk statt findet, kannst du alle Spuren mit dem ziehen des Netzstecker "verschwinden" lassen.
Was du aber auf die externen Server schreibst, lässt sich zumindest für einen bestimmten Zeitraum nachweißen. ;)
#7
Registriert seit: 05.07.2010

Admiral
Beiträge: 16633
Zitat Armadillo;24901388
Zum Anderen ist es möglich die Daten auf RAM-Modulen, mit extremer Kühlung einige Sekunden lang, auch nach dem Entfernen vom Mainboard auszulesen. Bei sehr wichtigen Daten ist das durchaus interessant.
Und in welchen Situationen soll das relevant sein? Dazu müsste ein Angreifer die RAM in seiner Hand haben um die so extrem kühlen zu können und dann innerhalb der extrem kurzen Zeit in ein Auslesegerät zu packen. Wer das kann, der hat sicher einfachere Möglichkeiten an die Daten zu kommen die er haben möchte.

Zitat Armadillo;24901388
Und generell kann man damit vielleicht Attacken auf nicht zulässige Speicherbereichen vorbeugen, selbst wenn das Zugriffsmanagement versagt und/oder ausgehebelt wird.
Wobei die Frage ist, was sich dann einfacher aushebeln lässt, denn für die jeweiligen Programme muss ja der Speicherkontroller ihre Daten im RAM entschlüsseln wenn sie darauf zugreifen, dort wird dann auch ein Angreifer ansetzen und sein Spionageprogramm so gestalten, dass es sich für den Besitzer der Daten ausgibt. Wer sowieso das Zugriffsmanagement ausgehebelt, für den dürfte das nicht unmöglich sein.
Um Kommentare schreiben zu können, musst Du eingeloggt sein!

Das könnte Sie auch interessieren: