Die Analyse des Sanshu Inu-Sicherheitsvorfalls

Ethereum Blockchain Exploit: Sanshu Inu erleidet Smart Contract Angriff, enthüllt von DeFiRanger

Die Analyse des Sanshu Inu-Sicherheitsvorfalls

Am 21. Juli berichtete unser DeFiRanger-System über einige verdächtige Transaktionen. Nach manueller Analyse bestätigen wir, dass diese Transaktionen Angriffe auf Sanshu Inu sind. Insbesondere wurde der Memstake-Vertrag von Sanshu Inu durch Missbrauch des deflation-Mechanismus angegriffen. Im Folgenden werden wir mehrere Angriffstransaktionen verwenden, um den Angriffsprozess zu veranschaulichen.

Angriffsablauf

Die folgende Abbildung listet einige der vom Angreifer gestarteten Transaktionen auf (0x333).

Der Angriff besteht aus vier Schritten. Der kritischste ist der zweite Schritt, der den Deflationierungsmechanismus des ERC20-Tokens nutzt, um die Belohnungsberechnung des Memstake-Smart-Contracts zu manipulieren.

  • Schritt 1 (Vorbereitung): Der Angreifer erstellt zwei Angriffskontrakte. Der erste ist ein Kontrakt, der 2.049B KEANU einzahlt. Der zweite ist der Angriffskontrakt.

  • Schritt 2 (Manipulation): Der Angreifer leiht sich zunächst eine große Anzahl von KEANU-Token über einen Flash-Loan (Towards A First Step to Understand Flash Loan and Its Applications in DeFi Ecosystem (SBC 2021)) von UniswapV2 und zahlt dann die Token über den in Schritt 1 erstellten zweiten Smart Contract in den Memestake ein/entzieht sie daraus. Da KEANU einen Deflationierungsmechanismus hat, der 2 % der Token bei jeder Transaktion verbrennt, ist die tatsächliche Anzahl der in den Memestake eingezahlten Token kleiner als der vom Memestake-Vertrag verwaltete Wert (user.amount). Der Angreifer wiederholt diesen Vorgang und lässt die Anzahl der KEANU-Token im Memestake auf einen kleinen Wert (1e-07) sinken. Siehe die Transaktion 0x00ed und die folgende Abbildung.

  • Schritt 3 (Gewinnerzielung): Der Angreifer ruft Memestake.updatePool() auf, um accMfundPerShare zu aktualisieren. Dieser Wert hängt von der Anzahl der KEANU-Token ab (die im zweiten Schritt manipuliert wurde). Dann erhält der Angreifer eine große Anzahl von MFund (~61 Mio.). Weitere Einzelheiten finden Sie in der Transaktion 0xa945.
  • Schritt 4 (Tausch gegen WETH): Der Angreifer tauscht MFund und KEANU gegen WETH und wäscht das Geld über Tornado.Cash. Der Angreifer erzielte einen Gewinn von 55,9484578158357 ETH.

SONSTIGES

Interessanterweise hängen der zweite/dritte Schritt des Angriffs mit Flashbots zusammen. Im zweiten Schritt werden KEANU mit 38 ETH gekauft (0x00ed). Diese Transaktion wird durch einen Sandwich-Angriff (über Flashbots) angegriffen – was den Angreifer selbst zum Opfer eines Sandwich-Angriffs macht. Der dritte Schritt (0xa945) verkauft MFund auf Uniswap, was eine Arbitragemöglichkeit schafft, die von einem Flashbots-Sucher genutzt wurde.

Über BlockSec

BlockSec ist ein Pionier im Bereich der Blockchain-Sicherheit, das 2021 von einer Gruppe weltweit renommierter Sicherheitsexperten gegründet wurde. Das Unternehmen engagiert sich für die Verbesserung der Sicherheit und Benutzerfreundlichkeit der aufstrebenden Web3-Welt, um deren Massenadoption zu erleichtern. Zu diesem Zweck bietet BlockSec Audit-Dienstleistungen für Smart Contracts und EVM-Ketten an, die Phalcon-Plattform für die sichere Entwicklung und proaktive Bedrohungsabwehr, die MetaSleuth-Plattform für die Verfolgung von Geldern und Ermittlungen sowie die MetaDock-Erweiterung für Web3-Entwickler, die effizient im Krypto-Bereich navigieren.

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

Offizielle Website: https://blocksec.com/

Offizielles Twitter-Konto: https://twitter.com/BlockSecTeam

Sign up for the latest updates