ब्लॉग

स्वयंचलितपणे भाषांतरित · इंग्रजीत वाचा

SSO मॉड्यूल 2 - स्मार्ट कॉन्ट्रॅक्ट असुरक्षितता: रीएंट्रन्सी हल्ल्यांचा सखोल अभ्यास

स्मार्ट कॉन्ट्रॅक्ट पारदर्शकता देतात पण जोखीम वाहतात. हा लेख रीएंट्रन्सीसारख्या असुरक्षितता उघड करतो, DAO च्या $150M नुकसानाचे उदाहरण देतो. इंटिजर ओव्हरफ्लोमुळे BeautyChain चे $900M नुकसान झाले. ॲक्सेस कंट्रोल दोषांमुळे DAOMaker ने $4M गमावले. फ्लॅशलोन हल्ल्यांमध्ये Harves Finance ने $38M गमावले.

द्वारे Markos Mebellis

SSO मॉड्यूल 2 - स्मार्ट कॉन्ट्रॅक्ट असुरक्षितता: रीएंट्रन्सी हल्ल्यांचा सखोल अभ्यास
या पृष्ठावर

स्मार्ट कॉन्ट्रॅक्ट त्यांच्या कार्यक्षमता, पारदर्शकता आणि अपरिवर्तनीय वैशिष्ट्यांमुळे जागतिक उद्योगांमध्ये क्रांती घडवत आहेत. तरीही, त्यांची मुक्त आणि स्वयंचलित रचना त्यांना जोखमींना उघड करते. त्यांची क्षमता वाढवताना धोके कमी करण्यासाठी, त्यांची असुरक्षितता आणि संभाव्य हल्ल्याचे मार्ग समजून घेणे आवश्यक आहे. हे कॉन्ट्रॅक्ट तयार करणे आणि देखभाल करणे यासाठी काळजीपूर्वक लक्ष आणि सर्वोत्तम पद्धतींचे पालन आवश्यक आहे. हा लेख सामान्य असुरक्षितता मांडतो आणि समज वाढवण्यासाठी वास्तविक जगातील उदाहरणांसह स्पष्ट करतो. Salus Security कडून आलेला पुढील लेख पाहूया.

मुख्य असुरक्षितता:

**रीएंट्रन्सी:** येथे हल्लेखोर मुख्य क्रिया पूर्ण होण्यापूर्वी किंवा मूल्ये अद्ययावत होण्यापूर्वी फंक्शन्समध्ये पुन्हा प्रवेश करून एक अंतर वापरतात.

एकल-फंक्शन रीएंट्रन्सी: हे तेव्हा घडते जेव्हा कॉन्ट्रॅक्ट एखाद्या बेईमान कॉन्ट्रॅक्टशी संवाद साधते, ज्यामुळे नंतरच्या कॉन्ट्रॅक्टला फंक्शनमध्ये पुन्हा प्रवेश करण्याची परवानगी मिळते. उदाहरणार्थ, दुर्भावनापूर्ण कॉन्ट्रॅक्ट सतत 'withdrawBalance' फंक्शनमध्ये पुन्हा प्रवेश करू शकतात आणि शिल्लक अद्ययावत होण्यापूर्वी अधिक ईथर काढून घेऊ शकतात.

उल्लेखनीय हल्ले:

  • The DAO (2016): $150 दशलक्ष जमा केल्यानंतर, कोडिंग त्रुटींमुळे त्यावर हल्ला झाला. यामुळे Ethereum नेटवर्कमध्ये विभाजन झाले.
  • PolyDex (2021): PLX Locker स्मार्ट कॉन्ट्रॅक्टवरील रीएंट्रन्सी हल्ल्यामुळे $500k गमावले.
  • Bacon Protocol (2022): lend() फंक्शनमधील रीएंट्रन्सी बगमुळे $1M चे नुकसान झाले.
  • Lendf.Me (2020): अनेक क्रिप्टोकरन्सीमध्ये सुमारे $24.7 दशलक्ष गमावले.

**क्रॉस-फंक्शन रीएंट्रन्सी:** वेगवेगळ्या फंक्शन्समधील सामायिक स्थिती आणि कमकुवत पुनःप्रवेश संरक्षणातून उद्भवते. वरील 'balances' उदाहरण दर्शवते की 'withdrawAll' मध्ये संरक्षण असूनही, हल्लेखोर 'transfer' फंक्शनचा गैरवापर करू शकतात.

