Eine Null, wo eine Root hätte stehen sollen
Nomad prüfte eingehende Nachrichten, indem es sie gegen eine vertrauenswürdige Root abglich. Ein routinemäßiges Upgrade setzte diese Root auf null. Aufgrund der Art, wie die Prüflogik den Nullwert behandelte, wurde jede Nachricht — auch vollständig fabrizierte — als bereits bewiesen bewertet.
Das Ergebnis war, dass eine Abhebung von der Bridge überhaupt keine Exploit-Entwicklung erforderte. Ein Beobachter konnte eine erfolgreiche Transaktion kopieren, die Empfängeradresse durch die eigene ersetzen und sie einreichen. Deshalb beteiligten sich innerhalb von Stunden mehrere Hundert verschiedene Adressen. Es war im buchstäblichsten Sinne eine Warteschlange.
Warum das mehr zählt als der Betrag
Die meisten großen Exploits erfordern echtes Können und sind daher durch die Zahl der Personen begrenzt, die sie ausführen können. Dieser nicht. Sobald das Muster on-chain sichtbar war, bestand der Kreis möglicher Teilnehmer aus allen, die zusahen. Jeder Defekt, der die Anforderung an das Können beseitigt, sollte als kategorisch dringlicher behandelt werden als einer von gleichem nominalem Wert, der das nicht tut.
Upgrades sind die Risikofläche
Der Defekt wurde durch ein routinemäßiges Upgrade eingeführt, nicht durch das ursprüngliche Design. Upgradefähige Contracts verschieben die Sicherheitsfrage von „wurde das auditiert“ hin zu „was geschah bei jedem nachfolgenden Deployment, und wurde der daraus entstandene Zustand verifiziert“. Initialisierungswerte sind genau die Art von Dingen, die als Boilerplate durch die Prüfung gehen.
Chronologie
Nur Anfügen. Korrekturen werden als eigener, datierter Eintrag ergänzt; frühere Einträge werden nie umgeschrieben.
- Die erste Exploit-Transaktion wird ausgeführt. Innerhalb von Stunden replizieren Hunderte Adressen sie, indem sie die Calldata kopieren und ihre eigene Adresse einsetzen. Nomad
- Nomad bestätigt den Vorfall öffentlich und bittet um die Rückgabe der Mittel. Nomad
Was zu prüfen ist
Nomad veröffentlichte eine Ursachenanalyse, unten verlinkt, die den Initialisierungsfehler und das Upgrade beschreibt, das ihn eingeführt hat.
Conisec hostet und verlinkt keine Tools zur Wiederbeschaffung, zum Widerruf oder zur „Überprüfung“. Nach einem öffentlichen Vorfall streuen Angreifer routinemäßig genau solche Links unter den Namen der Publikationen, die über den Fall berichten. Nutzen Sie ausschließlich den oben verlinkten offiziellen Kanal des betroffenen Projekts selbst.
Quellen
- Nomad, Nomad Bridge Hack Root Cause Analysis (1 Aug. 2022)
Keine Beratung. Dies ist eine Zusammenfassung veröffentlichter Fakten, keine Rechts-, Steuer- oder Sicherheitsberatung. Prüfen Sie die oben verlinkten Primärquellen.
Zuletzt verifiziert von Conisec Staff.