في 1 يونيو 2023 في الساعة 10:07:55 صباحًا (UTC+8) ، تعرضت شبكة Cellframe لهجوم من قبل قراصنة بسبب مشكلة حساب عدد الرموز خلال عملية انتقال السيولة على سلسلة الذكاء. أدى هذا الهجوم إلى تحقيق القراصنة ربحًا قدره حوالي 76,112 دولارًا.
الأسباب الجذرية للهجوم
كانت مشكلة الحسابات خلال عملية نقل السيولة السبب الجذري لهذا الهجوم.
شرح تفصيلي لعملية الهجوم
يقوم المهاجم أولاً بالحصول على 1000 BNB و500,000 من رموز New Cell من خلال القروض السريعة. بعد ذلك، يتم تحويل جميع رموز New Cell إلى BNB، مما يؤدي إلى اقتراب كمية BNB في المسبح من الصفر. وأخيرًا، يتم تبادل 900 BNB مقابل رموز Old Cell.
من الجدير بالذكر أن المهاجمين قاموا بإضافة السيولة لـ Old Cell و BNB قبل تنفيذ الهجوم، للحصول على Old lp.
بعد ذلك، يستدعي المهاجم دالة نقل السيولة. في هذه المرحلة، لا يوجد تقريبًا أي BNB في المسبح الجديد، بينما لا يوجد تقريبًا أي رموز Old Cell في المسبح القديم.
تتضمن عملية النقل الخطوات التالية:
إزالة السيولة القديمة وإعادة الكمية المناسبة من الرموز إلى المستخدم
إضافة سيولة جديدة وفقًا لنسبة المجموعة الجديدة
نظرًا لعدم وجود رموز Old Cell تقريبًا في الحوض القديم، تزداد كمية BNB التي يتم الحصول عليها عند إزالة السيولة، بينما تنخفض كمية رموز Old Cell. هذا يؤدي إلى زيادة قيم Resoult وToken1.
يحتاج المستخدمون فقط إلى إضافة كمية صغيرة من BNB ورمز New Cell للحصول على السيولة، وسيتم إعادة BNB الزائد وOld Cell الرموز للمستخدم.
أخيرًا، يقوم المهاجم بإزالة السيولة من المسبح الجديد، ويقوم بتبادل رموز Old Cell التي تم إرجاعها من النقل إلى BNB. في هذه المرحلة، يحتوي المسبح القديم على كمية كبيرة من رموز Old Cell ولكن لا يوجد BNB، يقوم المهاجم بتبادل رموز Old Cell مرة أخرى إلى BNB، وبذلك يكمل الربح. بعد ذلك، يقوم المهاجم بتنفيذ عملية النقل مرة أخرى.
الملخص والتوصيات
عند إجراء نقل السيولة، يجب أخذ التغير في كميات الرمزين في البرك القديمة والجديدة وكذلك أسعار الرموز الحالية في الاعتبار. من السهل التلاعب بالحسابات إذا تم الاعتماد مباشرة على كميات الرمزين في زوج التداول.
بالإضافة إلى ذلك، لضمان الأمان، يجب على فريق المشروع إجراء تدقيق شامل للأمان قبل إطلاق الكود. هذا لا يساعد فقط في اكتشاف الثغرات المحتملة، بل يعزز أيضًا أمان النظام بشكل عام وموثوقيته.
قد تحتوي هذه الصفحة على محتوى من جهات خارجية، يتم تقديمه لأغراض إعلامية فقط (وليس كإقرارات/ضمانات)، ولا ينبغي اعتباره موافقة على آرائه من قبل Gate، ولا بمثابة نصيحة مالية أو مهنية. انظر إلى إخلاء المسؤولية للحصول على التفاصيل.
تعرضت شبكة Cellframe لهجوم القرض الفوري، مما أدى إلى تسرب السيولة وخسارة بقيمة 76,112 دولار.
تحليل حادثة هجوم القرض الفوري على شبكة Cellframe
في 1 يونيو 2023 في الساعة 10:07:55 صباحًا (UTC+8) ، تعرضت شبكة Cellframe لهجوم من قبل قراصنة بسبب مشكلة حساب عدد الرموز خلال عملية انتقال السيولة على سلسلة الذكاء. أدى هذا الهجوم إلى تحقيق القراصنة ربحًا قدره حوالي 76,112 دولارًا.
الأسباب الجذرية للهجوم
كانت مشكلة الحسابات خلال عملية نقل السيولة السبب الجذري لهذا الهجوم.
شرح تفصيلي لعملية الهجوم
يقوم المهاجم أولاً بالحصول على 1000 BNB و500,000 من رموز New Cell من خلال القروض السريعة. بعد ذلك، يتم تحويل جميع رموز New Cell إلى BNB، مما يؤدي إلى اقتراب كمية BNB في المسبح من الصفر. وأخيرًا، يتم تبادل 900 BNB مقابل رموز Old Cell.
من الجدير بالذكر أن المهاجمين قاموا بإضافة السيولة لـ Old Cell و BNB قبل تنفيذ الهجوم، للحصول على Old lp.
بعد ذلك، يستدعي المهاجم دالة نقل السيولة. في هذه المرحلة، لا يوجد تقريبًا أي BNB في المسبح الجديد، بينما لا يوجد تقريبًا أي رموز Old Cell في المسبح القديم.
تتضمن عملية النقل الخطوات التالية:
نظرًا لعدم وجود رموز Old Cell تقريبًا في الحوض القديم، تزداد كمية BNB التي يتم الحصول عليها عند إزالة السيولة، بينما تنخفض كمية رموز Old Cell. هذا يؤدي إلى زيادة قيم Resoult وToken1.
يحتاج المستخدمون فقط إلى إضافة كمية صغيرة من BNB ورمز New Cell للحصول على السيولة، وسيتم إعادة BNB الزائد وOld Cell الرموز للمستخدم.
الملخص والتوصيات
عند إجراء نقل السيولة، يجب أخذ التغير في كميات الرمزين في البرك القديمة والجديدة وكذلك أسعار الرموز الحالية في الاعتبار. من السهل التلاعب بالحسابات إذا تم الاعتماد مباشرة على كميات الرمزين في زوج التداول.
بالإضافة إلى ذلك، لضمان الأمان، يجب على فريق المشروع إجراء تدقيق شامل للأمان قبل إطلاق الكود. هذا لا يساعد فقط في اكتشاف الثغرات المحتملة، بل يعزز أيضًا أمان النظام بشكل عام وموثوقيته.