تحليل مخاطر تسرب قيمة الحارس من محرك Chrome V8 والأستغلال

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

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

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

قيمة Sentinel في V8

تم تعريف عدد كبير من الكائنات الأصلية في ملف roots.h لمصدر V8، وهي مرتبة بشكل متجاور في الذاكرة. بمجرد تسرب هذه الكائنات إلى JavaScript، قد يؤدي ذلك إلى هروب من الصندوق الرمل.

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

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

تجاوز حماية HardenType

يمكن استخدام كائن Uninitialized Oddball لتحقيق قراءة ذاكرة عشوائية نسبياً. المفتاح هو أنه في دالة القراءة المحسّنة في JavaScript، يتم التحقق فقط من صحة خاصية prop للكائن، ولكن لم يتم التحقق من القيمة باستخدام المفتاح obj.prop. وهذا يؤدي إلى حدوث ارتباك في النوع أثناء عملية الحساب، مما يتيح القراءة العشوائية.

يمكن رؤية أنه عند تحليل الشيفرة التجميعية المحسّنة، فإنه عند تمرير uninitialized_oddball، سيقوم البرنامج بحساب الإزاحة وقراءة البيانات مباشرةً، دون إجراء فحص للنوع. هذه الطريقة أسهل في البناء والاستغلال مقارنةً بكائن TheHole.

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

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

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

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

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

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

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

تحذير أمان PatchGap

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

تتعلق هذه المرة PatchGap ليس فقط بـ Issue1352549، ولكن أيضًا بمشاكل مشابهة مثل Issue1314616 وIssue1216437. بعد الكشف عن طريقة التحايل الجديدة، انخفضت صعوبة استغلال هذه الثغرات بشكل كبير، وأصبح المهاجمون قادرين على إكمال سلسلة الاستغلال بالكامل تقريبًا دون الحاجة إلى دراسة إضافية.

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

ملخص

تستعرض هذه المقالة بإيجاز طريقة تنفيذ القراءة العشوائية من خلال تسرب Uninitialized Oddball. هناك أيضًا قيم Sentinel متعددة أخرى في V8، والتي قد تؤدي إلى مشاكل مماثلة. وهذا يشير إلى أنه:

  1. قد تؤدي تسريبات uninitialized_Oddball الأخرى أيضًا إلى هروب من صندوق الرمل V8.

  2. لا يزال هناك جدل حول ما إذا كان يجب اعتبار مثل هذه القضايا ثغرات أمنية رسمية.

  3. النظر في إضافة قيمة الحارس كمتغير في اختبار الضبابية لاكتشاف طرق استغلال جديدة.

بغض النظر عن ذلك، فإن هذا النوع من المشاكل سيقلل بشكل كبير من فترة استغلال المهاجمين لتحقيق الاستفادة الكاملة، مما يستحق اهتمامًا كبيرًا.

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

SENC-0.03%
شاهد النسخة الأصلية
قد تحتوي هذه الصفحة على محتوى من جهات خارجية، يتم تقديمه لأغراض إعلامية فقط (وليس كإقرارات/ضمانات)، ولا ينبغي اعتباره موافقة على آرائه من قبل Gate، ولا بمثابة نصيحة مالية أو مهنية. انظر إلى إخلاء المسؤولية للحصول على التفاصيل.
  • أعجبني
  • 4
  • مشاركة
تعليق
0/400
MoonBoi42vip
· منذ 11 س
أشعر بالقلق، هناك الكثير من الثغرات.
شاهد النسخة الأصليةرد0
SleepyArbCatvip
· 08-02 05:40
قطة متعبة لدرجة أنها لا تستطيع سوى كتابة الشيفرة...zZz
شاهد النسخة الأصليةرد0
ChainDetectivevip
· 08-02 05:38
يا إلهي، ثغرة محرك V8، تأكدت من أنها مستقرة
شاهد النسخة الأصليةرد0
LadderToolGuyvip
· 08-02 05:36
مذهول ثم قمت بكسر اللعب
شاهد النسخة الأصليةرد0
  • تثبيت