اكتشفوا ثغرة أمنية في النواة قد تسمح بسرقة المعلومات

أصدر باحثو سيسكو تالوس قبل بضعة أيام ثغرة أمنية في نواة Linux يمكن استغلالها لسرقة البيانات وأيضًا بمثابة وسيلة لتصعيد الامتيازات وتعريض النظام للخطر.

عالي التأثر يوصف بأنه "ثغرة أمنية في الكشف عن المعلومات مما قد يسمح للمهاجم برؤية ذاكرة مكدس النواة. '

CVE-2020-28588 هي الثغرة الأمنية التي اكتشفت في وظائف عمليات proc / pid / syscall في أجهزة ARM 32 بت التي تعمل بنظام التشغيل. وفقًا لـ Cisco Talos ، تم اكتشاف المشكلة لأول مرة على جهاز يقوم بتشغيل Azure Sphere.

توجد ثغرة أمنية في الكشف عن المعلومات في وظيفة / proc / pid / syscall في Linux Kernel 5.1 Stable و 5.4.66. وبشكل أكثر تحديدًا ، تم تقديم هذه المشكلة في الإصدار 5.1-rc4 (تلتزم 631b7abacd02b88f4b0795c08b54ad4fc3e7c7c0) ولا تزال موجودة في الإصدار 5.10-rc4 ، لذلك من المحتمل أن تتأثر جميع الإصدارات الوسيطة. يمكن للمهاجم قراءة / proc / pid / syscall لتنشيط هذه الثغرة الأمنية ، مما يتسبب في فقدان النواة لمحتوى الذاكرة.

Proc هو نظام ملفات زائف خاص على أنظمة تشغيل شبيهة بـ Unix تستخدم للوصول ديناميكيًا إلى بيانات العملية وجدت في النواة. يقدم معلومات المعالجة ومعلومات النظام الأخرى في هيكل هرمي يشبه الملف.

على سبيل المثال ، يحتوي على أدلة فرعية / proc / [pid] ، يحتوي كل منها على ملفات وأدلة فرعية تعرض معلومات حول عمليات محددة ، ويمكن قراءتها باستخدام معرف العملية المقابل. في حالة ملف "syscall" ، فهو ملف نظام تشغيل Linux شرعي يحتوي على سجلات استدعاءات النظام التي يستخدمها kernel.

بالنسبة للشركة ، lيمكن للقراصنة استغلال الخلل والوصول إلى نظام التشغيل وملف syscall من خلال نظام يستخدم للتفاعل بين هياكل بيانات النواة ، Proc. يمكن استغلال إدخال procfs syscall إذا أصدر المتسللون أوامر لإنشاء 24 بايت من ذاكرة الكومة غير المهيأة ، مما يؤدي إلى تجاوز التوزيع العشوائي لتخطيط مساحة عنوان kernel (KASLR).

بالنظر إلى هذه الوظيفة المحددة ، يبدو كل شيء على ما يرام ، ولكن تجدر الإشارة إلى أن ملف argsمرت المعلمة من proc_pid_syscallوظيفة وعلى هذا النحو هو في الواقع من النوع __u64 args. في نظام ARM ، يحول تعريف الوظيفة حجم ملف argصفيف في عناصر رباعية البايت من ثمانية بايت (منذ ذلك الحين unsigned longفي ARM هو 4 بايت) ، مما يؤدي إلى ذلك في memcpyيتم نسخها إلى 20 بايت (زائد 4 من أجل args[0]).

وبالمثل ، بالنسبة لـ i386 ، أين unsigned longإنها 4 بايت فقط argsتتم كتابة أول 24 بايت من الوسيطة ، مع ترك الـ 24 بايت المتبقية كما هي.

في كلتا الحالتين ، إذا نظرنا إلى الوراء في proc_pid_syscallوظيفة.

بينما في ARM 32 بت و i386 ، نقوم بنسخ 24 بايت فقط في ملف argsصفيف ، تنتهي سلسلة التنسيق بقراءة 48 بايت من ملف argsالمصفوفة ، منذ %llxسلسلة التنسيق ثمانية بايت في أنظمة 32 بت و 64 بت. لذا فإن 24 بايتًا من ذاكرة الكومة غير المهيأة تنتهي بالحصول على إخراج ، مما قد يؤدي إلى تجاوز KASLR.

يقول الباحثون أن هذا الهجوم "من المستحيل اكتشافه عن بعد على الشبكة" لأنه يقرأ ملفًا شرعيًا من نظام التشغيل Linux. تقول Cisco: "إذا تم استخدامها بشكل صحيح ، يمكن للمخترق الاستفادة من تسرب هذه المعلومات لاستغلال ثغرات Linux الأخرى التي لم يتم إصلاحها بنجاح".

في هذا الصدد ، قالت Google مؤخرًا:

غالبًا ما تهدد عيوب أمان الذاكرة أمن الأجهزة ، وخاصة التطبيقات وأنظمة التشغيل. على سبيل المثال ، في نظام تشغيل Android للهاتف المحمول المدعوم أيضًا من Linux kernel ، تقول Google إنها وجدت أن أكثر من نصف الثغرات الأمنية التي تمت معالجتها في عام 2019 كانت نتيجة أخطاء أمان الذاكرة.

اخيرا وليس اخرا يوصى بتحديث الإصدارات 5.10-rc4 و 5.4.66 و 5.9.8 من Linux kernel منذ ذلك الحين تم اختبار هذه الثغرة الأمنية والتأكد من قدرتها على استغلال الإصدارات التالية من Linux kernel.

أخيرا إذا كنت مهتمًا بمعرفة المزيد عنها حول المنشور ، يمكنك التحقق من التفاصيل في الرابط التالي.


اترك تعليقك

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها ب *

*

*

  1. المسؤول عن البيانات: AB Internet Networks 2008 SL
  2. الغرض من البيانات: التحكم في الرسائل الاقتحامية ، وإدارة التعليقات.
  3. الشرعية: موافقتك
  4. توصيل البيانات: لن يتم إرسال البيانات إلى أطراف ثالثة إلا بموجب التزام قانوني.
  5. تخزين البيانات: قاعدة البيانات التي تستضيفها شركة Occentus Networks (الاتحاد الأوروبي)
  6. الحقوق: يمكنك في أي وقت تقييد معلوماتك واستعادتها وحذفها.