تحليل حادثة هجوم شبكة بولي: التفاصيل تكشف كيف استغل المهاجمون ثغرات العقد بمهارة
مؤخراً، تعرض بروتوكول التشغيل البيني عبر السلاسل Poly Network لهجوم من قراصنة، مما أثار اهتماماً واسعاً في الصناعة. قامت فرق الأمان بتحليل عميق لهذا الحدث، واعتبرت أن المهاجمين قاموا بتعديل keeper لعقد EthCrossChainData من خلال بيانات مصممة بعناية، وليس كما تم تداول سابقاً حول تسريب مفتاح keeper الخاص.
نقاط الهجوم الرئيسية
جوهر الهجوم يكمن في وظيفة verifyHeaderAndExecuteTx لعقد EthCrossChainManager التي يمكن تنفيذ المعاملات عبر السلاسل من خلال وظيفة _executeCrossChainTx.
مالك عقد EthCrossChainData هو عقد EthCrossChainManager، الذي يمكنه استدعاء دالة putCurEpochConPubKeyBytes لتعديل keeper.
المهاجمون يستخدمون دالة verifyHeaderAndExecuteTx لتمرير بيانات تم بناؤها بعناية، مما يؤدي إلى تنفيذ دالة _executeCrossChainTx لدالة putCurEpochConPubKeyBytes، وبالتالي تغيير keeper إلى العنوان المحدد.
بعد استبدال عنوان keeper، يمكن للمهاجم بناء معاملات لسحب الأموال من العقد كما يشاء.
إعادة عملية الهجوم
يقوم المهاجم أولاً باستدعاء دالة putCurEpochConPubKeyBytes من خلال دالة verifyHeaderAndExecuteTx لعقد EthCrossChainManager، لتغيير keeper.
بعد تغيير keeper، بدأ المهاجمون بتنفيذ عدة معاملات هجوم، لسحب الأموال من العقد.
بعد الانتهاء من الهجوم، نظرًا لتعديل keeper، تم إرجاع معاملات المستخدمين الآخرين العادية.
تم تنفيذ أساليب هجوم مماثلة أيضًا على شبكة الإيثريوم.
!
ملخص الحدث
تتمثل النقطة الرئيسية في الهجوم في إمكانية تعديل keeper لعقد EthCrossChainData بواسطة عقد EthCrossChainManager، حيث يمكن لدالة verifyHeaderAndExecuteTx تنفيذ البيانات المدخلة من قبل المستخدم. استغل المهاجمون هذه النقطة، من خلال بناء بيانات معينة لتعديل عنوان keeper، وليس كما تم التكهن سابقًا بتسرب مفتاح keeper الخاص.
تُذكّر هذه الحادثة مرة أخرى الصناعة بضرورة تعزيز تدقيق أمان العقود الذكية، وخاصة بالنسبة للبروتوكولات المعقدة مثل التفاعل عبر سلاسل الكتل، حيث يتطلب الأمر تقييم أمان شامل ودقيق لتجنب استغلال الثغرات المحتملة. في الوقت نفسه، فإن التعاون المتعدد الأطراف والاستجابة السريعة أمران حاسمان لتقليل الخسائر وحماية حقوق المستخدمين.
شاهد النسخة الأصلية
قد تحتوي هذه الصفحة على محتوى من جهات خارجية، يتم تقديمه لأغراض إعلامية فقط (وليس كإقرارات/ضمانات)، ولا ينبغي اعتباره موافقة على آرائه من قبل Gate، ولا بمثابة نصيحة مالية أو مهنية. انظر إلى إخلاء المسؤولية للحصول على التفاصيل.
تسجيلات الإعجاب 8
أعجبني
8
3
مشاركة
تعليق
0/400
notSatoshi1971
· 08-04 15:12
يمكن فهم الشيفرة، لا أفهم لماذا كتب بهذه الغباء.
شاهد النسخة الأصليةرد0
AirdropHunterKing
· 08-04 15:08
مرة أخرى، لم يتم إغلاق العقد، وتمت سرقته من قبل احترافي، لذا واجه الثغرة بشكل مباشر
شاهد النسخة الأصليةرد0
LightningClicker
· 08-04 15:07
الثغرات واضحة للغاية، هل تم إطلاقها دون حتى النظر إليها؟
تعرضت شبكة بولي لهجوم هاكر واستغل الثغرة في العقد لتعديل keeper
تحليل حادثة هجوم شبكة بولي: التفاصيل تكشف كيف استغل المهاجمون ثغرات العقد بمهارة
مؤخراً، تعرض بروتوكول التشغيل البيني عبر السلاسل Poly Network لهجوم من قراصنة، مما أثار اهتماماً واسعاً في الصناعة. قامت فرق الأمان بتحليل عميق لهذا الحدث، واعتبرت أن المهاجمين قاموا بتعديل keeper لعقد EthCrossChainData من خلال بيانات مصممة بعناية، وليس كما تم تداول سابقاً حول تسريب مفتاح keeper الخاص.
نقاط الهجوم الرئيسية
جوهر الهجوم يكمن في وظيفة verifyHeaderAndExecuteTx لعقد EthCrossChainManager التي يمكن تنفيذ المعاملات عبر السلاسل من خلال وظيفة _executeCrossChainTx.
مالك عقد EthCrossChainData هو عقد EthCrossChainManager، الذي يمكنه استدعاء دالة putCurEpochConPubKeyBytes لتعديل keeper.
المهاجمون يستخدمون دالة verifyHeaderAndExecuteTx لتمرير بيانات تم بناؤها بعناية، مما يؤدي إلى تنفيذ دالة _executeCrossChainTx لدالة putCurEpochConPubKeyBytes، وبالتالي تغيير keeper إلى العنوان المحدد.
بعد استبدال عنوان keeper، يمكن للمهاجم بناء معاملات لسحب الأموال من العقد كما يشاء.
إعادة عملية الهجوم
يقوم المهاجم أولاً باستدعاء دالة putCurEpochConPubKeyBytes من خلال دالة verifyHeaderAndExecuteTx لعقد EthCrossChainManager، لتغيير keeper.
بعد تغيير keeper، بدأ المهاجمون بتنفيذ عدة معاملات هجوم، لسحب الأموال من العقد.
بعد الانتهاء من الهجوم، نظرًا لتعديل keeper، تم إرجاع معاملات المستخدمين الآخرين العادية.
تم تنفيذ أساليب هجوم مماثلة أيضًا على شبكة الإيثريوم.
!
ملخص الحدث
تتمثل النقطة الرئيسية في الهجوم في إمكانية تعديل keeper لعقد EthCrossChainData بواسطة عقد EthCrossChainManager، حيث يمكن لدالة verifyHeaderAndExecuteTx تنفيذ البيانات المدخلة من قبل المستخدم. استغل المهاجمون هذه النقطة، من خلال بناء بيانات معينة لتعديل عنوان keeper، وليس كما تم التكهن سابقًا بتسرب مفتاح keeper الخاص.
تُذكّر هذه الحادثة مرة أخرى الصناعة بضرورة تعزيز تدقيق أمان العقود الذكية، وخاصة بالنسبة للبروتوكولات المعقدة مثل التفاعل عبر سلاسل الكتل، حيث يتطلب الأمر تقييم أمان شامل ودقيق لتجنب استغلال الثغرات المحتملة. في الوقت نفسه، فإن التعاون المتعدد الأطراف والاستجابة السريعة أمران حاسمان لتقليل الخسائر وحماية حقوق المستخدمين.