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

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

قُدم وضع إدارة النظام لأول مرة مُدمجا ضمن معالج إنتل 80386 إس إل،[3][4] ثُم ضمنته إنتل بعد ذلك في معالجات بنتيوم وإنتل 80486 عند طرحها في عام 1993. كانت شركة إي إم دي قد دمجت وضع إدارة النظام في معالجها إيه إم 386 الذي طُرح عالم 1991،[5] قبل أن يُصبح في نهاية المطاف مُتاحًا في جميع المعالجات الدقيقة اللاحقة من بنية إكس 86.[6] أما في المعالجات من بنية إيه.آر.إم (إي إل 3)، فعادةً ما يُشار إلى وضع إدارة النظام باسم «وضع مستوى الاستثناء» أو «وضع المراقبة الآمنة».[7]

التشغيل

يُعتبر وضع إدارة النظام بمثابة وضع تشغيل مخصص مُصمم للتعامل مع وظائف النظام، مثل إدارة الطاقة، والتحكم في أجهزة النظام، أو استخدام ترميز خاص من تصميم الشركة المصنعة للقطع والمكونات الأصلية للجهاز. صُمم وضع إدارة النظام في الأساس لكي يتم تشغيله وإدارته فقط من خلال البرامج الثابتة للنظام، مثل برامج النظام الأساسي للإدخال والإخراج أو واجهة البرنامج الثابت الممتد، وليس من خلال برامج التطبيقات أو برامج الأنظمة العامة. وتكمن الفائدة الرئيسية لوضع إدارة النظام في أنه يوفر بيئة معالج مميزة سهلة العزل، وتعمل بشفافية تامة مع نظام التشغيل أو التطبيقات التنفيذية والبرمجية. ولتحقيق هذه الشفافية، يفرض وضع إدارة النظام قواعد صارمة لتشغيله، بحيث لا يمكن الوصول إلى وضع إدارة النظام إلا في حالة انقطاع إدارة النظام. ويُنفذ المعالج ترميز وضع إدارة النظام في مساحة عنوان منفصلة، والتي يجب أن تجعلها البرامج الثابتة للحاسوب غير قابلة للوصول من خلال أوضاع التشغيل الأخرى لوحدة المعالجة المركزية.[8] يمكن لوضع إدارة النظام معالجة ذاكرة تصل إلى 4 جيجابايت كوضع حقيقي ضخم. في معالجات إكس86-64، كما يمكن لوضع إدارة النظام معالجة ذاكرة تزيد عن 4 جيجابايت كوضع عنوان حقيقي.[9]

الاستخدامات

استُخدم وضع إدارة النظام في البداية لتطبيق ميزات إدارة الطاقة والتحكم في الأجهزة، مثل إدارة الطاقة المتقدمة، ثُم اعتمد مُصنِّعو النظام الأساسي للإدخال والإخراج ومصنعو المعدات الأصلية على وضع إدارة النظام لتوفير وظائف أحدث، مثل واجهة الطاقة والتكوين المتقدم.[10][11] وتشمل بعض الاستخدامات الأخرى لوضع إدارة النظام ما يلي:

يُمكن أيضًا إساءة استغلال وضع إدارة النظام لتنفيذ هجمات إلكترونيّة، فقد كشف بعض الخبراء التقنيون خلال مؤتمر القبعات السوداء لعام 2008، ثم خلال مؤتمر القبعات السوداء لعام 2015، عن إمكانية استخدام وضع إدارة النظام لتشغيل برامج أدوات التأصيل عالية الامتيازات،[15][16]

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

يُمكن الدخول إلى وضع إدارة النظام عند الوصول إلى وضع انقطاع إدارة النظام، ويُمكن أن يحدث ذلك من خلال:

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

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

المُشكلات

