عملية سطو داخل السلسلة ناجمة عن التخزين المؤقت: وراء خسارة 300,000 دولار
في 30 مارس 2025، تعرض مشروع تداول بالهامش على سلسلة إيثريوم يسمى SIR.trading لهجوم، مما أدى إلى خسارة أصول تزيد عن 300 ألف دولار. قامت فرق الأمان بإجراء تحليل عميق لهذا الحدث، كاشفة عن تفاصيل وأسباب الهجوم.
خلفية الحدث
استغل المهاجمون ميزة التخزين المؤقت التي تم إدخالها في إصدار Solidity 0.8.24. تم تصميم موقع تخزين البيانات الجديد هذا لتوفير طريقة تخزين مؤقت فعالة من حيث التكلفة أثناء المعاملات. تشمل الميزات الرئيسية للتخزين المؤقت:
تكلفة الغاز منخفضة: رسوم المعاملة ثابتة بـ 100 غاز.
استمرارية البيانات داخل المعاملة: تظل البيانات صالحة طوال فترة المعاملة.
الإزالة التلقائية: بعد انتهاء الصفقة، يتم إعادة تعيين التخزين تلقائيًا إلى صفر.
مصدر الهجوم
السبب الجذري للهجوم هو أن القيم المستخدمة في التخزين المؤقت المؤقت في الدالة باستخدام tstore لم يتم مسحها بعد انتهاء استدعاء الدالة. وهذا يتيح للمهاجمين بناء عناوين ضارة معينة لتجاوز فحص الصلاحيات وتحويل الرموز.
عملية الهجوم
يقوم المهاجم بإنشاء رمزين خبيثين A و B، ويقوم بإنشاء برك لهذين الرمزين على DEX معين وضخ السيولة.
يقوم المهاجم باستدعاء دالة initialize لعقد Vault، باستخدام توكن A كضمان، وتوكن B كتوكن دين لإنشاء سوق تداول بالرافعة المالية.
يقوم المهاجم باستدعاء دالة mint لعقد Vault، ويودع رمز الدين B لصك رمز الرافعة. خلال هذه العملية، يتم تخزين عنوان تجمع DEX وكمية الصك بشكل مؤقت.
يقوم المهاجم بإنشاء عقد خبيث، تكون عنوانه هو نفسه العدد الذي تم سكّه في التخزين المؤقت السابق.
قام المهاجم باستدعاء دالة الاستدعاء لعقد Vault من خلال عقد ضار، وبسبب عدم مسح القيم في التخزين المؤقت، تمكن من تجاوز فحص الأذونات بنجاح.
أخيرًا، يقوم المهاجم بالاتصال مباشرة بوظيفة الاستدعاء لعقد Vault من خلال هجوم العقد، مما يؤدي إلى تحويل رموز أخرى (مثل WBTC و WETH) لتحقيق الربح.
تحليل تدفق الأموال
وفقًا لبيانات أدوات التحليل داخل السلسلة ، سرق المهاجمون أصولًا تقدر بحوالي 300,000 دولار أمريكي ، بما في ذلك:
17,814.8626 دولار أمريكي
1.4085 WBTC
119.871 WETH
تم تحويل هذه الأصول لاحقًا إلى WETH، وتم نقلها في النهاية إلى أداة مجهولة. كان مصدر الأموال الأولية للمهاجم هو 0.3 ETH الذي تم نقله من تلك الأداة.
نصائح الأمان
لتجنب هجمات مماثلة، ينبغي على المشروع أن:
استخدم tstore(key على الفور بعد انتهاء استدعاء الدالة، 0) لمسح القيم من الذاكرة المؤقتة.
تعزيز تدقيق كود العقد واختبارات الأمان.
استخدم بحذر الميزات اللغوية الجديدة المدخلة، وتأكد من فهم المخاطر المحتملة.
تُبرز هذه الحادثة مرة أخرى أهمية الحفاظ على التوازن بين الأمان وتطبيق التقنيات الجديدة في تطوير مشاريع داخل السلسلة. مع استمرار تقدم التكنولوجيا، يحتاج المطورون وخبراء الأمان إلى البقاء يقظين، والتعرف على التحديات الأمنية الجديدة والتعامل معها في الوقت المناسب.
قد تحتوي هذه الصفحة على محتوى من جهات خارجية، يتم تقديمه لأغراض إعلامية فقط (وليس كإقرارات/ضمانات)، ولا ينبغي اعتباره موافقة على آرائه من قبل Gate، ولا بمثابة نصيحة مالية أو مهنية. انظر إلى إخلاء المسؤولية للحصول على التفاصيل.
تسجيلات الإعجاب 9
أعجبني
9
7
مشاركة
تعليق
0/400
MemeTokenGenius
· منذ 7 س
يا لها من سذاجة، هل سيتم إطلاقها دون اختبار حتى؟
شاهد النسخة الأصليةرد0
quiet_lurker
· منذ 7 س
مشروع آخر يتم دكّه على الأرض
شاهد النسخة الأصليةرد0
PumpBeforeRug
· منذ 7 س
سمعت أن هذه المرة ستدير رأسها وتهرب~العقود الذكية ثغرة صغيرة
شاهد النسخة الأصليةرد0
MEVHunter
· منذ 7 س
هذه 30w رخيصة جدا حتى أنني كسول لطلب القروض السريعة
ثغرة التخزين المؤقت تؤدي إلى هجوم هاكر بقيمة 300,000 دولار على مشروع إثيريوم
عملية سطو داخل السلسلة ناجمة عن التخزين المؤقت: وراء خسارة 300,000 دولار
في 30 مارس 2025، تعرض مشروع تداول بالهامش على سلسلة إيثريوم يسمى SIR.trading لهجوم، مما أدى إلى خسارة أصول تزيد عن 300 ألف دولار. قامت فرق الأمان بإجراء تحليل عميق لهذا الحدث، كاشفة عن تفاصيل وأسباب الهجوم.
خلفية الحدث
استغل المهاجمون ميزة التخزين المؤقت التي تم إدخالها في إصدار Solidity 0.8.24. تم تصميم موقع تخزين البيانات الجديد هذا لتوفير طريقة تخزين مؤقت فعالة من حيث التكلفة أثناء المعاملات. تشمل الميزات الرئيسية للتخزين المؤقت:
مصدر الهجوم
السبب الجذري للهجوم هو أن القيم المستخدمة في التخزين المؤقت المؤقت في الدالة باستخدام tstore لم يتم مسحها بعد انتهاء استدعاء الدالة. وهذا يتيح للمهاجمين بناء عناوين ضارة معينة لتجاوز فحص الصلاحيات وتحويل الرموز.
عملية الهجوم
يقوم المهاجم بإنشاء رمزين خبيثين A و B، ويقوم بإنشاء برك لهذين الرمزين على DEX معين وضخ السيولة.
يقوم المهاجم باستدعاء دالة initialize لعقد Vault، باستخدام توكن A كضمان، وتوكن B كتوكن دين لإنشاء سوق تداول بالرافعة المالية.
يقوم المهاجم باستدعاء دالة mint لعقد Vault، ويودع رمز الدين B لصك رمز الرافعة. خلال هذه العملية، يتم تخزين عنوان تجمع DEX وكمية الصك بشكل مؤقت.
يقوم المهاجم بإنشاء عقد خبيث، تكون عنوانه هو نفسه العدد الذي تم سكّه في التخزين المؤقت السابق.
قام المهاجم باستدعاء دالة الاستدعاء لعقد Vault من خلال عقد ضار، وبسبب عدم مسح القيم في التخزين المؤقت، تمكن من تجاوز فحص الأذونات بنجاح.
أخيرًا، يقوم المهاجم بالاتصال مباشرة بوظيفة الاستدعاء لعقد Vault من خلال هجوم العقد، مما يؤدي إلى تحويل رموز أخرى (مثل WBTC و WETH) لتحقيق الربح.
تحليل تدفق الأموال
وفقًا لبيانات أدوات التحليل داخل السلسلة ، سرق المهاجمون أصولًا تقدر بحوالي 300,000 دولار أمريكي ، بما في ذلك:
تم تحويل هذه الأصول لاحقًا إلى WETH، وتم نقلها في النهاية إلى أداة مجهولة. كان مصدر الأموال الأولية للمهاجم هو 0.3 ETH الذي تم نقله من تلك الأداة.
نصائح الأمان
لتجنب هجمات مماثلة، ينبغي على المشروع أن:
تُبرز هذه الحادثة مرة أخرى أهمية الحفاظ على التوازن بين الأمان وتطبيق التقنيات الجديدة في تطوير مشاريع داخل السلسلة. مع استمرار تقدم التكنولوجيا، يحتاج المطورون وخبراء الأمان إلى البقاء يقظين، والتعرف على التحديات الأمنية الجديدة والتعامل معها في الوقت المناسب.