كيفية إزالة البرامج الضارة Flashback من OS X

في حين أن نظام التشغيل OS X كان خاليًا نسبيًا من البرامج الضارة خلال السنوات العشر الأولى من الاستخدام ، فقد انتشرت المخاوف من البرامج الضارة مؤخرًا والتي أثرت على عدد كبير من أنظمة Mac.

كان واحدا من الأول هو MacDefender وهمية احتيال مكافحة الفيروسات ، والتي كان الناس الذين يصدرون معلومات بطاقة الائتمان خوفا من أنظمتهم بالعدوى. تحولت هذه الفضيحة بسرعة كبيرة حيث حاولت تجنب الكشف ومواصلة إكراه الناس على تقديم معلومات شخصية. كانت عملية خداع أخرى هي البرامج الخبيثة لـ DNSChanger التي أثرت على الملايين من أنظمة الكمبيوتر في جميع أنحاء العالم ، والتي قامت في النهاية بتوجيه الأنظمة المتأثرة إلى مواقع الويب الخبيثة ، ومثل برنامج MacDefender الذي يحاول الحصول على معلومات شخصية.

أحدث البرامج الضارة لتصل إلى OS X كانت عملية احتيال Flashback ، التي بدأت في البداية كتطبيق مثبت Flash Player مزيف كان من السهل تجنبه. ومع ذلك ، تحول التهديد بسرعة إلى تهديد أكثر خطورة من خلال الاستفادة من ثغرات أمنية غير مرتبكة في جافا (والتي تناولتها أبل منذ ذلك الحين) للتثبيت على نظام التشغيل Mac الذي يعمل على Java بمجرد زيارة صفحة ويب ضارة وعدم طلب أي اهتمام من جانب المستخدم. حتى الآن ، تشير التقديرات إلى إصابة أكثر من 600000 نظام ماك في جميع أنحاء العالم ، مع وجود غالبية في الولايات المتحدة وكندا.

كيف يعمل؟

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

الخطوة الأولى: استغلال جافا

عندما تصادف صفحة الويب الخبيثة التي تحتوي على البرامج الضارة ولديها إصدار غير مرتب من Java يعمل على نظامك ، فسيقوم أولاً بتنفيذ برنامج Java صغير يقوم عند التشغيل بفصل أمان Java وكتابة برنامج تثبيت صغير إلى حساب المستخدم. يسمى البرنامج بشيء مثل .jupdate أو .mkeeper أو .flserv أو .null أو .rserv ، والفترة الموجودة أمامه يجعلها تظهر مخفية في طريقة عرض الباحث الافتراضية.

بالإضافة إلى ذلك ، سيقوم برنامج Java الصغير بكتابة ملف مشغل يطلق عليه اسم "com.java.update.plist" أو "com.adobe.reader.plist" أو "com.adobe.flp.plist" أو حتى "null.plist" إلى المجلد ~ / Library / LaunchAgents / المجلد الحالي للمستخدم ، والذي سيطلق برنامج .jupdate باستمرار كلما تم تسجيل دخول المستخدم.

من أجل تجنب الكشف ، سيبحث المثبت أولاً عن وجود بعض أدوات الحماية من الفيروسات والأدوات المساعدة الأخرى التي قد تكون موجودة على نظام المستخدم القوي ، والذي يتضمن وفقًا لـ F-Secure ما يلي:

/ المكتبة / Little Snitch

/Developer/Applications/Xcode.app/Contents/MacOS/Xcode

/ التطبيقات / VirusBarrier X6.app

/Applications/iAntiVirus/iAntiVirus.app

/Applications/avast!.app

/Applications/ClamXav.app

/Applications/HTTPScoop.app

/ التطبيقات / Packet Peeper.app

إذا تم العثور على هذه الأدوات ، فإن البرامج الضارة تحذف نفسها في محاولة لمنع الكشف عن طريق أولئك الذين يمتلكون الوسائل والقدرة على القيام بذلك. تستخدم العديد من برامج البرامج الضارة هذا السلوك ، كما شوهدت في برامج أخرى مثل بوت البرمجيات الخبيثة Tsunami.

الخطوة الثانية: تنزيل الحمولة

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

الخطوة الثالثة: العدوى

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

يستند جذر روتين الإصابة إلى اختطاف ملفات التكوين في OS X والتي يتم قراءتها وتنفيذها عند تشغيل البرامج. واحد من هذه تسمى "Info.plist" الموجود في مجلد "المحتويات" داخل كل حزمة تطبيق OS X ، وقراءته كلما تم فتح هذا البرنامج. يسمى الثاني "environment.plist" ويقع داخل حساب المستخدم في مجلد مخفي (~ / .MacOSX / environment.plist) ، والذي يمكن استخدامه لإطلاق المعلمات كلما تم فتح أي برنامج من قبل المستخدم.

