Cointime

Download App
iOS & Android

SharkTeam: Analysis of the Tornado.Cash Proposal Attack

On May 20, 2023, Tornado.Cash experienced a proposal attack, resulting in the attacker profiting approximately $680,000.

SharkTeam conducted a technical analysis of the incident and summarized security measures to serve as a lesson for future projects, aiming to strengthen the security defenses in the blockchain industry.

1. Incident Analysis

Attacker Addresses:

· 0x092123663804f8801b9b086b03B98D706f77bD59

· 0x592340957eBC9e4Afb0E9Af221d06fDDDF789de9

Attacking Contracts:

· 0xAF54612427d97489707332efe0b6290F129DbAcb

· 0x03ecf0d22f9ccd21144a7d492cf63b471916497a

· 0x7dc86183274b28e9f1a100a0152dac975361353d(deployed contract)

· 0xc503893b3e3c0c6b909222b45f2a3a259a52752d (fake proposal contract)

Targeted Contract:

· 0x5efda50f22d34F262c29268506C5Fa42cB56A1Ce

Proposal Transaction:

· 0x34605f1d6463a48b818157f7b26d040f8dd329273702a0618e9e74fe350e6e0d

Attack Transaction:

· 0x3274b6090685b842aca80b304a4dcee0f61ef8b6afee10b7c7533c32fb75486d

Attack Process:

(1) The attacker (0x59234095) initiated a proposal to the targeted contract (0x5efda50f) and claimed that it was a supplement to Proposal 16.

(2) However, the proposal actually contained an additional self-destruct function.

(3) Unfortunately, the community did not identify the issue within the proposal, and most members voted in favor of it.

(4) The attacker created multiple contracts to execute token transfers.

(5) The attacker (0x59234095) destroyed the proposal contract (0xc503893b) and its creating contract (0x7dc86183). Subsequently, the attacker redeployed the attack contract (0xc503893b) at the same address.

(6) After modifying the proposal contract, the attacker (0x59234095) executed the proposal and changed the locked token balance of the contracts they controlled to 10,000.

(7) Once the proposal execution was complete, the attacker (0x09212366) transferred the tokens to their own address, gaining ownership of the targeted contract.

Vulnerability Analysis:

Since the deployment contract (0x7dc86183) is deployed through create2, the fake proposal contract (0xc503893b) is deployed through create. After the two contracts are destroyed, because the bytecode of the deployment contract (0x7dc86183) has not changed, so reusing create2 deployment can be deployed to the same address, which is 0x7dc86183, and the attack contract is deployed using the create opcode, in the deployment contract ( 0x7dc86183) is destroyed, the nonce restores the initial value, so that the attack contract can be deployed to the same address 0xc503893b even when the contract is modified. And the execution of the proposal is called in the form of delegatecall, and the attacking contract can arbitrarily modify the value in the attacked contract.

Summary of the Incident:

The root cause of this incident was the community's failure to identify the risks within the proposal and to thoroughly verify the security of the proposal contract's code.

2. Security Recommendations

In response to the recent attack incident, it is important to follow the following guidelines during the development process:

1. When designing proposals, fully consider the security of the proposal mechanism and strive to minimize the risk of centralized control. Practical measures such as reducing the value of potential attacks, increasing the cost of acquiring voting rights, and raising the cost of executing an attack should be taken into account to ensure a well-designed proposal mechanism.

2. Before voting on a proposal, the community should carefully review the contract code for any potential backdoors or security vulnerabilities.

3. Prior to proposal approval, it is advisable to engage a third-party security audit firm to conduct a thorough security audit of the contract logic code.

About us

SharkTeam’s vision is to comprehensively protect the security of the Web3 world. The team is composed of experienced security professionals and senior researchers from all over the world. They are proficient in the underlying theory of blockchain and smart contracts, and provide services including smart contract auditing, on-chain analysis, and emergency response. It has established long-term cooperative relationships with key players in various fields of the blockchain ecosystem, such as Polkadot, Moonbeam, polygon, OKC, Huobi Global, imToken, ChainIDE, etc.
Official website: https://www.sharkteam.org/
Twitter: https://twitter.com/sharkteamorg
Discord: https://discord.gg/jGH9xXCjDZ
Telegram: https://t.me/sharkteamorg

