لماذا يُسمح بتشغيل CrowdStrike في نواة Windows؟
استخدمت شركة مايكروسوفت حكماً صدر عن الاتحاد الأوروبي بشأن مكافحة المنافسة في عام 2009 كخط دفاع في ظل طرح أسئلة حول سبب تمكن منتج تابع لجهة خارجية من إسقاط نظام التشغيل ويندوز.
في يوم الجمعة 19 يوليو، تعرض 8.5 مليون جهاز كمبيوتر لما يسمى بشاشة الموت الزرقاء، والتي تحدث عندما يواجه نظام التشغيل ويندوز (OS) خللًا كبيرًا ويتوقف عن العمل لمنع المزيد من الضرر.
تحدث مثل هذه الأحداث، ولكن تم تحديد السبب الجذري لها باعتباره تحديثًا به أخطاء في برنامج مكافحة الفيروسات التابع لجهة خارجية والذي يسمى Falcon، والذي تقدمه شركة CrowdStrike. ملف به أخطاء كان من المفترض أن يتم اكتشافه بواسطة Falcon، ولكن كان به أيضًا خطأ أدى إلى قراءة الملف وتسبب في تعطله.
تعتبر الأعطال من الأحداث المعتادة لمستخدمي أجهزة الكمبيوتر، ولكنها نادرًا ما تتسبب في توقف النظام. في هذه الحالة، وكما ذكرت مجلة Computer Weekly سابقًا، يعمل Falcon كـ برنامج تشغيل جهاز وضع النواة في ما يعرف باسم Ring Zero. وهذا يمنحه إمكانية الوصول الكامل إلى نظام التشغيل Windows، وهو نفس الوصول الذي تتمتع به مكونات Windows الأساسية التي طورتها Microsoft.
السبب، وفقا لمايكروسوفت، في أن CrowdStrike، لديها هذا الوصول، يرجع إلى حكم أصدرته المفوضية الأوروبية في عام 2009، والذي ينص على أن مايكروسوفت يجب أن تضمن أن منتجات الطرف الثالث يمكن أن تتفاعل مع منتجات البرمجيات ذات الصلة من مايكروسوفت باستخدام نفس معلومات التشغيل البيني على قدم المساواة مع منتجات مايكروسوفت الأخرى.
خبير ترخيص برامج مايكروسوفت ريتش جيبونز قال: “لقد تعرضت مايكروسوفت لبعض الانتقادات بسبب تمكن طرف ثالث من التأثير على نظام Windows على هذا المستوى التقني العميق. ومن المثير للاهتمام أن مايكروسوفت أشارت إلى حقيقة مفادها أن هذا يرجع إلى حكم الاتحاد الأوروبي المناهض للمنافسة لعام 2009 والذي يعني أن مايكروسوفت يجب أن تمنح شركات الأمن الأخرى نفس إمكانية الوصول إلى نواة Windows كما فعلت هي.”
ويعتقد جيبونز أنه نظراً لأن حكم التوافق بين الأنظمة لعام 2009 يعني أنه من الممكن لمنظمات أخرى تعطيل نظام ويندوز بنفس الطريقة التي فعلها برنامج تشغيل جهاز kernel CrowdStrike، فإن مايكروسوفت قد تستخدم هذه الكارثة للضغط على الاتحاد الأوروبي للتدخل.
وتساءل قائلاً: “هل ستستخدم مايكروسوفت قضية CrowdStrike للضغط على هذا الحكم و/أو أحكام مستقبلية مماثلة بشأن قابلية التشغيل البيني لمنتجات مايكروسوفت، وهل ستستخدم هذا كرافعة إضافية لدفع العملاء نحو منتجات الأمان الخاصة بهم؟”
ومن الواضح أنه قبل CrowdStrike، لم تعرب شركة Microsoft علنًا عن مخاوف أمنية بشأن المخاطر الأمنية المترتبة على توفير الوصول إلى نفس واجهات برمجة التطبيقات (APIs) التي تستخدمها Microsoft داخليًا.
ومن المفهوم أن خوادم Linux واجهت مشكلة مماثلة في شهر أبريل مع CrowdStrike، والتي، وفقًا لبعض المعلقين في الصناعة، سلطت الضوء على فشل في مراقبة الجودة لم يعالجها CrowdStrike ولا Microsoft بشكل مناسب.
لم يتأثر نظام التشغيل Apple MacOS بالانهيار الذي حدث يوم الجمعة، حيث يعمل بنظام Apple Endpoint Security Framework، وهو عبارة عن واجهة برمجة تطبيقات يستخدمها مزودو مكافحة الفيروسات للحصول على معلومات القياس عن بعد من نظام التشغيل MacOS الأساسي. وهذا يعني أنهم لا يحتاجون إلى تشغيل التعليمات البرمجية الخاصة بهم داخل نظام التشغيل MacOS الأساسي في Ring Zero، وهو المكان الذي كان من المفترض أن يعمل فيه إصدار Windows من CrowdStrike’s Falcon.
هناك تساؤلات حول سبب عدم تقديم مايكروسوفت لشيء مماثل. جزء من المشكلة هو أن Windows، على عكس MacOS، يوفر التوافق مع الإصدارات السابقة، والذي يمتد لسنوات عديدة. ولكن ربما لعبت اللوائح المناهضة للمنافسة أيضًا دورًا في ذلك.
وفقًا لمطور Windows السابق ديفيد بلامر، تقدم Microsoft في الواقع عددًا من واجهات برمجة التطبيقات لأمن مكافحة الفيروسات من جهات خارجية. قال بلامر في رسالة بريد إلكتروني: “يتحول CrowdStrike افتراضيًا إلى وضع kernel، ربما لأنه يحتاج إلى القيام بأشياء لا يمكن القيام بها من وضع المستخدم”. فيديو يوتيوب.
“ومن وجهة نظري، قد تكون مايكروسوفت مسؤولة عن هذا، لأنه على منصة Windows، وعلى حد علمي، تتطلب بعض وظائف الأمان الخاصة بـ CrowdStrike تكاملاً عميقًا مع نظام التشغيل، وهو ما لا يمكن تحقيقه حاليًا إلا على جانب النواة.”
تحتوي شركة Microsoft على عدد من واجهات برمجة التطبيقات بما في ذلك Windows Defender Application Control API وWindows Defender Device Guard، والتي قال بلامر إنها توفر آليات للتحكم في تنفيذ التطبيق وضمان تشغيل التعليمات البرمجية الموثوقة فقط على نظام التشغيل.
قال إن منصة Windows Filtering Platform (WFP) تسمح للتطبيقات بالتفاعل مع مجموعة الشبكة دون الحاجة إلى كود على مستوى النواة. ومع ذلك، نقلاً عن مصادر داخل Microsoft، زعم بلامر أن الشركة “حاولت بالفعل القيام بالشيء الصحيح” من خلال تطوير واجهة برمجة تطبيقات متقدمة مصممة خصيصًا لتطبيقات الأمان مثل تلك الموجودة في CrowdStrike.
وأضاف أن “هذه الواجهة البرمجية تَعِد بتكامل أعمق مع نظام التشغيل ويندوز، مما يوفر استقرارًا وأداءً وأمانًا محسّنًا”.
ولكن حكم الاتحاد الأوروبي لعام 2009 منع فعلياً مثل هذا التكامل لأنه كان من الممكن أن يعطي مايكروسوفت ميزة غير عادلة.
لكن، إيان براون، مستشار مستقل وفي معرض تعليقه على قضية تنظيم الإنترنت، زعم أن شركة مايكروسوفت ينبغي أن تطبق ضوابط أمنية أفضل، بدلاً من محاولة إلقاء اللوم في حادثة تحطم كراود سترايك على لجنة مكافحة المنافسة بالاتحاد الأوروبي.
في إحدى المدونات، كتب: “من أجل تعزيز مرونة المجتمعات المعتمدة على التكنولوجيا، يجب اختبار برامج مستوى نواة نظام التشغيل وما يعادلها على أنظمة البنية التحتية ذات الأهمية الاجتماعية (مثل السفر والرعاية الصحية والخدمات المصرفية) بعناية شديدة (ومن الأفضل تشغيلها على نواة صغيرة تم التحقق منها رسميًا) والتحكم فيها. لكن لا ينبغي لمحتكري أنظمة التشغيل اتخاذ القرارات النهائية بشأن شكل هذه الضوابط على وجه التحديد، حيث يكون لها آثار على المنافسة”.