لا يزال العديد من مستخدمي أجهزة الكمبيوتر التي تعمل بنظامmacOS تملؤهم الثقة بأن أجهزتهم ليست بحاجة إلى حماية. والأسوأ أن مسؤولي الأنظمة أنفسهم في بعض الشركات التي يعمل فيها الموظفون على أجهزة Apple يحملون الاعتقاد ذاته.
وقد حاول الباحث باتريك واردل في مؤتمر Black Hat USA 2020 أن يجلي هذا التصور الخاطئ عن أذهان الحاضرين بعرض تحليله لبرنامج الضار لنظام التشغيل macOS، وإنشاء سلسلة من تعليمات الاستغلال البرمجية للتحكم في جهاز كمبيوتر Apple.
Microsoft، ووحدات الماكرو، وأجهزة Mac
يعد استخدام المستندات التي تحتوي على وحدات ماكرو ضارة – أي من خلال تطبيقات Microsoft Office – من أكثر الطرق شيوعًا لمهاجمة أجهزة الكمبيوتر التي تعمل بنظام macOS. وعلى الرغم من توفّر تطبيقات الإنتاجية الخاصة بشركةApple ، فإن العديد من المستخدمين يفضلون استخدام Microsoft Office. وذلك إما بحكم العادة أو بحثًا عن التوافق مع المستندات التي أنشأها زملاء آخرون.
وبالطبع يعلم الجميع منذ زمن طويل بالتهديدات المحتملة الكامنة في المستندات التي تتضمّن وحدات ماكرو. وبالتالي، يتوفر لدى كل من Microsoft وApple آليات لحماية المستخدم.
تنبه شركة Microsoft المستخدمين عندما يفتحون مستندًا يتضمن وحدات ماكرو. كذلك، إذا قرر المستخدم فتح وحدة الماكرو رغم درايته، يتم تنفيذ التعليمات البرمجية في “وضع الحماية” والذي يمنع، وفقًا لمطوري Microsoft، التعليمات البرمجية من الوصول إلى ملفات المستخدم أو إلحاق أضرار أخرى بالنظام.
وقد وفّرت شركة Apple من جهتها العديد من ميزات الأمان الجديدة في أحدث إصدار من نظام التشغيل macOS Catalina، وتتضمّن الميزات عزل الملفات و”التوثق” (notarization) منها، وتلك تقنية تمنع تشغيل الملفات التنفيذية الواردة من مصادر خارجية.
ومن المفترض أن تكون هذه التقنيات مجتمعة كافية للحماية من أي ضرر قد تتسبب فيه وحدات الماكرو الضارة. فمن الناحية النظرية، يبدو كل شيء آمنًا تمامًا.
بإمكان سلسلة من تعليمات الاستغلال البرمجية إخراج الماكرو من وضع الحماية
من الناحية العملية، ينطوي تنفيذ العديد من الآليات الأمنية على مشكلات. وبالتالي، يمكن أن يجد الباحثون (أو المهاجمون) طرقًا لتخطي هذه الآليات. وقد وضّح واردل في عرضه التقديمي ببيان عملي سلسلة من تعليمات الاستغلال البرمجية.
1. تخطي الآلية التي تعطّل وحدات الماكرو
فلنأخذ، على سبيل المثال، النظام الذي يحذّر المستخدم عندما يكتشف وجود وحدة ماكرو في المستند. في معظم الأحيان يعمل النظام على النحو الذي أراده المطور. ولكن في الوقت ذاته، يمكن إنشاء مستند يفتح وحدة الماكرو تلقائيًا بدون إخطار المستخدم على الإطلاق، حتى وإن تم تعطيل وحدات الماكرو في الإعدادات.
ويمكن إجراء ذلك باستخدام صيغة الملفات Sylk (SLK). وقد تم تطوير هذه الصيغة، والتي تستخدم لغة وحدات الماكرو XLM، في ثمانينات القرن العشرين وتم آخر تحديث لها في عام 1986. ولكن تطبيقات Microsoft لا تزال تدعم Sylk لأسباب تتعلّق بالتوافق مع الإصدارات السابقة. نقطة الضعف هذه ليست جديدة، وقد تم تناولها بالتفصيل في عام 2019.
2. تجاوز وضع الحماية
بيّنا أن المهاجم يمكنه تشغيل وحدات الماكرو بشكل خفي. ولكن يظل تنفيذ التعليمات البرمجية محصورًا في وضع الحماية المعزول ضمن تطبيقات MS Office. فكيف يمكن لقرصان أن يهاجم الكمبيوتر إذن؟ والإجابة أنه يبدو أن تجاوز وضع حماية Microsoft على أجهزة Mac ليس أمرًا بالغ الصعوبة.
صحيح أنه لا يمكنك تعديل الملفات المخزنة بالفعل على جهاز الكمبيوتر في وضع الحماية. ولكن يمكنك إنشاء هذه الملفات. وقد تم استغلال هذه الثغرة من قبل لتجاوز وضع الحماية، ويبدو أن شركة Microsoft قد أصدرت تحديثًا لإنهاء نقطة الضعف هذه. ولكن لم يتم إنهاء المشكلة فعليًا حسبما يتبين بالفحص الدقيق للتصحيح: فقد انصب الإصلاح على الأعراض، إذ حظر إنشاء الملفات في أماكن يعدها بعض المطورين غير آمنة، مثل مجلد LaunchAgents، وهو موقع تخزين البرامج النصية التي يتم تشغيلها تلقائيًا بعد إعادة التشغيل.
ولكن من قال إن شركة Microsoft قد أخذت في حسبانها كل “مواقع التخزين الخطرة” عندما وضعت هذا التصحيح؟ فما يحدث هو أن برنامجًا نصيًا تمت كتابته بلغة Python ويتم تشغيله بواسطة مستند Office، وبالتالي تنفيذه في وضع الحماية، يمكن استخدامه في إنشاء عنصر يسمى “Login Item” أي عنصر تسجيل الدخول. ويتم تشغيل العنصر الذي يحمل هذا الاسم تلقائيًا عندما يدخل المستخدم إلى النظام. وفي هذه الحالة يشغل النظام العنصر، وبالتالي يتم تنفيذه خارج وضع حماية Office مما يؤدي إلى تجاوز القيود الأمنية التي وضعتها Microsoft.
3. تجاوز الآليات الأمنية لدى Apple
نحن الآن على دراية بكيفية تشغيل وحدة ماكرو سرًا وإنشاء عنصر تسجيل الدخول. وبالطبع ستحول الآليات الأمنية في نظام التشغيل macOS دون تفعيل هذا الباب الخلفي، والذي أنشأته عملية مريبة من داخل وضع حماية غير موثوق، أليس كذلك؟
من ناحية، نعم ستحظر الآليات الأمنية في Apple تنفيذ التعليمات البرمجية التي تم الحصول عليها بهذه الطريقة. ولكن من ناحية أخرى، ما زالت ثمة ثغرة: إذا أدرجت ملف ZIP مضغوطًا كعنصر تسجيل دخول (Login Item)، فسيقوم النظام بفك ضغط الملف تلقائيًا في عملية تسجيل الدخول التالية.
وكل ما على المهاجم فعله حينئذ هو اختيار المكان الصحيح لفك ضغط الملف. على سبيل المثال، يمكن وضع الملف المضغوط في الدليل نفسه الذي يضم مكتبات المستخدم، وهي خطوة تسبق الخطوة التي يفترض فيها تخزين عناصر من نوع Launch Agent (أي عنصر تشغيل) (وهي عناصر تعدها Microsoft خطرة). ويمكن أن يضم الملف المضغوط نفسه دليلًا باسم LaunchAgents يضم البرنامج النصي لعنصر Launch Agent.
وبمجرد فك ضغط الملف، يتم وضع البرنامج النصي في مجلد LaunchAgents لتنفيذه عند إعادة التشغيل. ونظرًا لإنشاء الملف بواسطة برنامج موثوق فيه (برنامج الضغط) ولا يتضمّن أي سمات تدعو إلى عزله، فيمكن استخدامه في تشغيل برنامج أكثر خطورة. ولن تمنع الآليات الأمنية هذا الملف حتى من التنفيذ.
ونتيجة لذلك، يمكن للمهاجم إطلاق آلية من خلال واجهة shell لسطر أوامر Bash للحصول على إمكانية الوصول عن بُعْد (وبالتالي الحصول على ما يسمى بواجهة shell العكسية). ويمكن استخدام عملية Bash هذه في تنزيل الملفات التي لن تتضمّن أيضًا أي سمات تستوجب العزل، ما يسمح للمهاجم بتنزيل تعليمات برمجية ضارة وتنفيذها دون أية قيود.
الملخّص:
• يمكن للمهاجم سرًا تشغيل وحدة ماكرو ضارة بدون ظهور أي تحذيرات أو توجيه أي أسئلة إلى المستخدم، حتى وإن كان تنفيذ وحدات الماكرو معطلًا في الإعدادات. وكل ما يحتاجه المهاجم هو أن يقوم المستخدم بتنزيل مستند Office وفتحه.
• بعد ذلك، يمكن للمهاجم تجاوز وضع الحماية في Microsoft Office وإنشاء كائن عنصر Login Item وملف مضغوط يشتمل على Launch Agent يتم تنفيذه تلقائيًا خارج وضع الحماية عند تسجيل الدخول التالي.
• بخطوات قليلة، يمكن للمهاجم بسهولة تجاوز الآليات الأمنية التي وضعتها Apple من خلال فك ضغط كائن من نوع Launch Agent من ملف ZIP المضغوط. وحال تجاوزه آليات أمان النظام، يمكن للبرنامج تنزيل الجزء “الهجومي” من التعليمات البرمجية الضارة وتنفيذه.
كيف يمكنك حماية نفسك من وحدات الماكرو الضارة على نظام التشغيل macOS
قام الباحث بطبيعة الحال بإخطار كل من Apple وMicrosoft بما توصل إليه من نتائج، وأجرت الشركتان عمليات تصحيح إثارة للصخب ودون الإعلان عنها أو حتى تعيين معرفات CVE رسمية لنقاط الضعف المكتشفة. ولكن الوضع يشير إلى أنه بدراسة متأنية لآليات الأمن، تزل الفرصة سانحة تمامًا لاكتشاف سبل جديدة لتجاوز تلك الآليات.
في الماضي، كان يُنظر إلى macOS باعتباره حقًا النظام الأكثر أمانًا، ولم يكن ذلك راجعًا في مجمله إلى وجود آليات أمنية متقدمة، وإنما لأن المهاجمين كانوا يتجاهلونه. على أن أجهزة كمبيوتر Apple قد أصبحت أكثر انتشارًا، ولا سيما في بيئات عمل الشركات، وبالتالي أصبحت الهجمات التي تستهدف نظام التشغيل macOS أكثر جذبًا لاهتمام مجرمي الإنترنت.
وبالنظر لهذا كله، وكي تظل في مأمن، عليك بتحديث نظامك وكل البرامج التي تعمل عليه، ليس ذلك وحسب، بل واستخدام حلول أمنية يمكنها الكشف عن الأنشطة المشبوهة ومكافحتها. على سبيل المثال، تتضمَّن المنتجات الأمنية التي نقدمها لكل من المستخدمين المنزليين وعملاءالشركات إصدارات لنظام التشغيل macOS.