يكون النمط الأول من الإصابة هو إدخال كلمة مرور ، وفي هذه الحالة تقوم البرامج الضارة بتغيير ملفات Info.plist في Safari و Firefox لتشغيل البرامج الضارة عند فتح هذه البرامج. هذا هو النمط المفضل للعدوى في البرامج الضارة ، ولكن إذا لم يتم توفير كلمة مرور ، فإن البرامج الضارة تلجأ إلى طريقة العدوى الثانية ، حيث تقوم بتغيير ملف "environment.plist".

باستخدام ملف environment.plist ، سيتم تشغيل البرامج الضارة عند فتح أي تطبيق ، وسيؤدي ذلك إلى حدوث أعطال وسلوك غريب آخر قد يتسبب في حدوث انزعاج للمستخدم ، لذلك تستخدم البرامج الضارة مكون التصفية لتشغيله فقط عند استخدام تطبيقات معينة يتم إطلاقها ، مثل Safari و Firefox و Skype وحتى عمليات تثبيت Office.

في كلتا الحالتين ، بمجرد تحميل البرامج الضارة سوف تصيب النظام باستخدام واحدة من هذه الطرق وسيتم تشغيلها كلما تم استخدام تطبيقات مستهدفة مثل متصفحات الويب. في الإصدارات الأكثر حداثة من البرامج الضارة ، عند تثبيتها باستخدام ملف "environment.plist" ، ستتحقق من النظام للتأكد من وجود عمليات تثبيت كاملة للبرامج مثل Office أو Skype ، ويحتمل أن تحذف نفسها إذا لم تكن هذه البرامج بشكل كامل أو صحيح المثبتة. تتوقع F-Secure أن هذه محاولة لمنع الكشف المبكر عن البرامج الضارة.

كيف يمكنني اكتشاف ذلك؟

يعد اكتشاف البرامج الضارة أمرًا سهلاً إلى حد ما ، ويتطلب منك ببساطة فتح التطبيق Terminal في المجلد / Applications / Utilities / وتشغيل الأوامر التالية:

الافتراضيات قراءة ~ / .MacOSX / البيئة DYLD_INSERT_LIBRARIES

الافتراضيات قراءة / التطبيقات / Safari.app/Contents/Info LSEnvironment

الافتراضيات قراءة / التطبيقات / Firefox.app/Contents/Info LSEnvironment

ستقوم هذه الأوامر بقراءة ملف "Info.plist" لبعض التطبيقات المستهدفة ، وملف "environment.plist" في حساب المستخدم ، وتحديد ما إذا كان المتغير المستخدم من قبل البرامج الضارة لإطلاق نفسه (يسمى "DYLD_INSERT_LIBRARIES") موجودًا. إذا لم يكن المتغير موجودًا ، فستخرج هذه الأوامر الطرفية الثلاثة أن الزوج الافتراضي "غير موجود" ، ولكن إذا كانت موجودة ، فستخرج هذه الأوامر مسارًا يشير إلى ملف البرامج الضارة ، والذي يجب أن تراه في المحطة الطرفية نافذة او شباك.

بالإضافة إلى الأوامر المذكورة أعلاه ، يمكنك التحقق من وجود ملفات .so غير المرئية التي تقوم المتغيرات السابقة من البرامج الضارة بإنشائها في دليل المستخدم المشترك عن طريق تشغيل الأمر التالي في المحطة الطرفية:

ls -la ~ /../ Shared /.*

بعد تشغيل هذا الأمر ، إذا رأيت مخرجات "لا يوجد ملف أو دليل مثل" ، فلن يكون لديك هذه الملفات في دليل المستخدم المشترك الخاص بك ؛ ومع ذلك إذا كانوا حاضرين ثم سوف تراهم المدرجة.

كيف أستطيع إزالته؟

