دليل أمان التمويل اللامركزي: استراتيجيات الحماية من القروض السريعة، والتلاعب بالأسعار، وهجمات إعادة الدخول

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

التمويل اللامركزي 常见安全漏洞及预防措施

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

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

! قسم أمان Cobo DeFi (الجزء الثاني) :D الثغرات الأمنية الشائعة والوقاية من eFi

قرض البرق

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

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

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

تحكم الأسعار

مشكلة التلاعب بالأسعار مرتبطة ارتباطًا وثيقًا بالقروض الفورية، وهناك نوعان شائعان منها:

  1. عند حساب الأسعار يتم استخدام بيانات من طرف ثالث، لكن الطريقة المستخدمة غير صحيحة أو أن الفحص مفقود مما يؤدي إلى التلاعب بالأسعار بشكل خبيث.

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

هجوم إعادة الدخول

أحد المخاطر الرئيسية لاستدعاء العقود الخارجية هو أنها يمكن أن تأخذ السيطرة على تدفق التحكم، وتقوم بإجراء تغييرات غير متوقعة على البيانات من خلال استدعاء الدوال. على سبيل المثال:

صلابة رسم الخرائط (address = > uint) أرصدة مستخدم خاصة ؛

وظيفة withdrawBalance() عامة { uint amountToWithdraw = userBalances[msg.sender]; (bool النجاح ، ) = msg.sender.call.value(amountToWithdraw)( "" ); require(success). أرصدة المستخدم[msg.sender] = 0; }

نظرًا لأن رصيد المستخدم يتم تعيينه إلى 0 فقط في نهاية الدالة، فإن الاستدعاء الثاني (وما بعده) لا يزال ينجح، وسيتم سحب الرصيد مرارًا وتكرارًا.

لحل مشكلة إعادة الإدخال، يجب الانتباه إلى النقاط التالية:

  1. ليس فقط لمنع مشكلة إعادة الدخول لوظيفة واحدة
  2. اتبع نمط Checks-Effects-Interactions في البرمجة
  3. استخدام modifier مقاوم للتكرار تم التحقق من فعاليته على مر الزمن

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

نصائح أمان المشروع

  1. تطوير العقود يتبع أفضل ممارسات الأمان.

  2. يمكن ترقية العقد وإيقافه: العديد من الهجمات ليست لمرة واحدة حيث يتم نقل جميع العملات، ولكن يتم تنفيذها على عدة معاملات. إذا كان هناك آلية مراقبة سليمة نسبيًا، يمكن اكتشافها في الوقت المناسب وإيقاف العقد، مما يقلل من الخسائر بشكل فعال.

  3. استخدام القفل الزمني: إذا كان هناك قفل زمني، فيمكن أن يمنح وقتًا كافيًا لاكتشاف الشذوذ واتخاذ الإجراءات.

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

  5. زيادة وعي جميع الموظفين بالأمان: يمكن تجنب العديد من مشكلات الأمان من خلال زيادة اليقظة.

  6. منع الأذى الداخلي، مع تعزيز إدارة المخاطر أثناء تحسين الكفاءة: يمكن أن تعزز آليات مثل التوقيع المتعدد وقفل الوقت الأمان مع ضمان الكفاءة.

  7. إدخال الأمان من الأطراف الثالثة: يجب إجراء تدقيق أمني على كل من الجانبين العلوي والسفلي، خاصة بالنسبة للعقود غير مفتوحة المصدر، يجب توخي الحذر بشكل خاص.

كيف يمكن للمستخدمين/مقدمي السيولة تحديد ما إذا كان العقد الذكي آمناً؟

  1. هل العقد مفتوح المصدر: لا تشارك في المشاريع غير المفتوحة المصدر.

  2. هل يستخدم المالك توقيعًا متعددًا، وهل التوقيع المتعدد لامركزي؟

  3. عرض حالة التداول الحالية للعقد: بما في ذلك وقت النشر، عدد التفاعلات، إلخ.

  4. هل العقد هو عقد وكيل، هل يمكن ترقيته، هل هناك قفل زمني.

  5. هل تم تدقيق العقد من قبل عدة مؤسسات، وهل صلاحيات المالك كبيرة جدًا.

  6. لاحظ الأوراق: المشاريع التي تستخدم أوراق معروفة تكون أكثر أمانًا، يجب أن تكون حذرًا بشكل خاص من الأوراق التي تم إنشاؤها ذاتيًا أو التي يمكن التلاعب بها.

باختصار، في بيئة Web3، يجب أن تبقى يقظًا وتسأل عدة "لماذا" لتجنب العديد من المخاطر المحتملة. سواء كان ذلك لمطوري المشاريع أو المستخدمين العاديين، يجب أن تولي أهمية لمشاكل الأمان وأن تنشئ وعيًا أمنيًا وآليات وقائية متكاملة.

DEFI13.02%
شاهد النسخة الأصلية
قد تحتوي هذه الصفحة على محتوى من جهات خارجية، يتم تقديمه لأغراض إعلامية فقط (وليس كإقرارات/ضمانات)، ولا ينبغي اعتباره موافقة على آرائه من قبل Gate، ولا بمثابة نصيحة مالية أو مهنية. انظر إلى إخلاء المسؤولية للحصول على التفاصيل.
  • أعجبني
  • 6
  • مشاركة
تعليق
0/400
MEVHunterNoLossvip
· منذ 1 س
هذه المشاكل الأمنية تعتبر der
شاهد النسخة الأصليةرد0
AirdropHustlervip
· منذ 13 س
还不如教教怎么刷 توزيع مجاني
شاهد النسخة الأصليةرد0
BearMarketBuildervip
· منذ 13 س
لقد أرسلت جميع الثغرات، كيف سيلعب هاكر بعد ذلك؟
شاهد النسخة الأصليةرد0
LightningAllInHerovip
· منذ 13 س
لا تتحدث عن ذلك، المرة الماضية عندما خسرت كل شيء كانت بسبب القروض السريعة.
شاهد النسخة الأصليةرد0
FUD_Whisperervip
· منذ 13 س
لقد قضيت نصف عام في الـdefi، لكن سرعة هاكر واحدة أفضل.
شاهد النسخة الأصليةرد0
defi_detectivevip
· منذ 13 س
هل تم استغلالك بغباء مرة أخرى؟
شاهد النسخة الأصليةرد0
  • تثبيت