SQUIP ist ein Angriff auf AMD-Prozessoren, der zu Datenlecks über Drittkanäle führt

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.

Während des Experiments konnten die Forscher den privaten 4096-Bit-RSA-Schlüssel, der zum Erstellen digitaler Signaturen verwendet wurde, mithilfe der kryptografischen Bibliothek mbedTLS 3.0, die den Montgomery-Algorithmus verwendet, um eine Zahl modulo zu erhöhen, vollständig nachbilden. Zur Ermittlung des Schlüssels waren 50500 Spuren erforderlich. Die gesamte Angriffszeit betrug 38 Minuten. Es werden Angriffsvarianten demonstriert, die zu Leckagen zwischen verschiedenen Prozessen und virtuellen Maschinen führen, die vom KVM-Hypervisor verwaltet werden. Es wird auch gezeigt, dass mit der Methode versteckte Datenübertragungen zwischen virtuellen Maschinen mit einer Geschwindigkeit von 0.89 Mbit/s und zwischen Prozessen mit einer Geschwindigkeit von 2.70 Mbit/s mit einer Fehlerrate von weniger als 0.8 % organisiert werden können.

Source: opennet.ru

Kommentar hinzufügen