ثغرة تخزين مؤقت تؤدي إلى هجوم بقيمة 300,000 دولار على مشروع إثيريوم، فريق الأمان يفسر التفاصيل الرئيسية

robot
إنشاء الملخص قيد التقدم

تحليل حادثة هجوم بقيمة 300,000 دولار داخل السلسلة الناجمة عن ثغرة التخزين اللحظي

في 30 مارس 2025، تعرض مشروع تداول الرافعة المالية على شبكة إيثيريوم لهجوم، مما أدى إلى خسارة أصول تزيد عن 300,000 دولار. قامت فرق الأمان بإجراء تحليل عميق لهذا الحدث، والآن تشارك النتائج على النحو التالي:

المعرفة الخلفية

إصدار Solidity 0.8.24 قدم ميزة التخزين اللحظي (transient storage)، وهو موقع جديد لتخزين البيانات. تشمل الميزات الرئيسية ما يلي:

  1. تكلفة الغاز المنخفضة: تكلفة الغاز لعمليات TSTORE و TLOAD ثابتة عند 100.
  2. الاستمرارية داخل المعاملات: تبقى البيانات صالحة طوال مدة المعاملة.
  3. إزالة تلقائية: بعد انتهاء الصفقة، يتم إعادة تعيين التخزين المؤقت إلى صفر.

تبعات مميتة: عملية سطو داخل السلسلة بقيمة 300,000 دولار ناتجة عن تخزين عابر

سبب الهجوم

السبب الجذري لهذا الحدث هو أن القيم المستخدمة في التخزين المؤقت المؤقت باستخدام tstore لم يتم مسحها بعد انتهاء استدعاء الدالة. استغل المهاجم هذه الميزة، وقام بإنشاء عنوان ضار محدد لتجاوز فحص الأذونات، وبالتالي تحويل الرموز.

بقايا قاتلة: عملية سطو داخل السلسلة بقيمة 300,000 دولار ناتجة عن تخزين مؤقت

خطوات الهجوم

  1. يقوم المهاجم بإنشاء رمزين خبيثين A و B، ويقوم بإنشاء تجمع لهذين الرمزين على DEX معين لضخ السيولة.

  2. يقوم المهاجم باستدعاء دالة initialize لعقد Vault، ويستخدم رمز A كرمز ضمان ورمز B كنقود دين لإنشاء سوق تداول بالرافعة.

  3. يقوم المهاجم باستدعاء دالة mint لعقد Vault، وإيداع رمز الدين B لصك رمز الرفع. خلال هذه العملية، يتم تخزين عنوان تجمع DEX بشكل مؤقت للمرة الأولى.

  4. عندما يقوم حوض DEX بعمليات التبادل، سيتم استدعاء دالة uniswapV3SwapCallback لعقد Vault. تستخدم هذه الدالة tload لاسترداد القيم من التخزين المؤقت للتحقق من هوية المتصل، وتقوم بتخزين الكمية المصدرة في التخزين المؤقت مرة أخرى.

  5. يقوم المهاجم بإنشاء عقد خبيث، يكون عنوانه هو نفس قيمة التخزين المؤقت الثاني.

  6. يقوم المهاجم باستدعاء وظيفة uniswapV3SwapCallback لعقد Vault مباشرة من خلال العقد الخبيث لسحب الرموز. نظرًا لأن القيم في التخزين المؤقت لم يتم مسحها، مما أدى إلى تجاوز المصادقة بشكل خاطئ.

  7. أخيراً، يقوم المهاجم من خلال هجوم على العقد (رمز A) باستدعاء دالة uniswapV3SwapCallback لعقد Vault، مما يؤدي إلى نقل رموز أخرى من عقد Vault (مثل WBTC، WETH) لتحقيق الربح.

البقايا القاتلة: عملية سطو على داخل السلسلة بقيمة 300,000 دولار ناجمة عن تخزين مؤقت

بقايا قاتلة: سرقة بقيمة 300,000 دولار داخل السلسلة ناتجة عن تخزين عابر

بقايا قاتلة: عملية سطو داخل السلسلة بقيمة 300,000 دولار ناتجة عن تخزين مؤقت

البقايا القاتلة: عملية سطو داخل السلسلة بقيمة 300,000 دولار ناجمة عن التخزين المؤقت

بقايا قاتلة: عملية سطو بقيمة 300,000 دولار داخل السلسلة نتيجة التخزين العابر

بقايا مميتة: عملية سطو داخل السلسلة بقيمة 300,000 دولار ناجمة عن تخزين مؤقت

