الانهيار: كيف سرق المخترق 80 ألف إيثريوم من جسر سولانا ورمهول بلاتوبلوك تشين Data Intelligence. البحث العمودي. عاي.

الانهيار: كيف سرق المخترق 80k ETH من جسر Solana Wormhole

واحدة من أسوأ الخارقة حدث ضد Solana blockchain يوم الأربعاء عندما تمكن أحد المتطفلين من تحويل 80,000،214 ether (ETH) ، وأكثر من XNUMX مليون دولار في لحظة كتابة هذا التقرير ، من نظام Solana إلى Ethereum blockchain من خلال جسر Wormhole - وهي خدمة توفر القدرة على النقل الأموال بين سلاسل الكتل المختلفة.

وأوضح في تغريدة خيط من خلال الملف الشخصي على تويتر باسم مستعار العقود الذكية، أنهى المتسلل الاستغلال عن طريق نقل 80,000 ETH من عقد Wormhole الذكي على Ethereum في واحد صفقة. كما اتضح ، كانت هذه مجرد الخطوة الأخيرة في سلسلة من الاختراقات التي مكنت المتسلل من سرقة الأموال. 

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

وقع الأوصياء على تحويل مزيف

الثقب الدودي هو ما يسمى الجسر ، أ عقد الذكية، على Ethereum في هذه الحالة ، يوفر طريقة لنقل أصول التشفير بين سلاسل الكتل المختلفة. وفقًا للعقود الذكية ، من وجهة نظر عالية المستوى ، لدى Wormhole على وجه التحديد مجموعة من الأوصياء الذين يطلق عليهم اسم الأوصياء الذين يوقعون على عمليات النقل بين blockchains.

وقع حراس Wormhole بطريقة ما على هذا التحويل البالغ 80,000،100 ETH كما لو كان شرعيًا بنسبة XNUMX٪.

الصفقة التي سحبت 80,000 ETH كان في الواقع المهاجم الذي نقل 80,000 ETH من Solana إلى Ethereum. اعتقدت في الأصل أن العقد قد يكون قد تحقق بشكل غير صحيح من صحة التوقيعات على النقل ، ولكن تم سحب التوقيعات بالكامل ".

وفقًا للعقود الذكية ، جاء أول اختراق وتفسير جزئي من أ صفقة على سولانا التي سكت بطريقة ما 120,000 "Wormhole ETH" ، ملفوفة الأثير على Solana ، من العدم. نظرًا لأن المخترق كان قادرًا على سك Wormhole ETH على Solana ، فقد تمكن من سحبه بشكل صحيح إلى Ethereum.

"سولانا غريب نوعا ما"

بفحص سجل معاملات المخترق ، هناك معاملة جاءت مباشرة قبل سكك 120,000 Wormhole ETH. في هذا صفقة، يقوم المخترق بسك 0.1 فقط من الثقب الدودي ETH ، كما لو كان المخترق يختبر الوظيفة بكمية صغيرة.

يكشف الفحص الإضافي لسجل معاملات المخترق أن المتسلل قام بعمل ملف الايداع من 0.1 ETH من Ethereum إلى الاستلقاء تحت أشعة الشمس. على الرغم من أن المهاجم لم يقم بإيداع ETH بقيمة 120,000،XNUMX ETH في عقد Wormhole الذكي على Ethereum ، إلا أن هناك شيئًا مثيرًا للاهتمام حول هذا الإيداع.

كما يوضح smartcontract في تغريدته ، فإن المعاملات التي سكت Wormhole ETH على Solana كانت تؤدي إلى عقد Wormhole ذكي وظيفة ودعا "ملفوفة كاملة". إحدى المعلمات التي تأخذها هذه الوظيفة هي "رسالة النقل" ، وهي في الأساس a الرسالة موقعة من قبل الأوصياء على الجسر الذي يقول أي رمز النعناع وكم.

"سولانا غريب نوعًا ما ، لذا فإن هذه المعلمات هي في الواقع عقود ذكية بحد ذاتها. ولكن الشيء المهم هو كيفية إنشاء عقود "رسائل النقل" هذه. هنا هو صفقة التي جعلت رسالة تحويل 0.1 ETH "، تغريدات smartcontracts.

من الذي يتحقق من لعبة الداما؟

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

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

ضمن "check_signatures" ، يحاول برنامج Wormhole التحقق مما إذا كان التنفيذ الذي حدث قبل تشغيل هذه الوظيفة مباشرةً ، هو أن Secp256k1 تم تنفيذ وظيفة التحقق من التوقيع.

"وظيفة التحقق هذه هي أداة مضمنة من المفترض أن تتحقق من صحة التوقيعات المقدمة. لذلك تم الاستعانة بمصادر خارجية للتحقق من التوقيع لهذا البرنامج. ولكن هنا يأتي الخطأ ، "

تستخدم عقود الثقب الدودي الوظيفة Load_instruction_at للتحقق من استدعاء الوظيفة Secp256k1 أولاً ، ولكن تم إهمال وظيفة load_instruction_at مؤخرًا نسبيًا لأنها لا يتحقق من أنه يتم تنفيذه مقابل عنوان النظام الفعلي!

أكثر من لعبة

وفقًا للعقود الذكية ، من المفترض أن يقدم المتصل كـ إدخال عنوان النظام للبرنامج الجاري تنفيذه ، لكن المخترق قدم عنوان نظام مختلف.

في ما يلي عنوان النظام الذي يتم استخدامه كمدخل لـ "التحقق من التوقيعات" للإيداع الشرعي لـ 0.1 ETH:

إدخال عنوان النظام الصحيح
إدخال عنوان النظام الصحيح

ولكن إليك معاملة "check_signatures" للإيداع الوهمي لـ 120k ETH:

إدخال عنوان النظام
إدخال عنوان نظام خاطئ 

هذا ليس عنوان النظام!

"باستخدام برنامج النظام" المزيف "هذا ، يمكن للمهاجم أن يكذب بشكل فعال حول حقيقة أن برنامج التحقق من التوقيع قد تم تنفيذه. لم يتم التحقق من التوقيعات على الإطلاق !، "تغريدات smartcontracts.

"بعد تلك النقطة ، انتهت اللعبة. جعل المهاجم الأمر يبدو وكأن الأوصياء قد وقعوا على إيداع 120 ألفًا في Wormhole في Solana ، على الرغم من أنهم لم يفعلوا ذلك. كل ما كان على المهاجم فعله الآن هو جعل أموال "اللعب" حقيقية عن طريق سحبها مرة أخرى إلى Ethereum. وبعد سحب 80 ألف إيثريوم + 10 آلاف إيثريوم في وقت لاحق (كل شيء في الجسر على إيثريوم) ، ذهب كل شيء ".

إيفردوم

النشرة الإخبارية CryptoSlate

يضم ملخصًا لأهم القصص اليومية في عالم التشفير و DeFi و NFTs والمزيد.

الحصول على حافة في سوق الأصول المشفرة

يمكنك الوصول إلى المزيد من رؤى وسياقات التشفير في كل مقالة بصفتك عضوًا مدفوع الأجر في CryptoSlate الحافة.

تحليل على السلسلة

لقطات الأسعار

المزيد من السياق

انضم الآن مقابل 19 دولارًا في الشهر اكتشف كل المزايا

المصدر: https://cryptoslate.com/breakdown-how-the-hacker-stole-80k-eth-from-the-solana-wormhole-bridge/

الطابع الزمني:

اكثر من CryptoSlate