SSO মডিউল 2 - স্মার্ট কন্ট্র্যাক্ট দুর্বলতা: রিএন্ট্র্যান্সি অ্যাটাকের গভীর বিশ্লেষণ
স্মার্ট কন্ট্র্যাক্ট স্বচ্ছতা দেয় কিন্তু ঝুঁকিও বহন করে। এই নিবন্ধে রিএন্ট্র্যান্সির মতো দুর্বলতাগুলো উন্মোচন করা হয়েছে, উদাহরণ হিসেবে DAO-এর $150M ক্ষতি। ইন্টিজার ওভারফ্লো BeautyChain-এর $900M ক্ষতির কারণ হয়। অ্যাক্সেস কন্ট্রোল ত্রুটির কারণে DAOMaker $4M হারায়। ফ্ল্যাশলোন অ্যাটাকে Harves Finance $38M হারায়।
লিখেছেন Markos Mebellis

এই পৃষ্ঠায়
স্মার্ট কন্ট্র্যাক্ট তাদের দক্ষতা, স্বচ্ছতা ও অপরিবর্তনীয় বৈশিষ্ট্য দিয়ে বিশ্বব্যাপী শিল্পগুলোতে বিপ্লব ঘটাচ্ছে। তবুও, তাদের উন্মুক্ত ও স্বয়ংক্রিয় নকশা তাদের ঝুঁকির মুখেও ফেলে। সম্ভাবনা সর্বাধিক করে ঝুঁকি কমাতে তাদের দুর্বলতা ও সম্ভাব্য আক্রমণের পথ বোঝা জরুরি। এই কন্ট্র্যাক্টগুলো তৈরি ও রক্ষণাবেক্ষণে সতর্ক মনোযোগ ও সর্বোত্তম অনুশীলন মেনে চলা প্রয়োজন। এই নিবন্ধে সাধারণ দুর্বলতাগুলো আলোচনা করা হয়েছে, বোঝাপড়া বাড়াতে বাস্তব উদাহরণ দিয়ে তা তুলে ধরা হয়েছে। 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): 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): Balancer-এর read-only reentrancy সমস্যার কারণে প্রায় 442 ETH হারিয়েছে, যেখানে B-stETH-STABLE-এর দাম বিকৃত হয়েছিল।
Reentrancy দুর্বলতা প্রতিরোধ:
- সর্বদা check-effect-interaction প্যাটার্ন মেনে চলুন।
- সব সংবেদনশীল অপারেশনে re-entry সুরক্ষা ব্যবহার করুন।
- প্রতিটি external call সতর্কতার সাথে পরিচালনা করুন।
Integer Overflow:
যখন গণনা সীমা ছাড়িয়ে যায়, তখন overflow ঘটে, যা প্রায়শই অতি ক্ষুদ্র বা বিশাল মান তৈরি করে।
উদাহরণমূলক আক্রমণ:
- 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 আক্রমণ: ক্ষতিকর কার্যক্রম চালানোর জন্য ডিসেন্ট্রালাইজড ফাইন্যান্স সিস্টেমের তাৎক্ষণিক ঋণ নেওয়ার বৈশিষ্ট্যকে কাজে লাগায়।
- ফ্রন্ট-রানিং: আক্রমণকারীরা অন্য একজন ব্যবহারকারীর অপেক্ষমাণ লেনদেন সম্পর্কে জেনে উচ্চতর গ্যাস ফি অফার করে তার উপর কাজ করে।
FlashLoan আক্রমণ
- বিবরণ: যদিও এটি স্বভাবতই কোনো আক্রমণ নয়, FlashLoan হলো একটি DeFi বৈশিষ্ট্য যা ব্যবহারকারীদের তাৎক্ষণিকভাবে বড় অঙ্কের অর্থ জামানত ছাড়াই ধার নিতে দেয়। চুক্তির পারস্পরিক ক্রিয়া ও সম্পর্কের যৌক্তিক ত্রুটির কারণে এটি অপব্যবহার করা হয়েছে।
উল্লেখযোগ্য আক্রমণ:
- Harves Finance (2020.10.26): এর ফলে ৩৮ মিলিয়ন ডলারের ক্ষতি হয়।
- InverseFinance (2022.6.16): এর ফলে 53.2445 WBTC এবং 99,976.29 USDT ক্ষতি হয়।
- NewFreeDAO (2022.9.8): প্রায় $1.25 মিলিয়ন মূল্যের 4,481 WBNB নিষ্কাশন করা হয়েছে।
- Lodestar (2022.12.11): ওরাকল মূল্য ম্যানিপুলেশনের মাধ্যমে শোষণ করা হয়েছে।
- **0vix (2023.4.28)**Polygon চেইনে ২ মিলিয়ন ডলারের ক্ষতি হয়েছে।
প্রতিরোধের সুপারিশ:
- প্রকল্প উন্নয়নের সময় Flashloan-এর বৈশিষ্ট্য চিনুন।
- সঠিক মূল্য নির্ধারণের জন্য, টাইম-ওয়েটেড গড় বা একাধিক অরাকল ব্যবহার করুন।
ফ্রন্ট-রানিং
- বিবরণ: একজন আক্রমণকারী memPool থেকে অন্য ব্যবহারকারীর লেনদেন সম্পর্কে জেনে উচ্চতর গ্যাস ফি অফার করে তার সুবিধা নেয়।
উল্লেখযোগ্য আক্রমণ:
- Sushi Badger Digg (2021.1.25): এতে 81.68 ETH ক্ষতি হয়।
- Sushiswap Ape-ETH pool (2022.5.17): আক্রমণকারী প্রায় 0.3 ETH লাভ করে।
- Uniswap (2023.4.2): স্যান্ডউইচ অ্যাটাকের মাধ্যমে প্রায় $25 মিলিয়ন ক্ষতি হয়েছে।
প্রতিরোধের সুপারিশ:
- ট্রেড করার সময় স্লিপেজ সুরক্ষা ব্যবহার করুন।
- অ-পিক আওয়ারে ট্রেড সম্পাদন করুন, বিশেষ করে অস্থির বাজারে।
- মেমপুল বাইপাস করে সরাসরি মাইনারদের কাছে ট্রেড পাঠাতে 1inch-এর FlashBot rpc ব্যবহার করুন।
সারসংক্ষেপ
অভিনন্দন! আপনি মডিউল 2 - স্মার্ট কন্ট্রাক্ট দুর্বলতা: রিএন্ট্র্যান্সি অ্যাটাক এবং সাধারণ এক্সপ্লয়েটের গভীর বিশ্লেষণ সম্পন্ন করেছেন
আপনার শেখাগুলো পর্যালোচনা করা যাক:
রিএন্ট্র্যান্সি দুর্বলতা - আক্রমণকারীরা ফাঁকফোকর কাজে লাগিয়ে ফাংশন সম্পূর্ণ হওয়ার আগেই পুনরায় প্রবেশ করে।
- একক-ফাংশন রিএন্ট্র্যান্সি: একটি দুষ্ট চুক্তি অন্য একটি চুক্তির ফাংশনে পুনরায় প্রবেশ করে।
- ক্রস-ফাংশন রিএন্ট্র্যান্সি: দুর্বল পুনঃপ্রবেশ সুরক্ষার কারণে বিভিন্ন ফাংশনের মধ্যে শেয়ার করা স্টেট কাজে লাগানো হয়।
- ক্রস-কন্ট্রাক্ট রিএন্ট্র্যান্সি: বিভিন্ন কন্ট্র্যাক্টের মধ্যে শেয়ার করা স্টেট কাজে লাগায়।
- রিড-অনলি রিএন্ট্র্যান্সি: স্টেট সামঞ্জস্যপূর্ণ না থাকলে ভুল আউটপুট তৈরি করা একটি ফাংশন কাজে লাগায়।
ইন্টিজার ওভারফ্লো - নির্ধারিত সীমা ছাড়িয়ে যাওয়া গণনা, যার ফলে চরম মান তৈরি হয়।
অ্যাক্সেস কন্ট্রোল দুর্বলতা - অপরিহার্য ফাংশনে কঠোর অ্যাক্সেস সীমাবদ্ধতার অনুপস্থিতি থেকে উদ্ভূত হয়।
সাধারণ আক্রমণ ভেক্টর - যেসব পদ্ধতিতে আক্রমণকারীরা সিস্টেমের দুর্বলতাগুলো কাজে লাগায়।
**FlashLoan Attack **- একটি DeFi বৈশিষ্ট্য যা জামানত ছাড়াই তাৎক্ষণিক বড় অঙ্কের ঋণ নেওয়ার সুযোগ দেয়, তবে যৌক্তিক ত্রুটির কারণে এটি অপব্যবহার করা হয়।
ফ্রন্ট-রানিং আক্রমণ- আক্রমণকারীরা পেন্ডিং লেনদেন সম্পর্কে জেনে উচ্চতর গ্যাস ফি অফার করে সুবিধা নেয়।
এই নিবন্ধটি আপনার জন্য উপস্থাপন করেছে:
