TrustMee: Self-Verifying Remote Attestation Evidence
تقدم الورقة البحثية TrustMee، وهو إطار عمل للتحقق عن بُعد غير مرتبط بمنصة محددة يُمكّن المُحقِّقين من التحقق من الأدلة الواردة من بيئات تنفيذ موثوقة (TEEs) وأطقم برمجية متنوعة عبر تنفيذ منطق تحقق ذاتي الاحتواء مبني على تقنية WebAssembly ومرفق مع عملية التحقق، مما يلغي الحاجة إلى كود برمجي خاص بكل منصة ويوسع نطاق التوافق التشغيلي في المنظومة.
البحث الأصلي مرخَّص بموجب CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). هذا شرح مولَّده بالذكاء الاصطناعي للبحث أدناه. لم يكتبه المؤلفون ولم يصادقوا عليه. وللتحقق من الدقة التقنية، يرجى الرجوع إلى البحث الأصلي. اقرأ إخلاء المسؤولية الكامل
في العالم الرقمي، هناك حاجة مستمرة لإثبات أن الكمبيوتر هو بالفعل ما يدعي أنه هو، وأنه يشغل البرمجيات الصحيحة دون أي تلاعب خفي. هذه العملية، المعروفة باسم "التوثيق عن بُعد" (remote attestation)، هي المعادل الرقمي لحارس أمن يفحص بطاقة هوية الزائر ويتفحص أمتعته قبل السماح له بالدخول إلى مبنى آمن. وهي ضرورية لـ "الحوسبة السرية" (confidential computing)، وهو مجال تُعالج فيه البيانات الحساسة في مناطق خاصة ومغلقة داخل الكمبيوتر تسمى "بيئات التنفيذ الموثوقة" (trusted execution environments). صُممت هذه المناطق للحفاظ على سلامة البيانات حتى من الأشخاص الذين يمتلكون الكمبيوتر أو مزود خدمة السحابة. ومع ذلك، لكي يعمل هذا النظام، يجب أن يمتلك الشخص الذي يقوم بالفحص —المُتحقق— مجموعة محددة من القواعد والأدوات لكل نوع مختلف من الحواسيب التي قد يواجهها. تماماً كما سيحتاج حارس الأمن إلى دليل مختلف لفحص جواز سفر من دولة ما مقابل دولة أخرى، تتطلب برمجيات التحقق الحالية كوداً مخصصاً لكل نوع جديد من الحواسيب الآمنة. وهذا يخلق عبئاً ثقيلاً: فمع ظهور تقنيات جديدة، يجب أن تنمو برمجيات التحقق باستمرار، لتصبح أكبر وأكثر تعقيداً وأكثر عرضة للأخطاء التي قد تسمح للمهاجمين بالتسلل.
اقترح فريق من الباحثين حلاً لهذا التعقيد المتزايد يسمى "TrustMee". فبدلاً من إجبار المُتحقق على حمل مكتبة ضخمة من كتب القواعد المختلفة، يسمح "TrustMee" للكمبيوتر الذي يتم فحصه بأن يحضر كتاب قواعده الخاص معه مع هويته. في هذا النظام الجديد، عندما يرسل الكمبيوتر الآمن إثبات هويته، فإنه يرسل أيضاً قطعة صغيرة من البرمجيات المستقلة والمكتوبة بتنسيق عالمي يسمى "WebAssembly". تحتوي هذه القطعة البرمجية على التعليمات المحددة اللازمة لفحص هوية ذلك الكمبيوتر بعينه. لا يحتاج المُتحقق إلى معرفة تفاصيل كيفية قراءة تلك الهوية مسبقاً؛ بل يقوم ببساً بتشغيل البرمجيات المقدمة داخل بيئة معزولة وآمنة (sandbox) للقيام بعملية الفحص. هذا النهج يحول عملية التحقق إلى مهمة واحدة قياسية تعمل مع أي كمبيوتر، بغض النظر عن الشركة المصنعة أو التصميم.
قام الباحثون ببناء نسخة عاملة من هذا النظام واختبروه مع عدة منصات حاسوبية آمنة حقيقية، بما في ذلك تلك التي تصنعها شركتا AMD وIntel. ووجدوا أن النظام نجح في التحقق من الأدلة المستمدة من الأجهزة (hardware) وكذلك من طبقات البرمجيات التي تعلو الأجهزة، مثل سياسات الحاويات (container policies) وتتبعات تدفق التحكم (control-flow traces). وفي اختباراتهم، كانت المدة التي استغرقها التحقق من الأدلة قريبة جداً من سرعة الأنظمة الحالية، حيث أضافت بعض السيناريوهات أقل من ثلاثة مللي ثانية من التأخير. هذا التأخير الطفيف يماثل الوقت الذي تستغرقه رمشة العين، مما يشير إلى أن الطريقة الجديدة سريعة بما يكفي للاستخدام في العالم الحقيقي دون إبطاء العمليات الحرجة. وتثبت الدراسة أنه من الممكن التحقق من سلامة بيئات حوسبة متنوعة دون الحاجة لتحديث المُتحقق بكود جديد محفوف بالمخاطر في كل مرة يظهر فيها منصة جديدة.
إن المشكلة الجوهرية التي عالجها الباحثون هي أن أنظمة التحقق الحالية هشة ويصعب صيانتها. ولأن البرمجيات التي تفحص الأدلة تعمل مباشرة على النظام الرئيسي للمُتحقق، فإن أي خطأ أو خلل في الكود الخاص بنوع معين من الحواسيب يمكن أن يؤدي لتسريب أو اختراق النظام بأكره. وهذا يجبر المؤسسات على أن تكون انتقائية للغاية بشأن الحواسيب التي تدعمها، وغالباً ما تتجاهل المنصات الجديدة أو المتخصصة لأن تكلفة بناء وصيانة كود التحقق المخصص مرتفعة للغاية. ومن خلال نقل منطق الفحص المحدد إلى مكون محمول ومعزول، يزيل "TrustMee" هذا الحاجز. لم يعد المُتحقق بحاجة للوثوق بالكود الذي يشغله؛ بل يحتاج فقط للوثوق بأن الكود جاء من مصدر معروف ومعتمد، مثل الشركة المصنعة للكمبيوتر الآمن. يقوم النظام بفحص التوقيع الرقمي للمكون ويتأكد من عدم العبث به، لكن العمل الفعلي لتحليل البيانات المعقدة يحدث داخل حاوية آمنة لا يمكنها إلحاق الضرر بالمُتحقق.
في تجاربهم، أظهر الفريق أن هذه الطريقة تعمل لمجموعة واسعة من السيناريوهات. فقد نجحوا في التحقق من أدلة من "AMD's Secure Nested Paging"، و"Intel's Trust Domain Extensions"، و"Intel's Software Guard Extensions". وبعيداً عن الأجهزة، أظهروا أيضاً أن النظام يمكنه التعامل مع الفحوصات القائمة على البرمجيات، مثل التحقق من السياسات التي تحكم أي صور الحاويات (container images) مسموح بتشغيلها في بيئة آمنة. وتعد هذه خطوة كبيرة للأمام لأن الأنظمة الحالية غالباً لا تستطيع التعامل مع هذه الفحوصات متعددة الطبقات دون تعديلات كبرى. كما اختبر الباحثون مخطط "التحقق من تدفق التحكم" (control-flow attestation)، والذي يتحقق مما إذا كان البرنامج قد نفذ تعليماته بالترتيب الصحيح، وهي مهمة كانت تتطلب سابقاً منطقاً مخصصاً ومعقداً في المُتحقق. ومع "TrustMee"، تم التعامل مع كل هذه الأنواع المختلفة من الفحوصات باستخدام نفس المُتحقق، ببساطة عبر استبدال المكون البرمجي الصغير الذي توفره الأداة (device).
تشير نتائج الأداء إلى أن هذا التحول في البنية التحتية لا يأتي على حساب السرعة. فعندما تم "تسخين" النظام، بمعنى أن المكونات البرمجية كانت محملة وجاهزة للتشغيل، طابقت المدة المستغرقة للتحقق من الأدلة سرعة الأنظمة الأصلية الحالية أو حتى تفوقت عليها في بعض المنصات. وفي حالات أخرى، كان العبء الإضافي ضئيلاً، وبقي ضمن الحدود المقبولة للعمليات الأمنية الحرجة. لاحظ الباحثون أن التأخيرات الطفيفة الملحوظة في بعض الحالات كانت بسبب القيود الحالية لتشغيل العمليات التشفيرية في التنسيق البرمجي العالمي، ويتوقعون أن تتقلص هذه التأخيرات مع نضوج هذه التقنية. والأهم من ذلك، يضمن النظام أن إضافة نوع جديد من الحواسيب إلى الشبكة لا يزيد من حجم الكود الموثوق الذي يجب أن يعتمد عليه المُتحقق. يظل المُتحقق رشيقاً وآمناً، بينما تنتقل مسؤولية المنطق المعقد والخاص بالمنصة إلى المكون الذي يزوده مالك الجهاز.
يشير هذا العمل إلى تغيير جذري في كيفية تطور أنظمة الحوسبة الآمنة. فمن خلال فصل منطق التحقق عن المُتحقق نفسه، يسمح النظام بوجود بنية تحتية أكثر مرونة وأماناً حيث يمكن اعتماد التقنيات الجديدة فوراً دون انتظار تحديث مركزي للبرمجيات. ويؤكد الباحثون أن هذا لا يلغي الحاجة للوثوق في منطق التحقق نفسه؛ إذ يجب أن يكون المنطق صحيحاً وموقعاً من سلطة موثوقة. ومع ذلك، فإنه يلغي خطر قيام ذلك المنطق باختراق المُتحقق إذا كان يحتوي على خطأ برمجي. وتؤكد الدراسة أنه من الممكن بناء مُتحقق غير مرتبط بنوع محدد من الأجهزة أو البرمجيات التي يفحصها، بشرط أن تأتي الأدلة مع تعليماتها الموثقة الخاصة بكيفية فحصها. يوفر هذا النهج مساراً نحو منظومة حوسبة سرية أكثر قوة وقابلية للتكيف، حيث لا يرتبط أمن عملية التحقق بالصيانة المستمرة لمكتبة متنامية من الكود المخصص.
غارق في أبحاث مجالك؟
تصلك نشرة يومية بأحدث الأبحاث المطابقة لكلماتك البحثية المفتاحية — مع ملخصات تقنية، بلغتك.