Comments

All Comments

Recommended for you

  • BTC Surpasses $84,000

    Market data shows that BTC has surpassed $84,000, currently priced at $84,004.27, with a 24-hour increase of 1.25%. The market is experiencing significant volatility, so please ensure proper risk management.

  • Ethereum Foundation-Linked Wallet Transfers 4,393 ETH to Kraken Worth $11.13 Million

    On October 12, on-chain analyst Yu Jin reported that 4 hours ago, two wallets associated with the Ethereum Foundation transferred 4,393 ETH (valued at $11.13 million) to the trading platform Kraken. The wallet that sent the ETH today received 59,751 ETH from the Ethereum Foundation wallet 10 years ago, of which 49,751 ETH has been gradually transferred to Kraken over the past decade at an average price of approximately $658.

  • BTC Surpasses $84,000

    Market data shows that BTC has surpassed $84,000, currently priced at $84,035.16, with a 24-hour increase of 1.16%. The market is experiencing significant volatility, so please ensure proper risk management.

  • Zelensky Responds to Trump's Russia-Ukraine Ceasefire Statement: Ukraine Will Agree if Russia Accepts Energy Ceasefire

    According to Axios, Ukrainian President Zelensky stated that Trump's ceasefire statement was also a surprise to him. Ukraine will agree if Russia accepts an energy ceasefire.

  • CryptoBillis Ledger Attacker Deposits $3.89 Million in Crypto Assets to Binance

    On October 11, the attacker of CryptoBillis Ledger deposited approximately $3.89 million in crypto assets to Binance over the past two days, including 3.685 million USDT and 615,000 TRX (about $204,000). This attacker had previously stolen over $90 million in crypto assets. (PeckShieldAlert)

  • KillaXBT: BTC May Surge Before Midterm Elections, Drop After, Historical Probability 75% Bearish

    On October 11, Killa (@KillaXBT), a user on X, shared his perspective that the ideal path for BTC is to rise before the midterm elections, establishing a bullish narrative and surpassing previous highs. Following this, he anticipates a pullback post-election, similar to past cycles, but with higher lows instead of new cycle lows. He believes that if there is a decline before the elections, it is more likely to rise towards $95,000 afterward. Citing data, he noted that nearly $2 billion in long positions were just liquidated, with only three weeks until the midterm elections. Historically, in four midterm elections, three have seen bearish trends emerge one to two months after the elections, giving a probability of 75%. He stated that the worst-case scenario would be a price rebound leading into the elections, followed by a reversal that traps the other side before de-risking. He believes that the narrative for one side has already been liquidated, and the current exposure of shorts is higher than that of longs. The author claims to still hold 10x long positions and longs established at 62.6K and 76.4K, with all positions fully allocated and not closed. This represents his personal trading view and is not an objective event.

  • Argentine Central Bank Indicates Cryptocurrencies May Open to Banks

    On October 11, the Argentine Central Bank stated that during Milei's second term, cryptocurrencies may be opened to banks, lifting a ban that has been in place for four years.

  • Trump: Russia and Ukraine Agree to 'Energy Ceasefire'

    On October 11, U.S. President Trump announced that an 'energy ceasefire' has been reached in the Russia-Ukraine war, effective immediately. Both sides have agreed not to disrupt it.

  • CITIC Securities: Hong Kong Stocks' Fundamentals Expected to Have Bottomed Out

    On October 11, CITIC Securities' research report pointed out that for Hong Kong stocks, although the overseas interest rate hike cycle combined with the restart of AI-driven trading continues to pressure liquidity, the fundamental expectations have bottomed out, and the earnings growth expectations for major broad-based indices have begun to be revised upwards. There is a significant divergence in the adjustment of industry earnings expectations, with some specific sectors seeing upward revisions, while industries related to domestic demand still face downward pressure on earnings expectations. The upcoming third-quarter performance will be an important basis for assessing the progress of recovery. The report advises investors to maintain patience with Hong Kong stocks, expecting that short-term dividend strategies will continue to outperform.

  • Web3 data and AI company Validation Cloud completes $10 million in new round of financing

     Web3 data and AI company Validation Cloud announced a $10 million financing round from True Global Ventures. The company plans to use the funds to expand its AI products and achieve seamless access to Web3 data.