قيمة Sentinel هي قيمة خاصة تُستخدم بشكل شائع في الخوارزميات، وغالبًا ما تُستخدم كشرط إنهاء في الخوارزميات التكرارية أو الاستدعائية. تم استخدام هذه التقنية على نطاق واسع في كود مصدر Chrome. مؤخرًا، اكتشف باحثو الأمن طريقة لتنفيذ تعليمات برمجية عشوائية داخل صندوق الرمل الخاص بـ Chrome من خلال تسريب كائنات Sentinel Value معينة.
! [الكشف الحصري عن تجاوز Chrome v8 HardenProtect عن طريق تسريب قيمة Sentinel](https://img-cdn.gateio.im/webp-social/moments-263e5651876fc00c4e0af0cfcd350210.webp019283746574839201
في محرك V8، هناك العديد من الكائنات الأصلية التي لا ينبغي تسريبها إلى بيئة JavaScript. بالإضافة إلى كائن TheHole الذي تم الإبلاغ عنه سابقًا، يركز هذا المقال على مشكلة تسريب كائن Uninitialized Oddball. لا يزال من الممكن استخدام هذه الطريقة في أحدث إصدار من V8 ولم يتم إصلاحها بعد.
! [الكشف الحصري عن تجاوز Chrome v8 HardenProtect عن طريق تسريب قيمة Sentinel])https://img-cdn.gateio.im/webp-social/moments-26c26345e3ec4effeea2e3e6b7cd8772.webp019283746574839201
من الجدير بالذكر أن الطريقة التي يتم بها تسريب كائنات Oddball غير المهيأة تتمتع بعمومية قوية. تتعلق العديد من الثغرات التاريخية (مثل CVE-2021-30551، CVE-2022-1486، وغيرها) بتسريب هذا النوع من الكائنات. قد يؤدي اكتشاف هذه الطريقة إلى تقليل صعوبة استغلال الثغرات ذات الصلة.
من خلال تعديل الدوال الأصلية في V8، يمكن بسهولة تسرب كائن Uninitialized Oddball إلى بيئة JavaScript. باستخدام هذه الطريقة، يمكن للمهاجمين تجاوز آلية حماية تعزيز النوع في V8، مما يتيح عمليات قراءة وكتابة ذاكرة شبه عشوائية.
في كود JavaScript المحسن، نظرًا لعدم وجود فحص لمصفوفة map، فإن طريقة حساب الإزاحة مباشرة لإرجاع قيم المصفوفة تحمل مخاطر أمان. يُوصى عند إرجاع عناصر المصفوفة من الدالة المحسّنة بزيادة التحقق من مصفوفة map لزيادة الأمان.
! [الكشف الحصري عن تجاوز Chrome v8 HardenProtect عن طريق تسريب قيمة Sentinel](https://img-cdn.gateio.im/webp-social/moments-ed89289bebf59d4b27f5bffb5511a8c5.webp019283746574839201
قد يتجاوز نطاق تأثير هذه المشكلة التوقعات. قد تظل بعض التطبيقات التي تستخدم إصدار V8 القديم معرضة للخطر. على سبيل المثال، لم تقم Skype بعد بإصلاح هذه الثغرة حتى الآن. في الأنظمة ذات 32 بت، قد يكون من الأسهل للمهاجمين تنفيذ قراءة وكتابة عشوائية في الذاكرة بسبب عدم وجود آلية لضغط العناوين.
![كشف حصري حول تجاوز حماية Chrome v8 عبر تسريب قيمة Sentinel])https://img-cdn.gateio.im/webp-social/moments-0e52075003a8ee2ca492a5fc9f35c36b.webp(
بشكل عام، تستحق مشكلات الأمان المتعلقة بقيمة Sentinel مزيدًا من الاهتمام. ليس فقط أن كائنات Uninitialized Oddball و TheHole قد تؤدي إلى مخاطر أمنية، ولكن قد توجد أيضًا مخاطر مشابهة لقيم Sentinel أخرى. يُوصى بإدراج هذه القيم الخاصة في نطاق اختبار الفوضى للكشف عن طرق الاستغلال المحتملة.
! [الكشف الحصري عن تجاوز 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 من خلال تسريب قيمة Sentinel])https://img-cdn.gateio.im/webp-social/moments-e9e2000fd501b69ee3ee643a459a26dd.webp(
قد تحتوي هذه الصفحة على محتوى من جهات خارجية، يتم تقديمه لأغراض إعلامية فقط (وليس كإقرارات/ضمانات)، ولا ينبغي اعتباره موافقة على آرائه من قبل Gate، ولا بمثابة نصيحة مالية أو مهنية. انظر إلى إخلاء المسؤولية للحصول على التفاصيل.
تحليل ثغرة تسرب قيمة Sentinel في محرك Chrome V8 والمخاطر الأمنية
تطبيق قيمة الحارس في Chrome V8 والمخاطر الأمنية
قيمة Sentinel هي قيمة خاصة تُستخدم بشكل شائع في الخوارزميات، وغالبًا ما تُستخدم كشرط إنهاء في الخوارزميات التكرارية أو الاستدعائية. تم استخدام هذه التقنية على نطاق واسع في كود مصدر Chrome. مؤخرًا، اكتشف باحثو الأمن طريقة لتنفيذ تعليمات برمجية عشوائية داخل صندوق الرمل الخاص بـ Chrome من خلال تسريب كائنات Sentinel Value معينة.
! [الكشف الحصري عن تجاوز Chrome v8 HardenProtect عن طريق تسريب قيمة Sentinel](https://img-cdn.gateio.im/webp-social/moments-263e5651876fc00c4e0af0cfcd350210.webp019283746574839201
في محرك V8، هناك العديد من الكائنات الأصلية التي لا ينبغي تسريبها إلى بيئة JavaScript. بالإضافة إلى كائن TheHole الذي تم الإبلاغ عنه سابقًا، يركز هذا المقال على مشكلة تسريب كائن Uninitialized Oddball. لا يزال من الممكن استخدام هذه الطريقة في أحدث إصدار من V8 ولم يتم إصلاحها بعد.
! [الكشف الحصري عن تجاوز Chrome v8 HardenProtect عن طريق تسريب قيمة Sentinel])https://img-cdn.gateio.im/webp-social/moments-26c26345e3ec4effeea2e3e6b7cd8772.webp019283746574839201
من الجدير بالذكر أن الطريقة التي يتم بها تسريب كائنات Oddball غير المهيأة تتمتع بعمومية قوية. تتعلق العديد من الثغرات التاريخية (مثل CVE-2021-30551، CVE-2022-1486، وغيرها) بتسريب هذا النوع من الكائنات. قد يؤدي اكتشاف هذه الطريقة إلى تقليل صعوبة استغلال الثغرات ذات الصلة.
من خلال تعديل الدوال الأصلية في V8، يمكن بسهولة تسرب كائن Uninitialized Oddball إلى بيئة JavaScript. باستخدام هذه الطريقة، يمكن للمهاجمين تجاوز آلية حماية تعزيز النوع في V8، مما يتيح عمليات قراءة وكتابة ذاكرة شبه عشوائية.
في كود JavaScript المحسن، نظرًا لعدم وجود فحص لمصفوفة map، فإن طريقة حساب الإزاحة مباشرة لإرجاع قيم المصفوفة تحمل مخاطر أمان. يُوصى عند إرجاع عناصر المصفوفة من الدالة المحسّنة بزيادة التحقق من مصفوفة map لزيادة الأمان.
! [الكشف الحصري عن تجاوز Chrome v8 HardenProtect عن طريق تسريب قيمة Sentinel](https://img-cdn.gateio.im/webp-social/moments-ed89289bebf59d4b27f5bffb5511a8c5.webp019283746574839201
قد يتجاوز نطاق تأثير هذه المشكلة التوقعات. قد تظل بعض التطبيقات التي تستخدم إصدار V8 القديم معرضة للخطر. على سبيل المثال، لم تقم Skype بعد بإصلاح هذه الثغرة حتى الآن. في الأنظمة ذات 32 بت، قد يكون من الأسهل للمهاجمين تنفيذ قراءة وكتابة عشوائية في الذاكرة بسبب عدم وجود آلية لضغط العناوين.
![كشف حصري حول تجاوز حماية Chrome v8 عبر تسريب قيمة Sentinel])https://img-cdn.gateio.im/webp-social/moments-0e52075003a8ee2ca492a5fc9f35c36b.webp(
بشكل عام، تستحق مشكلات الأمان المتعلقة بقيمة Sentinel مزيدًا من الاهتمام. ليس فقط أن كائنات Uninitialized Oddball و TheHole قد تؤدي إلى مخاطر أمنية، ولكن قد توجد أيضًا مخاطر مشابهة لقيم Sentinel أخرى. يُوصى بإدراج هذه القيم الخاصة في نطاق اختبار الفوضى للكشف عن طرق الاستغلال المحتملة.
! [الكشف الحصري عن تجاوز 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 من خلال تسريب قيمة Sentinel])https://img-cdn.gateio.im/webp-social/moments-e9e2000fd501b69ee3ee643a459a26dd.webp(