MEV بات ہونی پوٹ حملے میں 7.5 ملین ڈالر سے زائد کا نقصان: تجزیہ اور فنڈز کی ٹریسنگ

icon MarsBit
بانٹیں
AI summary iconخلاصہ

21 جون کو، ایتھریم نیٹ ورک پر سب سے زیادہ فعال MEV Bot میں سے ایک، Jaredfromsubway.eth، ایک منصوبہ بند "ہونی پوٹ حملہ" کا شکار ہوا، جس میں اس کے پاس 7.5 ملین ڈالر سے زیادہ کرپٹو اثاثے چوری ہو گئے۔ درج ذیل Beosin سیکورٹی ٹیم کا اس حملے کا تجزیہ اور چوری شدہ فنڈز کی راہ پر نگاہ ہے۔

حملہ کے عمل کا تجزیہ

حملہ کنندہ معاہدہ خاندان

- کوآرڈینیٹر کنٹریکٹ (0xb84db016324e8f2bfdd8dd9c260338aee0a8df52): موجودہ بلاک کی حالت کو آرمسٹیٹ میں ریکارڈ کرتا ہے اور آخری مرحلے میں فنڈز نکالنے کے لیے سب کنٹریکٹس کو دہراتا ہے۔ - ٹریگر کنٹریکٹ (0x4de8c729a064ff6087cc84a4152969349e4feb98): ایک ہی بلاک کے اندر جعلی ٹریڈنگ پیر کی حالت سیٹ کرتا ہے تاکہ آربٹریج پاتھ قابل انجام لگے۔ - سب کنٹریکٹ / جعلی ٹوکن کنٹریکٹ: اصل اتھارائزیشن حاصل کرنے کے لیے عام ERC-20 ٹوکن کا دعویٰ کرتا ہے۔ - ہب کنٹریکٹ: کچھ اصل منافع ادا کرتا ہے تاکہ MEV Bot کو اس کا منافع بخش لگے۔ - رنگ V2 پیر: جعلی Uniswap v2 ٹریڈنگ پیر۔ - جعلی مڈل ٹوکن کنٹریکٹ: متعدد اسکپ آربٹریج پاتھس بنانے کے لیے استعمال ہوتا ہے، جیسے fCAP، fUSDC۔

حملے کا کلیدی نقطہ: جھوٹی اجازت دینا

آن لائن ٹریڈنگ کے تجزیے کے ذریعے، حملہ آور نے کئی گروہوں میں جال باندھنے والی ٹریڈنگز تیار کیں:

- بڑے USDC: روبوٹ نے تقریباً 36.997120 USDC کماے، لیکن 20 USDC کی اجازت چھوڑ دی۔ - بڑے USDT: روبوٹ نے تقریباً 37.053440 USDT کماے، لیکن 20 USDT کی اجازت چھوڑ دی۔ - بڑے WETH: روبوٹ نے تقریباً 0.0179 WETH کماے، لیکن 16 WETH کی اجازت چھوڑ دی۔ - چھوٹے ٹریڈز معمول کے مطابق کام کر رہے ہیں، جہاں اجازت ایک ہی ٹریڈ کے اندر استعمال ہو جاتی ہے تاکہ شک کو کم کیا جا سکے۔

چھوٹے ٹریڈنگ میں، روبوٹ کے حقیقی ٹوکن کی اجازت دینے کے بعد، سب کنٹریکٹ فوراً حقیقی ٹوکن منتقل کر دیتا ہے، اجازت استعمال ہو جاتی ہے، اور یہ مکمل طور پر عام لگتا ہے۔

بڑے ٹریڈز میں، سب کنٹریکٹس اصل ٹوکنز کو منتقل کرنے کے لیے transferFrom کو کال نہیں کرتے، بلکہ جعلی ٹوکنز کو جنم دینے کے لیے جعلی ٹریڈز کا استعمال کرتے ہیں۔ روبوٹ سمجھتا ہے کہ اس نے عام swap کے پیش‌گو شرائط مکمل کر لیے ہیں، لیکن اصل ٹوکنز کی اجازت اب بھی برقرار رہتی ہے۔

یہ پورے حملے کا مرکز ہے: چھوٹے ٹریڈز کی اجازت عام طور پر استعمال ہو جاتی ہے، جبکہ بڑے ٹریڈز کی اجازت محفوظ رکھی جاتی ہے۔

حملہ کا عمل

USDC کے خلاف حملہ ٹریڈ کے مثال کے طور پر:

(1) حملہ آور کوآرڈینیٹر کو بلاتا ہے اور موجودہ بلاک کو armed سیٹ کرتا ہے (2) حملہ آور ٹریگر کو بلاتا ہے اور کئی جعلی Ring V2 pair کی حالت کو اپڈیٹ کرتا ہے (3) MEV Bot اربٹریج کے موقع کو پکڑتا ہے اور ٹریڈ کرتا ہے

MEV بٹ کی ٹریڈنگ کا اندر کا عمل درج ذیل ہے:

