مؤخراً، تعرض بروتوكول التشغيل البيني عبر السلاسل Poly Network لهجوم هاكر، مما أثار اهتماماً واسعاً في الصناعة. وفقاً لتحليل فريق الأمان، لم يكن هذا الهجوم نتيجة تسرب مفتاح keeper الخاص، بل قام المهاجم بتعديل عنوان keeper لعقد EthCrossChainData من خلال بيانات تم تشكيلها بعناية.
هجوم النواة
تكمن أهمية الهجوم في وظيفة verifyHeaderAndExecuteTx داخل عقد EthCrossChainManager. يمكن تنفيذ معاملات عبر السلاسل المحددة من خلال وظيفة _executeCrossChainTx. نظرًا لأن مالك عقد EthCrossChainData هو عقد EthCrossChainManager، فإنه قادر على استدعاء وظيفة putCurEpochConPubKeyBytes لعقد EthCrossChainData لتعديل keeper للعقد.
استغل المهاجمون دالة verifyHeaderAndExecuteTx لإدخال بيانات مُخصصة، مما يجعل دالة _executeCrossChainTx تستدعي دالة putCurEpochConPubKeyBytes لعقد EthCrossChainData، وبالتالي تغيير دور keeper إلى العنوان الذي يحدده المهاجم. بعد إتمام هذه الخطوة، يمكن للمهاجمين إنشاء معاملات واستخراج أي كمية من الأموال من العقد.
عملية الهجوم
المهاجم قام باستدعاء دالة putCurEpochConPubKeyBytes من خلال دالة verifyHeaderAndExecuteTx لعقد EthCrossChainManager، مما أدى إلى تغيير الحافظ.
بعد ذلك، قام المهاجم بتنفيذ سلسلة من معاملات الهجوم، واستخرج الأموال من العقد.
بسبب تعديل keeper، تم رفض تنفيذ المعاملات العادية لمستخدمين آخرين.
تم استخدام أساليب هجوم مماثلة أيضًا على شبكة الإيثيريوم، حيث قام الهاكر بتعديل keeper وشن الهجوم.
الخاتمة
تتمحور جوهر الهجوم حول إمكانية تعديل keeper لعقد EthCrossChainData بواسطة عقد EthCrossChainManager، حيث يمكن لدالة verifyHeaderAndExecuteTx في عقد EthCrossChainManager تنفيذ البيانات المدخلة من قبل المستخدم. استغل المهاجمون هذه الآلية من خلال إنشاء بيانات محددة لتعديل عنوان keeper لعقد EthCrossChainData، مما مكنهم من تحقيق هدف الهجوم.
تذكرنا هذه الحادثة مرة أخرى بأهمية أمان بروتوكولات السلسلة المتعددة، خاصة في إدارة الأدوار الرئيسية والتحكم في الصلاحيات. في المستقبل، يجب أن تكون المشاريع المماثلة أكثر حذرًا عند التصميم، لتجنب ظهور ثغرات قد يستغلها المهاجمون.
!
شاهد النسخة الأصلية
قد تحتوي هذه الصفحة على محتوى من جهات خارجية، يتم تقديمه لأغراض إعلامية فقط (وليس كإقرارات/ضمانات)، ولا ينبغي اعتباره موافقة على آرائه من قبل Gate، ولا بمثابة نصيحة مالية أو مهنية. انظر إلى إخلاء المسؤولية للحصول على التفاصيل.
تسجيلات الإعجاب 9
أعجبني
9
5
إعادة النشر
مشاركة
تعليق
0/400
TestnetNomad
· منذ 13 س
آه، لقد تم سرقة أخرى، لا يزال هؤلاء المحتالون يتكررون.
شاهد النسخة الأصليةرد0
NotSatoshi
· 08-16 15:15
البلوكتشين嫖老师
شاهد النسخة الأصليةرد0
GateUser-7b078580
· 08-16 15:11
مرة أخرى، ثغرات في العقود الذكية. كم عدد العقود المتبقية التي يمكن الوثوق بها؟
تم هجوم على شبكة بولي: تم التلاعب بـ EthCrossChainData عقد keeper
تحليل حادثة هجوم هاكر على شبكة بولي
مؤخراً، تعرض بروتوكول التشغيل البيني عبر السلاسل Poly Network لهجوم هاكر، مما أثار اهتماماً واسعاً في الصناعة. وفقاً لتحليل فريق الأمان، لم يكن هذا الهجوم نتيجة تسرب مفتاح keeper الخاص، بل قام المهاجم بتعديل عنوان keeper لعقد EthCrossChainData من خلال بيانات تم تشكيلها بعناية.
هجوم النواة
تكمن أهمية الهجوم في وظيفة verifyHeaderAndExecuteTx داخل عقد EthCrossChainManager. يمكن تنفيذ معاملات عبر السلاسل المحددة من خلال وظيفة _executeCrossChainTx. نظرًا لأن مالك عقد EthCrossChainData هو عقد EthCrossChainManager، فإنه قادر على استدعاء وظيفة putCurEpochConPubKeyBytes لعقد EthCrossChainData لتعديل keeper للعقد.
استغل المهاجمون دالة verifyHeaderAndExecuteTx لإدخال بيانات مُخصصة، مما يجعل دالة _executeCrossChainTx تستدعي دالة putCurEpochConPubKeyBytes لعقد EthCrossChainData، وبالتالي تغيير دور keeper إلى العنوان الذي يحدده المهاجم. بعد إتمام هذه الخطوة، يمكن للمهاجمين إنشاء معاملات واستخراج أي كمية من الأموال من العقد.
عملية الهجوم
المهاجم قام باستدعاء دالة putCurEpochConPubKeyBytes من خلال دالة verifyHeaderAndExecuteTx لعقد EthCrossChainManager، مما أدى إلى تغيير الحافظ.
بعد ذلك، قام المهاجم بتنفيذ سلسلة من معاملات الهجوم، واستخرج الأموال من العقد.
بسبب تعديل keeper، تم رفض تنفيذ المعاملات العادية لمستخدمين آخرين.
تم استخدام أساليب هجوم مماثلة أيضًا على شبكة الإيثيريوم، حيث قام الهاكر بتعديل keeper وشن الهجوم.
الخاتمة
تتمحور جوهر الهجوم حول إمكانية تعديل keeper لعقد EthCrossChainData بواسطة عقد EthCrossChainManager، حيث يمكن لدالة verifyHeaderAndExecuteTx في عقد EthCrossChainManager تنفيذ البيانات المدخلة من قبل المستخدم. استغل المهاجمون هذه الآلية من خلال إنشاء بيانات محددة لتعديل عنوان keeper لعقد EthCrossChainData، مما مكنهم من تحقيق هدف الهجوم.
تذكرنا هذه الحادثة مرة أخرى بأهمية أمان بروتوكولات السلسلة المتعددة، خاصة في إدارة الأدوار الرئيسية والتحكم في الصلاحيات. في المستقبل، يجب أن تكون المشاريع المماثلة أكثر حذرًا عند التصميم، لتجنب ظهور ثغرات قد يستغلها المهاجمون.
!