ثغرة في تجاوز سعة الأعداد في وحدة الأمان المرجعية للغة Move قد تؤدي إلى رفض الخدمة من عقدة

robot
إنشاء الملخص قيد التقدم

توجد ثغرة تجاوز عدد صحيح في وحدة الأمان المستندة إلى لغة Move

في الآونة الأخيرة، اكتشف باحثو الأمان ثغرة خطيرة في تجاوز الأعداد الصحيحة أثناء تحليلهم المتعمق للغة Move. توجد هذه الثغرة في وحدة التحقق من الأمان المرجعية، وقد تؤدي إلى هجوم رفض الخدمة. ستتناول هذه المقالة بالتفصيل مبدأ هذه الثغرة وتأثيرها.

خلفية الثغرة

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

العملية الرئيسية للتحقق من الأمان هي:

  1. تقسيم الكود إلى كتل أساسية
  2. تحليل كل كتلة أساسية
  3. حالة التحليل قبل وبعد الدمج
  4. نشر النتائج إلى الكتل اللاحقة

تم استخدام بنية AbstractState لتمثيل حالة التحليل، والتي تتضمن معلومات عن locals و borrow graph.

اكتشاف حصري من Numen Cyber: ثغرة عالية الخطورة أخرى في لغة move

تفاصيل الثغرات

تظهر الثغرة في دالة join_ في حالة تحليل الدمج. تستخدم هذه الدالة نوع u8 لتكرار locals، ولكن إذا تجاوز مجموع طول المعلمات وطول المتغيرات المحلية 256، فسيحدث تجاوز عددي.

بشكل محدد:

  • استخدم self.iter_locals() لتكرار locals في دالة join_
  • iter_locals() يعيد مُكرّر من نوع u8
  • إذا كان طول المعاملات + طول المتغيرات المحلية > 256، فإن المُكرِّر سيتجاوز الحدود

على الرغم من أن Move لديه عملية التحقق من عدد المتغيرات المحلية، إلا أنه يتحقق فقط من عدد المتغيرات المحلية، دون تضمين طول المعلمات.

اكتشاف حصري من Numen Cyber لثغرة خطيرة أخرى في لغة move

اكتشاف حصري من Numen Cyber ثغرة عالية الخطورة في لغة move

نومن سايبر اكتشف ثغرة خطيرة أخرى في لغة move

نومين سايبر اكتشفت ثغرة عالية الخطورة في لغة move

! اكتشفت Numen Cyber حصريا ثغرة أمنية أخرى عالية الخطورة في لغة الحركة

Numen Cyber اكتشفت ثغرة عالية الخطورة أخرى في لغة move

! اكتشفت Numen Cyber حصريا ثغرة أمنية أخرى عالية الخطورة في لغة الحركة

اكتشاف حصري من Numen Cyber ثغرة عالية الخطورة أخرى في لغة move

اكتشاف حصري من Numen Cyber لثغرة عالية الخطورة أخرى في لغة move

اكتشاف حصري من Numen Cyber لثغرة عالية الخطورة جديدة في لغة move

استغلال الثغرات

يمكن للمهاجمين إنشاء كتلة كود دائرية، واستغلال الفائض لتغيير حالة الكتلة:

  1. عدد المعلمات والمتغيرات المحلية يجب أن يكون أكبر من 256
  2. بعد التنفيذ الأول، سيصبح طول خريطة locals الجديدة صغيرًا نتيجة للتجاوز
  3. عند التنفيذ مرة أخرى، سيؤدي الوصول إلى فهرس locals غير الموجود إلى حدوث panic

قد يؤدي هذا إلى رفض خدمة العقد.

اكتشاف حصري من Numen Cyber ثغرة عالية الخطورة أخرى في لغة move

! اكتشفت Numen Cyber حصريا ثغرة أمنية أخرى عالية الخطورة في لغة الحركة

تم اكتشاف ثغرة خطيرة أخرى في لغة move بواسطة Numen Cyber بشكل حصري

تأثير الثغرات

قد يؤدي هذا الثغرة إلى:

  1. تحطم مبرمج التحقق من بايتات Move
  2. عقدت خدمات رفض العقد من عقد Move
  3. تجاوز بعض فحوصات الأمان

اقتراحات الإصلاح

  1. إضافة التحقق من طول المعاملات في فحص حدود locals
  2. استخدم أنواع الأعداد الصحيحة الأكبر مثل u16 للتكرار عبر locals
  3. إضافة فحوصات أمان إضافية أثناء التشغيل

ملخص

توضح هذه الثغرة مرة أخرى أنه حتى اللغات المصممة بدقة قد تحتوي على مخاطر أمنية. بالنسبة للغة Move، يُنصح بإضافة الفحوصات الأمنية اللازمة في مرحلة التشغيل، بالإضافة إلى مرحلة التحقق. سيواصل الباحثون الأمنيون تحليل لغة Move بعمق لاكتشاف المزيد من القضايا المحتملة.

اكتشاف حصري من Numen Cyber ثغرة عالية الخطورة جديدة في لغة move

MOVE-0.08%
شاهد النسخة الأصلية
قد تحتوي هذه الصفحة على محتوى من جهات خارجية، يتم تقديمه لأغراض إعلامية فقط (وليس كإقرارات/ضمانات)، ولا ينبغي اعتباره موافقة على آرائه من قبل Gate، ولا بمثابة نصيحة مالية أو مهنية. انظر إلى إخلاء المسؤولية للحصول على التفاصيل.
  • أعجبني
  • 6
  • إعادة النشر
  • مشاركة
تعليق
0/400
BackrowObservervip
· 08-11 11:51
تحرك مرة أخرى
شاهد النسخة الأصليةرد0
MidnightTradervip
· 08-10 07:32
من الذي كتب هذا الكود مرة أخرى؟ أستسلم.
شاهد النسخة الأصليةرد0
MevShadowrangervip
· 08-10 07:30
مرة أخرى تلعب بتجاوز الأعداد الصحيحة
شاهد النسخة الأصليةرد0
WagmiOrRektvip
· 08-10 07:29
还好我之前 إغلاق جميع المراكزMove了
شاهد النسخة الأصليةرد0
CommunityWorkervip
· 08-10 07:27
هل ستنهار move مرة أخرى؟ لماذا هذا القلق؟
شاهد النسخة الأصليةرد0
CryingOldWalletvip
· 08-10 07:26
هل ظهرت ثغرة أخرى؟ لم يعد move جذابًا، أليس كذلك؟
شاهد النسخة الأصليةرد0
  • تثبيت