Function Recognition from Raw Power Side Channels in Bare-Metal Embedded Systems: Feasibility and Limits
تُثبت هذه الورقة أنه في حين أن التعرف على وظائف لغة C محددة من آثار الطاقة الخام في الأنظمة المدمجة ذات التحكم المباشر (bare-metal) أمر ممكن باستخدام المشفرات التلقائية الخاصة بكل فئة، إلا أن هذا النهج يواجه حدودًا فيزيائية متأصلة بسبب تشابه الإشارات وتفاوتاتها، مما يجعله بمثابة إشارة سلوكية تكميلية وليس كاشفًا أمنيًا قائمًا بذاته.
في عالم الأنظمة المدمجة الهادئ والمحدود الموارد، غالبًا ما تعمل تلك الحواسيب الصغيرة التي تشغل كل شيء، من المستشعرات الصناعية إلى وحدات التحكم في السيارات، دون شبكات أمان توفرها أنظمة التشغيل الكاملة. هذه الأجهزة التي تعمل بنظام "المعدن العاري" (bare-metal) تتسم بالكفاءة والسرعة، لكن بساطتها تخلق نقطة عمياء لمراقبي الأمن. فبدون وجود نظام تشغيل يسجل كل إجراء، يصعب معرفة ما يفعله البرنامج فعليًا أثناء تشغيله. لسنوات، بحث الباحثون عن وسيلة للنظر داخل هذه الصناديκ السوداء عبر الاستماع إلى الإشارات الفيزيائية التي تنبعث من الأجهزة. فتمامًا كما يتغير نبض قلب الإنسان مع نشاطه، تصدر عن هذه المتحكمات الدقيقة تقلبات طفيفة في استهلاك الطاقة الكهربائية تختلف باختلاف الكود الذي تنفذه. هذه الظاهرة، المعروفة باسم "القناة الجانبية للطاقة"، تشير إلى أن استخدام الطاقة الفيزيائية للجهاز قد يكشف عن سلوك برمجياته الداخلية، مما يوفر طريقة للتحقق مما تفعله الآلة دون الحاجة إلى الوثوق بالآلة نفسها.
وضع فريق من الباحثين في معهد "IMT Atlante" في فرنسا اختبارًا لحدود هذه الفكرة. فقد طرحوا سؤالًا جوهريًا: هل يمكنهم تحديد تعليمات حاسوبية محددة وشائعة — مثل تلك التي تنسخ أو تمسح الذاكرة — بمجرد مراقبة استهلاك الطاقة الخام لجهاز يعمل باستمرار؟ وللتعرف على ذلك، قاموا ببناء بيئة اختبار باستخدام متحكم دقيق قياسي وراسم إشارة (oscilloscope) متخصص لتسجيل التيار الكهربائي أثناء تشغيل الجهاز لبرامج متنوعة. ركزوا على خمس وظائف حرجة غالبًا ما ترتبط بالثغرات الأمنية: نسخ الذاكرة (memory copy)، ضبط الذاكرة (memory set)، نقل الذاكرة (memory move)، وعمليتين لمعالجة النصوص (string-handling). لم يحاول الباحثون فك تشفير البرنامج بأك entirety أو البحث عن أخطاء برمجية محددة؛ بل أرادوا معرفة ما إذا كان أثر الطاقة وحده يمكن أن يعمل كبصمة موثوقة للقول بأن: "هذا الإجراء المحدد يحدث الآن".
قارن الفريق بين طرق مختلفة لتفسير آثار الطاقة هذه. جربوا نماذج تسلسل متقدمة تبحث في الأنماط عبر الزمن، بشكل مشابه لنموذج اللغة الذي يتنبأ بالكلمة التالية في الجملة. ومع ذلك، وجدوا نهجًا أكثر فعالية من خلال تدريب نموذج منفصل ومتخصص لكل وظيفة محددة. تخيل حارس أمن حفظ بدقة مشية خمسة أشخاص محددين؛ فبدلاً من محاولة تخمين هوية الجميع، يقوم الحارس ببساطة بالتحقق مما إذا كان الشخص يطابق النمط المعروف لأحد هؤلاء الخمسة. وإذا لم يطابق الشخص أيًا من الخمسة، يتجاهله الحارس. في تجربتهم، كان هذا الأسلوب المتمثل في استخدام نماذج منفصلة لكل وظيفة هو الأفضل. فعندما قام الجهاز بتشغيل تدفق مستمر من الكود يحتوي على هذه الوظائف الخمس المستهدفة ممزوجة بأنشطة أخرى، حدد النظام الوظائف المستهدفة بدقة 96% من الوقت. وقد أخطأ في تحديد الهدف 4% فقط من المرات، وهي نتيجة قوية لنظام مراقبة سلبي.
ومع ذلك، كشونت الدراسة أيضًا حدودًا واضحة لما يمكن أن تحققه هذه التكنولوجيا. فقد اكتشف الباحثون أن ليست كل الوظائف البرمجية تترك أثرًا متميزًا بما يكفي في استهلاك الطاقة ليتم التعرف عليه بسهولة. فوظيفتان محددتان، إحداهما تُستخدم لتخصيص الذاكرة والأخرى لنسخ النصوص، ثبت أنه من المستحيل تقريبًا التمييز بينهما وبين العمليات الأخرى. كانت وظيفة تخصيص الذاكرة متسقة للغاية؛ إذ استخدمت نفس كمية الطاقة تقريبًا بغض النظر عن حجم الذاكرة المطلوبة، مما لم يترك أي تباين يمكن للنظام التشبث به. أما وظيفة نسخ النصوص فكانت متشابهة جدًا مع عمليات الذاكرة الأخرى، مما خلق بصمة طاقة تندمج مع جيرانها. وبسبب ذلك، عانى النظام في التمييز بين هذه الإجراءات المحددة وضجيج الأنشطة الأخرى للجهاز.
تظهر النتائج أنه بينما تعد مراقبة الطاقة الخام أداة قوية لمراقبة سلوك البرمجيات، إلا أنها ليست حلاً سحريًا يمكنه حل كل المشكلات الأمنية. لقد نجح النظام في تحديد وجود إجراءات معينة ذات صلة بالأمن في تدفق مستمر من البيانات دون الحاجة إلى تثبيت أي برامج على الجهاز نفسه. وهذا يوفر طبقة مستقلة من الأدلة يمكن استخدامها جنبًا إلى جنب مع السجلات البرمجية التقليدية. ومع ذلك، فإن المعدل المرتفع للإنذارات الكاذبة — حيث اعتقد النظام خطأً أن وظيفة مستهدفة قيد التشغيل بينما لم تكن كذلك — يعني أن هذه الطريقة لا يمكنها بعد أن تقف بمفردها كإنذار أمني. إنها مستشعر يخبرك أن نوعًا معينًا من النشاط من المرجح أنه يحدث، لكنه يتطلب أدلة أخرى للتأكد مما إذا كان هذا النشاط آمنًا أو خطيرًا. وفي نهاية المطاف، يوضح هذا العمل أن الإشارات الفيزيائية يمكن أن تكشف سلوك البرمجيات، ولكن فقط إلى الحد الذي تتوقف فيه الإشارة الفيزيائية نفسها عن تقديم معلومات فريدة كافية للتمييز بين الإجراءات.
ملخص تقني: التعرف على الدوال من قنوات القدرة الجانبية الخام في الأنظمة المدمجة ذات الهيكل العاري (Bare-Metal)
بيان المشكلة تعد المتحكمات الدقيقة ذات الهيكل العاري (Bare-metal)، ولا سيما متغيرات ARM Cortex-M، حجر الزاوية في الأنظمة المدمجة، وإنترنت الأشياء، والأنظمة السيبرانية الفيزيائية محدودة الموارد. ومع ذلك، فإن افتقارها إلى أدوات القياس على مستوى نظام التشغيل يخلق فجوة عمياء كبيرة لمراقبة الأمن أثناء وقت التشغيل. وبينما تُعد دوال لغة C المتعلقة بالذاكرة (مثل memcpy و memset) ناققلات شائعة للثغرات الأمنية، فإن مراقبة تنفيذها لا تثبت بطبيعتها أن الاستدعاء كان خبيثاً. يتناول السؤال البحثي الجوهري ما إذا كان يمكن التعرف على دوال مختارة ذات صلة أمنية من لغة C مباشرة من آثار القدرة الخام في أعباء عمل مستمرة وغير معدلة، دون الحاجة إلى أدوات قياس برمجية أو ميزات طيفية مهندسة. تسعى الدراسة إلى تحديد مدى جدوى هذا النهج والحدود الفيزيائية لما يمكن تمييزه من الإشارات المكشوفة.
المنهجية استقصى المؤلفون هذه المشكلة باستخدام منصة ARM Cortex-M4-K82F، حيث تم الحصول على بيانات القدرة عبر راسم إشارة (Oscilloscope) من نوع ChipWhisperer Lite. تضمن الإعداد التجريبي ما يلي:
جمع البيانات: تم جمع الآثار عند تردد 8 ميجاهرتز (مطابق لتردد وحدة المعالجة المركزية) مع مدخلات دالة عشوائية لالتقاط التباينات المعتمدة على المعاملات. تم تجميع البرامج الثنائية باستخدام الخيار -O0 للحفاظ على حدود الدوال الصريحة.
بناء مجموعة البيانات: تم توليد 2,700 أثر لكل دالة، مقسمة إلى نوافذ ثابتة الحجم (التكوين الأساسي: 50 عينة) مع تداخلات متغيرة. تم إنشاء مجموعة بيانات متوازنة مكونة من 140,000 نافذة، جرى تقسيمها على مستوى الأثر الخام لمنع تسرب البيانات.
المقارنة الهيكلية: قارنت الدراسة ثلاثة نهج متميزة:
تصنيف المتواليات القائم على المحولات (Transformer): مرحلة رفض تعتمد على مشفر تلقائي مشترك يتبعها مشفر محول (Transformer encoder).
تصنيف المتواليات القائم على الذاكرة طويلة قصيرة المدى (LSTM): طبقات LSTM متراكمة، تم اختبارها بشكل مستقل ومع مرحلة رفض مشتركة، بما في ذلك فئة "مختلطة" (Mixed) للتعامل مع حدود الدوال.
المشفرات التلقائية المتوازية الخاصة بكل فئة: المنهج المقترح الأساسي. بدلاً من مصنف متعدد الفئات، يعتمد هذا الهيكل على تدريب مشفر تلقائي واحد لكل دالة مستهدفة. يتعلم كل نموذج توزيع إعادة البناء للبصمة القدراتية لدالة واحدة. أثناء الاستدلال، يتم قبول النافذة فقط إذا كان خطأ إعادة البناء الخاص بها أقل من عتبة محددة لكل دالة؛ وإلا، يتم رفضها باعتبارها خارج النطاق (out-of-distribution).
المساهمات الرئيسية
التعرف على الدوال من القدرة الخام: أثبت المؤلفون إمكانية التعرف على دوال مختارة من لغة C مباشرة من نوافذ القدرة الخام ثابتة الحجم في أعباء العمل المستمرة، مما يلغي الحاجة إلى هندسة الميزات الطيفية أو تعديل عبء العمل.
إعادة البناء الخاص بالفئة: قدمت الدراسة وصادقت على بنية موازية من المشفرات التلقائية الخاصة بكل فئة. يتفوق هذا النهج على نماذج تصنيف المتواليات من خلال السماح برفض أجزاء عبء العمل غير المرتبطة بدلاً من تصنيفها قسراً في فئة معروفة.
توصيف الحدود الفيزيائية: توصّف البحث تجريبياً حدود القابلية للملاحظة، موضحاً أن صعوبة التعرف ليست مجرد مسألة سعة نموذج، بل هي مقيدة بمحتوى المعلومات في الإشارة الفيزيائية نفسها.
النتائج أُجري التقييم على أعباء عمل مستمرة مستقلة (W1–W20) صُممت لاختبار نقاط الضعف الشائعة في البرمجيات المدمجة (مثل تجاوز سعة المخزن المؤقت، وأخطاء التحويل من الرقم الموقع إلى غير الموقع).
مجموعة الدوال السبع: عند تقييم جميع الدوال السبع المستهدفة (memcpy, memset, memmove, strncpy, strncat, malloc, strcpy)، واجهت جميع البنيات معدلات مرتفعة من الإيجابيات الكاذبة (FPR). حقق المشفر التلقائي المتوازي الخاص بالفئة أدنى معدل للإيجابيات الكاذبة (52.49%)، لكنه فشل في فصل جميع البصمات بشكل موثوق.
مجموعة الدوال الخمس: باستثناء malloc و strcpy، حقق المشفر التلقائي المتوازي الخاص بكل فئة أفضل نقطة تشغيل: 96.00% لمعدل الحقيقي الموجب (TPR) و 4.00% لمعدل السلبي الكاذب (FNR) عند 39.75% للإيجابي الكاذب (FPR).
وصل نموذج المحول (Transformer) المرجعي إلى 90.00% TPR عند 44.95% FPR.
حقق أفضل تكوين لـ LSTM نسبة 100% TPR ولكن عند معدل مرتفع جداً من الإيجابيات الكاذبة بلغ 59.38%.
الحدود الإشارية: أظهرت دالتان صعوبة مستمرة عبر جميع البنيات:
malloc: أظهرت ملف تنفيذ شبه ثابت (~166 دورة) بغض النظر عن حجم التخصيص، مما وفر تبايناً غير كافٍ في إشارة داخل الدالة.
strcpy: أظهرت تشابهاً عالياً بين الدوال مع memcpy وعمليات نقل الذاكرة الأخرى، مما خلق غموضاً في نوافذ القدرة الخام.
معلمات الاستحواذ: لم يؤدِ رفع معدل أخذ العينات إلى 4 أضعاف تردد وحدة المعالجة المركزية أو زيادة حجم النافذة إلى 200 عينة إلى تحسين أداء التعرف، مما يشير إلى أن القيود متأصلة في معلومات الإشارة وليس في دقة الاستحواذ.
التحقق عبر المنصات: أكد التقيائي السياقي على لوحة Cortex-M4-F303 أن الطريقة يمكن إعادة تدريبها على لوحة مختلفة، حيث حققت 100% TPR ولكن مع الحفاظ على 33.35% FPR، مع تباين الدقة بشكل كبير حسب الدالة (من 6.25% إلى 50%).
الأهمية والادعاءات خلصت الورقة إلى أن التعرف على الدوال من القدرة الخام هو أمر ممكن كإشارة سلوكية مستقلة لمراقبة الأنظمة المدمجة محدودة الموارد، ولكنه ليس كاشفاً مستقلاً للثغرات الأمنية.
الإشارة السلوكية مقابل الكاشف الأمني: يؤكد المؤلفون أن التعرف على تنفيذ دالة ما لا يثبت أن الاستدعاء غير آمن أو خبيث. بدلاً من ذلك، يوفر هذا النهج إشارة سلوكية خارجية يمكن أن تكمل الأدلة المستمدة من البرمجيات في بنية مراقبة متعددة المراحل.
حدود القابلية للملاحظة الفيزيائية: تحدد الدراسة أن القدرة على تمييز بصمات الدوال مقيدة بالمعلومات الفيزيائية التي يكشف عنها عتاد محدد، ومترجم (Compiler) معين، وتنفيذ مكتبة معينة. إن الصعوبة المستمرة في malloc و strcpy تشير إلى أنه لا يمكن لأي قدرة نموذج أن تتغلب على نقص أو تداخل المعلومات الفيزيائية.
واقع النشر: يظل المؤلفون متواضعين بشأن النشر الفوري، مشيرين إلى أن ارتفاع معدلات الإيجابيات الكاذبة وتغير الدقة باختلاف الدوال يحول دون الاستخدام كأداة تنبيه مستقلة. يتطلب النشر الموثوق مزيد من العمل على تقليل الإيجابيات الكاذبة وضمان المتانة عبر تحسينات المترجم، والظروف البيئية، ومنصات العتاد.
باختصار، يحدد هذا العمل حدود ما يمكن لقنوات القدرة الجانبية الخام كشفه: يمكنها كشف سلوك البرمجيات ذي الصلة بالأمن دون الاعتماد على مكدس البرمجيات المراقبة، ولكن فائدتها تقتصر بصرامة على دوال وظروف تشغيلية محددة حيث تظل الأدلة الفيزيائية قابلة للتمييز.