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

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

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

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

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

يتعلق تفعيل الثغرات بمفهوم الكتل الأساسية في لغة Move. الكتلة الأساسية هي تسلسل من التعليمات البرمجية التي لا تحتوي على تعليمات فرعية باستثناء المدخلات والمخرجات. تقوم Move بتحديد الكتل الأساسية من خلال استعراض الكود الثنائي والبحث عن التعليمات الفرعية.

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

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

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

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

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

قدمت مجموعة الباحثين إثبات مفهوم (PoC)، والذي يوضح كيفية استغلال هذا الثغرة. من خلال ضبط معلمات معينة وعدد المتغيرات المحلية، يمكن تقليل طول خريطة locals إلى 8. في التنفيذ التالي، سيؤدي محاولة الوصول إلى الفهرس غير الموجود 57 إلى حدوث panic.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

شاهد النسخة الأصلية
قد تحتوي هذه الصفحة على محتوى من جهات خارجية، يتم تقديمه لأغراض إعلامية فقط (وليس كإقرارات/ضمانات)، ولا ينبغي اعتباره موافقة على آرائه من قبل Gate، ولا بمثابة نصيحة مالية أو مهنية. انظر إلى إخلاء المسؤولية للحصول على التفاصيل.
  • أعجبني
  • 4
  • مشاركة
تعليق
0/400
PositionPhobiavip
· منذ 10 س
كم من الفخاخ في هذا الكود، إذا تمكنت من عبور واحدة، فهذا يعد إنجازاً.
شاهد النسخة الأصليةرد0
TradFiRefugeevip
· منذ 10 س
ما فائدة الأمان هذا؟
شاهد النسخة الأصليةرد0
APY追逐者vip
· منذ 10 س
انهار مرة أخرى، موف هذه المصداقية...
شاهد النسخة الأصليةرد0
MemeEchoervip
· منذ 10 س
تحركت هناك مشكلة مرة أخرى
شاهد النسخة الأصليةرد0
  • تثبيت