مخاطر الأمان الناتجة عن تسرب قيمة Sentinel في محرك V8 وتجاوز HardenProtect

مخاطر الأمان الناجمة عن تسرب قيمة Sentinel في محرك Chrome V8

قيمة الحارس هي قيمة خاصة في الخوارزميات، وغالبًا ما تستخدم كشرط لإنهاء حلقات أو خوارزميات متكررة. يوجد في شفرة Chrome المصدرية عدة قيم حارس، وبعض الكائنات لا ينبغي أن تتسرب إلى بيئة JavaScript. ستستكشف هذه المقالة كيفية استخدام تسرب كائن Oddball غير initialized للتغلب على آلية HardenProtect لمحرك Chrome V8.

قيمة Sentinel في V8

معظم الكائنات الأصلية لـ V8 مُعرفة في ملف v8/src/roots/roots.h، وهذه الكائنات مرتبة بجوار بعضها في الذاكرة. بمجرد تسرب هذه الكائنات الأصلية التي لا ينبغي الكشف عنها لجافا سكريبت، قد يؤدي ذلك إلى تنفيذ أي تعليمات برمجية داخل الصندوق الرملي.

يمكننا تسريب Uninitialized Oddball إلى JavaScript عن طريق تعديل الدالة الأصلية V8. على سبيل المثال، تعديل إزاحة دالة %TheHole() لجعلها ترجع كائن Uninitialized Oddball.

! [الكشف الحصري عن تجاوز Chrome v8 HardenProtect عن طريق تسريب قيمة Sentinel](https://img-cdn.gateio.im/webp-social/moments-263e5651876fc00c4e0af0cfcd350210.webp019283746574839201

تجاوز حماية HardenType

يمكن استخدام كائن Uninitialized Oddball المسرب لبناء الكود التالي لتحقيق قراءة شبه عشوائية:

جافا سكريبت الدالة read)obj ، idx( { عودة obj) }

دع arr = [1.1 ، 2.2 ، 3.3] ؛ دع uninitialized_oddball = ٪ TheHole[idx]( ؛

ل )let أنا = 0 ؛ أنا < 100000 ؛ i++( { اقرأ)arr, 0(;
}

٪ OptimizeFunctionOnNextCall)read( ؛

دع النتيجة = قراءة ) غير مهيأة ، 0x12345(؛ ٪ DebugPrint)result( ؛

تظهر شيفرة التجميع المحسّنة لدالة read أنه عند حساب إزاحة المصفوفة لم يتم التحقق من نوع قيمة obj.prop، وتم حسابها مباشرة وفقًا لمدلول JavaScript، مما أدى إلى لبس في النوع، مما يتيح القراءة العشوائية.

! [الكشف الحصري عن تجاوز Chrome v8 HardenProtect عن طريق تسريب قيمة Sentinel])https://img-cdn.gateio.im/webp-social/moments-26c26345e3ec4effeea2e3e6b7cd8772.webp019283746574839201

تقترح الإصلاحات إضافة فحص لخريطة المصفوفة عند إرجاع عناصر المصفوفة من الدالة المحسّنة، لتجنب حساب الإزاحة مباشرةً لإرجاع القيمة.

! الكشف الحصري عن تجاوز Chrome v8 HardenProtect عن طريق تسريب قيمة Sentinel

تنبيه مخاطر PatchGap

لا يزال هذا الثغرة غير مُعالجة في بعض البرمجيات التي تستخدم محرك V8 القديم مثل Skype(. على منصة x86، نظرًا لعدم وجود ضغط عناوين، يمكن القراءة والكتابة بشكل عشوائي مباشرة بالنسبة للعملية بأكملها.

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

![كشف حصري عن كيفية تجاوز حماية Chrome v8 باستخدام قيمة Sentinel المسربة])https://img-cdn.gateio.im/webp-social/moments-1e3fda77c04bceafdcc40413824a5d37.webp(

ملخص

يوجد أيضًا قيم Sentinel أخرى في V8، مما قد يؤدي إلى مشاكل أمان مشابهة. يُنصح بمزيد من البحث:

  1. هل يمكن أن يؤدي تسرب Uninitialized Oddball الآخر أيضًا إلى تنفيذ التعليمات البرمجية عن بُعد في V8
  2. هل يجب اعتبار هذه الأنواع من المشكلات ثغرات أمنية رسمية
  3. هل يجب إضافة قيمة Sentinel كمتغير في اختبار Fuzzer؟

بغض النظر عن أي شيء، ستؤدي هذه الأنواع من المشكلات إلى تقصير دورة الاستغلال الكامل من قبل القراصنة بشكل كبير، مما يستحق اهتمامًا كبيرًا.

![كشف حصري عن كيفية تجاوز حماية Chrome v8 باستخدام تسرب قيمة Sentinel])https://img-cdn.gateio.im/webp-social/moments-ed89289bebf59d4b27f5bffb5511a8c5.webp(

! [الكشف الحصري عن تجاوز Chrome v8 HardenProtect عن طريق تسريب قيمة Sentinel])https://img-cdn.gateio.im/webp-social/moments-0e52075003a8ee2ca492a5fc9f35c36b.webp019283746574839201

كشف حصري عن تجاوز حماية Chrome v8 من خلال تسرب قيمة Sentinel

كشف حصري حول كيفية تجاوز حماية Chrome v8 من خلال تسريب قيمة Sentinel

! الكشف الحصري عن تجاوز Chrome v8 HardenProtect عن طريق تسريب قيمة Sentinel

SENC-6.15%
شاهد النسخة الأصلية
قد تحتوي هذه الصفحة على محتوى من جهات خارجية، يتم تقديمه لأغراض إعلامية فقط (وليس كإقرارات/ضمانات)، ولا ينبغي اعتباره موافقة على آرائه من قبل Gate، ولا بمثابة نصيحة مالية أو مهنية. انظر إلى إخلاء المسؤولية للحصول على التفاصيل.
  • أعجبني
  • 6
  • مشاركة
تعليق
0/400
GateUser-bd883c58vip
· 08-04 04:05
هذه الثغرة ، صلبة لدرجة أنها تجعلني أشعر بالقلق قليلاً
شاهد النسخة الأصليةرد0
SerumDegenvip
· 08-02 17:19
صباح الخير أصدقائي... تم رصد تسريب آخر للمعلومات في الإصدار 8، نحن جميعًا في ورطة
شاهد النسخة الأصليةرد0
ThatsNotARugPullvip
· 08-02 17:19
هذه المقلاة من كروم تحملها، لقد أظهروا لك الثقب.
شاهد النسخة الأصليةرد0
RektButStillHerevip
· 08-02 17:09
لماذا حماية الصندوق الرمل ضعيفة للغاية؟
شاهد النسخة الأصليةرد0
CryptoNomicsvip
· 08-02 17:01
*آه* استغلال آخر يثبت أن تحليلي الانحداري على نموذج أمان كروم كان له دلالة إحصائية... ومع ذلك لم يستمع أحد
شاهد النسخة الأصليةرد0
MetaverseHobovip
· 08-02 16:58
هذه الثغرة رائعة للغاية، تذهب مباشرة للقمر.
شاهد النسخة الأصليةرد0
  • تثبيت