بلاگ

خودکار ترجمہ · انگریزی میں پڑھیں

SSO ماڈیول 2 - اسمارٹ کنٹریکٹ کمزوریاں: ری اینٹرینسی حملوں کی گہرائی میں جائزہ

اسمارٹ کنٹریکٹ شفافیت فراہم کرتے ہیں مگر خطرات بھی رکھتے ہیں۔ یہ مضمون ری اینٹرینسی جیسی کمزوریوں کو بے نقاب کرتا ہے، جس میں DAO کا 150 ملین ڈالر کا نقصان ایک مثال ہے۔ انٹیجر اوور فلو نے BeautyChain کے 900 ملین ڈالر کے نقصان کا سبب بنایا۔ DAOMaker نے ایکسیس کنٹرول کی خامیوں کی وجہ سے 4 ملین ڈالر کھوئے۔ فلیش لون حملوں میں Harves Finance نے 38 ملین ڈالر کھوئے۔

بذریعہ Markos Mebellis

SSO ماڈیول 2 - اسمارٹ کنٹریکٹ کمزوریاں: ری اینٹرینسی حملوں کی گہرائی میں جائزہ
اس صفحے پر

اسمارٹ کنٹریکٹ اپنی کارکردگی، شفافیت اور ناقابلِ تبدیل خصوصیات کے ساتھ عالمی صنعتوں میں انقلاب برپا کر رہے ہیں۔ تاہم، ان کا کھلا اور خودکار ڈیزائن انہیں خطرات سے بھی دوچار کرتا ہے۔ ان کی صلاحیت کو زیادہ سے زیادہ اور خطرات کو کم سے کم کرنے کے لیے ان کی کمزوریوں اور ممکنہ حملوں کے راستوں کو سمجھنا ضروری ہے۔ ان کنٹریکٹس کی تیاری اور دیکھ بھال میں باریک بینی اور بہترین طریقوں کی پاسداری درکار ہے۔ یہ مضمون عام کمزوریوں کا جائزہ لیتا ہے اور فہم کو بہتر بنانے کے لیے حقیقی دنیا کے واقعات سے ان کی وضاحت کرتا ہے۔ آئیے Salus Security کے تعاون سے درج ذیل مضمون پر نظر ڈالتے ہیں۔

اہم کمزوریاں:

**ری اینٹرینسی:** یہاں حملہ آور ایک خلا کا فائدہ اٹھاتے ہیں اور اہم کارروائیوں کی تکمیل یا اقدار کی تازہ کاری سے پہلے فنکشنز میں دوبارہ داخل ہوتے ہیں۔

سنگل-فنکشن ری اینٹرینسی: یہ اس وقت ہوتی ہے جب کوئی کنٹریکٹ کسی باغی کنٹریکٹ کے ساتھ تعامل کرتا ہے، جس سے مؤخر الذکر کو کسی فنکشن میں دوبارہ داخل ہونے کی اجازت ملتی ہے۔ مثال کے طور پر، بدنیتی پر مبنی کنٹریکٹ مسلسل 'withdrawBalance' فنکشن میں دوبارہ داخل ہو کر بیلنس کی تازہ کاری سے پہلے زیادہ ایتھر نکال سکتے ہیں۔

قابلِ ذکر حملے:

  • The DAO (2016): 150 ملین ڈالر جمع کرنے کے بعد، کوڈنگ کی کمزوریوں کی وجہ سے اسے ہیک کر لیا گیا۔ اس کی وجہ سے ایتھیریم نیٹ ورک میں تقسیم ہوئی۔
  • PolyDex (2021): PLX Locker اسمارٹ کنٹریکٹ پر ری اینٹرینسی حملے کی وجہ سے 500 ہزار ڈالر کھوئے۔
  • Bacon Protocol (2022): lend() فنکشن میں ری اینٹرینسی بگ کی وجہ سے 1 ملین ڈالر کا نقصان ہوا۔
  • 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 کے ریڈ-اونلی ری اینٹرینسی مسئلے کی وجہ سے تقریباً 442 ETH کھوئے، جہاں B-stETH-STABLE کی قیمت میں چھیڑ چھاڑ کی گئی۔

ری اینٹرینسی کمزوری کی روک تھام:

  1. ہمیشہ چیک-ایفیکٹ-انٹریکشن پیٹرن کی پاسداری کریں۔
  2. تمام حساس کارروائیوں کے لیے دوبارہ داخلے کا تحفظ استعمال کریں۔
  3. ہر بیرونی کال کو باریک بینی سے سنبھالیں۔

انٹیجر اوور فلو:

جب حسابات حد سے تجاوز کریں تو وہ اوور فلو ہو جاتے ہیں، جس سے اکثر یا تو بہت چھوٹی یا بہت بڑی اقدار بنتی ہیں۔