المسؤولية القاتلة: عملية سطو داخل السلسلة بقيمة 300,000 دولار ناتجة عن التخزين المؤقت

بقايا قاتلة: عملية سطو داخل السلسلة بقيمة 300,000 دولار ناجمة عن التخزين المؤقت

بقايا مميتة: سرقة بقيمة 300,000 دولار داخل السلسلة ناجمة عن التخزين العابر

البقايا المميتة: عملية سطو داخل السلسلة بقيمة 300000 دولار ناجمة عن التخزين العابر

بقايا قاتلة: عملية سطو داخل السلسلة بقيمة 300,000 دولار ناتجة عن تخزين عابر

بقايا قاتلة: عملية سطو داخل السلسلة بقيمة 300,000 دولار ناجمة عن تخزين لحظي

الآثار الضارة: عملية سطو بقيمة 300000 دولار داخل السلسلة ناجمة عن التخزين المؤقت

تحليل تدفق الأموال

وفقًا لتحليل أدوات مكافحة غسل الأموال والتعقب داخل السلسلة، قام المهاجمون بسرقة أصول تقدر بحوالي 300,000 دولار، بما في ذلك:

  • 17,814.8626 دولار أمريكي
  • 1.4085 WBTC
  • 119.871 WETH

بعد ذلك، قام المهاجم بتحويل WBTC و USDC إلى WETH، حيث تم تحويل ما مجموعه 193.1428 WETH إلى أداة خلط معينة. كانت مصادر الأموال الأولية للمهاجم هي 0.3 ETH التي تم تحويلها من تلك الأداة.

بقايا قاتلة: عملية سطو بقيمة 300,000 دولار داخل السلسلة بسبب التخزين اللحظي

بقايا قاتلة: عملية سطو داخل السلسلة بقيمة 300,000 دولار ناشئة عن التخزين العابر

نصائح الأمان

  1. يجب على فريق المشروع استخدام tstore(key على الفور بعد انتهاء استدعاء الدالة لتنظيف القيم في التخزين المؤقت الداخلي بناءً على المنطق التجاري.

  2. تعزيز تدقيق كود العقد واختبار الأمان، لتجنب ثغرات مماثلة.

  3. استخدم الخصائص الجديدة بحذر، وكن على دراية كاملة بالمخاطر المحتملة.

  4. إنشاء آلية تحقق متعددة، ولا تعتمد فقط على طريقة تحقق واحدة.

  5. إجراء تقييمات أمنية وفحص الثغرات بشكل دوري، وإصلاح المشكلات المكتشفة في الوقت المناسب.

تؤكد هذه الحادثة الهجومية مرة أخرى على ضرورة أن تكون مشاريع داخل السلسلة حذرة بشكل خاص عند استخدام ميزات التكنولوجيا الجديدة، كما تبرز أهمية التدقيق الأمني المستمر. يجب على المطورين أن يكونوا دائمًا على دراية بأحدث ممارسات الأمان وأن يتبعوا بدقة في تنفيذ الشيفرة.

شاهد النسخة الأصلية
قد تحتوي هذه الصفحة على محتوى من جهات خارجية، يتم تقديمه لأغراض إعلامية فقط (وليس كإقرارات/ضمانات)، ولا ينبغي اعتباره موافقة على آرائه من قبل Gate، ولا بمثابة نصيحة مالية أو مهنية. انظر إلى إخلاء المسؤولية للحصول على التفاصيل.
  • أعجبني
  • 7
  • مشاركة
تعليق
0/400
DegenWhisperervip
· منذ 21 س
يُستغل بغباء. اليوم مرة أخرى بدأ.
شاهد النسخة الأصليةرد0
PensionDestroyervip
· منذ 21 س
30w مرة أخرى تم ترطيبها
شاهد النسخة الأصليةرد0
AirDropMissedvip
· منذ 21 س
又被 خُداع الناس لتحقيق الربح 了一波 حمقى
شاهد النسخة الأصليةرد0
ruggedNotShruggedvip
· منذ 21 س
تقلصت الأبعاد، الآن هذه الهجمات ليست بمشكلة.
شاهد النسخة الأصليةرد0
SillyWhalevip
· منذ 21 س
又有小项目被يُستغل بغباء.
شاهد النسخة الأصليةرد0
RugPullAlarmvip
· منذ 21 س
تم الكشف عن عقد آخر لم يتم تنظيفه بشكل جيد
شاهد النسخة الأصليةرد0
SwingingLittleLeekvip
· منذ 21 س
近期 إثيريوم 3000+上方游走!未来会继母 3000+以上
شاهد النسخة الأصليةرد0
  • تثبيت