कुख्यात घटना:

  • DFX Finance (2022): रीएंट्रन्सी संरक्षण नसलेल्या फंक्शनचा गैरवापर करणाऱ्या हल्ल्यामुळे $7 दशलक्षाहून अधिक गमावले.
  • Hundred Finance (2022): रीएंट्रन्सी हल्ल्याने borrowFresh फंक्शनचा गैरवापर केल्यानंतर सुमारे $6.5 दशलक्ष गमावले.
  • Fei Protocol (2022): रीएंट्रन्सी लूपहोलचा वापर करणाऱ्या हल्ल्यात सुमारे $80 दशलक्ष गमावले.

**क्रॉस-कॉन्ट्रॅक्ट रीएंट्रन्सी:** वेगवेगळ्या कॉन्ट्रॅक्ट्समधील सामायिक स्थिती आणि चुकीच्या व्हेरिएबल बदल क्रमांमुळे उद्भवते. फंक्शन्सना संरक्षण असले तरीही 'burnAccount' सारख्या इतर फंक्शन्सचा गैरफायदा घेतला जाऊ शकतो.

प्रमुख हल्ले:

  • Rari Capital (2021): एका तासाच्या आत सुमारे $10 दशलक्ष (~2600 ETH) गमावले.
  • ValueDefi (2021): बाह्य डेटावर अवलंबून असलेल्या अवैध शेअर गणनांमुळे 5345.314 WBNB गमावले.

रीड-ओन्ली रीएंट्रन्सी:

रीड-ओन्ली रीएंट्रन्सी अशा फंक्शनचा गैरवापर करते जे कॉन्ट्रॅक्टची स्थिती बदलत नसले तरी स्थिती सुसंगत नसताना चुकीचे आउटपुट देऊ शकते.

उल्लेखनीय हल्ले:

  • QuickSwap (2022): शोषकांनी फ्लॅश लोनचा गैरवापर करून मालमत्तेची स्पॉट किंमत बदलली आणि 138 ETH व 700 MATIC टोकन्सची फसवणूक केली. Curve LP ऑरॅकलमधील दोषामुळे हे शक्य झाले.
  • dForce (2023): Arbitrum आणि Optimism चेनवर Curve Finance सोबत किंमत ऑरॅकल्समध्ये प्रवेश करणाऱ्या कोडमध्ये रीड-ओन्ली रीएंट्रन्सी बग होता.
  • Sentimente (2023): रीड-ओन्ली रीएंट्रन्सी दोषाचा फायदा घेणाऱ्या हल्ल्यामुळे $1 दशलक्षाची चोरी झाली. सुदैवाने, 90% रक्कम गुन्हेगाराने परत केली.
  • Sturdy (2023): Balancer च्या read-only reentrancy समस्येमुळे अंदाजे 442 ETH गमावले, ज्यामध्ये B-stETH-STABLE ची किंमत छेडछाड केली गेली.

Reentrancy Vulnerability प्रतिबंध:

  1. नेहमी check-effect-interaction पॅटर्नचे पालन करा.
  2. सर्व संवेदनशील ऑपरेशन्ससाठी re-entry संरक्षण वापरा.
  3. प्रत्येक external call काळजीपूर्वक हाताळा.

Integer Overflow:

जेव्हा गणना मर्यादा ओलांडते, तेव्हा overflow होते, ज्यामुळे अनेकदा अगदी लहान किंवा प्रचंड मूल्ये येतात.

उदाहरणात्मक हल्ले:

  • BeautyChain (2018): हल्लेखोरांनी इंटिजर ओव्हरफ्लोद्वारे 10^58 BEC पळवले, ज्यामुळे तब्बल $900 दशलक्षाचे नुकसान झाले.
  • Poolz (2023): यामुळे Ethereum, Binance आणि Polygon च्या ऑन-चेनवर अंदाजे $665,000 चे नुकसान झाले.