(1) MEV Bot کنٹریکٹ نے کسی سب کنٹریکٹ کو بڑی مقدار میں USDC کا اجازت نامہ دیا۔ (2) MEV Bot نے سب کنٹریکٹ کے wrapTo/wrap فنکشن کو کال کیا۔ (3) سب کنٹریکٹ، جو موجودہ حالت میں armed ہے، اصل USDC کا استعمال نہیں کرتا بلکہ pair پر جعلی ٹوکن مسٹ کرتا ہے، جس سے USDC کی اجازت برقرار رہتی ہے۔ (4) MEV Bot جاری رکھتا ہے اور جعلی pair کے swap کو کال کرتا ہے۔ (5) دوسرے قدم کا pair ٹوکن MEV Bot کو بھیجتا ہے۔ (6) hub کنٹریکٹ MEV Bot کو تھوڑا سا اصل USDC منافع ادا کرتا ہے۔

تصویر

منظوری کا مثال

ٹی ایکس ہیش: 0x0121e07a916c06eea3e7daf11893f3f0b95b9e1684124545ae14c32aee6029bb

MEV Bot نے دیکھا: ایک کامیاب آربٹریج ٹریڈ جس سے اصل USDC منافع حاصل ہوا۔ لیکن USDC کی اجازت ذیلی معاہدے کے ذریعے برقرار رکھی گئی۔ اس طرح کے عمل کو USDC، USDT، WETH کے لیے الگ الگ دہرایا گیا، جس سے بڑی تعداد میں اجازتیں تشکیل پائیں۔

حملہ ٹریڈ ہیش ہے:

0x2be8704f5a59b69e0b71f64aefdb99eb0e8ae9fb3926147c581910d71bcf3e65

حملہ کرنے والے نے کوآرڈینیٹر کنٹریکٹ کا drain loop کال کیا، جس میں calldata میں 66 سب کنٹریکٹ کے پتے اور MEV Bot کنٹریکٹ کا پتا شامل تھا۔ جب تک MEV Bot کنٹریکٹ نے پہلے سب کنٹریکٹس کو امتیاز دے دیا تھا، سب کنٹریکٹس براہ راست متعلقہ اصل ٹوکنز کو حملہ آور کو منتقل کر سکتے ہیں۔

آخری نتیجہ:

- 20 USDC کے بڑے اختیارات مکمل طور پر استعمال ہو گئے۔ - 16 WETH کے بڑے اختیارات مکمل طور پر استعمال ہو گئے۔ - USDT کے کچھ اختیارات اب بھی موجود ہیں، لیکن USDT کا باقی余额 کافی نہیں۔

فندی کی روانی کا تجزیہ

حملہ کامیاب ہونے کے بعد، حملہ آور کا پتہ (0x3e37f4A10d771Ba9dE44b6d301410b1BEdeA65d0) کو $2.87M USDC، $2.04M USDT اور 1,474 WETH ملے۔ بعد میں حملہ آور نے اسٹیبل کرنسی کو ETH میں تبدیل کر کے درج ذیل 4 پتوں پر منتقل کر دیا:

- 0xe3Da36E4bd1a5738fa5D6Ef4F0e4dF40bDeB5f17 (تقریباً 1,000 ETH) - 0x74Dc5b93586D248D5Aec64b3586736FF0A0D0e65 (1,001 ETH) - 0xd8C125efCBc99408eC8723E9BBd81d1E8D39D845 (1,001 ETH) - 0x71d4416A7A85e08a5Fe7227Ca3B44Fc639e94e97 (1,423 ETH)

جس میں 0xe3Da3 نے 1,000 ETH کو Tornado Cash میں منتقل کر دیا ہے، دوسرے تین پتے کے ETH میں مزید کوئی منتقلی نہیں ہوئی۔ ان کے فنڈ فلو کا خاکہ درج ذیل ہے:

تصویر

اختتام

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

اصل متن دیکھیں

اعلان دستبرداری: اس صفحہ پر معلومات تیسرے فریق سے حاصل کی گئی ہوں گی اور یہ ضروری نہیں کہ KuCoin کے خیالات یا خیالات کی عکاسی کرے۔ یہ مواد کسی بھی قسم کی نمائندگی یا وارنٹی کے بغیر صرف عام معلوماتی مقاصد کے لیے فراہم کیا گیا ہے، اور نہ ہی اسے مالی یا سرمایہ کاری کے مشورے کے طور پر سمجھا جائے گا۔ KuCoin کسی غلطی یا کوتاہی کے لیے، یا اس معلومات کے استعمال کے نتیجے میں کسی بھی نتائج کے لیے ذمہ دار نہیں ہوگا۔ ڈیجیٹل اثاثوں میں سرمایہ کاری خطرناک ہو سکتی ہے۔ براہ کرم اپنے مالی حالات کی بنیاد پر کسی پروڈکٹ کے خطرات اور اپنے خطرے کی برداشت کا بغور جائزہ لیں۔ مزید معلومات کے لیے، براہ کرم ہماری استعمال کی شرائط اور خطرے کا انکشاف دیکھیں۔