تسرب قيمة الحارس والتجاوز في Chrome V8 HardenProtect
يوجد في شفرة مصدر Chrome عدد كبير من قيم Sentinel، وهذه القيم الخاصة تُستخدم عادةً في الخوارزميات كشرط لإنهاء الحلقات أو الاستدعاءات التكرارية. أظهرت الأبحاث الأخيرة أن تسرب بعض قيم Sentinel قد يؤدي إلى تنفيذ أي كود داخل صندوق الرمل في Chrome.
بالإضافة إلى الكائن TheHole المعروف، هناك كائنات أصلية أخرى في V8 لا ينبغي تسريبها إلى بيئة JavaScript. تركز هذه المقالة على كائن Uninitialized Oddball، حيث لا يزال من الممكن تطبيق هذه الطريقة للتجاوز في أحدث إصدار من V8، ولم يتم إصلاحها بعد.
من المهم ملاحظة أن هذه الطريقة لها تطبيقات واسعة. في العديد من الثغرات التي تم الإبلاغ عنها، يمكن أن يؤدي تسرب Uninitialized Oddball إلى تنفيذ تعليمات برمجية عن بُعد. وهذا يسلط الضوء على ضرورة إجراء مراجعة شاملة للبرامج التي قد تتأثر بـ PatchGap.
تُعرَّف معظم الكائنات الأصلية في V8 في ملف v8/src/roots/roots.h، وهي مرتبة بجوار بعضها البعض في الذاكرة. بمجرد أن يتم الكشف عن هذه الكائنات بشكل خاطئ إلى JavaScript، يمكن أن يؤدي ذلك إلى تنفيذ أي كود داخل صندوق الرمل.
! [الكشف الحصري عن تجاوز Chrome v8 HardenProtect عن طريق تسريب قيمة Sentinel](https://img-cdn.gateio.im/webp-social/moments-26c26345e3ec4effeea2e3e6b7cd8772.webp019283746574839201
للتحقق من هذه الطريقة، يمكننا تعديل الوظائف الأصلية لـ V8 لجعلها ترجع كائن Uninitialized Oddball. بهذه الطريقة، يمكننا تحقيق قراءة ذاكرة نسبية تقريبًا في أحدث إصدار من V8.
! [الكشف الحصري عن تجاوز Chrome v8 HardenProtect عن طريق تسريب قيمة Sentinel])https://img-cdn.gateio.im/webp-social/moments-4c091ca0e153e953eb168e99762ff7cc.webp(
تتمثل جوهر هذه الطريقة الالتفافية في أن الدالة المحسنة بلغة JavaScript عند الوصول إلى عناصر المصفوفة، لا تتحقق بشكل كافٍ من معلومات نوع المصفوفة، بل تقوم مباشرة بحساب الإزاحة للحصول على القيمة. وهذا يؤدي إلى تشويش في النوع، مما يتيح القراءة العشوائية.
! [الكشف الحصري عن تجاوز 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
بالإضافة إلى ذلك، نحتاج أيضًا إلى الانتباه إلى مشكلة PatchGap التي قد توجد في سلسلة توريد البرمجيات. قد لا يكون بعض البرامج المستخدمة على نطاق واسع قد أصلح هذه الثغرات، مما يوفر نقطة انطلاق محتملة للمهاجمين.
! [الكشف الحصري عن تجاوز Chrome v8 HardenProtect عن طريق تسريب قيمة Sentinel])https://img-cdn.gateio.im/webp-social/moments-0e52075003a8ee2ca492a5fc9f35c36b.webp019283746574839201
بشكل عام، هناك أنواع مختلفة من قيم Sentinel في V8، وقد تؤدي تسريباتها إلى مشكلات أمان. قد تشمل اتجاهات البحث المستقبلية: استكشاف تأثيرات تسريبات Uninitialized Oddball الأخرى، وتقييم جدوى إدخال قيم Sentinel كمتغيرات في اختبار الفوضى، وكذلك النظر بشكل أكثر شمولاً في المشكلات الأمنية ذات الصلة. بغض النظر عما إذا كانت هذه الأنواع من المشكلات مدرجة رسميًا كثغرات أمنية، فإنها قد تقصر بشكل كبير من الوقت الذي يستغرقه المهاجمون لتحقيق استغلال كامل.
قد تحتوي هذه الصفحة على محتوى من جهات خارجية، يتم تقديمه لأغراض إعلامية فقط (وليس كإقرارات/ضمانات)، ولا ينبغي اعتباره موافقة على آرائه من قبل Gate، ولا بمثابة نصيحة مالية أو مهنية. انظر إلى إخلاء المسؤولية للحصول على التفاصيل.
تسجيلات الإعجاب 9
أعجبني
9
5
إعادة النشر
مشاركة
تعليق
0/400
LiquidatedDreams
· منذ 9 س
مرة أخرى... لماذا لا يقوم كروم المتهالك بإصلاح نفسه؟
شاهد النسخة الأصليةرد0
GasWaster
· منذ 9 س
هناك الكثير من الثغرات في الصندوق عائلتي
شاهد النسخة الأصليةرد0
GasOptimizer
· منذ 9 س
تشكل ثغرات الاستدعاء 89.4٪ من احتمالات الحوادث الأمنية
تسرب قيمة Sentinel من محرك Chrome V8 يؤدي إلى خطر الهروب من الصندوق الرملي
تسرب قيمة الحارس والتجاوز في Chrome V8 HardenProtect
يوجد في شفرة مصدر Chrome عدد كبير من قيم Sentinel، وهذه القيم الخاصة تُستخدم عادةً في الخوارزميات كشرط لإنهاء الحلقات أو الاستدعاءات التكرارية. أظهرت الأبحاث الأخيرة أن تسرب بعض قيم Sentinel قد يؤدي إلى تنفيذ أي كود داخل صندوق الرمل في Chrome.
بالإضافة إلى الكائن TheHole المعروف، هناك كائنات أصلية أخرى في V8 لا ينبغي تسريبها إلى بيئة JavaScript. تركز هذه المقالة على كائن Uninitialized Oddball، حيث لا يزال من الممكن تطبيق هذه الطريقة للتجاوز في أحدث إصدار من V8، ولم يتم إصلاحها بعد.
من المهم ملاحظة أن هذه الطريقة لها تطبيقات واسعة. في العديد من الثغرات التي تم الإبلاغ عنها، يمكن أن يؤدي تسرب Uninitialized Oddball إلى تنفيذ تعليمات برمجية عن بُعد. وهذا يسلط الضوء على ضرورة إجراء مراجعة شاملة للبرامج التي قد تتأثر بـ PatchGap.
تُعرَّف معظم الكائنات الأصلية في V8 في ملف v8/src/roots/roots.h، وهي مرتبة بجوار بعضها البعض في الذاكرة. بمجرد أن يتم الكشف عن هذه الكائنات بشكل خاطئ إلى JavaScript، يمكن أن يؤدي ذلك إلى تنفيذ أي كود داخل صندوق الرمل.
! [الكشف الحصري عن تجاوز Chrome v8 HardenProtect عن طريق تسريب قيمة Sentinel](https://img-cdn.gateio.im/webp-social/moments-26c26345e3ec4effeea2e3e6b7cd8772.webp019283746574839201
للتحقق من هذه الطريقة، يمكننا تعديل الوظائف الأصلية لـ V8 لجعلها ترجع كائن Uninitialized Oddball. بهذه الطريقة، يمكننا تحقيق قراءة ذاكرة نسبية تقريبًا في أحدث إصدار من V8.
! [الكشف الحصري عن تجاوز Chrome v8 HardenProtect عن طريق تسريب قيمة Sentinel])https://img-cdn.gateio.im/webp-social/moments-4c091ca0e153e953eb168e99762ff7cc.webp(
تتمثل جوهر هذه الطريقة الالتفافية في أن الدالة المحسنة بلغة JavaScript عند الوصول إلى عناصر المصفوفة، لا تتحقق بشكل كافٍ من معلومات نوع المصفوفة، بل تقوم مباشرة بحساب الإزاحة للحصول على القيمة. وهذا يؤدي إلى تشويش في النوع، مما يتيح القراءة العشوائية.
! [الكشف الحصري عن تجاوز 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
بالإضافة إلى ذلك، نحتاج أيضًا إلى الانتباه إلى مشكلة PatchGap التي قد توجد في سلسلة توريد البرمجيات. قد لا يكون بعض البرامج المستخدمة على نطاق واسع قد أصلح هذه الثغرات، مما يوفر نقطة انطلاق محتملة للمهاجمين.
! [الكشف الحصري عن تجاوز Chrome v8 HardenProtect عن طريق تسريب قيمة Sentinel])https://img-cdn.gateio.im/webp-social/moments-0e52075003a8ee2ca492a5fc9f35c36b.webp019283746574839201
بشكل عام، هناك أنواع مختلفة من قيم Sentinel في V8، وقد تؤدي تسريباتها إلى مشكلات أمان. قد تشمل اتجاهات البحث المستقبلية: استكشاف تأثيرات تسريبات Uninitialized Oddball الأخرى، وتقييم جدوى إدخال قيم Sentinel كمتغيرات في اختبار الفوضى، وكذلك النظر بشكل أكثر شمولاً في المشكلات الأمنية ذات الصلة. بغض النظر عما إذا كانت هذه الأنواع من المشكلات مدرجة رسميًا كثغرات أمنية، فإنها قد تقصر بشكل كبير من الوقت الذي يستغرقه المهاجمون لتحقيق استغلال كامل.
! الكشف الحصري عن تجاوز Chrome v8 HardenProtect عن طريق تسريب قيمة Sentinel