Ein Forscherteam der Technischen Universität Graz (Österreich), das zuvor für die Entwicklung der MDS-, NetSpectre-, Throwhammer- und ZombieLoad-Angriffe bekannt war, hat Informationen über eine neue Seitenkanal-Angriffsmethode (CVE-2021-46778) auf den AMD-Prozessor veröffentlicht Scheduler-Warteschlange, die zum Planen der Ausführung von Anweisungen in verschiedenen Ausführungseinheiten der CPU verwendet wird. Der als SQUIP bezeichnete Angriff ermöglicht es Ihnen, die für Berechnungen in einem anderen Prozess oder einer anderen virtuellen Maschine verwendeten Daten zu ermitteln oder einen versteckten Kommunikationskanal zwischen Prozessen oder virtuellen Maschinen zu organisieren, sodass Sie Daten unter Umgehung der Zugriffskontrollmechanismen des Systems austauschen können.
Das Problem betrifft AMD-CPUs auf Basis der Zen-Mikroarchitekturen der ersten, zweiten und dritten Generation (AMD Ryzen 2000-5000, AMD Ryzen Threadripper, AMD Athlon 3000, AMD EPYC) bei Verwendung der Simultaneous-Multi-Threading-Technologie (SMT). Intel-Prozessoren sind nicht anfällig für Angriffe, da sie eine einzige Scheduler-Warteschlange verwenden, während anfällige AMD-Prozessoren separate Warteschlangen für jede Ausführungseinheit verwenden. Als Workaround zur Blockierung von Informationslecks empfahl AMD den Entwicklern, Algorithmen zu verwenden, bei denen mathematische Berechnungen immer in konstanter Zeit durchgeführt werden, unabhängig von der Art der verarbeiteten Daten, und außerdem Verzweigungen auf der Grundlage geheimer Daten zu vermeiden.
Der Angriff basiert auf der Beurteilung des Konkurrenzniveaus in verschiedenen Scheduler-Warteschlangen und wird durch Messung der Verzögerungen beim Starten von Verifizierungsvorgängen durchgeführt, die in einem anderen SMT-Thread auf derselben physischen CPU ausgeführt werden. Zur Analyse des Inhalts wurde die Prime+Probe-Methode verwendet, bei der die Warteschlange mit einem Standardsatz von Werten gefüllt und Änderungen erkannt werden, indem die Zugriffszeit darauf beim erneuten Befüllen gemessen wird.
Im Rahmen des Experiments gelang es den Forschern, einen privaten 4096-Bit-RSA-Schlüssel, der zur Erstellung digitaler Signaturen verwendet wird, mithilfe der kryptografischen Bibliothek mbedTLS 3.0 (die den Montgomery-Algorithmus zur Modulo-Exponentiation nutzt) vollständig nachzubilden. Zur Bestimmung des Schlüssels waren 50500 Traces erforderlich. Die gesamte Angriffszeit betrug 38 Minuten. Es wurden Angriffsvarianten demonstriert, die Informationen zwischen verschiedenen Prozessen und virtuellen Maschinen, die vom Hypervisor verwaltet werden, auslesen konnten. KVMEs wird außerdem gezeigt, dass sich mit der Methode ein versteckter Datentransfer zwischen virtuellen Maschinen mit einer Geschwindigkeit von 0.89 Mbit/s und zwischen Prozessen mit einer Geschwindigkeit von 2.70 Mbit/s bei einer Fehlerrate von weniger als 0.8 % organisieren lässt.
Source: opennet.ru
