Verschlüsselung

Cachebleed: Intel-CPU-Cache kann Private Key verraten

4. März 2016
  • Verschlüsselung

Mithilfe eines Cache-Timing-Angriffs gelang es Forschern, die RSA-Verschlüsselungsoperation von OpenSSL zu belauschen, um den privaten Schlüssel zu knacken. Das „Cachebleed“ genannte Angriffsszenario nutzt Zugriffskonflikte auf den CPU-Cache-Speicher. OpenSSL hat bereits Gegenmaßnahmen implementiert, jedoch ist es relativ wahrscheinlich, dass auch andere Verschlüsselungsbibliotheken betroffen sind.

Cachebleed: so kann der Angriff entstehen

Bei CPUs der Intel Sandy Bridge-Reihe kann es beim Zugreifen auf den CPU-Cache zu Zugriffskonflikten kommen: wollen zwei Prozesse zeitgleich auf eine Cache-Zelle zugreifen, kommt es zu einem Konflikt, der so gelöst wird, dass nur einem Prozess der Zugriff gewährt wird. Diesen Zugriffskonflikten verdanken die Forscher die Möglichkeit, von den Multiplikationsoperationen in OpenSSL Zugriffsmuster zu extrahieren. Ein erfolgreicher Angriff benötigte rund 16.000 Verschlüsselungsoperationen. Im Anschluss daran hatten die Forscher rund 60 Prozent des privaten RSA-Keys, was ausreichend ist, um den Rest des Schlüssels auch noch zu erhalten. Auf einem gewöhnlichen PC dauerte das Knacken eines 4.096 Bit-Schlüssels rund zwei Stunden.

Dass RSA-Operationen in OpenSSL Zugriffe auf den Speicher nach bestimmten Mustern durchführen, die durch den Private Key beeinflusst werden, ist ursächlich für das Angriffsszenario Cachebleed. Dass der Angriff jedoch auch funktioniert, obwohl OpenSSL schon Gegenmaßnahmen implementiert hat, überrascht jedoch. Das tatsächliche Risiko eines Angriffs schätzen die Forscher eher gering ein, allerdings wären Szenarien denkbar, in denen Angreifer und Opfer Accounts auf demselben Server haben. Typischen Cloud-Umgebungen sollte der Angriff jedoch nichts anhaben können, da Angriffe meist durch zeitgleich laufende Prozesse gestört werden würden.

Cachebleed: das können Sie tun

Wenngleich das praktische Risiko eher gering eingeschätzt wird, können Sie den Angriff durch Abschalten der Hyperthreading-Funktion verhindern. CPUs aus der Haswell-Serie sind nicht betroffen, da bei diesen Cache-Zugriffskonflikte nicht in der Art auftauchen können. Inwieweit CPUs anderer Hersteller betroffen sein könnten, ist bislang unklar.

Auch OpenSSL hat bereits reagiert: mit dem Update auf die OpenSSL-Versionen 1.0.2g sowie 1.0.1s wurden diverse Sicherheitslücken, darunter auch Cachebleed, behoben. Auch ist in diesen und künftigen Versionen das SSLv2-Protokoll standardmäßig deaktiviert, um den Drown-Angriff verhindern zu können. Es ist jedoch anzunehmen, dass viele andere RSA-Implementierungen ebenfalls betroffen sind; die Cachebleed-Autoren vermuten, NSS sei unter anderem betroffen, ein Update fehlt bislang.



0 Kommentar(e)

Schreibe einen Kommentar