وضع إدارة النظام

وضع إدارة النظام ( SMM ، يُسمى أحيانًا الحلقة −2 في إشارة إلى حلقات الحماية ) [1] [2] هو وضع تشغيل لوحدات المعالجة المركزية x86 (CPUs) حيث يتم تعليق جميع عمليات التنفيذ العادية، بما في ذلك نظام التشغيل . ثم يتم تنفيذ نظام برمجي بديل يوجد عادةً في البرامج الثابتة للكمبيوتر ، أو مصحح أخطاء بمساعدة الأجهزة ، بامتيازات عالية.

تم إصداره لأول مرة مع Intel 386SL . [3] [4] بينما كانت إصدارات SL الخاصة مطلوبة في البداية لـ SMM، قامت Intel بدمج SMM في معالجاتها الرئيسية 486 وPentium في عام 1993. نفذت AMD SMM من Intel مع معالجات Am386 في عام 1991. [5] وهو متاح في جميع المعالجات الدقيقة اللاحقة في بنية x86 . [ بحاجة لمصدر ]

في بنية ARM، يُشار أيضًا إلى وضع مستوى الاستثناء 3 (EL3) باسم وضع المراقبة الآمنة أو وضع إدارة النظام. [6]

عملية

SMM هو وضع تشغيل خاص الغرض مخصص للتعامل مع وظائف على مستوى النظام مثل إدارة الطاقة أو التحكم في أجهزة النظام أو التعليمات البرمجية المصممة من قبل الشركة المصنعة الأصلية. وهو مخصص للاستخدام فقط بواسطة البرامج الثابتة للنظام ( BIOS أو UEFI )، وليس بواسطة برامج التطبيقات أو برامج الأنظمة العامة الغرض. الفائدة الرئيسية لـ SMM هي أنها توفر بيئة معالج مميزة ومعزولة بسهولة تعمل بشفافية لنظام التشغيل أو التطبيقات التنفيذية والبرمجية. [ بحاجة لمصدر ]

من أجل تحقيق الشفافية، يفرض SMM قواعد معينة. لا يمكن الدخول إلى SMM إلا من خلال SMI (مقاطعة إدارة النظام). ينفذ المعالج كود SMM في مساحة عنوان منفصلة (SMRAM) يجب جعلها غير قابلة للوصول إلى أوضاع التشغيل الأخرى لوحدة المعالجة المركزية بواسطة البرامج الثابتة . [7]

يمكن لوضع إدارة النظام معالجة ما يصل إلى 4 جيجابايت من الذاكرة كوضع حقيقي ضخم . في معالجات x86-64 ، يمكن لوضع إدارة النظام معالجة >4 جيجابايت من الذاكرة كوضع عنوان حقيقي. [8]

الاستخدام

في البداية، كان وضع إدارة النظام يستخدم لتنفيذ ميزات إدارة الطاقة والتحكم في الأجهزة مثل إدارة الطاقة المتقدمة (APM). ومع ذلك، اعتمد مصنعو BIOS ومصنعو المعدات الأصلية على وضع إدارة النظام للحصول على وظائف أحدث مثل التكوين المتقدم وواجهة الطاقة (ACPI). [9] [10]

بعض استخدامات وضع إدارة النظام هي:

يمكن أيضًا إساءة استخدام وضع إدارة النظام لتشغيل أدوات الجذر ذات الامتيازات العالية ، كما هو موضح في Black Hat 2008 [14] و2015. [15]

الدخول إلى SMM

يتم الدخول إلى SMM عبر SMI (مقاطعة إدارة النظام)، والتي يتم استدعاؤها بواسطة:

  • إشارات أجهزة اللوحة الأم أو مجموعة الشرائح عبر دبوس SMI# المخصص لشريحة المعالج. [16] يمكن أن تكون هذه الإشارة حدثًا مستقلاً.
  • يتم تشغيل SMI البرمجي بواسطة برنامج النظام عبر وصول الإدخال/الإخراج إلى موقع يعتبر خاصًا بواسطة منطق اللوحة الأم (المنفذ 0B2h مشترك). [17]
  • كتابة إدخال/إخراج إلى موقع طلب البرنامج الثابت من شريحة المعالج العمل عليه.

من خلال الدخول إلى SMM، يبحث المعالج عن أول تعليمة في العنوان SMBASE (محتوى سجل SMBASE) + 8000h (افتراضيًا 38000h)، باستخدام السجلين CS = 3000h وEIP = 8000h. ترجع قيمة سجل CS (3000h) إلى استخدام المعالج لعناوين الذاكرة في الوضع الحقيقي عندما يكون في SMM. في هذه الحالة، يتم إلحاق CS داخليًا بـ 0h في نهايته اليمنى.

