Diese Woche sicher: Retbleed, Post-Quantum, Python-atomicwrites und der mysteriöse Cuteboi

Ein weiterer Eintrag in der Kategorie „Warum wir keine schönen Dinge haben können“, Retbleed wurde diese Woche als eine weitere spekulative Ausführungsschwachstelle angekündigt. Dies wird in Hardware für AMD Zen 3 und Intel Generation 9 und höher gemildert. Bei älteren Geräten ist die Dämpfungsleistung ziemlich schmerzhaft. Was genau unterscheidet es von früheren Schwachstellen und warum wurde dieses Problem nicht von früheren Maßnahmen zur Schadensbegrenzung abgedeckt?

Spectre V2 nutzt die indirekte Verzweigungsvorhersage einer CPU, um eine spekulative Ausführung von Code auszulösen, der in einem bestimmten Kontext nicht ausgeführt werden sollte. Selbst wenn die CPU schließlich aufholt und die gefälschte Ausführung abbricht, bleiben immer noch Fingerabdrücke im Cache-Inhalt zurück. Die Idee ist, dass beim Lesen dieser Fingerabdrücke echte Daten verloren gehen, auf die der Prozess des Angreifers überhaupt keinen Zugriff haben sollte. Die Lösung im Linux-Kernel heißt „retpoline“, ein Kunstwort aus „return“ und „trampoline“. Dieses Gadget ersetzt eine jmp-Anweisung durch eine Konfiguration und schließlich stattdessen einen ret-Aufruf. Dies schien eine kostengünstige Lösung für das Problem zu sein.

Was Retbleed auf den Tisch bringt, ist eine Methode, um auch die spekulative Ausführung dieser return-Anweisungen zu vergiften. Ihr vollständiger Artikel (PDF) beschreibt die Technik, die darauf hinausläuft, eine CPU so zu manipulieren, dass sie den anfälligen Branch Target Buffer (BTB) anstelle des sichereren Return Stack Buffer (RSB) verwendet. Auf anfälligen Intel-Systemen bedeutet dies, das RSB mit genügend Daten aufzufüllen, um die tatsächliche Zielrückgabe aus dem Puffer zu schieben. Wenn sich die Reihe von Sprüngen und Returns entfaltet, verwendet der endgültige Return tatsächlich den BTB, weil der RSB geleert oder unterschätzt wurde. Anfällige AMD-Systeme scheinen einfach immer ein BTB zu verwenden, um Renditen vorherzusagen, was das Ausnutzen dort viel einfacher macht.

Windows-Rechner verwenden eine aggressivere Minderungsrichtlinie, Indirect Branch Restricted Speculation (IBRS), die dieses spezielle Problem anscheinend vollständig mindert, obwohl es in den kommenden Wochen möglicherweise weitere gibt. Unter Linux wird die Retpoline-Minderung schließlich standardmäßig durch IBRS ersetzt, was zu den oben beschriebenen Leistungseinbußen führt.

Wenn Sie einen der betroffenen Prozessoren verwenden, können Sie bestimmte Kernel-Parameter verwenden, um die eingerichteten Gegenmaßnahmen zu steuern. retbleed=off verwendet bei Bedarf die vorhandene Retpoline-Entschärfung, verringert die Leistung jedoch nicht weiter auf Kosten der Anfälligkeit für diesen Angriff. Der Standardwert, retbleed=auto, verwendet alle Gegenmaßnahmen, um die Maschine so sicher wie möglich zu machen, ohne gleichzeitiges Multithreading (SMT) zu deaktivieren. Und schließlich wird retbleed=auto,nosmt SMT tatsächlich auf den wenigen Modellen deaktivieren, die es technisch für eine vollständige Risikominderung benötigen. Dies ist nicht standardmäßig eingestellt, da es die Maschinenleistung noch mehr beeinträchtigt.

NIST geht postquantum

