Remote-Timer-as-a-Service: Efficient Microarchitectural Leakage in the Cloud with Remote Timers
تُثبت هذه الورقة أن التدابير الوقائية الحالية لـ Cloudflare Workers ضد هجمات Spectre، بما في ذلك عزل العمليات الديناميكي (DyPrIs)، غير كافية ضد التسريب الميكرو-بنيوي عن بُعد، حيث نجح المؤلفون في استغلال المؤقتات عن بُعد وتقنيات التضخيم لاستخراج رمز JWT بسرعات أعلى بكثير، مما دفع Cloudflare إلى تنفيذ عزل الذاكرة المدعوم بالأجهزة وصندوق رمال V8 للتخفيف من حدة الثغرة الأمنية.
البحث الأصلي مرخَّص بموجب CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). هذا شرح مولَّده بالذكاء الاصطناعي للبحث أدناه. لم يكتبه المؤلفون ولم يصادقوا عليه. وللتحقق من الدقة التقنية، يرجى الرجوع إلى البحث الأصلي. اقرأ إخلاء المسؤولية الكامل
في المشهد الرقمي الحديث، يحدث قدر هائل من نشاطنا عبر الإنترنت ليس في مراكز بيانات بعيدة ومركزية، بل على خوادم تقع بالقرب منا تماماً. هذا النهج، المعروف باسم الحوسبة الطرفية (edge computing)، يسمح للمواقع وتطبيقات الويب بالاستجابة بشكل فوري تقريباً من خلال معالجة البيانات في مكان قريب. ولجعل هذه السرعة ممكنة، تقوم شركات مثل "كلاود فلير" (Cloudflare) بتشغيل آلاف البرامج المختلفة لعملائها على نفس الكمبيوتر الفيزيائي في آن واحد. إنهم يفعلون ذلك من خلال مشاركة بيئة برمجية واحدة كبيرة، بدلاً من منح كل عميل حاسوباً مستقلاً خاصاً به. هذا التصميم فعال للغاية، ولكنه يخلق ثغرة أمنية فريدة؛ فإذا تمكن برنامج واحد من التلصص على ذاكرة برنامج آخر، فقد يسرق معلومات حساسة مثل كلمات المرور أو المفاتيح السرية. لسنوات، ظل خبراء الأمن قلقين من نوع معين من الخدع يسمى هجوم "سبيكتر" (Spectre)، حيث يستخدم برنامج ما تأخيرات طفيفة وغير مرئية في كيفية معالجة الكمبيوتر للمعلومات لتخمين البيانات التي يحملها برنامج آخر.
لقد أثبت باحثون من "كلاود فلير" وجامعة إدنبرة مؤخراً أن هذا الخطر النظري هو خطر حقيقي وعملي للغاية. فقد أظهروا أنه حتى مع قواعد الأمان الصارمة التي وضعتها "كلاود فلير" لمنع مثل هذه الخدع، يمكن لبرنامج خبيث أن يستمع إلى توقيت الأحداث عبر الإنترنت لسرقة الأسرار. أثبت الفريق أنه باستخدام مزيج ذكي من التقنيات، يمكن للمهاجم قياس الوقت بدقة كافية لتجاوز دفاعات النظام. وقد نجحوا في استخراج رمز رقمي سري من برنامج ضحية يعمل على نفس الجهاز، وفعلوا ذلك بسرعة تفوق أي محاولة سابقة بمئات المرات. هذا الاكتشاف دفع الشركة إلى إجراء تغيير شامل في بنيتها الأمنية، والانتقال من التحذيرات القائمة على البرمجيات إلى الحواجز التي تفرضها الأجهزة (Hardware) لحماية مستخدميها.
تبدأ القصة بكيفية بناء هذه الحواسيب الطرفية. للتعامل مع ملايين الطلبات في كل ثانية، تقوم "كلاוד فلير" بتشغيل العديد من نصوص العملاء (scripts) المختلفة داخل عملية واحدة (process)، وهي عبارة عن حاوية كبيرة تضم جميع البرامج النشطة. يختلف هذا عن الأنظمة القديمة حيث كان كل برنامج يعمل في صندوق منفصل خاص به. وبينما يجعل هذا النهج المشترك كل شيء يعمل بشكل أسرع، إلا أنه يعني أنه إذا وجد نص برمجي طريقة لقراءة ذاكرة جاره، فيمكنه رؤية كل ما يفعله ذلك الجار. ولمنع ذلك، قدمت "كلاود فلير" عدة تدابير أمنية؛ فقد قاموا بتجميد الساعات التي يمكن للبرامج قراءتها، مما يمنعها من قياس الوقت بدقة. كما أزالوا القدرة للبرامج على مشاركة الذاكرة أو تشغيل خيوط معالجة (threads) متعددة في وقت واحد. بالإضافة إلى ذلك، قاموا بتثبيت نظام مراقبة يسمى "عزل العمليات الديناميكي" (Dynamic Process Isolation)، والذي يراقب سلوك النص البرمโปรแกรม. إذا بدأ نص برمجي بالتصرف بشكل مريب، مثل محاولة قياس الوقت بشكل متكرر، يقوم النظام بطرده من العملية المشتركة ووضعه في صندوق معزول خاص به.
وضع الباحثون اختباراً لمعرفة ما إذا كانت هذه الدفاعات كافية حقاً. بدأوا بمعالجة مشكلة الوقت؛ فبما أن النظام يجمد الساعات أثناء العمل العادي، احتاج المهاجمون إلى طريقة لقياس الوقت من الخارج. واكتشفوا أنه يمكنهم استخدام ميزة تسمى "WebSockets"، والتي تسمح للبرنامج بإبقاء اتصال طويل الأمد مع خادم. ومن خلال إرسال رسائل ذهاباً وإياباً عبر هذا الاتصال، استطاعوا إنشاء مؤقت عن بُعد يعمل حتى بينما يكون البرنامج الرئيسي مشغولاً. اختبروا ذلك في بيئة الإنتاج الحقيقية، وليس في مختبر فحسب، ووجدوا أن بإمكانهم قياس الوقت بدقة تصل إلى حوالي ميلي ثانية واحدة. ورغم أن هذا قد يبدو بطيئاً، إلا أنه كان كافياً لبدء الهجوم.
التحدي التالي كان جعل الإشارة عالية بما يكفي لسماعها فوق ضجيج الإنترنت المزدحم. قد يتسبب بت واحد من المعلومات السرية في تأخير قدره بضعة نانو ثوانٍ فقط، وهو أمر صغير جداً بحيث لا يمكن قياسه بمؤقتهم عن بُعد. استخدم الفريق تقنية تسمى "التضخيم" (amplification). تخيل أنك تحاول سماع همسة في غرفة صاخبة؛ قد تطلب من الشخص أن يهمس بنفس الشيء مراراً وتكراراً، أو قد تستخدم جهازاً يجعل الصوت يتردد صداه. بنى الباحثون أداة تكرر التأخير الضئيل آلاف المرات، وتراكم التأثير حتى أصبح إجمالي التأخير بضع ميلي ثوانٍ. هذا جعل الفرق بين الإجابة بـ "نعم" والإجابة بـ "لا" كبيراً بما يكفي ليتم اكتشافه بواسطة مؤقتهم عن بُعد، حتى مع وجود الاضطرابات والضجيج في شبكة واقعية.
مع وجود مؤقت موثوق وطريقة لتضخيم الإشارة، توجه الفريق إلى عملية سرقة البيانات الفعلية. كانوا بحاجة إلى طريقة لخداع الكمبيوتر للكشف عن سر دون أن يدرك الكمبيوتر ما يحدث. استخدموا طريقة تسمى "التنفيذ التخميني" (speculative execution)، حيث يخمن الكمبيوتر ما يجب أن يفعله تالياً ويبدأ في العمل عليه قبل أن يتأكد من صحته. إذا كان التخمين خاطئاً، فعادة ما يتخلص الكمبيوتر من العمل. ومع ذلك، وجد الباحثون طريقة تجعل الكمبيوتر يترك أثراً لهذا العمل في "الذاكرة المخبئية" (cache)، وهي منطقة ذاكرة صغيرة وسريعة. من خلال ترتيب الكود الخاص بهم بعناقة، استطاعوا إجبار الكمبيوتر على التخمين بأنه يجب أن يقرأ قطعة معينة من البيانات السرية. وحتى لو أدرك الكمبيوتر لاحقاً أنه كان مخطئاً وتوقف، فإن عملية قراءة البيانات تركت علامة في الذاكرة المخبئية تجعل الوصول إليها لاحقاً يستغرق وقتاً أطول. ومن خلال قياس المدة التي يستغرقها الوصول إلى ذلك الموقع، استطاعوا معرفة ما إذا كانت البيانات السرية قد قُرئت أم لا.
دمج الباحثون هذه العناصر في سلسلة هجوم كاملة. أولاً، استخدموا ميزة خاصة بنظام "كلاود فلير" تسمى "الأجسام المستديمة" (Durable Objects) لإبقاء نصهم الخبيث يعمل لساعات دون توقف، متجاوزين حدود الوقت المعتادة، مما سمح لهم بالبقاء في نفس العملية المشتركة مع الضحية. بعد ذلك، استخدموا مؤقتهم عن بُعد وأدوات التضخيم لتسريب عنوان الذاكرة لبيانات الضحية. وبمجرد معرفة مكان البيانات، استخدموا أداة ثانية لقراءة السر الفعلي، والذي كان في اختبارهم عبارة عن رمز رقمي يُستخدم للمصادقة. كرروا هذه العملية بت (bit) تلو الآخر، لإعادة بناء السر بالكامل.
كانت النتائج مذهلة. في بيئة الإنتاج الحقيقية، تمكن الفريق من سرقة البيانات بمعدل يصل إلى 12 بت في الثانية. هذا تحسن هائل مقارنة بالمحاولات السابقة، التي لم تنجح إلا في حوالي 120 بت في الساعة. كان الهجوم دقيقاً، حيث حدد بتات السر بشكل صحيح بنسبة تزيد عن 99 في المائة. والأهم من ذلك، نجح الهجوم في التهرب من نظام المراقبة. وجد الباحثون أن الطريقة التي استخدموا بها المؤقت عن بُعد والاتصال طويل الأمد قد أربكت نظام الكشف؛ حيث كان النظام يراقب عدد مرات وصول النص البرمجي إلى عدادات داخلية معينة لتقرير ما إذا كان خبيثاً، لكن توقيت هجومهم جعل تلك العدادات تبدو طبيعية. ولأن النص البرمجي لم ينهِ مهمته أثناء تشغيله، لم تكن لدى النظام فرصة لعزله قبل سرقة البيانات.
سلط هذا الاكتشاف الضوء على خلل جوهري في الاعتماد فقط على البرمجيات لإيقاف الخدع التي تحدث على مستوى الأجهزة. إن التدابير الأمنية التي وضعتها "كلاود فلير"، مثل تجميد الساعات ومراقبة السلوك، لم تكن كافية لإيقاف مهاجم مصمم يمتلك الأدوات المناسبة. واستجابة لهذا العرض، طبقت "كلاود فلير" سلسلة من الدفاعات الجديدة؛ حيث قدموا "صندوق رمال" (sandbox) يحدد كيفية وصول البرامج إلى الذاكرة، مما يضع سوراً حول البيانات بحيث حتى لو حاول برنامج النظر خارج منطقته، فلا يمكنه الوصول إلى أسرار جاره. كما قاموا بتحسين طرق الكشف الخاصة بهم للبحث عن الأنماط المحددة للهجوم بدلاً من مجرد السلوك العام. وأخيراً، ولعل الأهم، نشروا نظام عزل يعتمد على الأجهزة (hardware-based isolation). يستخدم هذا النظام القدرات الفيزيائية للكمبيوتر لقفل بيانات كل عميل في غرفة منفصلة، مما يضمن أنه حتى لو حاول أحد البرامج الاقتحام، فإن الأجهزة نفسها ستمنع المحاولة.
يعتبر هذا العمل تذكيراً قوياً بأنه في عالم الحوسبة عالية السرعة، غالباً ما يكون هناك تعارض بين الكفاءة والأمن. فمن خلال دفع حدود مدى سرعة ومرونة هذه الأنظمة، تظهر ثغرات أمنية جديدة لا محالة. لم يكتشف الباحثون مجرد خطأ برمي، بل أظهروا أن استراتيجية حماية الأنظمة المشتركة بالاعتماد على الفحوصات البرمجية وحدها كانت غير كافية ضد الهجمات الحديثة والمتطورة. لقد تطلب الحل تحولاً إلى الحدود التي تفرضها الأجهزة، مما يثبت أنه في بعض الأحيان، الطريقة الوحيدة للحفاظ على الأسرار هي بناء جدران لا يمكن للبرمجيات تسلقها. تؤكد هذه الدراسة أنه بينما توفر الحوسبة الطرفية سرعة وراحة مذهلتين، فإنها تتطلب مستوى أعلى من الأمن الفيزيائي لحماية الكميات الهائلة من البيانات الحساسة التي تتدفق من خلالها في كل ثانية.
غارق في أبحاث مجالك؟
تصلك نشرة يومية بأحدث الأبحاث المطابقة لكلماتك البحثية المفتاحية — مع ملخصات تقنية، بلغتك.