इंटिजर ओव्हरफ्लो प्रतिबंधात्मक उपाय:

  1. safeMath लायब्ररीसारख्या सुरक्षित गणना पद्धती वापरा.
  2. निकाल श्रेणीत राहतील याची खात्री करण्यासाठी सीमा तपासणीला प्राधान्य द्या.
  3. अंगभूत ओव्हरफ्लो शोधासाठी सॉलिडिटी कंपायलर आवृत्ती 0.8.0 किंवा नंतरची स्वीकारा.

प्रवेश नियंत्रण:
महत्त्वाच्या क्रियांचे व्यवस्थापन करणाऱ्या फंक्शन्सवर कडक प्रवेश निर्बंध नसल्यामुळे प्रवेश नियंत्रणाच्या असुरक्षितता उद्भवतात.

  • प्रमुख हल्ले:
  • DAOMaker (2021): सुमारे $4M इतकी प्रचंड रक्कम init फंक्शन असुरक्षित राहिल्यानंतर पळवून नेली गेली.
  • GymNetwork (2022): शोषकांनी depositFromOtherContract() मधील प्रमाणीकरणाच्या दुर्लक्षाचा फायदा घेतला, ज्यामुळे कोणतेही वास्तविक पेमेंट न करता बेकायदेशीर शिल्लक वाढवणे शक्य झाले. नुकसान? सुमारे 2,475.91 WBNB.
  • Tempdao (2023): migrateStake फंक्शनसाठी प्रवेश नियंत्रणाकडे दुर्लक्ष केल्यामुळे $2.34 दशलक्षांपेक्षा जास्त नुकसान झाले.

प्रवेश नियंत्रण दुर्बलता

  • वर्णन: सिस्टीममधील विशिष्ट क्रियांना प्रवेश आणि विशेषाधिकार नियंत्रित करणाऱ्या अपुर्या निर्बंध यंत्रणांमुळे उद्भवणाऱ्या दुर्बलता.

प्रतिबंधात्मक उपाय:

  1. कडक परवानगी तपासणी: फंक्शन्ससाठी कठोर परवानगी प्रोटोकॉल नेहमी लागू करा, विशेषतः जे संवेदनशील क्रिया हाताळतात.
  2. मल्टी-सिग्नेचर यंत्रणा: संयुक्त निर्णय घेणे आवश्यक असलेल्या कार्यांसाठी, संवेदनशील क्रिया कार्यान्वित करण्यापूर्वी अनेक मंजुरी आवश्यक असलेले मल्टी-सिग्नेचर प्रोटोकॉल वापरा.

सामान्य हल्ला मार्ग

  • वर्णन: विविध पद्धती किंवा माध्यमे ज्याद्वारे हल्लेखोर सिस्टममधील कमकुवतपणाचा फायदा घेतात, प्रामुख्याने स्मार्ट कॉन्ट्रॅक्ट्समध्ये.

उल्लेखनीय उदाहरणे:

  • फ्लॅशलोन हल्ले: दुर्भावनापूर्ण क्रियाकलाप राबवण्यासाठी विकेंद्रीकृत वित्त प्रणालींच्या तात्काळ कर्ज घेण्याच्या वैशिष्ट्याचा गैरवापर करते.
  • फ्रंट-रनिंग: हल्लेखोरांना दुसऱ्या वापरकर्त्याच्या प्रलंबित व्यवहाराची माहिती मिळते आणि ते अधिक गॅस शुल्क देऊन त्यावर कार्य करतात.

फ्लॅशलोन हल्ला

  • वर्णन: जरी स्वतःच हल्ला नसला तरी, FlashLoan हे DeFi वैशिष्ट्य आहे जे वापरकर्त्यांना तात्काळ मोठ्या रकमा तारणाशिवाय कर्ज घेण्याची परवानगी देते. कराराच्या परस्परसंवादातील तार्किक त्रुटींमुळे त्याचा गैरवापर झाला आहे.

उल्लेखनीय हल्ले:

  1. Harves Finance (2020.10.26): $38 दशलक्ष नुकसान झाले.
  2. InverseFinance (2022.6.16): 53.2445 WBTC आणि 99,976.29 USDT चे नुकसान झाले.
  3. NewFreeDAO (2022.9.8): 4,481 WBNB काढून टाकले, जे अंदाजे $1.25 दशलक्ष इतके आहे.
  4. Lodestar (2022.12.11): ऑरॅकल किंमत हेराफेरीद्वारे शोषण केले.
  5. 0vix (2023.4.28): Polygon चेनवर $2 दशलक्ष नुकसान झाले.

