نظام ويندوز من مايكروسوفت يحتوي على ثغرة خطيرة 0day، قد تهدد أمان Web3
مؤخراً، قامت مايكروسوفت بإصدار تصحيح أمني لإصلاح ثغرة تصعيد الامتيازات في نظام ويندوز التي كانت تستغلها قراصنة الكمبيوتر. هذه الثغرة موجودة بشكل رئيسي في إصدارات نظام ويندوز السابقة، ولا يمكن تفعيلها على نظام ويندوز 11.
تعود ثغرات تصعيد الامتياز win32k إلى زمن بعيد. في ظل التحسين المستمر لمختلف تدابير الأمن، من الجدير بالاهتمام كيف يمكن للمهاجمين الاستمرار في استغلال هذه الثغرة. قمنا بتحليل متعمق لهذه الثغرة في بيئة Windows Server 2016.
ثغرات 0day تشير إلى الثغرات النظامية التي لم يتم الكشف عنها أو إصلاحها بعد، ويمكن للقراصنة الاستفادة منها دون أن يشعر بهم أحد، مما يسبب دماراً كبيراً. من خلال هذه الثغرة 0day على مستوى نظام Windows، قد يتمكن القراصنة من الحصول على السيطرة الكاملة على النظام.
بمجرد أن يتم السيطرة على النظام من قبل القراصنة، فإن العواقب تشمل، ولكن لا تقتصر على، تسرب المعلومات الشخصية، وتعطل النظام، وفقدان البيانات، والخسائر المالية، وزرع البرمجيات الخبيثة، وما إلى ذلك. بالنسبة للمستخدمين الأفراد، قد يتم سرقة مفاتيح العملات المشفرة، ونقل الأصول الرقمية؛ من منظور أوسع، قد تؤثر هذه الثغرة حتى على نظام Web3 البيئي الذي يعمل على أساس بنية Web2.
من خلال تحليل كود التصحيح، وجدنا أن المشكلة تكمن في أن عدد المراجع لكائن ما تمت معالجته بشكل زائد مرة واحدة. تشير التعليقات السابقة في الشيفرة المصدرية إلى أن الشيفرة القديمة كانت تقوم بقفل كائن النافذة فقط، دون قفل كائن القائمة في كائن النافذة، مما أدى إلى إمكانية الإشارة الخاطئة إلى كائن القائمة.
لقد أنشأنا هيكل قائمة متداخلة خاص ومتعددة المستويات لاستغلال هذه الثغرة. من خلال تصميم خصائص القوائم وعلاقات الإشارة بعناية، يمكن في بعض الأحيان تحرير كائنات قائمة معينة بنجاح عند عودة بعض الدوال إلى مستوى المستخدم، مما يؤدي إلى الإشارة إلى كائن غير صالح في الكود اللاحق.
تكمن أهمية استغلال هذه الثغرة في كيفية التحكم في معلمة cbwndextra بحيث تكون قيمة كبيرة جدًا. اختارنا في النهاية تحقيق هذا الهدف من خلال تخطيط الذاكرة، والتحكم في بيانات الذاكرة للكائنات المتجاورة.
لبناء استغلال ثابت، قمنا بتصميم نوع خاص من تخطيط الذاكرة، يتضمن عدة كائنات نافذة متتالية وكائنات فئة نافذة. من خلال تحرير وإعادة شغل كائنات محددة، يمكن تحقيق السيطرة على المعلمات الرئيسية.
فيما يتعلق بقراءة وكتابة الأصناف، نستخدم GetMenuBarInfo() لتحقيق القراءة العشوائية، ونستخدم SetClassLongPtr() لتحقيق الكتابة العشوائية. باستثناء استبدال عملية كتابة TOKEN، فإن جميع عمليات الكتابة الأخرى تتم باستخدام كائن الفئة الخاص بأول كائن نافذة مع استخدام الإزاحة.
على الرغم من أن مايكروسوفت تحاول إعادة بناء الشفرة المتعلقة بـ win32k باستخدام Rust، إلا أن هذه الثغرات لا تزال تشكل تهديدًا خطيرًا لأنظمة ويندوز الحالية. عملية استغلال الثغرات بسيطة نسبيًا، وتعتمد بشكل أساسي على تسرب عنوان مقبض كومة سطح المكتب.
نفترض أن اكتشاف هذه الثغرة قد يكون نتيجة لتقنيات أكثر تطورًا لاختبار تغطية الشيفرة. في المستقبل، يجب أن تركز عمليات الكشف عن مثل هذه الثغرات، بالإضافة إلى النقاط الرئيسية في دوال استدعاء الثغرات، على أهمية الكشف عن تخطيط الذاكرة الشاذ وقراءة البيانات وكتابتها.
قد تحتوي هذه الصفحة على محتوى من جهات خارجية، يتم تقديمه لأغراض إعلامية فقط (وليس كإقرارات/ضمانات)، ولا ينبغي اعتباره موافقة على آرائه من قبل Gate، ولا بمثابة نصيحة مالية أو مهنية. انظر إلى إخلاء المسؤولية للحصول على التفاصيل.
ثغرة Windows 0day تهدد أمان الأصول في Web3 خبراء يشرحون آلية الهجوم
نظام ويندوز من مايكروسوفت يحتوي على ثغرة خطيرة 0day، قد تهدد أمان Web3
مؤخراً، قامت مايكروسوفت بإصدار تصحيح أمني لإصلاح ثغرة تصعيد الامتيازات في نظام ويندوز التي كانت تستغلها قراصنة الكمبيوتر. هذه الثغرة موجودة بشكل رئيسي في إصدارات نظام ويندوز السابقة، ولا يمكن تفعيلها على نظام ويندوز 11.
تعود ثغرات تصعيد الامتياز win32k إلى زمن بعيد. في ظل التحسين المستمر لمختلف تدابير الأمن، من الجدير بالاهتمام كيف يمكن للمهاجمين الاستمرار في استغلال هذه الثغرة. قمنا بتحليل متعمق لهذه الثغرة في بيئة Windows Server 2016.
ثغرات 0day تشير إلى الثغرات النظامية التي لم يتم الكشف عنها أو إصلاحها بعد، ويمكن للقراصنة الاستفادة منها دون أن يشعر بهم أحد، مما يسبب دماراً كبيراً. من خلال هذه الثغرة 0day على مستوى نظام Windows، قد يتمكن القراصنة من الحصول على السيطرة الكاملة على النظام.
بمجرد أن يتم السيطرة على النظام من قبل القراصنة، فإن العواقب تشمل، ولكن لا تقتصر على، تسرب المعلومات الشخصية، وتعطل النظام، وفقدان البيانات، والخسائر المالية، وزرع البرمجيات الخبيثة، وما إلى ذلك. بالنسبة للمستخدمين الأفراد، قد يتم سرقة مفاتيح العملات المشفرة، ونقل الأصول الرقمية؛ من منظور أوسع، قد تؤثر هذه الثغرة حتى على نظام Web3 البيئي الذي يعمل على أساس بنية Web2.
من خلال تحليل كود التصحيح، وجدنا أن المشكلة تكمن في أن عدد المراجع لكائن ما تمت معالجته بشكل زائد مرة واحدة. تشير التعليقات السابقة في الشيفرة المصدرية إلى أن الشيفرة القديمة كانت تقوم بقفل كائن النافذة فقط، دون قفل كائن القائمة في كائن النافذة، مما أدى إلى إمكانية الإشارة الخاطئة إلى كائن القائمة.
لقد أنشأنا هيكل قائمة متداخلة خاص ومتعددة المستويات لاستغلال هذه الثغرة. من خلال تصميم خصائص القوائم وعلاقات الإشارة بعناية، يمكن في بعض الأحيان تحرير كائنات قائمة معينة بنجاح عند عودة بعض الدوال إلى مستوى المستخدم، مما يؤدي إلى الإشارة إلى كائن غير صالح في الكود اللاحق.
تكمن أهمية استغلال هذه الثغرة في كيفية التحكم في معلمة cbwndextra بحيث تكون قيمة كبيرة جدًا. اختارنا في النهاية تحقيق هذا الهدف من خلال تخطيط الذاكرة، والتحكم في بيانات الذاكرة للكائنات المتجاورة.
لبناء استغلال ثابت، قمنا بتصميم نوع خاص من تخطيط الذاكرة، يتضمن عدة كائنات نافذة متتالية وكائنات فئة نافذة. من خلال تحرير وإعادة شغل كائنات محددة، يمكن تحقيق السيطرة على المعلمات الرئيسية.
فيما يتعلق بقراءة وكتابة الأصناف، نستخدم GetMenuBarInfo() لتحقيق القراءة العشوائية، ونستخدم SetClassLongPtr() لتحقيق الكتابة العشوائية. باستثناء استبدال عملية كتابة TOKEN، فإن جميع عمليات الكتابة الأخرى تتم باستخدام كائن الفئة الخاص بأول كائن نافذة مع استخدام الإزاحة.
على الرغم من أن مايكروسوفت تحاول إعادة بناء الشفرة المتعلقة بـ win32k باستخدام Rust، إلا أن هذه الثغرات لا تزال تشكل تهديدًا خطيرًا لأنظمة ويندوز الحالية. عملية استغلال الثغرات بسيطة نسبيًا، وتعتمد بشكل أساسي على تسرب عنوان مقبض كومة سطح المكتب.
نفترض أن اكتشاف هذه الثغرة قد يكون نتيجة لتقنيات أكثر تطورًا لاختبار تغطية الشيفرة. في المستقبل، يجب أن تركز عمليات الكشف عن مثل هذه الثغرات، بالإضافة إلى النقاط الرئيسية في دوال استدعاء الثغرات، على أهمية الكشف عن تخطيط الذاكرة الشاذ وقراءة البيانات وكتابتها.