وفقًا لمؤسس Ambient Exchange، Doug Colkitt، كان اختراق KyberSwap الذي تبلغ قيمته 46 مليون دولار “أكثر عمليات استغلال العقود الذكية تعقيدًا وتصميمًا بعناية” وأكد أن ما حدث كان خللًا ماليًا لا حصر له.
في موضوع مفصل على X بتاريخ نوفمبر 23, كولكيت موجز تعقيدات الهجوم، وتسليط الضوء على الأساليب التي يستخدمها المهاجم.
1/ أنهيت التعمق الأولي في ثغرة Kyber، وأعتقد أن لدي الآن فهمًا جيدًا لما حدث.
هذا هو بسهولة استغلال العقد الذكي الأكثر تعقيدًا وهندسة بعناية الذي رأيته على الإطلاق …
– دوج كولكيت (@0xdoug) 23 نوفمبر 2023
وأوضح كولكيت أن المهاجم استغل تطبيقًا مميزًا لميزة السيولة المركزة في KyberSwap، حيث تلاعب بالعقد ليعتقد أنه يمتلك سيولة أكبر مما كان عليه بالفعل. لشرح تعقيدات الهجوم، ومع الهجمات التي تتبع استراتيجيات مماثلة يستخدمها المهاجم عبر مجموعات أخرى، ركز كولكيت على الهجوم الأول، الذي استهدف تجمع ETH/wstETH.
بدأت العملية بقرض سريع بقيمة 10000 wstETH، بقيمة 23 مليون دولار في ذلك الوقت. بعد ذلك، تم تبديل 2800 wstETH (أي ما يعادل 6 ملايين دولار) في المجمع لتغيير السعر من 1.05 ETH إلى 0.0000152. وخلافا للقروض السريعة النموذجية، لم يكن الهدف هنا هو التلاعب بالأوراكل ولكن نقل سعر المجمع إلى منطقة على منحنى السيولة المركزة مع صفر سيولة موجودة.
أدى هذا التلاعب الدقيق في حسابات السيولة المركزة في Kyber إلى خلق فرصة للمهاجم لاستغلال النظام. قام المهاجم بتوليد 3.4 wstETH من السيولة في نطاق سعري محدد ثم أحرق بشكل غير مفهوم 0.56 wstETH من السيولة، ربما لمواءمة الحسابات الرقمية اللاحقة بشكل مثالي.
نفذت الثغرة مقايضتين في بيئة السيولة التي تم التلاعب بها. في المبادلة الأولى، باع المستغل 1,056 wstETH مقابل 0.0157 ETH، مما دفع السعر إلى الانخفاض إلى 0.0000146. تضمنت المبادلة الثانية قيام المستغل بشراء 3,911 wstETH من المجمع مقابل 0.06 ETH، مما رفع السعر مرة أخرى إلى 0.00001637.
وفقًا لكولكيت، كان الكشف الرئيسي في الهجوم هو خلق خلل مالي لا نهائي. أدت المبادلة الثانية إلى حصول المستغل على أموال أكثر مما تم دفعه في المبادلة الأولى، على الرغم من أن السيولة الوحيدة الموجودة كانت حوالي 3 wstETH التي تم سكها في بداية الاستغلال. سمح هذا التلاعب المعقد للمهاجم بتصريف حوض السباحة بنجاح.
دوغ كولكيت يكشف عن هجوم KyberSwap، ويكشف عن استغلال السيولة المركزة
أثناء الكشف عن هجوم KyberSwap المعقد، أثار دوج كولكيت المزيد من الأسئلة حول الأموال الإضافية غير المتوقعة التي تم توليدها أثناء الهجوم وشرع في التحقيق في الحالات الشاذة. واكتشف أن المهاجم، من خلال استغلال ميزة السيولة المركزة في KyberSwap بعناية، خدع المنصة للحصول على سيولة أكبر مما كانت موجودة بالفعل، مما أدى إلى دفع مبالغ زائدة مقابل مقايضات كبيرة.
يكمن مفتاح هذا التلاعب في خلل يتعلق بتعامل KyberSwap مع السيولة عند حدود التجزئة. سلط كولكيت الضوء على دليلين مهمين ساعدا في فهم آليات الاستغلال. أولاً، أظهرت حالة سكون سيولة المجمع في نهاية المقايضة الثانية قيمة غير صفرية، على الرغم من أن المبادلة انتهت بسعر خارج نطاق سيولة المهاجم.
جاء الدليل الثاني من مقارنة مكدس تتبع الاستدعاءات للمقايضات الأولى والثانية. في KyberSwap، عندما يتم تجاوز حدود التجزئة، يتم استدعاء وظيفة “updateLiquidityAndCrossTick” لضبط قيمة سيولة المنحنى استنادًا إلى مواضع نطاق LP عند تلك العلامة.
لقد نجحت الثغرة في التلاعب بهذه العملية أثناء عملية المبادلة الأولى. وأوضح كولكيت أنه لم يتم استدعاء وظيفة “updateLiquidityAndCrossTick” مطلقًا أثناء عملية المبادلة الأولى، على الرغم من أنه كان ينبغي أن يتم ذلك. سمح هذا للمهاجم باحتساب السيولة بشكل مزدوج عند العودة إلى النطاق، مما خلق الوهم بوجود سيولة أكبر مما كانت عليه في الواقع.
تضمنت التعقيدات الفنية استغلال حسابات KyberSwap للمقايضات كسلسلة من الخطوات، حيث تحدد كل خطوة ما إذا كانت المبادلة تصل إلى حد القراد أو العوادم. وقد تلاعب المهاجم بهذه الحسابات بمهارة، مما أدى إلى منع استدعاء `updateLiquidityAndCrossTick` أثناء المبادلة الأولى مع ضمان حدوث ذلك أثناء المبادلة الثانية، وبالتالي خداع المجمع لإجراء حساب مزدوج للسيولة.
2/ أول شيء يجب ملاحظته هو أن هذا الاستغلال خاص بتطبيق Kyber للسيولة المركزة
لا يوجد سبب للاعتقاد بأن مؤشرات السيولة المركزة الأخرى ذات السمعة الطيبة، مثل Ambient أو Uniswap، معرضة للخطر من هذا الاستغلال. (على الرغم من أن شوكات كيبر موجودة بشكل واضح)
– دوج كولكيت (@0xdoug) 23 نوفمبر 2023
ومع ذلك، أكد كولكيت أن الاستغلال الذي تمت مناقشته في التحليل خاص بتطبيق KyberSwap للسيولة المركزة. لا يوجد حاليًا أي مؤشر أو سبب للاعتقاد بأن البورصات اللامركزية الأخرى ذات السمعة الطيبة التي تطبق السيولة المركزة، مثل Ambient أو Uniswap، معرضة للخطر من هذا الاستغلال المحدد. وأشار أيضًا إلى أن شوكات KyberSwap قد تكون ضعيفة، لكن المنصات ذات التطبيقات المتميزة لا تتعرض بالضرورة لنفس المخاطر.