प्रतिबंध शिफारसी:

  1. प्रकल्प विकासादरम्यान Flashloan वैशिष्ट्ये ओळखा.
  2. अचूक किंमत निर्धारणासाठी, टाइम-वेटेड सरासरी किंवा अनेक ऑरॅकल्स वापरा.

फ्रंट-रनिंग

  • वर्णन: हल्लेखोर memPool मधून दुसऱ्या वापरकर्त्याच्या व्यवहाराची माहिती मिळवतो आणि जास्त गॅस शुल्क देऊन त्याचा फायदा घेतो.

उल्लेखनीय हल्ले:

  1. Sushi Badger Digg (2021.1.25): 81.68 ETH चे नुकसान झाले.
  2. Sushiswap Ape-ETH पूल (2022.5.17): हल्लेखोराला अंदाजे 0.3 ETH नफा झाला.
  3. Uniswap (2023.4.2): सँडविच अटॅकमुळे सुमारे $25 दशलक्षचे नुकसान झाले.

प्रतिबंधासाठी शिफारसी:

  1. व्यवहार करताना स्लिपेज संरक्षण वापरा.
  2. व्यवहार नॉन-पीक तासांमध्ये करा, विशेषतः अस्थिर बाजारांमध्ये.
  3. व्यवहार थेट मायनर्सना पाठवण्यासाठी 1inch चा FlashBot rpc वापरा, ज्यामुळे memPool बायपास होईल.

सारांश

अभिनंदन! तुम्ही मॉड्यूल 2 - स्मार्ट कॉन्ट्रॅक्ट असुरक्षितता: रीएंट्रन्सी अटॅक आणि सामान्य शोषणांचा सखोल अभ्यास पूर्ण केला

चला तुमच्या शिकलेल्या गोष्टींचा आढावा घेऊ:

रीएंट्रन्सी असुरक्षितता - हल्लेखोर फंक्शन्स पूर्णपणे पूर्ण होण्यापूर्वी त्यात पुन्हा प्रवेश करून त्रुटींचा फायदा घेतात.

  • एकल-फंक्शन रीएंट्रन्सी: एक दुर्भावनापूर्ण कॉन्ट्रॅक्ट दुसऱ्या कॉन्ट्रॅक्टमधील फंक्शनमध्ये पुन्हा प्रवेश करतो.
  • क्रॉस-फंक्शन रीएंट्रन्सी: कमकुवत पुनःप्रवेश संरक्षणामुळे वेगवेगळ्या फंक्शन्समधील सामायिक स्थितींचा गैरफायदा घेतला जातो.
  • क्रॉस-कॉन्ट्रॅक्ट रीएंट्रन्सी: वेगवेगळ्या कॉन्ट्रॅक्ट्समधील सामायिक स्थितींचा गैरवापर करते.
  • फक्त-वाचन रीएंट्रन्सी: स्थिती सुसंगत नसताना चुकीचे आउटपुट देणाऱ्या फंक्शनचा गैरवापर करते.

इंटिजर ओव्हरफ्लो - ठरवलेल्या मर्यादा ओलांडणाऱ्या गणनांमुळे टोकाची मूल्ये येतात.

प्रवेश नियंत्रणाच्या कमतरता - आवश्यक फंक्शन्सवर कडक प्रवेश मर्यादा नसल्यामुळे उद्भवतात.

सामान्य हल्ला मार्ग - हल्लेखोर ज्या पद्धतींनी प्रणालीतील कमकुवतपणांचा गैरफायदा घेतात.

**FlashLoan Attack** - तात्काळ मोठ्या प्रमाणात तारणाशिवाय कर्ज घेण्याची परवानगी देणारे DeFi वैशिष्ट्य, परंतु तार्किक त्रुटींमुळे त्याचा गैरफायदा घेतला जातो.

फ्रंट-रनिंग हल्ला- हल्लेखोर प्रलंबित व्यवहारांची माहिती मिळवतात आणि जास्त गॅस शुल्क देऊन त्याचा फायदा घेतात.

हा लेख तुमच्यासाठी सादर केला आहे:

सारांश — चित्रण