المشاكل

من حيث التصميم، لا يستطيع نظام التشغيل تجاوز أو تعطيل SMI. ونتيجة لهذه الحقيقة، فهو هدف لمجموعات البرامج الضارة التي يمكن أن تتواجد فيه، [18] [19] بما في ذلك "الزرعات" الخاصة بوكالة الأمن القومي ، [20] والتي لها أسماء رمزية فردية لأجهزة معينة، مثل SOUFFLETROUGH لجدران الحماية من Juniper Networks ، [21] SCHOOLMONTANA لأجهزة التوجيه من سلسلة J من نفس الشركة، [22] DEITYBOUNCE لـ DELL، [23] أو IRONCHEF لخوادم HP Proliant . [24]

يمكن أن يؤدي تصميم رمز BIOS SMM بشكل غير صحيح وغير المختبر بشكل كافٍ إلى افتراضات خاطئة وعدم العمل بشكل صحيح عند مقاطعة بعض أوضاع التشغيل x86 الأخرى مثل PAE أو الوضع الطويل 64 بت . [25] وفقًا لوثائق نواة Linux ، حوالي عام 2004، كانت مثل هذه التنفيذات الخاطئة لميزة دعم USB القديم سببًا شائعًا للتعطل، على سبيل المثال، على اللوحات الأم المستندة إلى مجموعة شرائح Intel E7505 . [11]

نظرًا لأن كود SMM (معالج SMI) مثبت بواسطة البرامج الثابتة للنظام ( BIOS )، فقد يكون لنظام التشغيل وكود SMM توقعات بشأن إعدادات الأجهزة غير المتوافقة، مثل الأفكار المختلفة حول كيفية إعداد وحدة التحكم المتقدمة في المقاطعة القابلة للبرمجة (APIC).

تستغرق العمليات في SMM وقتًا من وحدة المعالجة المركزية بعيدًا عن التطبيقات ونواة نظام التشغيل والمشرف الافتراضي ، مع تضخيم التأثيرات للمعالجات متعددة النواة، حيث يتسبب كل SMI في تبديل جميع النوى للأوضاع. [26] هناك أيضًا بعض النفقات العامة المرتبطة بالتبديل داخل وخارج SMM، حيث يجب تخزين حالة وحدة المعالجة المركزية في الذاكرة (SMRAM) ويجب مسح أي ذاكرة تخزين مؤقتة للكتابة مرة أخرى. يمكن أن يؤدي هذا إلى تدمير السلوك في الوقت الفعلي والتسبب في فقدان دقات الساعة . تحدد نواة Windows وLinux إعداد "مهلة SMI" - وهي فترة يجب أن تعيد خلالها معالجات SMM التحكم إلى نظام التشغيل، وإلا فسوف " يتعطل " أو " يتعطل ".

قد يؤدي SMM إلى تعطيل سلوك تطبيقات الوقت الفعلي ذات متطلبات التوقيت المقيدة.

