SSO ሞጁል 2 - የስማርት ኮንትራት ተጋላጭነቶች፦ ወደ Reentrancy ጥቃቶች ጥልቅ ግንዛቤ
ስማርት ኮንትራቶች ግልጽነትን ይሰጣሉ ነገር ግን አደጋዎችን ይይዛሉ። ይህ ጽሑፍ እንደ Reentrancy ያሉ ተጋላጭነቶችን ያጋልጣል፤ የ DAO የ150 ሚሊዮን ዶላር ኪሳራ እንደ ምሳሌ ተጠቅሷል። Integer Overflow የ BeautyChain የ900 ሚሊዮን ዶላር ኪሳራ አስከትሏል። DAOMaker በ Access Control ጉድለቶች ምክንያት 4 ሚሊዮን ዶላር አጥቷል። በ FlashLoan ጥቃቶች Harves Finance 38 ሚሊዮን ዶላር አጥቷል።
በ Markos Mebellis

በዚህ ገጽ ላይ
ስማርት ኮንትራቶች በብቃታቸው፣ በግልጽነታቸው እና በማይለወጡ ባህሪያቸው ዓለም አቀፍ ኢንዱስትሪዎችን በአብዮት እየቀየሩ ናቸው። ሆኖም ክፍትና አውቶማቲክ ንድፋቸው ለአደጋዎችም ያጋልጣቸዋል። አቅማቸውን ከፍ ለማድረግና ስጋቶችን ለመቀነስ ተጋላጭነቶቻቸውንና ሊኖሩ የሚችሉ የጥቃት መንገዶችን መረዳት ወሳኝ ነው። እነዚህን ኮንትራቶች መፍጠርና ማቆየት ጥንቃቄና ምርጥ ልማዶችን መከተል ይጠይቃል። ይህ ጽሑፍ የተለመዱ ተጋላጭነቶችን በእውነተኛ ዓለም ምሳሌዎች በማብራራት ግንዛቤን ያሳድጋል። ከ Salus Security የቀረበውን የሚከተለውን ጽሑፍ እንመልከት።
ዋና ተጋላጭነቶች፦
**Reentrancy፦** እዚህ አጥቂዎች ዋና ሥራዎች ከመጠናቀቃቸው ወይም እሴቶች ከመዘመናቸው በፊት ወደ ተግባራት እንደገና በመግባት ክፍተቱን ይጠቀማሉ።
የአንድ ተግባር Reentrancy፦ ይህ የሚከሰተው ኮንትራት ከአላማው ውጪ ከሆነ ኮንትራት ጋር ሲገናኝና ሁለተኛው ወደ ተግባር እንደገና እንዲገባ ሲፈቅድለት ነው። ለምሳሌ ተንኮለኛ ኮንትራቶች ቀሪ ሂሳቦች ከመዘመናቸው በፊት ተጨማሪ ether በመመሳት 'withdrawBalance' ተግባርን ያለማቋረጥ እንደገና ሊገቡ ይችላሉ።
ታዋቂ ጥቃቶች፦
- The DAO (2016)፦ 150 ሚሊዮን ዶላር ካሰባሰበ በኋላ፣ በኮድ ተጋላጭነቶች ምክንያት ተጠልፏል። ይህም በEthereum ኔትወርክ ላይ መለያየት አስከትሏል።
- PolyDex (2021)፦ በPLX Locker Smart Contract ላይ በተፈጸመ የreentrancy ጥቃት ምክንያት 500ሺ አጥቷል።
- Bacon Protocol (2022)፦ በlend() ተግባር ውስጥ በreentrancy ስህተት ምክንያት 1ሚ ኪሳራ ደርሶበታል።
- Lendf.Me (2020)፦ በተለያዩ ክሪፕቶ ገንዘቦች ላይ በግምት 24.7 ሚሊዮን ዶላር ጠፍቷል።
**በተግባራት መካከል ያለ ድጋሚ ግባት፦** በተለያዩ ተግባራት መካከል ከሚጋሩ ሁኔታዎች እና ደካማ የድጋሚ ግባት ጥበቃ ይነሳል። ከላይ ያለው 'balances' ምሳሌ እንደሚያሳየው 'withdrawAll' ጥበቃ ቢኖረውም አጥቂዎች አሁንም 'transfer' ተግባሩን ሊጠቀሙበት ይችላሉ።
ታወቁ ክስተቶች፦
- DFX Finance (2022)፦ የድጋሚ ግባት ጥበቃ የሌለውን ተግባር በሚጠቀም ጥቃት ምክንያት ከ7 ሚሊዮን ዶላር በላይ ጠፍቷል።
- Hundred Finance (2022)፦ የድጋሚ ግባት ጥቃት borrowFresh ተግባሩን ከተጠቀመ በኋላ በግምት 6.5 ሚሊዮን ዶላር ጠፍቷል።
- Fei Protocol (2022)፦ በReentrancy ስህተት በመጠቀም በተካሄደ ጥቃት ወደ 80 ሚሊዮን ዶላር አጥቷል።
**Cross-Contract Reentrancy፦** በተለያዩ ኮንትራቶች መካከል ከሚጋሩ ሁኔታዎች እና ከተሳሳቱ የተለዋዋጭ ማሻሻያ ቅደም ተከተሎች የሚመጣ ውጤት። ተግባራት ጥበቃ ቢኖራቸውም፣ እንደ 'burnAccount' ያሉ ሌሎች ተግባራት አሁንም ሊበዘበዙ ይችላሉ።
ታዋቂ ጥቃቶች፦
- Rari Capital (2021)፦ በአንድ ሰዓት ውስጥ ወደ 10 ሚሊዮን ዶላር (~2600 ETH) አጥቷል።
- ValueDefi (2021)፦ በውጫዊ መረጃ ላይ በተመሠረቱ ልክ ያልሆኑ የአክሲዮን ስሌቶች ምክንያት 5345.314 WBNB አጥቷል።
Read-Only Reentrancy:
Read-only reentrancy የኮንትራቱን ሁኔታ ባይቀይርም ሁኔታው ወጥ በማይሆንበት ጊዜ አሁንም የተሳሳቱ ውጤቶችን ሊያመነጭ የሚችልን ተግባር ይጠቀማል።
ልብ የሚሉ ጥቃቶች:
- QuickSwap (2022): አምጪዎች የንብረቱን የቦታ ዋጋ ለማስተካከል ፍላሽ ብድርን በማላላት 138 ETH እና 700 MATIC ቶከኖችን አጭበርብረዋል። ይህ የተቻለው በCurve LP oracle ጉድለት ምክንያት ነው።
- dForce (2023): በArbitrum እና Optimism ሰንሰለቶች ላይ ከCurve Finance ጋር የዋጋ oracleዎችን የሚደርስበት ኮድ ውስጥ የread-only reentrancy ሳንካ ነበር።
- Sentimente (2023): የread-only reentrancy ጉድለትን የተጠቀመ ጥቃት ወደ 1 ሚሊዮን ዶላር ስርቆት መርቷል። እንደ እድል ሆኖ 90% የሚሆነው በወንጀለኛው ተመላሽ ተደርጓል።
- **Sturdy (2023)**ግምት ወደ 442 ETH ያጣው በBalancer ተነባቢ-ብቻ ድጋሚ-ግብዓት ችግር ምክንያት ሲሆን የB-stETH-STABLE ዋጋ ተበላሽቷል።
የድጋሚ-ግብዓት ተጋላጭነት መከላከል:
- ሁልጊዜ የፍተሻ-ውጤት-ግንኙነት ንድፍን ይከተሉ።
- ለሁሉም ስሜታዊ ስራዎች የድጋሚ-ግብዓት ጥበቃን ይጠቀሙ።
- እያንዳንዱን የውጭ ጥሪ በጥንቃቄ ያስተናግዱ።
የኢንቲጀር መጠን መብለጥ:
ስሌቶች ገደቦችን ሲያልፉ ይብለጣሉ፣ ይህም ብዙውን ጊዜ ወደ በጣም ትንሽ ወይም በጣም ትልቅ እሴቶች ይመራል።
ምሳሌያዊ ጥቃቶች:
- **BeautyChain (2018)**ጥቃት አድራጊዎች በኢንቲጀር ከመጠን በላይ መፍሰስ አማካኝነት 10^58 BEC ወስደው አስደንጋጭ የሆነውን 900 ሚሊዮን ዶላር አውርደዋል።
- **Poolz (2023)**በEthereum፣ Binance እና Polygon ሰንሰለት ላይ በአጠቃላይ 665,000 ዶላር የሚጠጋ ኪሳራ አስከትሏል።
የኢንቲጀር ከመጠን በላይ መፍሰስ መከላከያ እርምጃዎች:
- እንደ safeMath ላይብረሪ ያሉ አስተማማኝ የስሌት ዘዴዎችን ይጠቀሙ።
- ውጤቶች በክልሉ ውስጥ መቆየታቸውን ለማረጋገጥ የወሰን ማረጋገጫን ቅድሚያ ይስጡ።
- ለአብሮ የተሰራ የመጠን መብለጥ መለያ የ solidity አቀናባሪ ስሪት 0.8.0 ወይም ከዚያ በኋላ ይጠቀሙ።
የመዳረሻ ቁጥጥር:
የመዳረሻ ቁጥጥር ተጋላጭነቶች የሚከሰቱት ወሳኝ ስራዎችን በሚያከናውኑ ተግባራት ላይ ጥብቅ የመዳረሻ ገደቦች በሌሉበት ነው።
- ታዋቂ ጥቃቶች:
- **DAOMaker (2021)**ግምት ~$4M የሚጠጋ ገንዘብ ከዚህ በኋላ ተወስዷል፡
initተግባር ተጋላጭ ሆኖ ቀረ። - GymNetwork (2022): አጥቂዎች በdepositFromOtherContract() ውስጥ ያለውን የማረጋገጫ ችግር ተጠቅመው ያለ ምንም ትክክለኛ ክፍያ ህገ-ወጥ የባላንስ ጭማሪ አደረጉ። ኪሳራው? ወደ 2,475.91 WBNB።
- Tempdao (2023): ለmigrateStake ተግባር የመዳረሻ ቁጥጥር ላይ የተደረገ ውል አቀራረብ ከ$2.34 ሚሊዮን በላይ ኪሳራ አስከትሏል።
የመዳረሻ ቁጥጥር ተጋላጭነት
- መግለጫ: በስርዓት ውስጥ የተወሰኑ ስራዎችን የመዳረሻ እና ልዩ መብቶችን የሚቆጣጠሩ በቂ ያልሆኑ የገደብ ዘዴዎች ምክንያት የሚፈጠሩ ተጋላጭነቶች።
የመከላከያ እርምጃዎች:
- ጥብቅ የፈቃድ ማረጋገጫ: ሁልጊዜ ለተግባራት ጥብቅ የፈቃድ ፕሮቶኮሎችን ተግብር፣ በተለይም ስሜታዊ ስራዎችን ለሚያስተዳድሩት።
- ብዝሃ-ፊርማ ዘዴ: የጋራ ውሳኔ ለሚያስፈልጋቸው ተግባራት ስሜታዊ ስራዎችን ከመፈጸም በፊት ብዙ ማጽደቆችን የሚጠይቁ ብዝሃ-ፊርማ ፕሮቶኮሎችን ተጠቀም።
የተለመዱ የጥቃት መንገዶች
- መግለጫጥቃት አፈንጋጮች በስርዓት ውስጥ ያሉ ተጋላጭነቶችን የሚበዘብዙባቸው የተለያዩ ዘዴዎች ወይም መንገዶች፣ በተለይም በስማርት ኮንትራክቶች።
ታዋቂ ምሳሌዎች:
- የFlashLoan ጥቃቶችየተበታተኑ የፋይናንስ ስርዓቶችን ፈጣን የብድር ባህሪ ተጠቅሞ ጎጂ ተግባራትን ያከናውናል።
- Front-Runningጥቃት አፈንጋጮች የሌላ ተጠቃሚ በመጠባበቅ ላይ ያለ ግብይት መረጃ አግኝተው ከፍተኛ የጋዝ ክፍያ በማቅረብ ላይ እርምጃ ይወስዳሉ።
የFlashLoan ጥቃት
- መግለጫ: በመሠረቱ ጥቃት ባይሆንም፣ FlashLoan ተጠቃሚዎች ያለ ዋስትና ትልቅ መጠን ያለውን ገንዘብ በቅጽበት እንዲበደሩ የሚያስችል የDeFi ባህሪ ነው። በኮንትራት መስተጋብሮችና ግንኙነቶች ውስጥ ባሉ አመክንዮአዊ ጉድለቶች ምክንያት ተበዝቧል።
ታዋቂ ጥቃቶች:
- Harves Finance (2020.10.26): በ38 ሚሊዮን ዶላር ኪሳራ አስከትሏል።
- InverseFinance (2022.6.16): በ53.2445 WBTC እና 99,976.29 USDT ኪሳራ አስከትሏል።
- NewFreeDAO (2022.9.8): 4,481 WBNB ተወስዷል፣ ይህም በግምት 1.25 ሚሊዮን ዶላር ያህል ነው።
- Lodestar (2022.12.11): በኦራክል ዋጋ ማጭበርበር ተበዝቷል።
- 0vix (2023.4.28): በPolygon ሰንሰለት ላይ 2 ሚሊዮን ዶላር ኪሳራ አስከትሏል።
የመከላከያ ምክሮች:
- በፕሮጀክት ልማት ወቅት የFlashloan ባህሪያትን ይለዩ።
- ለትክክለኛ የዋጋ ውሳኔ በጊዜ የሚመዘን አማካይነት ወይም በርካታ ኦራክሎችን ይጠቀሙ።
የፊት ሩጫ
- መግለጫ: አጥቂ ስለ ሌላ ተጠቃሚ ግብይት ከmemPool በማወቅ ከፍተኛ የጋዝ ክፍያ በማቅረብ ተጠቃሚ ይሆናል።
ታዋቂ ጥቃቶች:
- Sushi Badger Digg (2021.1.25): በ81.68 ETH ኪሳራ አስከትሏል።
- Sushiswap Ape-ETH ገንዳ (2022.5.17): አጥቂው በግምት 0.3 ETH ትርፍ አግኝቷል።
- Uniswap (2023.4.2): በሳንድዊች ጥቃት አማካኝነት ወደ 25 ሚሊዮን ዶላር የሚጠጋ ኪሳራ አስከትሏል።
የመከላከያ ምክሮች:
- በግብይት ጊዜ የስሊፔጅ ጥበቃን ይጠቀሙ።
- ግብይቶችን ከጫፍ ሰዓታት ውጭ ያከናውኑ፣ በተለይም በተለዋዋጭ ገበያዎች ውስጥ።
- ግብይቶችን በቀጥታ ወደ ማዕድን ቆፋሪዎች ለመላክ የ1inch FlashBot rpc ን ይጠቀሙ፣ በዚህም memPool ን ያልፉ።
ማጠቃለያ
እንኳን ደስ አለዎት! ሞጁል 2 - የስማርት ኮንትራት ተጋላጭነቶች፡ የሪኤንትራንሲ ጥቃቶችን እና የተለመዱ ብዝበዛዎችን በጥልቀት መመርመርን አጠናቀዋል።
የተማራችኋቸውን እንገምግም፦
የድጋሚ ግባት ተጋላጭነቶች - አጥቂዎች ተግባራት ሙሉ በሙሉ ከመጠናቀቃቸው በፊት እንደገና በመግባት ክፍተቶችን ይጠቀማሉ።
- የአንድ ተግባር ድጋሚ ግባት፦ አንድ አጭበርባሪ ኮንትራት በሌላ ኮንትራት ውስጥ ወደሚገኝ ተግባር እንደገና ይገባል።
- የተሻጋሪ ተግባር ድጋሚ ግባት፦ በተለያዩ ተግባራት መካከል ያሉ የጋራ ሁኔታዎች በደካማ የድጋሚ ግባት ጥበቃ ምክንያት ይበዘበዛሉ።
- የተሻጋሪ ኮንትራት ድጋሚ ግባት፦ በተለያዩ ውልዎች መካከል የሚጋሩ ሁኔታዎችን ይበዘብዛል።
- ንባብ-ብቻ ድጋሚ መግቢያ፦ ሁኔታው ወጥ በማይሆንበት ጊዜ የተሳሳቱ ውጤቶችን የሚያመነጭ ተግባርን ይበዘብዛል።
የኢንቲጀር መጨናነቅ - ከተቀመጡት ገደቦች የሚበልጡ ስሌቶች፣ ይህም ጽንፈኛ እሴቶችን ያስከትላል።
የመዳረሻ ቁጥጥር ተጋላጭነቶች - በአስፈላጊ ተግባራት ላይ ጥብቅ የመዳረሻ ገደቦች ባለመኖራቸው ይነሳሉ።
የተለመዱ የጥቃት መንገዶች - አጥቂዎች የስርዓት ተጋላጭነቶችን የሚበዘብዙባቸው ዘዴዎች።
**የFlashLoan ጥቃት** - ያለ ዋስትና ፈጣን ትልቅ ብድር የሚፈቅድ የDeFi ባህሪ ነገር ግን በአመክንዮአዊ ጉድለቶች ምክንያት ይበዘበዛል።
የፊት መሮጫ ጥቃት- አጥቂዎች በመጠባበቅ ላይ ያሉ ግብይቶችን ያውቃሉ እና ከፍተኛ የጋዝ ክፍያ በማቅረብ ትርፍ ያገኛሉ።
ይህ ጽሑፍ ለእርስዎ የቀረበው በ፦
