LI.FI Angriff: Eine Cross-Chain-Bridge-Schwachstelle? Nein, es liegt an einem ungeprüften externen Aufruf!

LI.FIs Cross-Chain Bridge-Schwachstelle: Eine Lektion über die Sicherheit externer Aufrufe für DeFi – Bietet Einblicke in die Notwendigkeit besserer Sicherheitspraktiken im DeFi-Coding

LI.FI Angriff: Eine Cross-Chain-Bridge-Schwachstelle? Nein, es liegt an einem ungeprüften externen Aufruf!

Gemäß dem Bericht des LI.FI-Projekts und dem Twitter-Account von Daniel Von Fange stellen wir den LI.FI-Angriff vom 20. März 2022 fest. Da keine detaillierte technische Analyse dieser Schwachstelle vorliegt, analysieren wir den Angriff im Folgenden weiter. Wir stellen fest, dass die Grundursache dieses Angriffs ein ungeprüfter externer Aufruf ist.

Angriffstransaktion

Wir begannen mit der Angriffstransaktion, um den Angriffsprozess zu veranschaulichen. Der folgende Screenshot zeigt das Ergebnis unseres Transaktionsvisualisierungssystems.

Wie im obigen Bild gezeigt, ist der gesamte Angriffsprozess recht einfach, es wurden keine bösartigen Smart Contracts bereitgestellt und keine Flashloans verwendet. Der einzige Schritt, den der Angreifer durchführte, war der Aufruf der Funktion swapAndStartBridgeTokensViaCBridge(0x01c0a31a) des CBridgeFacet-Vertrags, der dann verschiedene Token (z. B. USDC, MATIC, RPL, GNO, USDT, MVI, AUDIO, AAVE, JRT und DAI.) von verschiedenen Spendern an die vom Angreifer kontrollierte EOA überträgt.

Code-Analyse

Anschließend tauchen wir in den Code des betroffenen Logikvertrags ein.

Der Code von swapAndStartBridgeTokensViaCBridge
Der Code von LibSwap.swap

Gemäß dem obigen Code ist swapAndStartBridgeTokensViaCBridge ein Eingang für eine Cross-Chain-Transaktion in der Quellkette.

Das LIFI-Projekt behauptet, dass es die beste Route für Benutzer finden kann, genannt Smart Routing, das außerhalb der Kette stattfindet. Insbesondere berechnet die Frontend-Website die beste Route und kodiert die Parameter (einschließlich des Swap-Vertrags und des Routing-Pfads) in die Parameter der Funktion swapAndStartBridgeTokensViaCBridge.

Es ist klar, dass das LIFI-Projekt nicht berücksichtigt hat, dass die Funktion von beliebigen Konten in der Blockchain aufgerufen werden kann, da die Funktion keine Überprüfungen der Parameter durchführt, wie z. B. Whitelists und Swap-Slippage. Das Ernsthafteste ist, dass der CBridgeFacet-Vertrag Benutzer auffordert, Token zu genehmigen, was die Gelder der Benutzer gefährdet.

Gewinn

Infolgedessen stiehlt der Angreifer das Geld von LIFI-Benutzern, die ihre Token dem CBridgeFacet-Vertrag durch den Aufruf der Funktion swapAnStartBridgeTokensViaCBridge genehmigt haben, die dann die transferFrom-Funktionen verschiedener Token aufruft. Die Verluststatistiken sind in der folgenden Tabelle aufgeführt. Die Gesamtverluste belaufen sich auf rund 596.000 US-Dollar, was im Wesentlichen mit den Statistiken des LIFI-Projekts übereinstimmt.

Token Menge Preis
GNO 0,94 310,22
USDC 202.012,28 0,999655
MATIC 3.144,89 1,46
AUDIO 1.202,37 1,10
AAVE 8,99 149,99
RPL 44,86 31,2
MVI 22,95 131,82
USDT 368.745,29 1
DAI 8.421,49 0,999847
JRT 136.805,06 0,03789613

Lektionen

Dieses LIFI ist ein Cross-Chain-Bridge-Aggregator, und der betroffene Vertrag ist der Eingang für den Cross-Chain-Transfer. Die Schwachstelle ist nicht auf eine komplizierte Cross-Chain-Logik zurückzuführen, wie sie in früheren Sicherheitsvorfällen bei Cross-Chain-Bridges gezeigt wurde. Stattdessen ist die Grundursache dieses Angriffs der ungeprüfte externe Aufruf, der eines der Top-10-häufigsten Probleme in Solidity ist.

Da die DeFi-Projekte immer komplexer werden, müssen die Projektentwickler zusätzlich zur Erstellung korrekter Geschäftslogik mehr Aufmerksamkeit auf das Schreiben sicherer Codes legen. Wir empfehlen dringend, dass Projekte NICHT ungeprüfte Verträge in Blockchains bereitstellen sollten.

Über BlockSec

BlockSec ist ein wegweisendes Blockchain-Sicherheitsunternehmen, das 2021 von einer Gruppe weltweit angesehener Sicherheitsexperten gegründet wurde. Das Unternehmen engagiert sich für die Verbesserung der Sicherheit und Benutzerfreundlichkeit für die aufstrebende Web3-Welt, um deren Massenadoption zu fördern. Zu diesem Zweck bietet BlockSec Audit-Dienste für die Sicherheit von Smart Contracts und EVM-Ketten, die Phalcon-Plattform für die Sicherheitsentwicklung und die proaktive Abwehr von Bedrohungen, die MetaSleuth-Plattform für die Verfolgung und Untersuchung von Geldern sowie die MetaDock-Erweiterung für Web3-Entwickler, die effizient in der Krypto-Welt surfen.

Bis heute hat das Unternehmen über 300 angesehene Kunden wie MetaMask, Uniswap Foundation, Compound, Forta und PancakeSwap betreut und in zwei Finanzierungsrunden von führenden Investoren, darunter Matrix Partners, Vitalbridge Capital und Fenbushi Capital, zweistellige Millionenbeträge erhalten.

Offizielle Website: https://blocksec.com/

Offizieller Twitter-Account: https://twitter.com/BlockSecTeam

Sign up for the latest updates