قيمة Sentinel هي قيمة خاصة في الخوارزميات، وعادة ما تستخدم كشرط لإنهاء الحلقات أو الاستدعاءات التكرارية. توجد عدة قيم Sentinel في محرك Chrome V8، وإذا تم تسريبها إلى بيئة JavaScript، فقد تؤدي إلى الهروب من الصندوق الرملي. ستتناول هذه المقالة كيفية تجاوز آلية حماية HardenProtect في Chrome V8 من خلال تسريب كائن Uninitialized Oddball.
قيمة السنتينل في V8
يحدد كود المصدر V8 عدة كائنات أصلية، والتي تتواجد بشكل متجاور في الذاكرة. إذا تم تسريب هذه الكائنات إلى JavaScript، فقد يؤدي ذلك إلى تنفيذ أي كود داخل صندوق الرمل. وقد أظهرت الأبحاث السابقة أن تسرب كائن TheHole يمكن أن يحقق ذلك، بينما يناقش هذا المقال كائن Uninitialized Oddball الذي يحمل نفس المخاطر.
يمكننا من خلال تعديل الدالة الأصلية V8 تسريب Uninitialized Oddball إلى JavaScript للتحقق. الطريقة المحددة هي تعديل الإزاحة النسبية لـ %TheHole() في isolate لجعلها ترجع كائن Uninitialized Oddball.
! [الكشف الحصري عن تجاوز Chrome v8 HardenProtect عن طريق تسريب قيمة Sentinel](https://img-cdn.gateio.im/webp-social/moments-263e5651876fc00c4e0af0cfcd350210.webp019283746574839201
تجاوز حماية HardenType
يمكن استخدام كائن Uninitialized Oddball لتجاوز حماية HardenType في V8، مما يحقق القراءة والكتابة النسبية بشكل عشوائي. المفتاح هو أن الشيفرة البرمجية المحسّنة بلغة JavaScript لا تتحقق من نوع عناصر المصفوفة، بل تحسب الإزاحة وتقرأ القيم مباشرة وفقًا لدلالات JavaScript، مما يؤدي إلى تشويش الأنواع.
![كشف حصري عن كيفية تجاوز حماية Chrome v8 من خلال تسرب قيمة Sentinel])https://img-cdn.gateio.im/webp-social/moments-26c26345e3ec4effeea2e3e6b7cd8772.webp(
في بنية x86، نظرًا لعدم وجود ضغط عناوين، فإن القراءة والكتابة العشوائية تكون بالنسبة للعملية بأكملها. وهذا يعني أنه في بعض البرمجيات مثل Skype، يمكن للمهاجمين استغلال هذه النقطة لقراءة وكتابة مناطق ذاكرة معينة، مما يؤدي إلى إكمال سلسلة استغلال الثغرات بأكملها.
! [الكشف الحصري عن تجاوز Chrome v8 HardenProtect عن طريق تسريب قيمة Sentinel])https://img-cdn.gateio.im/webp-social/moments-4c091ca0e153e953eb168e99762ff7cc.webp(
التأثيرات الأمنية
إن الكشف عن طريقة استغلال هذا الثغرة يقلل بشكل كبير من صعوبة استغلال ثغرات مشابهة. يمكن للمهاجمين تحقيق استغلال كامل تقريبًا دون الحاجة إلى بحث إضافي، مما يشكل تهديدًا للعديد من البرمجيات التي لم يتم إصلاحها بعد.
بالإضافة إلى ذلك، توجد قيم Sentinel أخرى في V8، والتي قد تؤدي أيضًا إلى مشاكل مشابهة. وهذا ينبهنا:
هل يمكن أيضًا تسهيل تسرب قيمة Sentinel أخرى لتحقيق تنفيذ التعليمات البرمجية عن بُعد على V8؟
هل ينبغي اعتبار هذه الأنواع من المشاكل ثغرات أمنية رسمية؟
هل ينبغي اعتبار قيم Sentinel المختلفة كمتغيرات ضمن نطاق الاختبار في اختبار الفجوة؟
بغض النظر عن ذلك، ستقصر مثل هذه المشكلات بشكل ملحوظ من فترة استغلال المهاجمين للاستفادة الكاملة، مما يستحق اهتماماً كبيراً من الباحثين في الأمان والمطورين.
![كشف حصري حول كيفية تجاوز حماية Chrome v8 عبر تسريب قيمة Sentinel])https://img-cdn.gateio.im/webp-social/moments-1e3fda77c04bceafdcc40413824a5d37.webp(
! [الكشف الحصري عن تجاوز 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 HardenProtect عن طريق تسريب قيمة Sentinel])https://img-cdn.gateio.im/webp-social/moments-230537e420d579aabd89bdd168b20878.webp(
! [الكشف الحصري عن تجاوز Chrome v8 HardenProtect عن طريق تسريب قيمة Sentinel])https://img-cdn.gateio.im/webp-social/moments-506159c94c9e0988552cbcbd13d971e1.webp(
! [الكشف الحصري عن تجاوز Chrome v8 HardenProtect عن طريق تسريب قيمة Sentinel])https://img-cdn.gateio.im/webp-social/moments-e9e2000fd501b69ee3ee643a459a26dd.webp(
قد تحتوي هذه الصفحة على محتوى من جهات خارجية، يتم تقديمه لأغراض إعلامية فقط (وليس كإقرارات/ضمانات)، ولا ينبغي اعتباره موافقة على آرائه من قبل Gate، ولا بمثابة نصيحة مالية أو مهنية. انظر إلى إخلاء المسؤولية للحصول على التفاصيل.
تسجيلات الإعجاب 9
أعجبني
9
7
إعادة النشر
مشاركة
تعليق
0/400
GateUser-afe07a92
· منذ 4 س
يا إلهي، لقد ظهرت ثغرة جديدة في v8 مرة أخرى.
شاهد النسخة الأصليةرد0
CryptoCross-TalkClub
· 08-10 04:39
هذه الثغرة مشابهة لمستوى إيقاف الخسارة الذي يتمتع به جميع التبادلات عندما تكون السوق في حالة هبوط.
شرح ثغرة قيمة سنتينل في محرك Chrome V8: تسرب كائنات Oddball غير المهيأة وهروب من الصندوق الرمل
تحليل ثغرة قيمة Sentinel في محرك Chrome V8
قيمة Sentinel هي قيمة خاصة في الخوارزميات، وعادة ما تستخدم كشرط لإنهاء الحلقات أو الاستدعاءات التكرارية. توجد عدة قيم Sentinel في محرك Chrome V8، وإذا تم تسريبها إلى بيئة JavaScript، فقد تؤدي إلى الهروب من الصندوق الرملي. ستتناول هذه المقالة كيفية تجاوز آلية حماية HardenProtect في Chrome V8 من خلال تسريب كائن Uninitialized Oddball.
قيمة السنتينل في V8
يحدد كود المصدر V8 عدة كائنات أصلية، والتي تتواجد بشكل متجاور في الذاكرة. إذا تم تسريب هذه الكائنات إلى JavaScript، فقد يؤدي ذلك إلى تنفيذ أي كود داخل صندوق الرمل. وقد أظهرت الأبحاث السابقة أن تسرب كائن TheHole يمكن أن يحقق ذلك، بينما يناقش هذا المقال كائن Uninitialized Oddball الذي يحمل نفس المخاطر.
يمكننا من خلال تعديل الدالة الأصلية V8 تسريب Uninitialized Oddball إلى JavaScript للتحقق. الطريقة المحددة هي تعديل الإزاحة النسبية لـ %TheHole() في isolate لجعلها ترجع كائن Uninitialized Oddball.
! [الكشف الحصري عن تجاوز Chrome v8 HardenProtect عن طريق تسريب قيمة Sentinel](https://img-cdn.gateio.im/webp-social/moments-263e5651876fc00c4e0af0cfcd350210.webp019283746574839201
تجاوز حماية HardenType
يمكن استخدام كائن Uninitialized Oddball لتجاوز حماية HardenType في V8، مما يحقق القراءة والكتابة النسبية بشكل عشوائي. المفتاح هو أن الشيفرة البرمجية المحسّنة بلغة JavaScript لا تتحقق من نوع عناصر المصفوفة، بل تحسب الإزاحة وتقرأ القيم مباشرة وفقًا لدلالات JavaScript، مما يؤدي إلى تشويش الأنواع.
![كشف حصري عن كيفية تجاوز حماية Chrome v8 من خلال تسرب قيمة Sentinel])https://img-cdn.gateio.im/webp-social/moments-26c26345e3ec4effeea2e3e6b7cd8772.webp(
في بنية x86، نظرًا لعدم وجود ضغط عناوين، فإن القراءة والكتابة العشوائية تكون بالنسبة للعملية بأكملها. وهذا يعني أنه في بعض البرمجيات مثل Skype، يمكن للمهاجمين استغلال هذه النقطة لقراءة وكتابة مناطق ذاكرة معينة، مما يؤدي إلى إكمال سلسلة استغلال الثغرات بأكملها.
! [الكشف الحصري عن تجاوز Chrome v8 HardenProtect عن طريق تسريب قيمة Sentinel])https://img-cdn.gateio.im/webp-social/moments-4c091ca0e153e953eb168e99762ff7cc.webp(
التأثيرات الأمنية
إن الكشف عن طريقة استغلال هذا الثغرة يقلل بشكل كبير من صعوبة استغلال ثغرات مشابهة. يمكن للمهاجمين تحقيق استغلال كامل تقريبًا دون الحاجة إلى بحث إضافي، مما يشكل تهديدًا للعديد من البرمجيات التي لم يتم إصلاحها بعد.
بالإضافة إلى ذلك، توجد قيم Sentinel أخرى في V8، والتي قد تؤدي أيضًا إلى مشاكل مشابهة. وهذا ينبهنا:
هل يمكن أيضًا تسهيل تسرب قيمة Sentinel أخرى لتحقيق تنفيذ التعليمات البرمجية عن بُعد على V8؟
هل ينبغي اعتبار هذه الأنواع من المشاكل ثغرات أمنية رسمية؟
هل ينبغي اعتبار قيم Sentinel المختلفة كمتغيرات ضمن نطاق الاختبار في اختبار الفجوة؟
بغض النظر عن ذلك، ستقصر مثل هذه المشكلات بشكل ملحوظ من فترة استغلال المهاجمين للاستفادة الكاملة، مما يستحق اهتماماً كبيراً من الباحثين في الأمان والمطورين.
![كشف حصري حول كيفية تجاوز حماية Chrome v8 عبر تسريب قيمة Sentinel])https://img-cdn.gateio.im/webp-social/moments-1e3fda77c04bceafdcc40413824a5d37.webp(
! [الكشف الحصري عن تجاوز 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 HardenProtect عن طريق تسريب قيمة Sentinel])https://img-cdn.gateio.im/webp-social/moments-230537e420d579aabd89bdd168b20878.webp(
! [الكشف الحصري عن تجاوز Chrome v8 HardenProtect عن طريق تسريب قيمة Sentinel])https://img-cdn.gateio.im/webp-social/moments-506159c94c9e0988552cbcbd13d971e1.webp(
! [الكشف الحصري عن تجاوز Chrome v8 HardenProtect عن طريق تسريب قيمة Sentinel])https://img-cdn.gateio.im/webp-social/moments-e9e2000fd501b69ee3ee643a459a26dd.webp(