CertiK: شرح مفصل لخسارة Vyper البالغة 52 مليون دولار

تم الإبلاغ عن ثغرات أمنية في إصدارات Vyper 0.2.15 و 0.2.16 و 0.3.0 ، مما يعرض العديد من التجمعات على Curve لخطر هجمات إعادة الدخول. تسمح هذه الثغرة للمهاجم باستدعاء وظيفة إضافة السيولة أثناء عملية إزالة السيولة.

وقد تأثر ما مجموعه 69.3 مليون دولار حتى الآن ، تم استرداد 16.7 مليون دولار من قبل قراصنة القبعة البيضاء. هذا يعني أيضًا أن 52 مليون دولار قد سُرقت من هذه الحادثة ، مما يجعلها أكبر هجوم عودة حتى الآن في عام 2023.

! [exsGmBiwYOSh5Seu3C6zysCmJcCD64sdWTvG5w0M.jpeg] (https://img.jinse.cn/7074065_watermarknone.png "7074065")

! [Vyper Incident Anaylsis] (/ UEditor / theme / default / images / spacer.gif)

** ملخص الحدث **

في 30 يوليو 2023 ، أُعلن أن الإصدارات 0.2.15 و 0.2.16 و 0.3.0 من مترجم Vyper ، وهي لغة برمجة موجهة للعقد ومصممة لجهاز Ethereum Virtual Machine (EVM) ، تحتوي على ثغرات أمنية لفشل إعادة الدخول. تأثرت العديد من مشاريع DeFi بالخلل ، وبلغ إجمالي الخسائر 52 مليون دولار.

حددت CertiK ستة عناوين متورطة في الحادث. فشل الأول (0x172) في استغلال الثغرة الأمنية في الكتلة 17806056. قام المستغل الأصلي بسحب 0.1 ETH من Tornado Cash وشرع في إنشاء عقد الهجوم. ومع ذلك ، دفعت محفظة رائدة (0x6Ec21) المزيد من رسوم الغاز ونفذت المعاملة أولاً ، حيث كسبت حوالي 6100 WETH (11.4 مليون دولار).

! [YLsgfOUBbfcQ6Pgy77tT2prtmsSHe2U4s7HpuCV3.png] (https://img.jinse.cn/7074067_watermarknone.png "7074067")

ضعف فشل ما قبل الصفقة بواسطة روبوت MEV المصدر: Etherscan Etherscan

أدى الخرق إلى مزيد من الخسائر: حصل EOA 0xDCe5d على أصول تبلغ قيمتها حوالي 21 مليون دولار. تفاصيل المحفظة المعنية هي كما يلي:

! [BQybD6x7JDeb56tNYa5gp3antJdgtukOJp5C71Gw.png] (https://img.jinse.cn/7074069_watermarknone.png "7074069")

وقد تأثر ما مجموعه ستة مشاريع ، وسرق منها ما يقرب من 69.3 مليون دولار ، أعيد منها 16.7 مليون دولار ، بخسارة إجمالية تقارب 52 مليون دولار.

** ما هو Vyper **

Vyper هي لغة برمجة بيثونية موجهة للعقود لجهاز Ethereum Virtual Machine (EVM). كان Vyper في مرحلة تجريبية منذ عام 2017 ، ولكن أول إصدار غير تجريبي له كان الإصدار 0.2.1 في يوليو 2020.

كانت Solidity ، اللغة السائدة في النظام البيئي Ethereum ، موجودة لفترة أطول بكثير من Vyper ، لذلك أنشأ العديد من أعضاء المجتمع أدوات تعمل حصريًا مع Solidity. وفقًا لبيانات DeFiLlama ، من إجمالي القيمة المغلقة (TVL) التي تبلغ حوالي 70 مليار دولار أمريكي في بروتوكولات DeFi ، بلغت قيمة عقود Vyper الذكية 2.17 مليار دولار أمريكي ، بينما استحوذت Solidity على الغالبية العظمى ، حيث بلغت 67.49 مليار دولار أمريكي.

! [KjMot1urT10BOZJi8lgltDDN62IMhxVncPFncjoP.png] (https://img.jinse.cn/7074070_watermarknone.png "7074070")

! [616cb7f4-e84a-479f-bd50-73e2adaec534] (/ UEditor / theme / default / images / spacer.gif) إجمالي القيمة المقفلة حسب مصدر اللغة: DeFiLlama

اعتبارًا من 10 مايو 2023 ، تراجعت هيمنة Vyper من 30٪ في أغسطس 2020 إلى 6.27٪. على الرغم من أن هيمنة Vyper's TVL كانت أقل بكثير من هيمنة Solidity ، إلا أن الحدث لا يزال ينتج 62 مليون دولار.

! [8G03pLGwavL4LcDkdTQS5EVlIywScZBcpTb4Fzeb.png] (https://img.jinse.cn/7074072_watermarknone.png "7074072")

! [b89a9653-a2d4-4e89-9042-24e06ed1590a (1)] (/ UEditor / theme / default / images / spacer.gif) هيمنة لغات البرمجة المختلفة في TVL المصدر: DeFiLlama

** نسخة المترجم **

يشير إصدار المترجم إلى إصدار محدد من مترجم لغة البرمجة الذي يحول التعليمات البرمجية المصدر التي يمكن للبشر قراءتها إلى تعليمات برمجية يمكن للآلة قراءتها.

يتم تحديث إصدارات المجمّع بانتظام لإدخال الميزات وإصلاح الأخطاء وتعزيز الأمان. لا تقدم لغة Vyper حاليًا برنامج مكافآت للقرصنة.

** الإصدار 0.2.15 - 0.3.0 **

كما ذكرنا سابقًا ، تم العثور على ثغرات أمنية في إصدارات Vyper 0.2.15 و 0.2.16 و 0.3.0 ، مما أدى إلى إعادة دخول العديد من مشاريع DeFi.

تم إصدار أقدم إصدار من استغلال Vyper 0.2.15 في 23 يوليو 2021. بحلول الوقت الذي تم فيه إصدار الإصدار 0.3.1 في ديسمبر من نفس العام ، لم تعد الثغرة الأمنية السابقة موجودة.

الجدول الزمني

بدأ الحادث لأول مرة في الساعة 9:10 مساءً بتوقيت بكين يوم 30 يوليو. فشلت معاملة المهاجم لتجمع JPEG'd على Curve بسبب المعاملات التي تم تشغيلها مسبقًا.

! [لقطة شاشة 2023-07-31 الساعة 9.08.31 مساءً] (/ UEditor / theme / default / images / spacer.gif)

في الساعة 10:00 مساءً يوم 30 يوليو ، بتوقيت بكين ، أكد JPEG أن تجمع pETH-ETH Curve قد تم استخدامه بشكل ضار.

! [2g2jUlVcktQTJmqFFZUPSVONMA6O9Jbp7HcbQEKd.png] (https://img.jinse.cn/7074064_watermarknone.png "7074064")

أعلن Vyper لاحقًا أن الإصدارات 0.2.15 و 0.2.16 و 0.3.0 تتضمن قفل إعادة دخول مكسور. كما تأثر كل من Metronome و Alchemix بعد أن قام Vyper بالتغريد.

! [mRZI1JtH7Qv7Mvk09k7ex0chKgffsFir98ebzqtD.png] (https://img.jinse.cn/7074053_watermarknone.png "7074053")

إعلان المسرع DAO:

! [FTzOyIh9Z8Opc6soNd4zLzAcKQGuLxWY2QEefPPV.png] (https://img.jinse.cn/7074050_watermarknone.png "7074050")

! [F9Dh7bMfVanq8deivVbWwhF24E3gbbIpThEq0t5l.png] (https://img.jinse.cn/7074051_watermarknone.png "7074051")

! [8MYwVijoFiaJPL32YVTK6AOQHeHsZvZXyxIfmF9h.png] (https://img.jinse.cn/7074052_watermarknone.png "7074052")

في الساعات الأولى من اليوم الثاني بتوقيت بكين ، أعلنت شركة Curve Finance على Discord أن صندوق الأموال المتبقي لا يتأثر بـ Vyper Bug وأنه آمن.

! [PsdIMHoBSb8vtyuFjjlO4ZsCrmKfIC6IY6I40DkB.png] (https://img.jinse.cn/7074048_watermarknone.png "7074048")

! [aLVrLdFyKeWEz7Jd1sqydWD4dTUWmpGw8Oj7PY0W.png] (https://img.jinse.cn/7074049_watermarknone.png "7074049")

أعلنت شركة Curve Finance على تويتر أنه من المحتمل أن يتم اختراق مجموعة على Arbitrum ، ولكن لم تكن هناك عمليات استغلال مربحة للجهات الفاعلة الخبيثة ، مما يعني أنه من غير المحتمل أن يتم اختراق المجموعة. لم يكتشف CertiK أيضًا أي هجمات أخرى تستغل ثغرة Vyper.

! [iqFUjHgxsKZF0Hw4cIndWFLBVQBC8VyjPCrNnDNk.png] (https://img.jinse.cn/7074047_watermarknone.png "7074047")

** عملية الهجوم **

فيما يلي مثال لصفقة تستهدف JPEG:

المهاجم: 0x6ec21d1868743a44318c3c259a6d4953f9978538

عقد الهجوم: 0x466b85b49ec0c5c1eb402d5ea3c4b88864ea0f04 # code

1 يقترض المهاجم أولاً 80000 WETH (حوالي 149.371.300 دولار) من Balancer: Vault

2 بعد ذلك ، يستبدل المهاجم WETH مقابل ETH ، ويستدعي pETH-ETH-f.add \ _l Liquidity () ، ويضيف 40،000 ETH (حوالي 74،685،650 دولارًا أمريكيًا) إلى تجمع pETH-ETH-f. في المقابل ، تلقى المهاجم 32431 pETH (pETH-ETH-f).

3 يدعو المهاجم إزالة \ _ السيولة () لإزالة السيولة المضافة في الخطوة 2. تم نقل 3،740 pETH و 34،316 ETH إلى عقد الهجوم ، وتم تشغيل وظيفة Fallbak () لعقد الهجوم ، مما أعطى السيطرة للمهاجم. في الوظيفة الاحتياطية () ، أضاف المهاجم 40000 ETH أخرى من السيولة إلى تجمع pETH-ETH-f وتلقى 82182 pETH.

4 يستدعي المهاجم إزالة \ _السيولة () مرة أخرى ، ويأخذ 10272pETH ، ويتلقى 47506 ETH و 1184 pETH. ثم استبدل المهاجم 4،924 pETH مقابل 4،285 ETH في تجمع pETH-ETH-f.

في المجموع ، حصل المهاجم على 34،316 ETH من الخطوة 3 و 47،506 و 4،285 ETH من الخطوة 4 ، ليصبح المجموع 86107 ETH. بعد سداد قرض فلاش ETH 80000 ، ترك المهاجم مع 6107 ETH (حوالي 11395506 دولارًا أمريكيًا).

نقاط الضعف

تسمح هذه الثغرة للمهاجم باستدعاء وظيفة إضافة السيولة أثناء عملية إزالة السيولة. بينما من المفترض أن تكون هذه الوظائف محمية بواسطة @ nonreentrant ("lock") ، أثبتت الاختبارات التي أجريت على وظائف add \ _l Liquidty () و remove \ _l Liquidity () أنها لا تمنع هجمات إعادة الدخول.

! [HIhD33yKE94EHwUa7xkQhAzQRF4nscaJOwAPTOmK.png] (https://img.jinse.cn/7074046_watermarknone.png "7074046")

Vyper \ _contract for Curve.fi Factory Pool Data مصدر البيانات: Etherscan

تحتوي إصدارات Vyper v0.2.15 و v0.2.16 و v0.3.0 على ثغرة أمنية تتعلق بفشل إعادة الدخول بعد عمليات استغلال JPEG'd و Metronome و Alchemix.

! [Mr3KDb2SKoLhF770OEWBAtdTuOYZ88tchEodweuv.png] (https://img.jinse.cn/7074042_watermarknone.png "7074042")

حل

يجب على المشاريع التي تستخدم إصدارات Vyper ضعيفة الاتصال بـ Vyper للمساعدة في التخفيف. يجب أن تحاول المشروعات أيضًا الترقية إلى أحدث إصدار من Vyper لا يحتوي على هذه الثغرة الأمنية.

لخص

الهجوم على Vyper هو أكبر ثغرة أمنية اكتشفتها CertiK في عام 2023. ومن حيث الخسائر المالية ، فقد شكل هذا الهجوم 78.6٪ من هذه الحوادث.

أكبر نقطتي ضعف في إعادة الدخول في العام تم استغلال كل من العقود المكتوبة بلغة Vyper ، على الرغم من أن الثغرات لم تكن متطابقة.

حاليًا ، تجاوزت الخسائر الناجمة عن هجمات إعادة الدخول عبر جميع السلاسل في عام 2023 66 مليون دولار. هذا يزيد بحوالي 4 ملايين دولار عن عام 2020 بالكامل وأقل بمليون دولار فقط من خسارة عام 2021. والجدير بالذكر أن إجمالي 2023 يمثل أيضًا زيادة بنسبة 259.45٪ في الخسائر بسبب إعادة توجيه الهجمات في عام 2022.

شاهد النسخة الأصلية
قد تحتوي هذه الصفحة على محتوى من جهات خارجية، يتم تقديمه لأغراض إعلامية فقط (وليس كإقرارات/ضمانات)، ولا ينبغي اعتباره موافقة على آرائه من قبل Gate، ولا بمثابة نصيحة مالية أو مهنية. انظر إلى إخلاء المسؤولية للحصول على التفاصيل.
  • أعجبني
  • تعليق
  • مشاركة
تعليق
0/400
لا توجد تعليقات
  • تثبيت