قد يكون من المطلوب استخدام محلل منطقي لتحديد ما إذا كانت وحدة المعالجة المركزية قد دخلت في حالة SMM (فحص حالة دبوس SMIACT# لوحدة المعالجة المركزية). [16] يتطلب استرداد كود معالج SMI لتحليله بحثًا عن الأخطاء والثغرات الأمنية والأسرار محللًا منطقيًا أو تفكيك البرامج الثابتة للنظام.

انظر أيضا

مراجع

  1. ^ دوماس، كريستوفر (2015-07-20). "حفرة الذاكرة" (PDF) . بلاك هات . تم الاسترجاع في 2015-08-22 .
  2. ^ Tereshkin, Alexander; Wojtczuk, Rafal (2009-07-29). "Introducing Ring -3 Rootkits" (PDF) . Invisible Things Lab ، Black Hat USA . ص. 4. تم الاسترجاع في 2015-08-22 .
  3. ^ "SMIs شريرة (الجزء الأول)". msdn.com . Microsoft. 2020-07-17.
  4. ^ إليس، سيمسون سي، "معالج 386 SL في أجهزة الكمبيوتر المحمولة"، شركة إنتل، حلول الحواسيب الصغيرة، مارس/أبريل 1991، الصفحة 20
  5. ^ "AMD Am386SX/SXL/SXLV Datasheet" (PDF) . AMD.
  6. ^ https://documentation-service.arm.com/static/5ed11e40ca06a95ce53f905c?token= [ رابط PDF فارغ ]
  7. ^ "دليل مطور معماريات Intel 64 وIA-32: المجلد 3ب" (PDF) . Intel.
  8. ^ دليل تطوير البرمجيات Intel 64 وIA-32، المجلد 3، وضع إدارة النظام.
  9. ^ "SMIs شريرة (الجزء الثاني)". msdn.com . Microsoft.
  10. ^ "وضع إدارة النظام - OSDev Wiki". wiki.osdev.org . تم الاسترجاع في 12 سبتمبر 2020 .
  11. ^ بواسطة Vojtech Pavlik (يناير 2004). "وثائق نواة Linux: دعم USB Legacy". kernel.org . تم الاسترجاع في 2013-10-06 .
  12. ^ محادثات Google Tech – Coreboot – 00:34:30.
  13. ^ مواصفات تهيئة منصة UEFI .
  14. ^ روبرت ماكميلان (2008-05-10). "المتسللون يجدون مكانًا جديدًا لإخفاء أدوات الجذر". InfoWorld .
  15. ^ روب ويليامز (2015-08-07). "باحثون يكتشفون ثغرة في معالجات إنتل تعود إلى عام 1997". HotHardware.com .
  16. ^ وضع إدارة النظام لشركة Intel بقلم روبرت ر. كولينز
  17. ^ US 5963738، "نظام كمبيوتر لقراءة/كتابة تكوين النظام باستخدام تعليمات الإدخال/الإخراج"  .
  18. ^ Shawn Embleton; Sherri Sparks; Cliff Zou (سبتمبر 2008). "SMM Rootkits: A New Breed of OS Independent Malware" (PDF) . ACM . تم الاسترجاع في 2013-10-06 .
  19. ^ "المتسللون يجدون مكانًا جديدًا لإخفاء أدوات الجذر". PC World. 2008-05-09 . تم الاسترجاع في 2013-10-06 .
  20. ^ المصدر رقم 1 للتسريبات حول العالم! (2013-12-30). "كتالوج قسم مكافحة الثغرات التابع لوكالة الأمن القومي الأمريكية لثغرات كل البرامج/الأجهزة/البرامج الثابتة الرئيسية تقريبًا | LeakSource". Leaksource.wordpress.com. مؤرشف من الأصل في 2014-01-02 . تم الاسترجاع في 2014-01-13 .{{cite web}}: CS1 maint: numeric names: authors list (link)
  21. ^ "Schneier on Security: SOUFFLETROUGH: NSA Exploit of the Day". Schneier.com. 2013-12-30 . تم الاسترجاع في 2014-01-13 .
  22. ^ "Schneier on Security: SCHOOLMONTANA: NSA Exploit of the Day". Schneier.com. 2008-05-30 . تم الاسترجاع في 2014-01-16 .
  23. ^ "Schneier on Security". schneier.com .
  24. ^ "Schneier on Security: IRONCHEF: NSA Exploit of the Day". Schneier.com. 2014-01-03 . تم الاسترجاع في 2014-01-13 .
  25. ^ http://images0.cnitblog.com/cnitblog_com/yuhensong/mode.JPG [ ملف صورة URL عارية ]
  26. ^ بريان ديلجادو وكارين إل. كارافانيك، "التأثيرات الأداءية لوضع إدارة النظام"، ندوة معهد مهندسي الكهرباء والإلكترونيات الدولية لعام 2013 حول توصيف عبء العمل، 22-24 سبتمبر، بورتلاند، أوريغون، الولايات المتحدة الأمريكية.

قراءة إضافية

  • براءة اختراع أمريكية رقم 5175853، جيمس كارداش؛ جريجوري ماثيوز وكاو نجوين وآخرون، "مقاطعة النظام الشفافة"، نُشرت في 29 ديسمبر 1992، صدرت في 29 ديسمبر 1992، وتم تخصيصها لشركة إنتل 
  • دليل مطوري BIOS وKernel الخاصين بـ AMD Hammer، الفصل 6 (تم أرشفته من الأصل في 7 ديسمبر 2008)
  • دليل مطور معماريات Intel 64 وIA-32، المجلد 3ج، الفصل 34
Retrieved from "https://en.wikipedia.org/w/index.php?title=System_Management_Mode&oldid=1236635859"
Original text
Rate this translation
Your feedback will be used to help improve Google Translate