وضاحتی حملے:

  • BeautyChain (2018): حملہ آوروں نے انٹیجر اوور فلو کے ذریعے 10^58 BEC حاصل کیے اور حیران کن 900 ملین ڈالر کا نقصان پہنچایا۔
  • Poolz (2023): Ethereum، Binance اور Polygon کے آن چین میں تقریباً 665,000 ڈالر کا نقصان ہوا۔

انٹیجر اوور فلو کے انسدادی اقدامات:

  1. safeMath لائبریری جیسے محفوظ حسابی طریقے استعمال کریں۔
  2. نتائج کے دائرے میں رہنے کی تصدیق کے لیے باؤنڈز چیکنگ کو ترجیح دیں۔
  3. بلٹ اِن اوور فلو تشخیص کے لیے solidity کمپائلر ورژن 0.8.0 یا اس کے بعد کا استعمال کریں۔

ایکسیس کنٹرول:
ایکسیس کنٹرول کمزوریاں اہم کارروائیوں کو سنبھالنے والے فنکشنز پر سخت رسائی پابندیوں کی عدم موجودگی سے پیدا ہوتی ہیں۔

  • نمایاں حملے:
  • DAOMaker (2021): تقریباً 4 ملین ڈالر نکال لیے گئے جب 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): تقریباً 1.25 ملین ڈالر کے مساوی 4,481 WBNB نکال لیے گئے۔
  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 pool (2022.5.17): حملہ آور نے تقریباً 0.3 ETH کا منافع کمایا۔
  3. Uniswap (2023.4.2): سینڈوچ حملے کے ذریعے تقریباً 25 ملین ڈالر کا نقصان ہوا۔

روک تھام کی سفارشات:

  1. تجارت کرتے وقت سلپیج پروٹیکشن استعمال کریں۔
  2. غیر مصروف اوقات میں تجارت کریں، خاص طور پر غیر مستحکم مارکیٹوں میں۔
  3. 1inch کے FlashBot rpc کو استعمال کریں تاکہ تجارتیں براہ راست مائنرز کو بھیجی جائیں اور اس طرح memPool کو نظرانداز کیا جا سکے۔

خلاصہ

مبارک ہو! آپ نے ماڈیول 2 - اسمارٹ کنٹریکٹ کمزوریاں: ری اینٹرنسی حملوں اور عام استحصالوں کی گہرائی میں مکمل کر لیا ہے

آئیے آپ کی سیکھائی گئی باتیں دہرائیں:

ری اینٹرنسی کمزوریاں - حملہ آور خلا کا فائدہ اٹھاتے ہیں اور فنکشنز کے مکمل ہونے سے پہلے ان میں دوبارہ داخل ہو جاتے ہیں۔

  • واحد فنکشن ری اینٹرنسی: ایک بدنیت کنٹریکٹ کسی دوسرے کنٹریکٹ کے فنکشن میں دوبارہ داخل ہوتا ہے۔
  • بین الفنکشن ری اینٹرنسی: ناقص دوبارہ داخلے کے تحفظ کی وجہ سے مختلف فنکشنز کے درمیان مشترکہ حالتوں کا فائدہ اٹھایا جاتا ہے۔
  • بین الکنٹریکٹ ری اینٹرنسی: مختلف کنٹریکٹس میں مشترکہ حالتوں کا استحصال کرتا ہے۔
  • صرف پڑھنے والی ری اینٹرنسی: جب حالت مستقل نہ ہو تو غلط نتائج پیدا کرنے والے فنکشن کا استحصال کرتا ہے۔

انٹیجر اوور فلو - حساب مقررہ حدود سے تجاوز کر کے انتہائی اقدار پیدا کرتا ہے۔

رسائی کنٹرول کی کمزوریاں - اہم فنکشنز پر سخت رسائی پابندیوں کی عدم موجودگی سے پیدا ہوتی ہیں۔

عام حملے کے طریقے - وہ طریقے جن کے ذریعے حملہ آور سسٹم کی کمزوریوں کا فائدہ اٹھاتے ہیں۔

**FlashLoan Attack **- DeFi کی ایک خصوصیت جو بغیر ضمانت کے فوری بڑی رقم ادھار لینے کی اجازت دیتی ہے لیکن منطقی خامیوں کی وجہ سے اس کا غلط استعمال ہوتا ہے۔

فرنٹ رننگ حملہ- حملہ آور زیرِ التوا لین دین کی معلومات حاصل کرتے ہیں اور زیادہ gas فیس پیش کر کے فائدہ اٹھاتے ہیں۔

یہ مضمون آپ کے لیے پیش کیا گیا از:

خلاصہ — مثال