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

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

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

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

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

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

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

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

تستخدم عملية التحقق هيكل AbstractState لتمثيل الحالة، والتي تحتوي على مكونين رئيسيين هما locals وborrow graph. ستقارن عملية التحقق الحالة قبل التنفيذ وبعده، وتدمج النتائج وتنشرها إلى الكتل التالية.

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

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

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

تؤدي كود PoC من خلال تعيين معلمات محددة وعدد متغيرات محلية، إلى تجاوز عدد صحيح، مما يؤدي إلى تقصير طول خريطة locals الجديدة. عند التنفيذ مرة أخرى، يتم الوصول إلى offset غير موجود، مما يؤدي في النهاية إلى حدوث panic.

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

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

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

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

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

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

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

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

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

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

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

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

MOVE2.28%
شاهد النسخة الأصلية
قد تحتوي هذه الصفحة على محتوى من جهات خارجية، يتم تقديمه لأغراض إعلامية فقط (وليس كإقرارات/ضمانات)، ولا ينبغي اعتباره موافقة على آرائه من قبل Gate، ولا بمثابة نصيحة مالية أو مهنية. انظر إلى إخلاء المسؤولية للحصول على التفاصيل.
  • أعجبني
  • 5
  • مشاركة
تعليق
0/400
Web3ExplorerLinvip
· 08-01 00:31
مشكلة الفائض تحتاج إلى تدقيق الآن
شاهد النسخة الأصليةرد0
SignatureDeniedvip
· 07-30 09:30
يجب تحسين جودة الكود باستمرار
شاهد النسخة الأصليةرد0
WagmiOrRektvip
· 07-29 07:39
تدقيق الكود أمر حاسم
شاهد النسخة الأصليةرد0
liquidation_watchervip
· 07-29 07:38
يجب أن تتماشى التدقيق
شاهد النسخة الأصليةرد0
WagmiWarriorvip
· 07-29 07:16
تحرك، إنه خطير جدًا
شاهد النسخة الأصليةرد0
  • تثبيت