Blitzeinschläge. Bild von skyseeker über flickr.com. Lizenz: Creative Commons

Lightning Labs enthüllt zwei Fehler im Lightning-Server LND. Die beiden Fehler sind sehr speziell und wurden noch nicht ausgenutzt. Sie sollten Ihren Knoten trotzdem aktualisieren.

Jeder, der einen Lightning-Knoten mit LND betreibt, sollte sicherstellen, dass er die neueste Version der Software installiert hat.

Connor Frommknecht von Lightning Labs hat die Community über die Mailingliste gebeten, die Software zu aktualisieren. In allen Versionen von LND 0.10.x und niedriger wurde eine Sicherheitsanfälligkeit entdeckt.

Gestern veröffentlichte Connor die Beschreibung von zwei Fehlern, die dem Team von Antoine Riard von ChaincodeLabs gemeldet wurden. Die beiden Fehler wurden noch nicht ausgenutzt und sind sehr speziell. Es ist jedoch interessant, genauer hinzuschauen, da sie etwas über die Mechanik des Lightning-Netzwerks verraten.

Der erste Fehler heißt " CVE-2020-26895: LND Low-S Tx-Relay-Standardität ". Wie so oft bei Lightning ist es nicht so einfach zu verstehen, was dahinter steckt.

Ein Hacker könnte mit LND den folgenden Angriff auf einen Lightning-Knoten ausführen: Er könnte den Status eines Kanals ermitteln und einer Transaktion eine Signatur mit einem "hohen S-Wert" geben.

Der S-Wert in der Signatur wird aus einer zufällig ausgewählten Zahl abgeleitet und ist Teil der mathematischen Formel der Signatur. Als solches ist der S-Wert willkürlich, aber um die Formbarkeit der Transaktion zu beseitigen – oder das Problem – führte Bitcoin Core die "Richtlinie" um 2014 ein, dass die Software nur erzeugt und akzeptiert niedrige S-Werte .

Dies ist keine Konsensregel, sondern eine "Politik". Dies bedeutet, dass eine Transaktion, deren Signatur einen hohen S-Wert enthält, von Natur aus gültig ist, wenn sie zu einem Block wird. Da die anderen Knoten sie jedoch nicht akzeptieren und weiterleiten, fliegt die Transaktion aus dem Mempool unbestätigter Transaktionen heraus und findet möglicherweise nie den Weg zu einem Miner, der sie in einem Block aushöhlt.

Während die btcec-Bibliothek für Onchain-Transaktionen keine Signaturen mit einem niedrigen S-Wert mehr erstellen kann, mussten LND – und die anderen Lightning-Implementierungen – die Methode zum Erstellen von Signaturen etwas ändern, diese werden jedoch unterschiedlich decodiert. Die Entwickler haben jedoch das Verbot niedriger S-Werte übersehen, weshalb LND solche Signaturen nicht nur akzeptiert, sondern auch produzieren kann.

Der Angreifer kann dies ausnutzen, wenn das Opfer einen nicht materiellen Kanal schließt. In diesem Fall wird die letzte Transaktion vom MemPool nicht innerhalb des Zeitfensters akzeptiert, woraufhin der Angreifer eine Transaktion bilden kann, über die er das gesamte Guthaben des Kanals sammelt.

Sie sehen, es ist ein ziemlich esoterischer Fehler, der in die Tiefen der Kryptographie geht und nur in besonderen Situationen eine Bedeutung hat. Aber es gibt noch mehr.

Weil Connor kurz darauf den zweiten Fehler meldete: " CVE-2020-26896: LND Invoice Preimage Extraction ". Was es mit dem ersten Fehler gemeinsam hat, ist, dass es ziemlich komplex ist.

Der Punkt ist: Lightning-Transaktionen verwenden "Hash-basierte Zeitsperren" (HTLC), um etwas außerhalb der Kette zwischen Knoten auszutauschen, das sozusagen einem garantierten Zahlungsversprechen entspricht . Eine solche HTLC wird vom Absender einer Lightning-Transaktion an andere Knoten weitergeleitet, die zwischen ihr und dem Empfänger stehen. Wenn ein solcher Zwischenknoten die HTLC auflöst, muss er ein sogenanntes "Vorbild" anzeigen, um einen Anspruch auf die HTLC zu erheben.

Um zu verstehen, was für ein Vorbild im deutschen Archetyp sein muss, müssen Sie verstehen, was Signaturen tun: Sie nehmen eine Nachricht, generieren den Hash daraus und verschlüsseln oder signieren sie dann. Die Nachricht selbst oder eine Ableitung davon – zum Beispiel die Inversion – ist das Vorbild. Es ist ganz normal, dass ein Lightning-Knoten ein Vorbild generiert, um eine HTLC aufzunehmen.

Es wird jedoch problematisch, wenn ein Lightning-Knoten ein Vorbild bildet, das es nicht sein sollte. Der erwähnte Fehler ermöglicht es einem Angreifer, einen LND-Knoten durch einen kollidierenden Hash der Zahlung zu zwingen, um ein gültiges Vorabbild für die Weiterleitung des HTLC anzuzeigen, bevor er es überhaupt beansprucht. Dies kann dazu führen, dass der Angreifer mehr über das Ziel der Zahlung erfährt als er sollte, und unter bestimmten Umständen kann er auch glauben, dass eine Zahlungsaufforderung bezahlt wurde, während nur die Gebühren bezahlt wurden.

Dieser Fehler ist fast esoterischer als der erste. Schließlich ist es nicht gerade trivial, eine Hash-Kollision zu finden, und der Ertrag ist nicht gerade hoch – unter bestimmten Umständen eine doppelte Ausgabe oder eine leichte Minimierung der Privatsphäre.

Die beiden Fehler wurden vermutlich noch nicht ausgenutzt, weil sie erstens zu komplex und zweitens zu speziell sind. Die meisten Benutzer & # 39; Bitcoins in einem LND-Knoten sollten von den Fehlern nicht betroffen sein. Ein Update sollte noch durchgeführt werden.


Herrlich sowas dieser Artikel veröffentlichte
[ENGLISH]