Am 3. Januar erlitt das Radiant Capital-Projekt einen schweren Blitzkreditangriff, der zum Verlust von 1.900 ETH (ca. 4,5 Millionen US-Dollar) führte. Radiant Capital ist ein dezentrales, kettenübergreifendes Kreditprotokoll, das es Benutzern ermöglicht, verschiedene Vermögenswerte auf verschiedenen Blockchains zu hinterlegen und zu verleihen, wodurch Liquiditätssilos beseitigt werden.

Laut On-Chain-Daten nutzte der Hacker ein Zeitfenster für die Aktivierung neuer Märkte und ein Rundungsproblem in der Compound/Aave-Codebasis, um einen Flash-Darlehensangriff auszuführen. Bei dieser Angriffsmethode geht es darum, große Geldbeträge zu leihen, eine Reihe von Vorgängen innerhalb eines Blocks abzuschließen und die Gelder dann vor dem Ende des Blocks zurückzugeben, um einen Gewinn zu erzielen.

Schwachstellenangriff kurz

Berichten von PeckShield und PeckShield zufolge nutzten Angreifer eine Computerschwachstelle in Radiant Capital aus, die es ihnen ermöglichte, große Mengen USDC zu niedrigen Preisen abzuheben, indem sie Präzision und Rundung kontrollierten. USDC ist eine stabile Währung, deren Wert an den US-Dollar gekoppelt ist und einer der am häufigsten verwendeten Vermögenswerte in dezentralen Finanzprotokollen ist.

Der Angriffsprozess des Angreifers ist wie folgt:

1. Der Angreifer hat sich zunächst 3 Millionen USDC über den AAVE-Schnellkredit geliehen, um ihn als Startkapital für den Angriff zu verwenden. Unter Flash-Darlehen versteht man die Aufnahme großer Geldbeträge, die Durchführung einer Reihe von Vorgängen innerhalb eines Blocks und die anschließende Rückgabe der Gelder vor dem Ende des Blocks, um einen Gewinn zu erzielen.

2. Der Angreifer hat 2 Millionen USDC für den Radiant-Vertrag zugesagt und 2 Millionen rUSDCn-Zertifikat-Token erhalten.

3. Der Angreifer führt einen Flash-Kredit über den Radiant-Vertrag durch, leiht sich 2 Millionen USDC, gibt die 2 Millionen USDC in der Callback-Funktion zurück und extrahiert den im zweiten Schritt zugesagten USDC. Schließlich ruft die Flash-Kreditfunktion die Transferfrom-Funktion auf Zinsen des Angreifers in den Vertrag übertragen. Zu diesem Zeitpunkt wird eine Bearbeitungsgebühr von 9/10000 erhoben, und die erhobene Bearbeitungsgebühr wird zur Liquidität des Pools.

4. Durch mehrmaliges Wiederholen von Schritt 3 steuert der Angreifer, dass der liquidityIndex sehr groß ist, liquidityIndex=271800000000999999999999998631966035920. Der LiquidityIndex ist eine Variable, die im Radiant-Vertrag verwendet wird, um das Wachstum der Liquidität zu erfassen. Sie wird mit der Anhäufung von Zeit und Zinsen zunehmen.

5. Als nächstes erstellt der Angreifer einen neuen Vertrag und gibt 543.600 USDC hinein, da 5436 (USDC-Wert) genau das Doppelte von 2718 (LiquidityIndex-Wert) in Schritt 4 ist, was durch Rundung leicht kontrolliert werden kann.

6. Der Angreifer hat alle 543.600 USDC in den Radiant-Vertrag verpfändet und den gleichen Betrag an rUSDCn erhalten.

7. Der Angreifer extrahierte 407.700 USDC, was 407.700 rUSDCn hätte zerstören sollen, aber wie oben erwähnt führte die Brennfunktion präzise Erweiterungs- und Rundungsberechnungen durch. 4077000000000000000000000000000000000/271800000000999999999999998631966035920=1,49999999, und das Rundungsergebnis ist 1, was dazu führt, dass das Ergebnis 1/3 kleiner ist. Wie im Bild unten gezeigt, hätten 407.700 USDC zerstört werden sollen, aber es waren noch 271.800 übrig, was darauf hindeutet, dass nur 271.800 zerstört wurden und der Angreifer 407.700 USDC abgehoben hat.

8. Der Angreifer nutzt die Schwachstelle in Schritt 7 aus, um den Vorgang zum Abheben des Pfands zu wiederholen. Dabei beträgt der Abzug immer 1/3 mehr als der zugesagte Betrag und tauscht schließlich alle USDC im Pool aus.

Die Fonds sind derzeit nicht gefährdet

Radiant Capital erkannte das Problem in seinem offiziellen Beitrag an und sagte, es habe seinen Kreditmarkt auf Arbitrum ausgesetzt und untersuche die Ursache und Auswirkungen des Vorfalls. Arbitrum ist eine Skalierungslösung der zweiten Ebene, die die Transaktionsgeschwindigkeit erhöht und die Kosten auf Ethereum senkt. Radiant Capital gab außerdem an, dass derzeit keine Benutzergelder gefährdet seien und plant, einen Erkennungsbericht herauszugeben und den Betrieb wieder aufzunehmen, sobald das Problem behoben ist.

Abschluss:

Dieser Vorfall erinnert uns erneut daran, dass die Sicherheit dezentraler Finanzprotokolle von entscheidender Bedeutung ist und kontinuierlich überprüft und getestet werden muss, um potenzielle Schwachstellen und Angriffe zu verhindern. Nutzer sollten sich zudem der Risiken bewusst sein und Kredite und Investitionen nur auf vertrauenswürdigen Plattformen tätigen. Obwohl Radiant Capital schwere Verluste erlitt, zeigte es auch eine positive Einstellung und Verantwortungsbewusstsein und hoffte, dass es die Sicherheit und Stabilität seines Protokolls so schnell wie möglich wiederherstellen und verbessern kann. Gleichzeitig hoffe ich auch, dass andere dezentrale Finanzprotokolle aus diesem Vorfall lernen, ihre eigenen Sicherheitsvorkehrungen stärken und den Benutzern bessere Dienste und Erfahrungen bieten können. #RadiantCapital #黑客攻击