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

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

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

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

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

خلفية الحدث

تم تقديم إصدار Solidity 0.8.24 في يناير 2024 مع ميزة التخزين المؤقت (transient storage). هذه طريقة جديدة لتخزين البيانات تهدف إلى توفير تخزين مؤقت فعال من حيث التكلفة ومتاح خلال المعاملات للمطورين. يتم تحقيق التخزين المؤقت من خلال تعليمتي EVM الجديدة TSTORE و TLOAD، والتي تتميز بتكاليف غاز منخفضة، واستمرارية داخل المعاملة، وإزالة تلقائية.

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

سبب الهجوم

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

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

عملية الهجوم

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

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

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

  4. يقوم المهاجم بإنشاء عقد خبيث يكون عنوانه مطابقًا لعدد الصكوك الذي تم تخزينه مؤقتًا سابقًا.

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

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

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

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

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

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

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

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

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

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

بقايا قاتلة: سرقة داخل السلسلة بقيمة 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 تم تحويلها من شبكة مجهولة.

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

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

الملخص والتوصيات

استغل هذا الهجوم خاصية التخزين المؤقت التي تظل ثابتة طوال مدة المعاملة، ونجح في تجاوز التحقق من أذونات دالة الاستدعاء. للحد من وقوع أحداث مماثلة، يُنصح الأطراف المعنية بالمشروع بـ:

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

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

شاهد النسخة الأصلية
قد تحتوي هذه الصفحة على محتوى من جهات خارجية، يتم تقديمه لأغراض إعلامية فقط (وليس كإقرارات/ضمانات)، ولا ينبغي اعتباره موافقة على آرائه من قبل Gate، ولا بمثابة نصيحة مالية أو مهنية. انظر إلى إخلاء المسؤولية للحصول على التفاصيل.
  • أعجبني
  • 6
  • مشاركة
تعليق
0/400
GhostChainLoyalistvip
· 07-23 20:02
فوّت الفرصة! مرة أخرى مشروع تم خداع الناس لتحقيق الربح.
شاهد النسخة الأصليةرد0
HypotheticalLiquidatorvip
· 07-23 17:12
300 ألف؟ هذا هو ما يحدث في تنقية السوق...
شاهد النسخة الأصليةرد0
P2ENotWorkingvip
· 07-20 21:17
فريق المشروع مرة أخرى نائم في سبات عميق
شاهد النسخة الأصليةرد0
BlockchainRetirementHomevip
· 07-20 21:16
مرة أخرى نرى العقود الذكية يُستغل بغباء.
شاهد النسخة الأصليةرد0
DYORMastervip
· 07-20 20:49
يبدو جيدًا ولكنه غير مفيد، حتى الكود لا يمكن مراجعته
شاهد النسخة الأصليةرد0
DecentralizedEldervip
· 07-20 20:47
أخذت ما أخذت، المشروع حقًا ضعيف جدًا.
شاهد النسخة الأصليةرد0
  • تثبيت