مدونة FireAI للأمان

بقلم FireAI Security & Research Team · نُشر في

ثغرات يوم الصفر على macOS: لماذا لا تزال التهديدات غير المعروفة مضطرة إلى «الاتصال بأصحابها»

ثغرات يوم الصفر على macOS: لماذا لا تزال التهديدات غير المعروفة مضطرة إلى «الاتصال بأصحابها»

ثغرة يوم الصفر عيب أمني يُستغل قبل أن يكون لدى المورّد إصلاح له، وسُمّيت بذلك لأن المدافعين لم يكن لديهم سوى صفر من الأيام للرد. وهي أكثر فئات التهديد إثارةً للقلق لأن النصيحة المعتادة، «أبقِ برامجك محدّثة»، لا تنطبق بعد: فليس هناك ما يُحدَّث إليه. تنظر هذه المقالة في ما بدت عليه هذه العيوب فعليًا على منصات Apple، مستندةً إلى إصدارات Apple الأمنية نفسها وGoogle Project Zero وCitizen Lab، ثم في الشيء الوحيد الذي لا يزال على استغلال غير معروف فعله بعد أن ينجح.

نقطة واحدة ينبغي ذكرها في البداية، لأن التسويق حول هذا الموضوع مضلّل غالبًا: لا جدار حماية يوقف استغلالًا. لا FireAI ولا أي جدار آخر. فجدار الحماية لا يستطيع رؤية صورة مشوّهة تُحلَّل داخل iMessage أو خلل في النواة يُستثار من صفحة ويب. وما يستطيع جدار الحماية فعله هو مراقبة ما يحدث بعد ذلك، ويتبين أن هذا أهم مما يبدو للوهلة الأولى.

ما الذي يُظهره السجل فعليًا

توثّق Apple كل إصلاح أمني على صفحة إصدارات Apple الأمنية، وعندما يكون عيب ما مستخدَمًا بالفعل ضد أشخاص حقيقيين تقول ذلك بعبارة معيارية: «Apple على علم بتقرير يفيد بأن هذه المشكلة ربما استُغلت بشكل نشط». وقراءة تلك الصفحة على مدى بضع سنوات تعطي صورة أرسخ من أي عنوان صحفي. ويحتفظ Google Project Zero بسجل عام مكمّل، هو متتبّع ثغرات 0-day المستغلة «في الميدان»، الذي يسرد الاستغلالات التي اكتُشفت في هجمات حقيقية قبل وجود تصحيح. ويحرص Project Zero على الإشارة إلى أن المتتبّع لا يحتوي إلا على الحالات التي اكتُشفت، وهي بحكم التعريف إخفاقات المهاجم، فلا يمكن استخدامه لإحصاء مقدار الاستغلال الفعلي أو للمقارنة بين المنصات.

ثلاث حالات موثّقة تُظهر شكل المشكلة.

FORCEDENTRY، 2021

في مارس 2021 حلّل Citizen Lab في جامعة تورنتو هاتف ناشط سعودي واستخرج استغلالًا سمّاه FORCEDENTRY. كان هجومًا بلا نقر: ملف مصنوع خصيصًا، يُسلَّم عبر iMessage، لا يحتاج إلى أي لمسة من الضحية ويثبّت برنامج التجسس Pegasus التابع لـ NSO Group. ووجد Citizen Lab أدلة على استخدامه منذ فبراير 2021 على الأقل. وصححت Apple العيب، CVE-2021-30860 في محلّل الصور CoreGraphics، في 13 سبتمبر 2021 ضمن iOS 14.8 وmacOS Big Sur 11.6 وتحديث أمني لـ Catalina؛ وتؤكد ملاحظات إصدار Big Sur 11.6 الخاصة بها أن العيب «ربما استُغل بشكل نشط».

ونشر Google Project Zero لاحقًا تحليلًا تقنيًا يوضح لماذا يصعب الإمساك بهذا النوع من الأشياء إلى هذا الحد. كان الخلل في شفرة ضغط الصور JBIG2 المستخدمة داخل ملفات PDF. واستخدم استغلال NSO المعاملات المنطقية الخاصة بالصيغة نفسها ليبني، من أكثر من 70,000 أمر من أوامر مقاطع الصور، حاسوبًا صغيرًا عاملًا داخل مفكّك ترميز الصور، وشغّل عليه بقية الهجوم. ولا شيء في ذلك يبدو برنامجًا من الخارج. إنها صورة، تفتحها عملية نظام مشروعة وموقّعة.

هجوم حفرة الماء في هونغ كونغ، 2021