لا يستطيع نظام التشغيل، بحكم تصميمه، تجاوز وضع انقطاع إدارة النظام أو تعطيله،[19][20] لذلك يُعدّ تشغيل وضع انقطاع إدارة النظام هدفًا للبرمجيات الخبيثة، ولاسيما لبرامج التجسس التي تحمل أسماءا رمزية خاصة بأجهزة محددة.[21][22][23][24] وقد يُؤدي تصميم وضع إدارة النظام الأساسي للإدخال والإخراج بشكل غير صحيح أو اختباره بشكل غير كافٍ إلى افتراضات خاطئة وعدم العمل بشكل صحيح في حال انقطاع بعض أوضاع تشغيل المعالج إكس 86 الأخرى مثل ملحق العنونة الفعلية أو وضع 64 بت الطويل.[25] وفقًا لوثائق نواة لينكس، حوالي عام ٢٠٠٤، كانت هذه التطبيقات المعيبة لميزة دعم المسرى التسلسلي العام القديمة سببًا شائعًا لحالات الأعطال، على سبيل المثال، في اللوحات الأم المبنية على شرائح إنتل إي7505.[12] يكون البرنامج الثابت للنظام الأساسي للإدخال والإخراج هو المسؤول عن تثبيت ترميز وضع إدارة النظام، وقد ينتج عن ذلك في بعض الأحيان أن تكون لدى نظام التشغيل وترميز وضع إدارة النظام توقعات غير متوافقة بشأن إعدادات الأجهزة، مثل اختلاف أفكار إعداد وحدة مراقب القطع القابل للبرمجة المتقدم. كذلك تستهلك العمليات التي تتم خلال تشغيل وضع إدارة النظام وقت وحدة المعالجة المركزية بعيدًا عن التطبيقات ونواة نظام التشغيل ومراقب الأجهزة الافتراضية، وتكون هذه التأثيرات أكثر جسامة في حالة المعالجات متعددة الأنوية، حيث يتسبب تشغيل وضع إدارة النظام في تبديل أوضاع جميع الأنوية.[26]

كما أن هناك بعض النفقات العامة المرتبطة بالتبديل بين وضع إدارة النظام ومعالجته، حيث يجب تخزين حالة وحدة المعالجة المركزية في الذاكرة (SMRAM) ويجب مسح أي ذاكرة تخزين مؤقتة للكتابة. يمكن أن يؤدي هذا إلى إتلاف سلوك الوقت الفعلي وفقدان دقة الوقت. لذلك، تُعرّف أنوية وحدة المعالجة المركزية في حالة نظامي التشغيل مايكروسوفت ويندوز ولينكس ما يسمى بإعداد «مهلة إنقطاع إدارة النظام»، وهي فترة زمنية يجب أن يُعيد خلالها وضع إدارة النظام التحكم إلى نظام التشغيل، وإلا سيفشل النظام أو يتعطل. يُمكن لوضع إدارة النظام أيضًا أن يُعطّل سلوك تطبيقات الوقت الفعلي ذات متطلبات التوقيت المُقيّدة. وقد يلزم استخدام مُحلل منطقي لتحديد ما إذا كانت وحدة المعالجة المركزية قد دخلت في وضع إدارة النظام (التحقق من حالة دبوس SMIACT# في وحدة المعالجة المركزية).[17] ويتطلب استرداد شيفرة مُعالج SMI لتحليلها بحثًا عن الأخطاء والثغرات الأمنية والأسرار استخدام مُحلل منطقي أو تفكيك البرنامج الثابت للنظام.

مراجع

  1. Domas, Christopher (20 يوليو 2015). "The Memory Sinkhole" (PDF). Black Hat. مؤرشف من الأصل (PDF) في 2025-05-19. اطلع عليه بتاريخ 2015-08-22.
  2. Tereshkin, Alexander؛ Wojtczuk, Rafal (29 يوليو 2009). "Introducing Ring -3 Rootkits" (PDF). Invisible Things Lab، Black Hat USA. ص. 4. مؤرشف من الأصل (PDF) في 2025-05-10. اطلع عليه بتاريخ 2015-08-22.
  3. "SMIs Are EEEEVIL (Part 1)". msdn.com. Microsoft. 17 يوليو 2020. مؤرشف من الأصل في 2009-03-24.
  4. Ellis, Simson C., "The 386 SL Microprocessor in Notebook PCs", Intel Corporation, Microcomputer Solutions, March/April 1991, page 20
  5. "AMD Am386SX/SXL/SXLV Datasheet" (PDF). AMD. مؤرشف من الأصل (PDF) في 2025-03-08.
  6. Intel Corporation, "NewsBits: Intel Support EPA's Energy Star Computer Program", Microcomputer Solutions, January/February 1993, page 1
  7. "ARM® Management Mode Interface Specification". documentation-service.arm.com. 2016. مؤرشف من الأصل في 2025-05-10.
  8. "Intel 64 and IA-32 Architectures Developer's Manual: Vol. 3B" (PDF). Intel. مؤرشف من الأصل (PDF) في 2014-04-28.
  9. Intel 64 and IA-32 Software Development Manual, Vol. 3, System Management Mode.
  10. "SMIs Are EEEEVIL (Part 2)". msdn.com. Microsoft. مؤرشف من الأصل في 2015-09-24.
  11. "System Management Mode - OSDev Wiki". wiki.osdev.org. مؤرشف من الأصل في 2025-01-16. اطلع عليه بتاريخ 2020-09-12.
  12. 1 2 Vojtech Pavlik (يناير 2004). "Linux kernel documentation: USB Legacy support". kernel.org. مؤرشف من الأصل في 2025-03-24. اطلع عليه بتاريخ 2013-10-06.
  13. Google Tech Talks – Coreboot – 00:34:30. نسخة محفوظة 2025-01-25 على موقع واي باك مشين.
  14. UEFI Platform Initialization Specification.
  15. Robert McMillan (10 مايو 2008). "Hackers find a new place to hide rootkits". InfoWorld. مؤرشف من الأصل في 2014-04-28.
  16. Rob Williams (7 أغسطس 2015). "Researchers Discover Rootkit Exploit In Intel Processors That Dates Back To 1997". HotHardware.com. مؤرشف من الأصل في 2025-04-18.
  17. 1 2 Intel's System Management Mode by Robert R. Collins نسخة محفوظة 2025-01-21 على موقع واي باك مشين.
  18. US 5963738, "Computer system for reading/writing system configuration using I/O instruction".
  19. Shawn Embleton؛ Sherri Sparks؛ Cliff Zou (سبتمبر 2008). "SMM Rootkits: A New Breed of OS Independent Malware" (PDF). ACM. مؤرشف من الأصل (PDF) في 2024-12-30. اطلع عليه بتاريخ 2013-10-06.
  20. "Hackers Find a New Place to Hide Rootkits". PC World. 9 مايو 2008. مؤرشف من الأصل في 2021-04-13. اطلع عليه بتاريخ 2013-10-06.
  21. #1 Source for Leaks Around the World! (30 ديسمبر 2013). "NSA's ANT Division Catalog of Exploits for Nearly Every Major Software/Hardware/Firmware | LeakSource". Leaksource.wordpress.com. مؤرشف من الأصل في 2014-01-02. اطلع عليه بتاريخ 2014-01-13.{{استشهاد ويب}}: صيانة الاستشهاد: أسماء عددية: قائمة المؤلفين (link)
  22. "Schneier on Security: SCHOOLMONTANA: NSA Exploit of the Day". Schneier.com. 30 مايو 2008. مؤرشف من الأصل في 2025-02-01. اطلع عليه بتاريخ 2014-01-16.
  23. "Schneier on Security". schneier.com. 15 أغسطس 2014. مؤرشف من الأصل في 2024-12-28.
  24. "Schneier on Security: IRONCHEF: NSA Exploit of the Day". Schneier.com. 3 يناير 2014. مؤرشف من الأصل في 2025-02-01. اطلع عليه بتاريخ 2014-01-13.
  25. "Transitions Among the Processor's Operating Modes". images0.cnitblog.com. مؤرشف من الأصل (JPG) في 2025-01-24.
  26. Brian Delgado and Karen L. Karavanic, "Performance Implications of System Management Mode", 2013 IEEE International Symposium on Workload Characterization, Sep. 22–24, Portland, OR USA.