
المؤلف: Jagjit Singh ، Cointelegraph ؛
1. نقاط الضعف المحتملة في العقود الذكية
على الرغم من أن العقود الذكية رائدة ، إلا أنها ليست محصنة ضد العيوب التي قد تستغلها الأطراف الضارة.
يعد عدم كفاية التحقق من المدخلات ضعفًا شائعًا ، مما يسمح للمهاجم بالتأثير على تنفيذ العقد من خلال توفير مدخلات غير متوقعة.بالإضافة إلى ذلك ، يمكن للتطبيق غير الصحيح لمنطق العمل أن يخلق سلوكًا غير متوقع أو فجوات منطقية في العقد ، مما يؤدي إلى نقاط الضعف.بالإضافة إلى ذلك ، يمكن للمكالمات الخارجية غير الآمنة (مثل المكالمات التي تتضمن واجهات ذات مصادر بيانات خارجية أو عقود أخرى) إنشاء نقاط ضعف إذا تم التعامل معها بشكل غير صحيح.
هجوم إعادة الدخول هو ضعف يحدث عندما يتصل العقد بعقد آخر من الخارج قبل إكمال تغيير الدولة.يتيح ذلك للعقد المسمى إعادة إدخال عقد المكالمات وقد يؤدي بعض عملياته مرة أخرى.يمكن أن يؤدي ذلك إلى سلوك غير متوقع ويسمح للمهاجم بتغيير حالة العقد ، والذي يمكنه استنزاف الأموال أو يكون له آثار سلبية أخرى.
بالنظر إلى إمكانية هذه الهجمات ، يجب على المطورين أيضًا ممارسة الحذر عند استخدام العقود الخارجية أو مصادر البيانات لضمان معالجة المكالمات الخارجية بشكل صحيح لتجنب السلوك غير المتوقع ونقاط الضعف.يمكنهم المساعدة في حماية العقود الذكية من التهديدات المتغيرة باستمرار من خلال مراقبة برامج الأمن عن كثب مثل اختبار العقود الذكية.
2. ما هو هجوم إعادة الدخول في عقد ذكي؟
في عقد ذكي ، يحدث هجوم إعادة الدخول عندما يستدعي العقد عقدًا آخر أو وظيفة من الخارج قبل إكمال تغيير الدولة.
يسمح ذلك للعقد المدعو بإعادة إدخال عقد الاتصال وقد يؤدي جزءًا من عملياته مرة أخرى ، مما قد يؤدي إلى سلوك ضار غير متوقع ومتكرر.على سبيل المثال ، عقد العقد A مكالمات B لإرسال الأموال ثم تعديل حالته الخاصة.
قد يحتوي مدونة العقد B على وظيفة رد اتصال تسمح لها بإعادة إدخال العقد A وقد تعيد تنفيذ وظيفة النقل قبل العقد A إلى تغيير حالتها.سيمكن ذلك المهاجم من الحصول على أموال من العقد عدة مرات قبل إكمال المعاملة الأولية.
إن منظمة الحكم الذاتي غير المركزية لعام 2016 (DAO) هي اختراق ethereum blockchain مثال آخر معروف.استفاد المهاجم من عيوب إعادة الدخول في رمز العقد الذكي لإزالة الأموال بشكل متكرر من DAO ، مما أدى في النهاية إلى ملايين الدولارات المسروقة في Ethereum (ETH).
بالإضافة إلى ذلك ، عانى بروتوكولات التمويل اللامركزي المتعدد (DEFI) بما في ذلك UNISWAP و LENDF.ME و Burgerswap و DurgebnB و Protocol Cream Finance و Siren من خسائر مالية كبيرة بسبب مواد الضعف القابلية للدخول.تسببت هذه الانتهاكات في خسائر قدرها 3.5 مليون دولار إلى 25 مليون دولار ، مما يبرز التهديد المستمر الذي تشكله نقاط الضعف في قطاع Defi.
3. كيفية إعادة دخول هجمات العمل
تستخدم هجمات إعادة الدخول التنفيذ المتسلسل لوظائف العقد الذكي والمكالمات الخارجية لتشكيل حلقة حيث يمكن للمهاجم تنفيذ وظائف محددة عدة مرات قبل الانتهاء ، مما قد يؤدي إلى سلوك ضار وسحب الأموال غير المصرح به.
عقد المهاجم “المحتالين” فعليًا “رد الاتصال على عقد الضحية إلى عقد المهاجم قبل أن يكمل الضحية تعديل الحالة.قد يؤدي هذا الإجراء إلى عمليات سحب متكررة أو إهمال آخر.
الصورة أعلاه توضح هجوم إعادة الدخول على العقود الذكية.يستدعي عقد المهاجم وظيفة “سحب ()” الضحية ، والتي ترسل Ethereum قبل تحديث الرصيد.ثم يتم إطلاق وظيفة استعداد المهاجم ، ومرة أخرى مكالمات متكررة الانسحاب () لاستنفاد الأموال من عقد الضحية.يستغل هذا الهجوم الموقف الذي فشل فيه الضحية في تحديث الرصيد قبل إرسال الأموال.
دعونا نستخدم مثالًا مبسطًا لتحطيم كيفية عمل هجمات إعادة الدخول:
عقد ذكي مع وظيفة “الانسحاب”
لنفترض أن هناك عقدًا ذكيًا رقميًا يسمح للمستخدمين بسحب الأموال.بالإضافة إلى تتبع أرصدة المستخدم ، فإن العقد لديه أيضًا وظيفة سحب لتسهيل سحب الأموال.عادةً ما تتيح ميزة السحب للمستخدمين سحب الرموز المميزة أو Ethereum من العقود الذكية إلى محفظتهم الشخصية.
تفاعل المستخدم وتنفيذ الوظيفة
يطلب المستخدم الانسحاب من المحفظة بمفرده.يستخدمون وظيفة السحب لإدخال مبلغ السحب المطلوب.
سوف تتحقق وظيفة السحب عند استدعاء ما إذا كان لدى المستخدم أموال كافية للانسحاب.إذا تم استيفاء المتطلبات ، فإنها تنقل الأموال المطلوبة إلى العنوان الذي حدده المستخدم.
مكالمة خارجية
هذا هو المكان الذي تظهر فيه نقاط الضعف.يقوم العقد بإجراء مكالمة خارجية لعقد أو حساب آخر قبل انعكاس السحب في رصيد المستخدم.
مكالمة متكررة
إذا كان رمز العقد الخارجي يحتوي على وظيفة يمكنها استدعاء العقد الأصلي مرة أخرى (مثل وظيفة الانسحاب الأخرى) ، يتم إنشاء حلقة عودية.هذا يسمح لاستدعاء طريقة السحب مرة أخرى قبل الانتهاء.
إعادة الدخول والاستخدام
ثم يستخدم المهاجم عقدًا ضارًا لاستغلال هذه الحلقة.يدعو عقد المهاجم بسرعة وظيفة سحب المحفظة مرة أخرى قبل تحديث الرصيد خلال عقد المحفظة يستدعي العقد الخارجي.
وظيفة العودة
في بعض الحالات ، يجوز للمهاجم استخدام ميزة العودة إلى العقد الذكي (ميزة فريدة من نوعها عندما يتلقى العقد مكالمة بدون أي بيانات أو إيثريوم).يمكن تنفيذ هجمات إعادة الدخول عن طريق استدعاء وظيفة الاحتياط مرارًا وتكرارًا بينما لا تزال الأموال تتم معالجتها.
التلاعب والسحب المتكررة
يمكن لعقد المهاجم إعادة استخدام ميزة الانسحاب في نفس المعاملة ، لأن عقد المحفظة يؤخر تحديث الرصيد حتى يتم استلام مكالمة خارجية.وبالتالي ، فإن هذا يسهل سحب الأموال دون إذن ، مما يسمح للمهاجمين بسرقة الأموال خارج حقوقهم القانونية.ثم تسبب في خسائر اقتصادية هائلة لمستخدمي عقد المحفظة.
4. عواقب إعادة الدخول إلى الهجمات
يمكن أن يكون لهجمات إعادة الدخول تأثير خطير على مستخدمي العقود الذكية لأن لديهم القدرة على التسبب في خسائر مالية كبيرة.
واحدة من أكثر العواقب المباشرة لهجوم إعادة الدخول هو السحب غير المصرح به أو التلاعب بالنقد الذي تم توفيره في عقد ذكي حساس.استغل المهاجم الضعف لسحب الأموال مرارًا وتكرارًا من العقد ، مما يستنفد رصيد العقد وربما تسبب خسائر مالية كبيرة للمستخدمين الذين يستثمرون أو تخزين الأصول في العقد المتأثر.
بالإضافة إلى ذلك ، قد تضعف هجمات إعادة الدخول ثقة المستخدمين في أمان وسلامة العقود الذكية وتقنيات blockchain.يمكن أن يكون للضعف في الضعف آثار كارثية ، كما يتضح من أحداث رفيعة المستوى مثل حادثة القرصنة DAO على ethereum blockchain في عام 2016 ، والتي تسببت في خسائر اقتصادية كبيرة وتلفت سمعة المجتمع.
بالإضافة إلى العواقب المالية قصيرة الأجل ، يمكن أن يكون لهجمات إعادة الدخول آثار طويلة الأجل مثل المخاوف التنظيمية والقانونية ، مما يؤدي إلى تراجع ثقة المستثمرين وتلف سمعة منصات ومشاريع blockchain.قد يؤدي تصور الضعف إلى أن يكون المستخدمون حذرين عند التفاعل مع العقود الذكية أو الاستثمار في التطبيقات اللامركزية (DAPPs) ، مما يعيق اعتماد وتوسيع تكنولوجيا blockchain.
5. كيفية تخفيف هجمات إعادة الدخول
من الضروري تنفيذ أفضل الممارسات في إنشاء العقود الذكية ومراجعة التدقيق للتخفيف من تهديد إعادة الدخول.
ويشمل ذلك استخدام قاعدة رمز معروفة مع سجل آمن ، وهو إحدى الطرق لتحقيق ذلك.تم اختبار هذه المكتبات على نطاق واسع وتراجعها على نطاق واسع ، مما يقلل من فرص إدخال نقاط الضعف.
يجب على المطورين أيضًا استخدام الفحوصات الأمنية مثل تصميمات “تأثير الفحص” لتقليل فرصة إعادة الدخول إلى تقليل هجمات إعادة الدخول من خلال ضمان حدوث تعديلات الدولة بشكل ذري.إذا كان ذلك متاحًا ، يمكنك استخدام إطار تطوير عقود ذكية وآمنة لإضافة دفاع إضافي ضد هذه الثغرات.
من غير المرجح أن يضيف المطورون حماية الأمان يدويًا ، حيث تتضمن هذه الأطر غالبًا طرقًا مدمجة وحماية مصممة خصيصًا لتجنب إعادة دخول هجمات.ومع ذلك ، مع استمرار تطور أمان blockchain ، يجب على المطورين الاستمرار في البحث عن تهديدات وضعف جديدة.