Während die Quanten-Krypto-Apokalypse noch nicht verwirklicht werden muss, arbeiten die verschiedenen Standardisierungsagenturen daran, dem Spiel einen Schritt voraus zu sein, indem sie die Forschung sponsern und dann Kryptografieschemata auswählen, die als Standards der neuen Generation verwendet werden sollen. In diesem Sinne hat NIST ein Update seines Post-Quanten-Kryptografie-Standardprozesses veröffentlicht. Die große Neuigkeit hier ist, dass einige Algorithmen ausgewählt wurden. Falcon, SPHINCS, CRYSTALS-Kyber und CRYSTALS-Dilithium. Den Namen nach zu urteilen, scheint es unter den Teilnehmern sicherlich einige Sci-Fi-Freaks zu geben.

CRYSTALS-Kyber ist ein Key Wrapping Mechanism (KEM), eine Methode zum Teilen eines privaten Schlüssels, die nur öffentlich gesendete Nachrichten verwendet, a la Diffie-Hellman. CRYSTALS-Dilithium und andere sind Signaturschemata, die zum Verifizieren von Daten nützlich sind. Wir freuen uns auf die Einführung dieser Standards in den verschiedenen Projekten und Anwendungen, die wir täglich verwenden.

PyPI, 2FA und ein mürrischer Entwickler

Um Sicherheitsprobleme zu vermeiden, hat das PyPI-Repository eine Sicherheitsrichtlinie eingeführt, die Betreuer kritischer Projekte dazu zwingt, die Zwei-Faktor-Authentifizierung für ihre Konten zu verwenden, und sogar kostenlose Hardwareschlüssel sendet. Einschlusskriterium ist es, sechs Monate lang zu den Top 1% der Downloads zu gehören. Eine entsprechende Frage gibt es in den FAQ auf der Seite: "Kann ein Projekt abbestellt oder in irgendeiner Weise unkritisch werden?" Die offizielle Antwort lautet: "Nein, sobald das Projekt als kritisch eingestuft wurde, behält es diese Bezeichnung auf unbestimmte Zeit." Mindestens einer von...

Diese Woche sicher: Retbleed, Post-Quantum, Python-atomicwrites und der mysteriöse Cuteboi

Ein weiterer Eintrag in der Kategorie „Warum wir keine schönen Dinge haben können“, Retbleed wurde diese Woche als eine weitere spekulative Ausführungsschwachstelle angekündigt. Dies wird in Hardware für AMD Zen 3 und Intel Generation 9 und höher gemildert. Bei älteren Geräten ist die Dämpfungsleistung ziemlich schmerzhaft. Was genau unterscheidet es von früheren Schwachstellen und warum wurde dieses Problem nicht von früheren Maßnahmen zur Schadensbegrenzung abgedeckt?

Spectre V2 nutzt die indirekte Verzweigungsvorhersage einer CPU, um eine spekulative Ausführung von Code auszulösen, der in einem bestimmten Kontext nicht ausgeführt werden sollte. Selbst wenn die CPU schließlich aufholt und die gefälschte Ausführung abbricht, bleiben immer noch Fingerabdrücke im Cache-Inhalt zurück. Die Idee ist, dass beim Lesen dieser Fingerabdrücke echte Daten verloren gehen, auf die der Prozess des Angreifers überhaupt keinen Zugriff haben sollte. Die Lösung im Linux-Kernel heißt „retpoline“, ein Kunstwort aus „return“ und „trampoline“. Dieses Gadget ersetzt eine jmp-Anweisung durch eine Konfiguration und schließlich stattdessen einen ret-Aufruf. Dies schien eine kostengünstige Lösung für das Problem zu sein.