إذا وجدت بعد تشغيل أوامر الكشف الثلاثة الأولى أن النظام الخاص بك يحتوي على الملفات المعدلة وتشك في أنه قد تم تثبيت البرنامج الضار عليه ، فيمكنك الانتقال إلى إزالته باستخدام إرشادات الإزالة اليدوية لـ F-Secure. هذه الإرشادات متعمقة قليلاً ، ولكن إذا اتبعتها بدقة ، فيجب أن تكون قادرًا على تخليص نظام العدوى:

  1. افتح المحطة الطرفية وقم بتشغيل الأوامر التالية (كما هو موضح أعلاه):

    الافتراضيات قراءة / التطبيقات / Safari.app/Contents/Info LSEnvironment

    الافتراضيات قراءة / التطبيقات / Firefox.app/Contents/Info LSEnvironment

    الافتراضيات قراءة ~ / .MacOSX / البيئة DYLD_INSERT_LIBRARIES

    عند تشغيل هذه الأوامر ، قم بتدوين مسار الملف الكامل الذي يتم إخراجه إلى إطار المحطة الطرفية (قد يتم إقرانه مع المصطلح "DYLD_INSERT_LIBRARIES"). لكل من الأوامر التي تخرج مسار ملف (ولا تقول زوج المجال غير موجود) ، انسخ مقطع مسار الملف الكامل وقم بتشغيل الأمر التالي بمسار الملف بدلاً من FILEPATH في الأمر (نسخ ولصق هذا الأمر):

    grep -a -o '__ldpath __ [- ~] *' FILEPATH

  2. حدد موقع الملفات المذكورة في إخراج الأوامر أعلاه وقم بحذفها. إذا لم تتمكن من تحديد موقعهم في Finder ، فكل من النوع الأول "sudo rm" في الوحدة الطرفية متبوعًا بمسافة واحدة ، ثم استخدم مؤشر الماوس لتحديد مسار الملف بالكامل من إخراج الأمر الأول ، واستخدم Command-C متبوعًا بـ Command-V لنسخه ولصقه في المحطة الطرفية. ثم اضغط على Enter لتنفيذ الأمر وإزالة هذا الملف.

    شاهد لقطة الشاشة التالية للحصول على مثال لكيفية ظهور ذلك:

  3. عندما تقوم بحذف جميع مراجع الملفات من خلال أوامر "defaults" أعلاه ، فإنك قمت بإزالة ملفات البرامج الضارة ، ولكنك لا تزال بحاجة إلى إعادة تعيين التطبيقات التي تم تغييرها وملفات الحساب ، لذا قم بتشغيل الأوامر التالية:

    افتراضيات sudo حذف / التطبيقات / Safari.app/Contents/Info LSEnvironment

    sudo chmod 644 /Applications/Safari.app/Contents/Info.plist

    افتراضيات sudo حذف / التطبيقات / Firefox.app/Contents/Info LSEnvironment

    sudo chmod 644 /Applications/Firefox.app/Contents/Info.plist

    defaults delete ~ / .MacOSX / environment DYLD_INSERT_LIBRARIES

    launchctl unsetenv DYLD_INSERT_LIBRARIES

  4. في Finder ، انتقل إلى القائمة Go وحدد Library (اضغط على المفتاح Option في Lion لإظهار هذا الخيار في القائمة) ، ثم افتح المجلد LaunchAgents ، حيث يجب أن ترى ملفًا اسمه "com.java.update" .plist ". بعد ذلك ، اكتب الأمر التالي في الطرفية (ملاحظة: قم بتغيير اسم "com.java.update" في الأمر لعكس اسم الملف قبل اللاحقة .plist ، مثل "com.adobe.reader" إذا كنت لديك هذا الملف):

    الافتراضيات قراءة ~ / مكتبة / LaunchAgents / com.java.update ProgramArguments

    عند اكتمال هذا الأمر ، اضغط على مفتاح Enter ولاحظ مسار الملف الذي تم إخراجه إلى النافذة الطرفية.

    كما فعلت مسبقًا ، حدد موقع هذا الملف في Finder وحذفه ، ولكن إذا لم تتمكن من القيام بذلك ، فاكتب "sudo rm" متبوعًا بمسافة واحدة ، ثم انسخ والصق مسار ملف الإخراج في الأمر واضغط على Enter.

  5. لإزالة أي ملفات .so مخفية تم العثور عليها في وقت سابق ، يمكنك إزالتها بتشغيل الأمر التالي في المحطة الطرفية (تأكد من نسخ هذا الأمر ولصقه ، حيث يجب ألا تكون هناك أية مسافات على الإطلاق في آخر مكون يحتوي على الرموز وعلامات الترقيم ):

    sudo rm ~ / // Shared /.*

    بعد اكتمال هذه الخطوة ، قم بإزالة الملف المسمى "com.java.update.plist" (أو "com.adobe.reader.plist" ويجب أن تكون جيدًا للذهاب.

تم التحديث: 4/5/2012 ، 10:00 مساءً - إضافة تعليمات الكشف والإزالة للملفات المخفية .so المستخدمة من قبل المتغيرات السابقة للبرامج الضارة.


 

ترك تعليقك