تحليل حادثة هجوم داخل السلسلة بقيمة 300000 دولار بسبب ثغرة التخزين اللحظي
في 30 مارس 2025، تعرض مشروع تداول الرافعة المالية داخل السلسلة لهجوم، مما أسفر عن خسارة تزيد عن 300,000 دولار من الأصول. قامت فريق الأمان بتحليل متعمق لهذه الحادثة، والآن تشارك النتائج على النحو التالي:
الخلفية
وقع الهجوم على شبكة Ethereum ، وكان الهدف هو مشروع تداول بالرافعة المالية. استغل المهاجمون ثغرة تتعلق بالتخزين المؤقت في عقد المشروع.
المعرفة المسبقة
أدخلت النسخة 0.8.24 من Solidity ميزة التخزين اللحظي (transient storage)، وهو موقع جديد لتخزين البيانات. تشمل الميزات الرئيسية ما يلي:
تكلفة الغاز المنخفضة: تستهلك عمليات TSTORE و TLOAD 100 غاز ثابتة
استمرارية البيانات داخل الصفقة: تبقى البيانات سارية طوال فترة الصفقة
إزالة تلقائية: إعادة تعيين تلقائيًا إلى صفر بعد انتهاء الصفقة
سبب الثغرة
السبب الجذري للهجوم هو أن القيم المستخدمة في التخزين المؤقت المؤقت باستخدام tstore في العقد لم يتم مسحها بعد انتهاء استدعاء الدالة. وهذا يسمح للمهاجمين بالاستفادة من هذه الميزة لإنشاء عنوان معين، وتجاوز فحص الأذونات وتحويل الرموز.
عملية الهجوم
المهاجم ينشئ رمزين خبيثين A و B، ويقوم بإنشاء حوض سيولة لهما على أحد DEX.
استدعاء دالة initialize للعقد المستهدف، لإنشاء سوق تداول ذي رافعة مالية باستخدام رمز A كضمان ورمز B كرمز دين.
استدعاء دالة mint لإيداع رموز B لصك رموز الرافعة المالية، تم إجراء عمليتين للتخزين العابر خلال هذه العملية.
إنشاء عقد خبيث بعنوان يساوي قيمة التخزين المؤقت الثانية.
من خلال استدعاء دالة رد الاتصال للعقد المستهدف بواسطة العقد الخبيث، يتم تجاوز فحص الأذونات لسحب الرموز.
وأخيرًا، من خلال هجوم على العقد (رمز A) يتم استدعاء دالة الاسترجاع مرة أخرى، وتحويل رموز أخرى (مثل WBTC، WETH) لتحقيق الربح.
تحليل تدفق الأموال
المهاجمون سرقوا حوالي 300,000 دولار من الأصول، بما في ذلك:
17,814.8626 دولار أمريكي
1.4085 WBTC
119.871 WETH
ثم قام المهاجم بتبادل WBTC و USDC إلى WETH، وفي النهاية قام بتحويل 193.1428 WETH إلى خدمة خلط معينة.
تمويل المهاجم الأولي (0.3 ETH) يأتي أيضًا من هذه الخدمة لخلط العملات.
ملخص وتوصيات
تتمثل جوهر الهجوم هذه المرة في استغلال خاصية الحفاظ على القيم ثابتة خلال فترة المعاملة، مما يجنب التحقق من صلاحيات العقد. لمنع هجمات مماثلة، يُنصح الجهات المعنية بالمشروع بـ:
استخدم tstore(key على الفور بعد انتهاء استدعاء الوظيفة لمسح القيم من التخزين المؤقت.
تعزيز تدقيق كود العقد واختبارات الأمان.
استخدم الميزات اللغوية الجديدة بحذر وفهم المخاطر المحتملة بشكل كامل.
قد تحتوي هذه الصفحة على محتوى من جهات خارجية، يتم تقديمه لأغراض إعلامية فقط (وليس كإقرارات/ضمانات)، ولا ينبغي اعتباره موافقة على آرائه من قبل Gate، ولا بمثابة نصيحة مالية أو مهنية. انظر إلى إخلاء المسؤولية للحصول على التفاصيل.
تسجيلات الإعجاب 7
أعجبني
7
6
مشاركة
تعليق
0/400
PensionDestroyer
· منذ 15 س
又有حمقى寄了
شاهد النسخة الأصليةرد0
TestnetFreeloader
· منذ 15 س
آه، كم هو مجاني، حتى أنهم لا يستطيعون الاحتفاظ بمشاريعهم الخاصة.
شاهد النسخة الأصليةرد0
LootboxPhobia
· منذ 15 س
لقد حدث شيء سيء، لقد وقع أخ آخر في الفخ.
شاهد النسخة الأصليةرد0
BearMarketMonk
· منذ 15 س
تمت سرقة العقد أثناء استغلال العرض
شاهد النسخة الأصليةرد0
DeFiAlchemist
· منذ 15 س
آه، خروف آخر ضحية لفنون استغلال العقود الذكية... *يعدل كرة الكريستال* هذه الثغرات في التخزين المؤقت تشبه الشقوق في الختم المحكم لعلم بروتوكول الكيمياء.
ثغرة تخزين مؤقت تؤدي إلى هجوم بقيمة 300,000 دولار على مشروع داخل السلسلة، تحليل الخبراء واقتراحات للوقاية
تحليل حادثة هجوم داخل السلسلة بقيمة 300000 دولار بسبب ثغرة التخزين اللحظي
في 30 مارس 2025، تعرض مشروع تداول الرافعة المالية داخل السلسلة لهجوم، مما أسفر عن خسارة تزيد عن 300,000 دولار من الأصول. قامت فريق الأمان بتحليل متعمق لهذه الحادثة، والآن تشارك النتائج على النحو التالي:
الخلفية
وقع الهجوم على شبكة Ethereum ، وكان الهدف هو مشروع تداول بالرافعة المالية. استغل المهاجمون ثغرة تتعلق بالتخزين المؤقت في عقد المشروع.
المعرفة المسبقة
أدخلت النسخة 0.8.24 من Solidity ميزة التخزين اللحظي (transient storage)، وهو موقع جديد لتخزين البيانات. تشمل الميزات الرئيسية ما يلي:
سبب الثغرة
السبب الجذري للهجوم هو أن القيم المستخدمة في التخزين المؤقت المؤقت باستخدام tstore في العقد لم يتم مسحها بعد انتهاء استدعاء الدالة. وهذا يسمح للمهاجمين بالاستفادة من هذه الميزة لإنشاء عنوان معين، وتجاوز فحص الأذونات وتحويل الرموز.
عملية الهجوم
تحليل تدفق الأموال
المهاجمون سرقوا حوالي 300,000 دولار من الأصول، بما في ذلك:
ثم قام المهاجم بتبادل WBTC و USDC إلى WETH، وفي النهاية قام بتحويل 193.1428 WETH إلى خدمة خلط معينة.
تمويل المهاجم الأولي (0.3 ETH) يأتي أيضًا من هذه الخدمة لخلط العملات.
ملخص وتوصيات
تتمثل جوهر الهجوم هذه المرة في استغلال خاصية الحفاظ على القيم ثابتة خلال فترة المعاملة، مما يجنب التحقق من صلاحيات العقد. لمنع هجمات مماثلة، يُنصح الجهات المعنية بالمشروع بـ: