Table of Contents
الدور الحاسم لسجلات برامجيات الهاردوير في أمن النظم
وسجلات البرمجيات هي الوصلة الرئيسية التي تتحكم فيها البرمجيات وتتواصل مع مكونات المعدات المادية - وحدات المستهلكين، ومتحكمي الذاكرة، ومحركات الوصلات الشبكية، ومسرِّعات البرمجيات، وكل سجل هو موقع ثابت للذاكرة يحتوي على تشكيلات أو مركز أو قيم بيانات، ولأن هذه السجلات تؤثر مباشرة على سلوك الأجهزة، أو أي وصول غير مأذون به أو غير صحيح يمكن أن يؤدي إلى تصعيد الامتيازات أو فساد البيانات أو الآثار المترتبة على النظام.
وتوفر هذه المادة دراسة شاملة للاعتبارات الأمنية عند الوصول إلى سجلات المعدات وتعديلها، وتشمل المشهد المميز ونماذج الامتيازات وأوجه الضعف في العالم الحقيقي وأفضل الممارسات لضمان برمجة السجلات، وبحلول نهاية المطاف، سيكون لدى القراء إطار لتقييم وتضييق أنماط تسجيلهم الخاصة.
فهم سجلات برامجيات البرمجيات الصلبة ونوافذ الوصول إليها
وتوضع سجلات البرمجيات الصلبة على خريطة الذاكرة للمعالج أو يتم الوصول إليها عن طريق تعليمات مكرّسة من طراز I/O.() ويُعتبر المخططان الرئيسيان [(FLT:0)] مدمجان في النظام المتكامل/النظام المعالج () و[يتناولان نماذجهما معاً].()
وتشمل أنواع السجلات النموذجية ما يلي:
- سجلا المراقبة ] - تشغيل جهاز المصادرة (مثلاً، انقطاعات التمكين، تحديد معدلات العصيان.
- Status registers] - Report tool state (e.g., link up/down, buffer full).
- Data registers] - Transfer data between software and equipment.
- Configuration registers] - Set parameters like power modes or DMA channel assignments.
ولأن السجلات كثيراً ما تكون لها آثار جانبية - يمكن قراءة هذا الدليل أن يُبرِر علم قاطع، فإن الكتابة قد تُحدث أداة لإعادة ضبط حتى ولو بدا أنها مُتحَمَّنة يمكن أن تكون لها عواقب أمنية إذا لم تُدار بعناية.
الهروب من السجلات
ويستهدف المهاجمون سجلات الأجهزة لتخريب سلامة النظام، وتشمل التهديدات الرئيسية ما يلي:
Privilege Escalation via Register Manipulation
ويتمثل الهدف الكلاسيكي للاستغلال في اكتساب القدرة على الكتابة لسجلات التحكم التي تدير حماية الذاكرة أو أساليب منع الحمل، مثلاً في عام 86، يمكن لـ سجل المراقبة 0 (CR0) أن يحتوي على أجزاء من الترميزات التي تحكم الحمل والحماية، وإذا كان بإمكان المعتدي أن يكتب قيماً تعسفية للضبط الذاتي من خلال تغيير غير مسبوق.
دال - الفساد ورفض الخدمة
وقد تؤدي التعديلات غير الصحيحة في السجلات إلى حدوث تحطم في النظام أو فقدان البيانات أو فساد في البيانات الصامتة، فعلى سبيل المثال، قد يتسبب كتابة تشكيلة غير صحيحة إلى سجل لرقابة الذاكرة في أخطاء غير صحيحة في الذاكرة، تؤثر على جميع التطبيقات، وفي نظم السلامة - الطبية - الصناعية - تترتب على هذا الفساد آثار مادية، كما يمكن للمهاجمين أن يستخدموا كتب التسجيل لأجهزة توقيت غير صالحة للمراقبة أو المنطق الذي يعيد تحديده، مما يؤدي إلى استمرار الحرمان من الخدمة.
التمثيل بالموجات الصلبة والخلفية
وتتضمن بعض الأجهزة سجلات للكشف عن المخالفات أو الاختبارات التي يمكن، إذا ما أمكن أثناء التشغيل العادي، أن تمنح رقابة مفرطة، ومن الأمثلة المعروفة جيداً، وجود واجهة مشتركة بين فريق المساعدة التقنية المشترك في العديد من البلدان ذات الصلة، وإذا لم يكن سجل مراقبة الدخول التابع للفريق المشترك مغلقاً أثناء الأحذية، فإن المهاجم الذي لديه إمكانية الوصول المادي أو المنطقي يمكن أن يوقف وحدة منع الحملات، ويقرأ الذاكرة، ويعدل سجل الاختبارات البرمجية - مثل تلك التي تتيح التحقق من السلاسل الأمنية الحساسة.
مستويات التسعير وآليات مراقبة الدخول
ويفرض المجهزون الحديثون مستويات متعددة من الامتيازات لوسط الوصول إلى السجلات، ويعتبر فهم هذه المستويات أمرا أساسيا لضمان تصميم النظام.
X86 Rings
Intel and AMD x86 processors support four privilege levels (Ring 0-3), though most operating systems use only Ring 0 (kernel) and Ring 3 (user). Register access instructions like or / can only be executed in Ring 0. Additionally, the I/ Privige
مستويات الاستثناء من الأسلحة
ويحدد هيكل ARMv8 - ألف أربعة مستويات استثناء هي: EL0 (user)، و EL1 (kernel/OS)، و EL2 (hypervisor)، و EL3 (رصد الأمن)، ومعظم سجلات وزارة المالية لا يمكن الوصول إليها إلا من الفئة هاء-1 وما فوقها. ويُستخدم سجل الرقابة على النظام الإلكتروني لمراقبة الكفاءات (SCR EL3) لمنع العزلة الافتراضية.
معهد الدراسات الجنائية - في بريفيلج
ويحدد نظام " RISC -V " ثلاث طرق امتياز: U-mode (user), Smode (supervisor), and M‐mode (machine) (Mchine-mode software-typically a small bootROM or watchdog firmware-has unrestricted access to all CSRs (Control and Status Registers).
وتطبيق مبدأ أقل الامتيازات يعني: (1) عدم كشف أي إمكانية مباشرة للوصول إلى حيز الاستخدام، (2) في طريقة الكينال، وتقييد الكتابات إلى السجلات التي تترتب عليها آثار أمنية، (3) استخدام العزلة المنفذة (مثلاً، الشاشة الفائقة، منطقة الثقة) لفصل طائرات مراقبة السجلات.
أوجه الضعف المشتركة والمناهج العالمية الحقيقية
وقد شملت عدة مسائل أمنية عالية الجودة التلاعب بسجلات المعدات.
Rowhammer and DRAM Row Selection Registers
ويستغل روهامر نقطة ضعف مادي في إدارة السجلات والمحفوظات عن طريق تكرار تفعيل صف لإثارة بعض التقلبات في الصفوف المتاخمة، وفي حين أن ناقلات الهجوم الرئيسية هي إمكانية الوصول إلى الذاكرة، فإن تفعيل الصفوف ينطوي على كتابة سجلات عناوين الجريدة الرسمية، وقد استخدم المهاجمون تسلسلاً من أوامر الإجلاء الكهرومغناطيسي ومراقبة الذاكرة للتعجيل بفك الشلال، وتشمل حالات تخفيف معدل إعادة التدوير التي تخضع للحماية.
سجلات الملاجئ وسجلات الرؤوس الجانبية
وقد استغلت المضاربة ومواطن الضعف التي تشوبها المضاربة في وحدة مكافحة التلوث بالمبيدات وتوقيت قراء/طقوس السجلات لتسريب ذاكرة الكنيول، فعلى سبيل المثال، اعتمد ميلتون على التنفيذ خارج نطاق الميكانيكي الذي لا يزال يسجل قيما حتى عندما لا يكون العنوان متاحا، ويستلزم الأمر إضافة تعليمات بشأن الحاجز (مثلا، ) وتعديل سجلات الجداول المغلقة لرسم الخرائط الخاصة بالطرق المائية (KTIarchnel and users).
DMA Attacks via Endpoint Registers
ويمكن لمحركات الوصول المباشر للذاكرة، التي تخضع للرقابة بواسطة سجلات في أجهزة مثل أجهزة التحكم في الرعد أو بطاقات الشبكة، أن تقرأ/تكتب ذاكرة النظام دون تدخل من وحدة التصوير المقطعي، وإذا كان يمكن للمهاجم أن يعيد تشكيل سجل مجند في إدارة الشؤون المالية، مثلاً عن طريق استغلال ضعف السائق أو إلحاق جهاز من أجهزة التصفيق المهذبة، يمكن أن يتعدى ذلك على عمليات الحماية التي تقوم بها وحدة التصنيع وسرقة بيانات حساسة.
أفضل الممارسات في مجال البرمجة المتعلقة بالسجلات المضمونة
ويؤدي تطبيق الممارسات المثبتة إلى الحد بشكل كبير من خطر التعرض لمواطن الضعف المرتبطة بالتسجيل.
Restrict Privileged Access Strictly
ضمان ألا يتم القيام بعمليات قراءة/كتابة السجلات إلا في أعلى مستوى لتنفيذها المطلوب، وتجنب تصدير مناطق تسجيل الذاكرة إلى أماكن الاستخدام عبر إلا إذا كان ذلك ضرورياً تماماً، وعند الاقتضاء، استخدام سائق آمن يصادق على كل عملية من سبل الوصول، وعلى لينكس، استخدام أطر إدارة الموارد و لمنع نشوب النزاعات.
تقييم جميع كتب السجل
(ج) معالجة كل سجل كمدخل غير مسند، حتى إذا كان المتصل هو رمز الكينال، وتنفيذ عمليات تفتيش لضمان عدم وجود أنماط سليمة إلا، وقد احتفظ العديد من السجلات بقطع لا بد من أن تكون صفراً؛ ويمكن أن تسبب الكتابة في حقول محجوزة سلوكاً غير محدد أو ثقوب أمنية. (أ) استخدام المواصفات إذا توافرت: توفر بعض المراكز ] [التشكيل الحرجي]
منع تطوّر الفضاء الخارجي وشروطه
وكثيراً ما تستخدم السجلات للتحقق من الظروف قبل الكتابة، ويمكن للمهاجمين استغلال سباقات التأجير في وقت التدقيق إذا لم يكن التسجيل ذرياً، فعلى سبيل المثال، يمكن أن يتيح التحقق من سجل الحالة فيما يتعلق ب " المقطع " تسجيل القيادة الانتقال بين الشيكين، ويستخدمون الصيغتين القاريتين للذتين - مثل T].
استخدام المباريات التذكارية والأمر
التسجيلات غير مُأمرة بالتخلف؛ ويمكن لوحدة منع الحمل أو الحافلات إعادة ترتيبها لأداء مهامها؛ ويمكن أن يتلقى جهاز ما قبل إتمام القراءة، مما يؤدي إلى عمليات غير صحيحة.
تنفيذ نظام المراقبة لمنع الوصول (SMAP/SMEP)
وفي عام ٦٨٩١، يمنع برنامج " سماك " الشفرة من الوصول إلى ذاكرة المستخدمين في الفضاء، ويمنع مشروع SMEP تنفيذ مدونة قواعد الاستخدام في الفضاء في طريقة الكينل، وفي حين لا يتعلق الأمر مباشرة بالسجلات، فإن هذه السمات تمنع الهجمات التي تتلاعب بقيم تسجيل البيانات لإجبار تنفيذ العناوين التي يتحكم فيها المستخدمون، وبالمثل، فإن " وصول " إي إل 1 " لا يمنع بوضوح من الوصول إلى ذاكرة EL0.
آليات أمن المعدات الحاسوبية لحماية الوصول إلى السجلات
وقد أضاف بائعو ومصممو البرامج التابعون للاتحاد الماوي خصائص معدات لإيجاد مسارات موثوق بها للتلاعب بالسجلات.
"أكوادور بوت" و"مؤمنة"
وأثناء الأحذية الآمنة، يتحقق كل عنصر من عناصر البرمجيات من التالي قبل منح القدرة على كتابة السجلات المحمية، ويغلق عادة القرص الضوئي على نظام JTAG، وسجلات سطو، ووصلات برمجة في وقت مبكر، ويوسع هذا الأحذية المقيسة بتسجيل قيم السجلات (مثلاً، سجلات مصادرة منصة السيارات، وسجلات التراكم، التي يمكن اختبارها لاحقاً، وتمنع هذه الآليات من إجراء تغييرات غير مأذون بها.
Trusted Execution Environments (TEEs)
وتفصل الرابطة بين العالم وبين الدول الآمنة وغير الآمنة، كما أن السجلات الحرجة - مثل تلك التي تسيطر على وحدة حماية الذاكرة، أو المفاتيح البكائية، أو المقاطعات الآمنة - لا يمكن الوصول إليها إلا في العالم الآمن، وبالمثل، فإن نظام " إنتل سوفتوار " (SGX) و " AMD Secure Encryed Virtualization " (SEV) يحمي إمكانية التسجيل الافتراضي داخل المنطقة المشمولة بالأجهزة.
وحدات الأمن ذات البرمجيات ذات البرمجيات الخطرة والمركبات
وكثيراً ما تدير رقائق الأمن المكرَّسة سجلات لمراقبة المفاتيح البكترية والشهادة ودراجة الحياة، مثلاً، يمكن أن تخزن الآلية الوقائية المؤقتة سراً ثابتاً في سجلاتها الداخلية، وترفض إطلاقه إذا كان المنبر في دولة غير متوافقة، وتوفر هذه الأجهزة إمكانية الاطلاع على السجلات المعزولة مادياً بالنسبة للإدارة الرئيسية، بما يكفل عدم تمكن البرامجيات المحظورة من قراءة المواد الرئيسية مباشرة.
توفير البرمجيات الآمنة وتنمية السائقين
ويتوقف أمن الوصول إلى السجلات في نهاية المطاف على المدونة التي تبرمجها، ومن الضروري اتباع ممارسات إنمائية صارمة.
معايير الترميز والتحليلات الثابتة
(ج) استخدام معايير الترميز مثل نظام المعلومات الإدارية المتكامل (MISRA C) أو CERT C لتلافي السلوك غير المحدد الذي يمكن أن يفسد قيم السجل، ويمكن لأدوات التحليل النظامي (مثلاً، التغطية، البوليسترو) كشف الحواجز المفقودة، وأجسام التكتوسفير، والأخطاء الحسابية، ولتسجيل تعاريف الكميات، ونسخ رموز المعدات " مواصفات وملفات رئيس آلية وفحص المصادقة.
اختبارات الازدحام والدايناميك
(ب) يمكن لسائقي الشاحنات والبرمجيات الجاهزة عن طريق حقن القيم العشوائية في السجلات أن تُكتب أدوات مثل [(FLT:0]) السيزكالر بالنسبة لـ لينكس أن تستكشف مسارات الرموز ذات الصلة بالتسجيل وأن تحدد حوادث التصادم أو فساد الذاكرة.
التحقق الرسمي للسجلات الحرجة
وبالنسبة لأشد السجلات حساسية (مثل تشكيل وحدات حماية الذاكرة، والولاية الآمنة للأحذية)، يمكن أن تثبت أساليب التحقق الرسمية من الناحية الحسابية أن القيم غير الصحيحة لم تُكتب قط، بينما استخدمت أدوات مثل Bedrock أو ]VCC في جميع أنواع التحقّق من البرمجيات المضغوطة.
مراجعة الحسابات والرصد
وحتى مع وجود حماية قوية، يمكن للرصد غير المتكرر أن يكشف عن التلاعب بالسجلات الشاذة، وتشمل وحدات رصد الأداء سجلات يمكن أن تحسب أحداثا مثل " شركة MMIO تكتب إلى مجموعة محددة من المواضيع " ().
(ب) النظر في تنفيذ ] معدل دخول السجلات الذي يحد من ]. فعلى سبيل المثال، يمكن أن يمنع سجل شركة موديل للأخشاب ((Specific Register) [(FLT:3]) من تكرار كتابة سجلات معينة لإدارة الطاقة يمكن استخدامها في الرفض الحراري للخدمة أو في هجمات على الساعات التي تحد من الانحرافات.
خاتمة
فسجلات البرمجيات الصلبة هي حدود أمنية منخفضة المستوى ولكنها عالية الأثر، وكل قراءة أو كتابة إلى سجل لها تنطوي على إمكانية تقويض سلامة النظام أو سر التسرب أو منح امتيازات غير مأذون بها، ويجب على المطورين والمصممين النظاميين أن يعاملوا التلاعب بالسجلات على أنها عملية متميزة تتطلب تصميماً دقيقاً والتحقق من صحتها ورصدها، وذلك بفهم نموذج التهديد - من تصاعد الامتيازات إلى الهجمات الجانبية - وتطبيق أفضل الممارسات المبينة أعلاه (الامتيازات والحواجز على الإنفاذ، والذريتها).
ولا يُعتبر الأمن في مجال البرمجيات الصلبة نشاطاً نهائياً؛ فمع قيام المهاجمين بتطوير تقنيات جديدة مثل حقن الأخطاء أو تحليل التوقيت الميكروبي، سيستمر ضمان الوصول إلى السجلات في الاعتماد على كل من التقدم في المعدات وهندسة البرامجيات المصنَّفة، مع مواصلة اطلاعهم على المشورة الأمنية للبائعين وإدراج استعراضات لإمكانية الوصول إلى السجلات في كل دورة من دورات تطوير البرمجيات والسائقين.