Schneller RSA-Schlüsselklau durch Sprungvorhersage

Mit der Simple Branch Prediction Analysis kann ein Spionageprozess durch Beobachtung der Sprungvorhersage und Messung der Zeitunterschiede den Schlüssel in einer einzigen Signing-Operation ermitteln.

In Pocket speichern vorlesen Druckansicht 117 Kommentare lesen
Lesezeit: 2 Min.
Von
  • Daniel Bachfeld

Kryptospezialisten haben eine verbesserte Methode entwickelt, mit der Anwenderprozesse geheime RSA-Schlüssel eines anderen, höher privilegierten Prozesses schneller ausspioniereren können. Den ersten Ansatz dafür zeigte Colin Percival von FreeBSD bereits Mitte 2005. So konnte ein Spionageprozess aus dem Timing von Speicherzugriffen Informationen über die Operationen gewinnen, die der andere gerade ausführt. Die minimalen Zeitunterschiede genügen, um über einen sogenannten Side-Channel-Angriff beispielsweise Teile des RSA-Keys einer OpenSSL-Verschlüsselungsoperation zu gewinnen. Allerdings sind dafür längere Beobachtungen nötig.

Die verbesserte Methode soll es nach Angaben der Forscher einem parallel laufenden Spionageprozess möglich machen, alle geheimen Bits während einer einzigen RSA-Signing-Operation auszuspähen. Die Simple Branch Prediction Analysis (SBPA) genannte Attacke beobachtet dazu die Sprungvorhersage moderner Prozessoren und versucht ebenfalls aus den Zeitunterschieden den Schlüssel zu ermitteln. In ihrer Veröffentlichung schildern die Autoren Onur Aciicmez, Cetin Kaya Koc and Jean-Pierre Seifert auch einen konkreten Angriff auf OpenSSL auf einem Pentium-4-Prozessor, bei dem aber ein für heutige Verhältnisse recht kurzer Schlüssel von 512 Bit verwendet wurde.

Die Demonstration zeige ihre Meinung nach, dass auch Schutzmaßnahmen wie Speicherschutz, Sandboxing und Virtualisierung nicht vor Side-Channel-Angriffen schützen können. Die empfohlenen Verschleierungstechniken zum Schutz vor Side-Channelangriffen seien vollig nutzlos. Bruce Schneier merkt in einem Eintrag seines Blogs zu der neuen Technik an, dass damit die Sicherheit von Anwendungen gefährdet sein könnte, die Digital Rights Management (DRM) verwenden.

Siehe dazu auch:

(dab)