في أواخر أغسطس 2021، عثرت مجموعة تحليل التهديدات في Google على حملة حفرة ماء تستهدف زوار مواقع وسيلة إعلام في هونغ كونغ وجماعة مؤيدة للديمقراطية. وضد أجهزة Mac ربطت عيبًا في WebKit كان قد صُحح بالفعل في يناير بخلل لرفع الامتيازات في النواة، CVE-2021-30869، كان لا يزال غير مصحح على macOS Catalina؛ وأصلحته Apple في 23 سبتمبر 2021. وكانت الحمولة بابًا خلفيًا سمّته Google باسم MACMA، يستطيع أخذ بصمة الجهاز، والتقاط الشاشة، وتسجيل الصوت، وتسجيل ضغطات المفاتيح، ورفع الملفات وتنزيلها، وتشغيل أوامر الطرفية.

هذا المثال مفيد لأن الاستغلال والحمولة شيئان منفصلان. كان الاستغلال غير مرئي: صفحة ويب. وكانت الحمولة برنامجًا مزروعًا عاديًا كان عليه، ليكون ذا فائدة لمشغّليه، أن يقيم قناة قيادة وتحكم وينقل البيانات خارج الجهاز. ويصف تقرير Google تلك البنية التحتية تحديدًا.

BLASTPASS، 2023

في سبتمبر 2023، أبلغ Citizen Lab عن BLASTPASS، وهي سلسلة iMessage أخرى بلا نقر تسلّم Pegasus، هذه المرة عبر مرفقات PassKit تحتوي على صور خبيثة. وخصصت Apple المعرّفَين CVE-2023-41064 وCVE-2023-41061 وأصدرت إصلاحات لأجهزة iPhone وiPad وMac وApple Watch. واللافت أن مهندسي الأمن في Apple وCitizen Lab كليهما قالا إنهما يعتقدان أن وضع الإغلاق (Lockdown Mode) أوقف هذه السلسلة بعينها، وهو أقوى دليل عام على أن تقليص سطح الهجوم، لا كشف الهجوم، هو ما ينجح ضد هذه الفئة من التهديدات.

لماذا يصعب كشف الاستغلال نفسه إلى هذا الحد

ضع الحالات الثلاث جنبًا إلى جنب فيتضح النمط. يصل الاستغلال بوصفه بيانات (صورة، أو ملف PDF، أو صفحة ويب) لا بوصفه تطبيقًا. وتعالجه شفرة مشروعة موقّعة من Apple. فلا ملف ليطابقه XProtect، ولا ملف تنفيذي غير موقّع ليرفضه Gatekeeper، وغالبًا لا عملية جديدة لتضع أداة أمن نقاط النهاية علامة عليها، لأن الشفرة العدائية تعمل داخل عملية موثوقة بالفعل. والكشف، حين يحدث، يكون عادةً جنائيًا: فقد وجد Citizen Lab برنامج FORCEDENTRY بفحص الآثار على جهاز بعد وقوع الأمر، لا بماسح يلتقطه مباشرة.

ولهذا فإن نصيحة Apple لمن يعتقدون أنهم قد يكونون مستهدفين ليست «ثبّت كاشفًا» بل وضع الإغلاق (Lockdown Mode)، الذي يحظر على macOS Ventura والإصدارات الأحدث معظم أنواع مرفقات الرسائل، ويعطّل تقنيات الويب المعقدة، ويرفض المتصلين غير المعروفين عبر FaceTime، ويمنع تثبيت ملفات تعريف الإعدادات. وهو يعمل بإزالة مسارات الشفرة التي يحتاج إليها الاستغلال، بتكلفة في الراحة تصرّح بها Apple بوضوح.

لماذا خطوة الشبكة مختلفة

الاستغلال بداية الهجوم، لا غايته. فـ Pegasus موجود ليرسل الرسائل والصور وصوت الميكروفون إلى مشغّله. ولقطات شاشة MACMA وضغطات مفاتيحه لا قيمة لها على قرص الضحية. وفي كل حالة موثّقة تحققت القيمة بحركة تخرج من الجهاز، وفي مصفوفة MITRE ATT&CK لنظام macOS لتلك المرحلة عمودان خاصان بها، القيادة والتحكم والتسريب، لأنها خطوة متميزة يمكن ملاحظتها ولا يستطيع المهاجمون تخطّيها.

