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

ثغرة التخزين المؤقت تؤدي إلى سرقة أصول بقيمة 300,000 دولار

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

الخلفية

أدخلت نسخة Solidity 0.8.24 ميزة التخزين المؤقت المستندة إلى EIP-1153. هذه وسيلة جديدة لتخزين البيانات تهدف إلى توفير طريقة تخزين مؤقتة منخفضة التكلفة وفعالة أثناء المعاملات للمطورين. يتم تنفيذ التخزين المؤقت من خلال تعليمات EVM الجديدة TSTORE و TLOAD، ويتميز بتكلفة غاز منخفضة، واستمرارية داخل المعاملة، والتنظيف التلقائي.

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

سبب الهجوم

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

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

خطوات الهجوم

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

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

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

  4. يقوم المهاجم بإنشاء عقد ضار، يكون عنوانه مطابقًا للقيمة المخزنة مؤقتًا في المرة الثانية.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

قام المهاجم بسرقة أصول تقدر بحوالي 300,000 دولار أمريكي، بما في ذلك 17,814.8626 USDC، 1.4085 WBTC و119.871 WETH. تم تبادل WBTC مقابل 63.5596 WETH، وتم تبادل USDC مقابل 9.7122 WETH. بعد ذلك، تم تحويل إجمالي 193.1428 WETH إلى منصة مجهولة. كانت الأموال الأولية للمهاجم تأتي من تحويل 0.3 ETH إلى تلك المنصة.

ملخص

تتمحور هذه الهجمة حول استغلال المهاجمين لخاصية التخزين المؤقت التي تبقى ثابتة طوال فترة المعاملة، متجاوزين بذلك التحقق من صلاحيات دالة الاسترجاع. يُوصى بأن يقوم فريق المشروع بتنظيف القيم في التخزين المؤقت باستخدام tstore(key, 0) فور الانتهاء من استدعاء الدالة وفقًا للمنطق التجاري. في الوقت نفسه، يجب تعزيز تدقيق كود العقد واختبارات الأمان لمنع حدوث حالات مشابهة.

ETH5.97%
شاهد النسخة الأصلية
قد تحتوي هذه الصفحة على محتوى من جهات خارجية، يتم تقديمه لأغراض إعلامية فقط (وليس كإقرارات/ضمانات)، ولا ينبغي اعتباره موافقة على آرائه من قبل Gate، ولا بمثابة نصيحة مالية أو مهنية. انظر إلى إخلاء المسؤولية للحصول على التفاصيل.
  • أعجبني
  • 7
  • مشاركة
تعليق
0/400
VitaliksTwinvip
· منذ 3 س
هذه الموجة من الاستنتاج لا تزال تضيع الغاز
شاهد النسخة الأصليةرد0
CountdownToBrokevip
· منذ 3 س
30w جاء أخ آخر
شاهد النسخة الأصليةرد0
0xLuckboxvip
· منذ 3 س
مرة أخرى تم سرقة ثلاثمائة ألف ~ العقود الذكية تحافظ على الأمان ها
شاهد النسخة الأصليةرد0
OnchainGossipervip
· منذ 3 س
مرة أخرى تم استغلال الثغرة، هل أنت غبي؟
شاهد النسخة الأصليةرد0
GateUser-0717ab66vip
· منذ 3 س
30w أيضا يجرؤ على ذكره
شاهد النسخة الأصليةرد0
VibesOverChartsvip
· منذ 4 س
30w؟ يعني فقط رسوم تداول ليوم واحد
شاهد النسخة الأصليةرد0
DefiPlaybookvip
· منذ 4 س
استنادًا إلى عينة البيانات، فإن هذا النوع من ثغرات التخزين يؤدي إلى معدل خسارة يصل إلى 86.3%، احذر!
شاهد النسخة الأصليةرد0
  • تثبيت