Was Retbleed auf den Tisch bringt, ist eine Methode, um auch die spekulative Ausführung dieser return-Anweisungen zu vergiften. Ihr vollständiger Artikel (PDF) beschreibt die Technik, die darauf hinausläuft, eine CPU so zu manipulieren, dass sie den anfälligen Branch Target Buffer (BTB) anstelle des sichereren Return Stack Buffer (RSB) verwendet. Auf anfälligen Intel-Systemen bedeutet dies, das RSB mit genügend Daten aufzufüllen, um die tatsächliche Zielrückgabe aus dem Puffer zu schieben. Wenn sich die Reihe von Sprüngen und Returns entfaltet, verwendet der endgültige Return tatsächlich den BTB, weil der RSB geleert oder unterschätzt wurde. Anfällige AMD-Systeme scheinen einfach immer ein BTB zu verwenden, um Renditen vorherzusagen, was das Ausnutzen dort viel einfacher macht.

Windows-Rechner verwenden eine aggressivere Minderungsrichtlinie, Indirect Branch Restricted Speculation (IBRS), die dieses spezielle Problem anscheinend vollständig mindert, obwohl es in den kommenden Wochen möglicherweise weitere gibt. Unter Linux wird die Retpoline-Minderung schließlich standardmäßig durch IBRS ersetzt, was zu den oben beschriebenen Leistungseinbußen führt.

Wenn Sie einen der betroffenen Prozessoren verwenden, können Sie bestimmte Kernel-Parameter verwenden, um die eingerichteten Gegenmaßnahmen zu steuern. retbleed=off verwendet bei Bedarf die vorhandene Retpoline-Entschärfung, verringert die Leistung jedoch nicht weiter auf Kosten der Anfälligkeit für diesen Angriff. Der Standardwert, retbleed=auto, verwendet alle Gegenmaßnahmen, um die Maschine so sicher wie möglich zu machen, ohne gleichzeitiges Multithreading (SMT) zu deaktivieren. Und schließlich wird retbleed=auto,nosmt SMT tatsächlich auf den wenigen Modellen deaktivieren, die es technisch für eine vollständige Risikominderung benötigen. Dies ist nicht standardmäßig eingestellt, da es die Maschinenleistung noch mehr beeinträchtigt.

NIST geht postquantum

Während die Quanten-Krypto-Apokalypse noch nicht verwirklicht werden muss, arbeiten die verschiedenen Standardisierungsagenturen daran, dem Spiel einen Schritt voraus zu sein, indem sie die Forschung sponsern und dann Kryptografieschemata auswählen, die als Standards der neuen Generation verwendet werden sollen. In diesem Sinne hat NIST ein Update seines Post-Quanten-Kryptografie-Standardprozesses veröffentlicht. Die große Neuigkeit hier ist, dass einige Algorithmen ausgewählt wurden. Falcon, SPHINCS, CRYSTALS-Kyber und CRYSTALS-Dilithium. Den Namen nach zu urteilen, scheint es unter den Teilnehmern sicherlich einige Sci-Fi-Freaks zu geben.

CRYSTALS-Kyber ist ein Key Wrapping Mechanism (KEM), eine Methode zum Teilen eines privaten Schlüssels, die nur öffentlich gesendete Nachrichten verwendet, a la Diffie-Hellman. CRYSTALS-Dilithium und andere sind Signaturschemata, die zum Verifizieren von Daten nützlich sind. Wir freuen uns auf die Einführung dieser Standards in den verschiedenen Projekten und Anwendungen, die wir täglich verwenden.

PyPI, 2FA und ein mürrischer Entwickler

Um Sicherheitsprobleme zu vermeiden, hat das PyPI-Repository eine Sicherheitsrichtlinie eingeführt, die Betreuer kritischer Projekte dazu zwingt, die Zwei-Faktor-Authentifizierung für ihre Konten zu verwenden, und sogar kostenlose Hardwareschlüssel sendet. Einschlusskriterium ist es, sechs Monate lang zu den Top 1% der Downloads zu gehören. Eine entsprechende Frage gibt es in den FAQ auf der Seite: "Kann ein Projekt abbestellt oder in irgendeiner Weise unkritisch werden?" Die offizielle Antwort lautet: "Nein, sobald das Projekt als kritisch eingestuft wurde, behält es diese Bezeichnung auf unbestimmte Zeit." Mindestens einer von...

What's Your Reaction?

like

dislike

love

funny

angry

sad

wow