ولهذه الخطوة خصائص لم تكن للاستغلال. فهي تأتي من عملية يمكن تحديدها بتوقيع شفرة (أو، على نحو دالّ، من دونه). وتذهب إلى مقصد له عنوان IP واسم مضيف وتاريخ. وغالبًا تستخدم منفذًا غير معتاد، أو عنوان IP مباشرًا بدلًا من اسم، أو مزوّد استضافة لا علاقة له بأي تطبيق على الجهاز. ولا شيء من ذلك يتطلب معرفة العيب الذي استُخدم. إنه يتطلب فقط رؤية الاتصال وامتلاك الحق في قول لا.

هذا هو الجزء الذي بُني FireAI من أجله. فقواعده الخاصة بكل تطبيق مرتبطة بتوقيع شفرة العملية التي تجري الاتصال، فيحصل ملف تنفيذي مزروع ليس تطبيقًا وافقت عليه على تنبيه إذن بدلًا من تصريح مرور حر، مع عرض سبب النموذج الذي يعمل على الجهاز بلغة واضحة. وتُطبَّق خلاصات معلومات التهديدات لديه (abuse.ch وSpamhaus وFireHOL وOpenPhish وPhishing Army والقائمة الحالية لعقد خروج Tor) محليًا، فيُرفض عنوان قيادة وتحكم معروف سواء تعرّف أي شيء آخر على الجهاز على الحمولة أم لا. ويشدّد وضعا Under attack وParanoid الإعداد الافتراضي إلى حظر التطبيقات غير الموقّعة والمقاصد غير المعروفة كليًا، ويقطع مفتاح القطع الإنترنت مع الإبقاء على الشبكة المحلية، وهي الخطوة الأولى الصحيحة حين تشك في اختراق وتريد الحفاظ على الأدلة.

ما الذي لا يغطيه هذا

يقتضي الصدق النصف الآخر من القائمة. فإذا عملت حمولة بالكامل داخل تطبيق مسموح به، داخل متصفح سبق أن أذنت له مثلًا، ورثت حركتها صلاحيات ذلك التطبيق ولن يميّزها FireAI. والحركة المشفّرة إلى مقصد ذي سمعة نظيفة تبدو كأي اتصال آخر. والخلاصة لا تحتوي إلا على عناوين أبلغ عنها أحد بالفعل؛ وخادم قيادة وتحكم جديد ليس عليها بعد. وFireAI لا يكشف الاستغلال أو البرنامج المزروع ولا يزيله ولا يحلّله: فهو لا يفحص الملفات أو الذاكرة، وليس مكافح فيروسات. وعلى جهاز Mac تعتقد أنه اختُرق من جهة على مستوى دولة، المسار الصحيح هو إرشادات Apple لإشعارات التهديد ومتخصص في التحليل الجنائي، لا إعداد في جدار حماية.

ولذلك فإن الدفاع العملي ضد العيوب غير المعروفة متعدد الطبقات وغير براق: طبّق تحديثات Apple يوم صدورها، لأن معظم الاستغلال يستهدف عيوبًا لها إصلاح بالفعل؛ وشغّل وضع الإغلاق إن كان عملك يجعلك هدفًا محتملًا؛ وأبقِ سطح الهجوم صغيرًا؛ وتحكّم في أي التطبيقات على جهازك مسموح لها بالتحدث إلى الإنترنت أصلًا، حتى إذا دخل شيء غير معروف فعلًا، تكون الخطوة التي لا يستطيع تخطّيها هي الخطوة التي تراقبها.

دور FireAI وHisnLabs

FireAI cannot stop an exploit and does not claim to; what it does is sit on the one step every documented case above could not skip, the connection out, and ask, for each unknown process, whether that connection should be allowed at all.

FireAI هو منتج HisnLabs نفسها: جدار حماية بذكاء اصطناعي يعمل على جهاز Mac مباشرة. يعرض بلغة واضحة كل اتصال تجريه تطبيقاتك، ويترك لك القرار فيما يخرج من جهازك — ذكاؤه الاصطناعي يعمل محليًا، فلا يُرسَل ترافيكك إلينا ولا إلى أي جهة أخرى أبدًا. فريق أبحاث الأمن في HisnLabs هو من يحافظ على دقة هذه القرارات: يصنّف النطاقات بين قياس عن بُعد عادي وخدمة حقيقية، ويتتبّع بلد وشبكة كل اتصال، ويدرّب النموذج المحلي (ميزة Autopilot) على حركة اتصال حقيقية، دون أن يغادر أي شيء جهاز Mac.

يمكنك الاطلاع على القرارات التقنية وراء ذلك، أو تجربة FireAI لمدة 17 يومًا، على FireAI من HisnLabs.

المصادر