PortSmash: Weiterer Exploit greift über Hyper-Threading/SMT an
Forscher der Universitäten in Tampere (Finnland) und Havanna (Kuba) haben einen Exploit veröffentlicht, der eine Sicherheitslücke in Prozessoren mit Hyper-Threading (HT) ausnutzt um private OpenSSL-Schlüssel auszulesen. Auch CPUs von AMD mit Simultaneous Multi-Threading (SMT) dürften betroffen sein.
Wie die Sicherheitslücke Foreshadow nutzt der Exploit CVE-2018-5407 damit die Eigenschaft vieler moderner Prozessoren aus, durch die parallele Ausführung von zwei Threads auf einem Kern, dessen Ressourcen durch einen Thread nie alle zu 100 Prozent ausgelastet sind, Wartezeiten einzusparen. Damit verbunden ist allerdings das Risiko, dass ein Thread auf Informationen des anderen Threads im selben Kern zugreifen kann (Seitenkanalangriff). Dazu im Kontrast stehen die Sicherheitslücken vom Typ Meltdown, Spectre und L1TF, die sich zunutze machen, dass CPUs Berechnungen spekulativ im Voraus vornehmen.
Mit PortSmash ist aus dem Risiko auf CPUs von Typ Intel Skylake und Intel Kaby Lake jetzt abermals Realität geworden und wie die Forscher betonen dürfte derselbe Einbruch auch auf anderen Architekturen von Erfolg gekrönt sein, wenn der Code an die Eigenarten der jeweiligen Generation angepasst wird. Der Angriff setzt damit voraus, dass der entsprechende Schadcode auf dem anzugreifenden System auf demselben CPU-Kern ausgeführt werden kann, auf dem auch der anzugreifende Thread ausgeführt wird. Das ist abermals insbesondere für Cloud-Systeme eine große Gefahr, auf denen sich mehrere Benutzer mit ihren Betriebssystemen dieselbe CPU teilen.
Auf der Linux-Distribution Ubuntu 18.04 war es den Forschern möglich, den privaten Schlüssel aus einem TLS-Server (OpenSSL, Versionen bis inklusive 1.1.0h) im 1. Thread über einen 2. parallelen Thread auf demselben Kern auszulesen.
OpenSSL hat die Lücke bereits geschlossen
Auf GitHub gibt es mittlerweile Commits, die das Ausspähen über die Sicherheitslücke in OpenSSL beheben, ein Update wird aber noch nicht offiziell verteilt. Dennoch zeigen sich die Sicherheitsforscher mit dem derzeitigen Vorgehen zufrieden, die Branche hätte aus dem Desaster um Heartbleed gelernt.
Hardware- oder Software-Lücke?
Während einige Stimmen den Angriffsvektor, den PortSmash nutzt, als Hardware-Sicherheitslücke bezeichnen, sehen andere darin eine mit Hyper-Threading/SMT wohlwissentlich eingeführte Schwachstelle, die es in Software schon immer zu umgehen galt. Billy Brumley, einer der Forscher hinter PortSmash, geht mit dieser Einschätzung grundsätzlich mit, sieht den jetzt präsentierten Exploit aber als so mächtig an, dass die Verantwortung für die Lücke in seinen Augen doch bei den CPU-Herstellern liegt.
Informiert hatten die Forscher Intel am 1. Oktober 2018 über das Problem und 30 Tage bis zur Veröffentlichung verstreichen lassen. In einem ersten Statement hat Intel erklärt davon auszugehen, dass das Problem nicht nur die CPUs dieses Herstellers betrifft und die Methode hinter dem Angriff auf bekannten Maßnahmen aufbaut. Anwendungen und Software-Bibliotheken könnten dagegen abgesichert werden.
Intel received notice of the research. This issue is not reliant on speculative execution, and is therefore unrelated to Spectre, Meltdown or L1 Terminal Fault. We expect that it is not unique to Intel platforms. Research on side-channel analysis methods often focuses on manipulating and measuring the characteristics, such as timing, of shared hardware resources. Software or software libraries can be protected against such issues by employing side channel safe development practices. Protecting our customers' data and ensuring the security of our products is a top priority for Intel and we will continue to work with customers, partners and researchers to understand and mitigate any vulnerabilities that are identified.
Intel zum Exploit PortSmash
Auch AMD hat sich zu Wort gemeldet und gibt an prüfen zu wollen, ob die Umsetzung von SMT auf den aktuellen Ryzen-Prozessoren ebenfalls von dem Problem betroffen ist.
At AMD, security is a top priority and we are continually working to ensure the safety of our users as new risks arise. We are investigating the PortSmash side-channel vulnerability report, which we just received, to understand any potential AMD product susceptibility.
AMD zum Exploit PortSmash