بعض أنواع الفيروسات التي تستغل خاصية التشغيل التلقائي لأقراص التخزين القابلة للإزاحة (مثل ال USB، كروت التخزين، الأقراص المرئية CD) وذلك بمجرد توصيلها بجهاز الحاسب، حيث يقوم نظام التشغيل بتنفيذ هذه البرمجيات الخبيثة مباشرة دون الرجوع إلى المستخدم، وتسمى هذه النوعية من الفيروسات بفيروسات التشغيل التلقائي (AUTORUN VIRUSES ).تعطيل خاصية التشغيل التلقائي في جهاز الحاسب و تفعيلها عند الحاجة إليها فقط، كون ذلك أفضل طريقة لتجنب فيروسات التشغيل التلقائي. بمجرد توصيل قرص التخزين سوف يبدأ هذا الفيروس بالعمل مباشرة و التي قد تتسبب في بعض الأحيان بتعطيل النظام أو بحذف البيانات المخزنة أو تعديلها أو ربما يقوم بسرقتها ووضعها في مكان آخر، وأن الحماية من فيروسات التشغيل التلقائي صعبة بعض الشيء وذلك بسبب انتشار استخدام أقراص التخزين القابلة للإزاحة بين المستخدمين و كذلك سهولة إنتاج هذه الفيروسات و بالإضافة إلى أن برامج مضاد الفيروسات قد لا تتمكن من اكتشاف هذه النوعية من الفيروسات
خاصيةAuto-Run و Auto-Play في أنظمة الويندوز
الAuto-Run والAuto-Play هي أحدى مكونات أنظمة التشغيل Windows من ميكروسوفت والتي تُحدد الحدث الذي يقوم به النظام عند توصيل الأقراص في المشغل الخاص بها، والى صدور نظام Windows XP كان المصطلحان يشيران لنفس الخاصية (عادة المبرمجين يستخدموا اللفظ Auto-Run بينما المستخدمين يستخدموا Auto-Play).
وظيفة الAuto-Run هي تشغيل برنامج معين بداخل القرص بمجرد توصيل القرص في المشغل ، وفي الأساس أنشئت هذه الخاصية لكي تسهل على المستخدمين وتيسر لهم عملية تنصيب البرامج ، فبدلاً من أن يقوم المستخدم بالدخول الى محتوى القرص والبحث عن البرنامج، فخاصية الAuto-Run تيُسر له ذلك وتُشغل البرنامج مباشره بمجرد توصيل القرص. البرنامج الذي يتم تشغيله يتم تحديده في ملف إعدادات يتم وضعه في بداية مسار القرص Root Path ويعرف هذا الملف بإسم autorun.inf . أخيراً هذه الخاصية تستخدم فقط في الأقراص المضغوطة CD/DVD ولا يمكن أن تستخدم لأي نوع أخر (مثل USB/Flah Disk).
2. كيف استغلت الفيروسات والبرامج الخبيثة Malware هذه الخصائص
بالرغم من وجود خاصية الauto-run في الأقراص المضغوطة CD إلا أنها لم تستغل كثيرا كما هو الحال في الFlash Disks والسبب هو سهوله حملها وتوصيلها من جهاز أخر، لكن العائق الذي واجهه كاتبي الفيروسات هو أن
الUSB/Flash Disks لا توجد فيها خاصية الAuto-Run وبالتالي ترَكزَ التفكير حول استغلال خاصية الAuto-Play والتي تدعمها جميع الأقراص حتى يتم نشر الفيروسات .
في هذه الفقرة سنحاول تقمص دور كاتب الفيروس ونرى مدى سهوله الإستفاده من هذه الخاصية في تشغيل البرامج (أو الفيروسات وهو ما يريده كاتب الفيروس) وكمثال على ذلك سوف نقوم بعمل برنامج لسرقة ملف كلمات مرور النظام والذي يعرف بSAM Password File ، وسوف يعمل هذا البرنامج ويقوم بجلب ملف الباسورد بمجرد فتح الFlash Disks بإحدى الطرق غير الآمنة.
يتكون الAutorun.inf من عدة خيارات منها تحديد أيقونة icon القرص عند تركيبه وتحديد البرنامج الذي سيعمل فور تشغيل القرص بالإضافة إلى اسم القرص Label والذي سيظهر بجانب حرف السواقة. لاحظ أن ملف الautorun.inf لكي يعمل بشكل صحيح يجب أن يكون اسمه Autorun.inf أو Autorun.INF .
الشكل يعرض محتوى ملف الautorun.inf والذي سيتم استخدامه لتشغيل سارق كلمات المرور، السطر الثالث يتم تحديد العبارة التي ستظهر عند ظهور نافذة auto-play وعند الضغط عليها سيعمل البرنامج الذي تم تحديده في السطر 7.
أما عند الضغط بالزر الأيمن Right-Click على القرص فسوف تظهر قائمه بها أمر جديد سيظهر بالعبارة "open usb disk" وعند الضغط عليها سيعمل البرنامج Testing.exe كل هذا تم تحديده في السطرين 10 و 11 . أما السطر 14 يتم فيه تحديد البرنامج الذي سيعمل عندما يتم الضغط مرتين على القرص Double-Click ، والسطرين 17 و 18 يتم تغير سلوك الأمر open عن الضغط بالزر الأيمن على القرص فبدلا من فتح القرص سوف يتم تشغيل البرنامج ، ويمكن أيضا تغيير سلوك الأمر explore بنفس الطريقة .وأخيرا السطر 21 يتم فيه تحديد اسم القرص عند تشغيله .
جميع هذه الطرق تؤدي إلى فتح البرنامج (برنامج عادي ، أو لعبة أو برنامج لعمل إعادة تهيئة للقرص Formatting أو برنامج تجسس، أياً كان) وبالتالي تؤدي إلى الإصابة في حال كان البرنامج هو برنامج خبيث Malware.
لإكتشاف هذه الخدعة لاحظ العبارة التي أسفل "open folder to view files." وستجد أنها تعني أنه سيتم الفتح باستخدام البرنامج الموجود بداخل الFlash Disk ، والخيار الافتراضي دائما يكون "using windows explorer" ، في ويندوز فيستا ستكون هذه العبارة " Publisher not Specified" وهذا يعني أنه سيعمل من خلال برنامج غير معروف للنظام.
3. كيف يمكن منع هذه الفيروسات من العمل والحماية منها
الوقاية خير من العلاج ، وفيروسات الAuto-Play سببت الكثير من الأضرار في السنوات السابقة ، مما دفعت شركة مايكروسوفت بتعطيل هذه الخاصية بدئا من إصدارات ويندوز الجديدة Windows 7 . ولكن في حال كان المستخدم يعمل في نظام windows مختلف فما زال بإمكانه تعطيل هذه الخاصية يدويا أو من خلال برنامجChecker CoEIA Auto-Run والذي يفحص النظام ويري هل خاصية Auto-Run مفعلة أم غير كذلك ويعطي المستخدم قابلية تغيير ذلك بسهوله.ولتعطيل هذه الخاصية يدويا يمكن القيام بها بطريقتين ، إما باستخدام مسجل النظام Registry أو من خلال برنامج Group Policy وكلاهما يعطيان نفس النتيجة (في الأصل التغيير الذي سنجريه في الGroup Policy سيتم تطبيقه على مسجل النظام حيث هو الأساس في النظام) .
إذا لم يستطيع المستخدم الوصول للGroup Policy (مثلا Windows XP Home لا يحتوي على هذه الأداة) فيمكن التعديل مباشرة من خلال مسجل النظام (من قائمة start ثم run ثم كتابة الأمر regedit.exe)، وذلك بالذهاب للمفتاح: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer الموضح في الشكل (8) وتم تحديد القيمة ff للمفتاح NoDriveTypeAutoRun .
طريقة أخرى جيدة للحماية وهي تجاهل ملفات الautorun.inf نهائيا وكأنه لا وجود لها في النظام وذلك بالذهاب إلى المسار HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\InFileMapping
في مسجل النظام Registry ، ثم إضافة مفتاح " Autorun.inf" بالقيمة "@SYS:DoesNotExist" كما في الشكل
الطرق أعلاه عبارة عن الطرق اليدوية التي تستخدم في تعطيل وتفعيل خاصية الAutoRun ، وللتسهيل على المستخدم النهائي يمكن استخدام برنامج CoEIA AutoRun Checker والذي يفحص حالة الAutoRun ويخبر المستخدم عن تلك الحالة ، بالإضافة إلى السماح له بتغيير الحالة (تعطيلها أو تفعيلها) على حسب الرغبة . ويجب عمل إعادة تشغيل للنظام بعد تغيير الإعدادات ).
ماذا لو لم تستطيع تغيير أي قيمة ولم تعرف هل الخاصية مفعلة أم غير مفعلة ؟
في هذه الحالة عند توصيلك للFlash Disk العادي لا تقم بفتحه من خلال الضغط مرتين أو من خلال أحدى الأوامر الموجودة في قائمه الزر الأيمن لأنها قد تكون متلاعبة بها ، الحل الأفضل هو فتح الFlash Disk من خلال شريط العناوين Address bar ، أو من خلال أحدى برامج الضغط مثل Winrar .
خاصيةAuto-Run و Auto-Play في أنظمة الويندوز
الAuto-Run والAuto-Play هي أحدى مكونات أنظمة التشغيل Windows من ميكروسوفت والتي تُحدد الحدث الذي يقوم به النظام عند توصيل الأقراص في المشغل الخاص بها، والى صدور نظام Windows XP كان المصطلحان يشيران لنفس الخاصية (عادة المبرمجين يستخدموا اللفظ Auto-Run بينما المستخدمين يستخدموا Auto-Play).
وظيفة الAuto-Run هي تشغيل برنامج معين بداخل القرص بمجرد توصيل القرص في المشغل ، وفي الأساس أنشئت هذه الخاصية لكي تسهل على المستخدمين وتيسر لهم عملية تنصيب البرامج ، فبدلاً من أن يقوم المستخدم بالدخول الى محتوى القرص والبحث عن البرنامج، فخاصية الAuto-Run تيُسر له ذلك وتُشغل البرنامج مباشره بمجرد توصيل القرص. البرنامج الذي يتم تشغيله يتم تحديده في ملف إعدادات يتم وضعه في بداية مسار القرص Root Path ويعرف هذا الملف بإسم autorun.inf . أخيراً هذه الخاصية تستخدم فقط في الأقراص المضغوطة CD/DVD ولا يمكن أن تستخدم لأي نوع أخر (مثل USB/Flah Disk).
أما الAuto-Play فهي خاصية في أنظمة الويندوز (بدءا من Windows XP) تقوم بفحص محتوى القرص (سواء CD / Flash Disk ) وبعد التعرف على محتويات القرص (هل هي صور أم صوتيات أم فيديو ) تقوم بعرض نافذه يقوم المستخدم من خلالها بتحديد البرنامج المناسب لفتح القرص. واذا وجد ملف الautorun.inf في مسار القرص فقد يضيف بعضا من الخيارات في تلك النافذه
الشكل يعرض نافذه الAuto-Play في نظام ا Windows Vista
2. كيف استغلت الفيروسات والبرامج الخبيثة Malware هذه الخصائص
بالرغم من وجود خاصية الauto-run في الأقراص المضغوطة CD إلا أنها لم تستغل كثيرا كما هو الحال في الFlash Disks والسبب هو سهوله حملها وتوصيلها من جهاز أخر، لكن العائق الذي واجهه كاتبي الفيروسات هو أن
الUSB/Flash Disks لا توجد فيها خاصية الAuto-Run وبالتالي ترَكزَ التفكير حول استغلال خاصية الAuto-Play والتي تدعمها جميع الأقراص حتى يتم نشر الفيروسات .
في هذه الفقرة سنحاول تقمص دور كاتب الفيروس ونرى مدى سهوله الإستفاده من هذه الخاصية في تشغيل البرامج (أو الفيروسات وهو ما يريده كاتب الفيروس) وكمثال على ذلك سوف نقوم بعمل برنامج لسرقة ملف كلمات مرور النظام والذي يعرف بSAM Password File ، وسوف يعمل هذا البرنامج ويقوم بجلب ملف الباسورد بمجرد فتح الFlash Disks بإحدى الطرق غير الآمنة.
لحسن حظ كاتب الفيروس فإن كتابة ملف الautorun.inf لا يأخذ سوى دقائق معدودة بل وهناك برامج مساعدة تمكنك من توليد ملف Autorun.inf بمجرد النقر على عدة من الخيارات (لاحظ أن ملفات Autorun.inf بحد ذاتها ليست خطراً أو أنها هي الفيروس بعينه، ولكنها هي فقط وسيلة لتشغيل الفيروس أو البرنامج وهنا تكون المشكلة
يعرض البرنامج Testing.exe وهو الذي سيقوم بسرقة ملف الباسورد SAM File إلى الFlash Disk بالإضافة إلى ملف Autorun.inf والذي ستكون مهمته في تشغيل البرنامج وإضافة بعض الخيارات الأخرى.يتكون الAutorun.inf من عدة خيارات منها تحديد أيقونة icon القرص عند تركيبه وتحديد البرنامج الذي سيعمل فور تشغيل القرص بالإضافة إلى اسم القرص Label والذي سيظهر بجانب حرف السواقة. لاحظ أن ملف الautorun.inf لكي يعمل بشكل صحيح يجب أن يكون اسمه Autorun.inf أو Autorun.INF .
الشكل يعرض محتوى ملف الautorun.inf والذي سيتم استخدامه لتشغيل سارق كلمات المرور، السطر الثالث يتم تحديد العبارة التي ستظهر عند ظهور نافذة auto-play وعند الضغط عليها سيعمل البرنامج الذي تم تحديده في السطر 7.
أما عند الضغط بالزر الأيمن Right-Click على القرص فسوف تظهر قائمه بها أمر جديد سيظهر بالعبارة "open usb disk" وعند الضغط عليها سيعمل البرنامج Testing.exe كل هذا تم تحديده في السطرين 10 و 11 . أما السطر 14 يتم فيه تحديد البرنامج الذي سيعمل عندما يتم الضغط مرتين على القرص Double-Click ، والسطرين 17 و 18 يتم تغير سلوك الأمر open عن الضغط بالزر الأيمن على القرص فبدلا من فتح القرص سوف يتم تشغيل البرنامج ، ويمكن أيضا تغيير سلوك الأمر explore بنفس الطريقة .وأخيرا السطر 21 يتم فيه تحديد اسم القرص عند تشغيله .
الشكل يوضح محتوى ملف ال autorun.inf
بعد نسخ الملفين السابقين في أحدى الFlash Disk وبعد توصيله بالمنفذ ستظهر مباشره نافذة الAuto-play وسيحتوي السطر الأول منها على ما قمنا بتحديده في ملف الautorun.inf وهي العبارة "open folder to views files" وبمجرد قيام المستخدم بالضغط عليها فستتم الإصابة. أيضا سيتغير اسم القرص إلى الاسم “USB Disk” لأننا قمنا بذلك في ملف الautorun.inf ، أما عند قيام المستخدم بالضغط بالزر الأيمن على القرص فسنجد الأمر “open usb disk” بالخط العريض وبمجرد الضغط عليه فستتم الإصابة ، أيضا عند الضغط على الأمر open (والذي تم تغيير سلوكه) فستتم الإصابة، أخيرا القيام بالضغط مرتين على القرص Double-Clicked تؤدي إلى الإصابة .الشكل يعرض التغييرات التي يحدثها ملف Autorun.inf في القرص.
الصورة في الجهة اليمنى تعرض القائمة التي تخرج عند الضغط بالزر الأيمن ، أما التي في الجهة اليسرى فهي نافذة الAuto-Play جميع هذه الطرق تؤدي إلى فتح البرنامج (برنامج عادي ، أو لعبة أو برنامج لعمل إعادة تهيئة للقرص Formatting أو برنامج تجسس، أياً كان) وبالتالي تؤدي إلى الإصابة في حال كان البرنامج هو برنامج خبيث Malware.
بعض الأحيان يكون كاتب الفيروس أكثر ذكاءً كما حصل في الدودة الأخيرة Conficker والتي أصابت الملايين من الأجهزة حول العالم في 2008 وبداية 2009 ، فكاتب الفيروس أخرج نافذة Auto-Play ولكن الخيار الأول جعله شبيه بالخيار الافتراضي في ويندوز مما أمكنة من خداع الكثير من المستخدمين،
الشكل يبين نافذة الAuto-Play للدودة Conficker
شركة U3 تطلق نوع جديد من الأقراص يسمى SanDisk يتميز عن الأنواع العادية بأنه يتكون من قسمين two partitions ، القسم الأول هو قسم يحاكي الCD ويعمل بنفس طريقة عمل الCD (بمعنى أنه يدعم الAuto-Run) والقسم الثاني هو قسم عادي لحمل البيانات مثله مثل بقية الFlash Disks العادية الأخرى.
الشكل يعرض Flash Disk المسمى SanDisk من شركة U3
هكذا إذا تم وضع البرنامج Testing.exe وملف الautorun.inf في القسم المحاكي للCD ، فسيصبح هذا الflash disk عبارة عن قنبلة موقوتة ستنفجر وقت توصيل الflash بالمنفذ ، ولك أن تتخيل الضرر الممكن حدوثه في حال كان البرنامج Testing.exe عبارة عن برنامج لحذف جميع الملفات في القرص!3. كيف يمكن منع هذه الفيروسات من العمل والحماية منها
الوقاية خير من العلاج ، وفيروسات الAuto-Play سببت الكثير من الأضرار في السنوات السابقة ، مما دفعت شركة مايكروسوفت بتعطيل هذه الخاصية بدئا من إصدارات ويندوز الجديدة Windows 7 . ولكن في حال كان المستخدم يعمل في نظام windows مختلف فما زال بإمكانه تعطيل هذه الخاصية يدويا أو من خلال برنامجChecker CoEIA Auto-Run والذي يفحص النظام ويري هل خاصية Auto-Run مفعلة أم غير كذلك ويعطي المستخدم قابلية تغيير ذلك بسهوله.ولتعطيل هذه الخاصية يدويا يمكن القيام بها بطريقتين ، إما باستخدام مسجل النظام Registry أو من خلال برنامج Group Policy وكلاهما يعطيان نفس النتيجة (في الأصل التغيير الذي سنجريه في الGroup Policy سيتم تطبيقه على مسجل النظام حيث هو الأساس في النظام) .
لتعطيل الخاصية من جميع الأقراص قم من قائمة start بفتح run ثم بكتابة الأمر gpedit.msc والذهاب للمفتاح التالي: User Configuration ->Administrative Template -> System -> Turn off AutoPlay ثم نقوم بتحديد Enabled الأقراص ، وهكذا تم تعطيل الخاصية بنجاح. الشكل يوضح ذلك
تعطيل AutoRun/AutoPlay من خلال مسجل النظام Registry
عند إجراء هذا التعطيل (سواء من gpedit.mcs أو من خلال regedit.exe) فسوف تتعطل الAutoRun/AutoPlay من العمل وسيكون تأثير ملف الautorun.inf فقط في تغيير الأيقونة للقرص وتغيير الاسم فقط. (في حال لم يكن نظام التشغيل محدث بالتحديث الأمني رقم KB967715 من موقع مايكروسوفت فإن هذه التغييرات لن تعطل الخاصية بالكامل وسيعمل البرنامج عند الضغط مرتين Double-Clicked)طريقة أخرى جيدة للحماية وهي تجاهل ملفات الautorun.inf نهائيا وكأنه لا وجود لها في النظام وذلك بالذهاب إلى المسار HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\InFileMapping
في مسجل النظام Registry ، ثم إضافة مفتاح " Autorun.inf" بالقيمة "@SYS:DoesNotExist" كما في الشكل
طريقة تجاهل ملفات Autorun.inf بالكامل
ويمكن إرجاع إمكانية التعامل مع ملفات الautorun.inf من خلال حذف هذا المفتاح فقط.الطرق أعلاه عبارة عن الطرق اليدوية التي تستخدم في تعطيل وتفعيل خاصية الAutoRun ، وللتسهيل على المستخدم النهائي يمكن استخدام برنامج CoEIA AutoRun Checker والذي يفحص حالة الAutoRun ويخبر المستخدم عن تلك الحالة ، بالإضافة إلى السماح له بتغيير الحالة (تعطيلها أو تفعيلها) على حسب الرغبة . ويجب عمل إعادة تشغيل للنظام بعد تغيير الإعدادات ).
ماذا لو لم تستطيع تغيير أي قيمة ولم تعرف هل الخاصية مفعلة أم غير مفعلة ؟
في هذه الحالة عند توصيلك للFlash Disk العادي لا تقم بفتحه من خلال الضغط مرتين أو من خلال أحدى الأوامر الموجودة في قائمه الزر الأيمن لأنها قد تكون متلاعبة بها ، الحل الأفضل هو فتح الFlash Disk من خلال شريط العناوين Address bar ، أو من خلال أحدى برامج الضغط مثل Winrar .
الشكل التالى يعرض كيفية فتح القرص من خلال شريط العناوين .
كيفية فتح القرص بطريقة أمنة
أما عند توصيلك للSanDisk Flash Disk فقم باستمرار بالضغط على Shift فهي كفيلة بتعطيل التشغيل التلقائي للبرنامج.