IRCAR200905024
در سري مقاله هاي بدافزار قصد داريم تا شما را با انواع بدافزارهايي كه امروزه وجود دارند، آشنا سازيم. اين مقاله ها شامل دسته بندي انواع بدافزارهاي شناخته شده، تكنيكهاي مورد استفاده بدافزارها، روشهاي انتشار بدافزارها و تهديدات آنها براي سازمانهاي مختلف مي باشد.
به دليل طبيعت تغيير پذير، رو به رشد و گسترده اين مقوله، در اين مجال نمي توان به توضيح همه جزئيات بدافزارها و همه انواع ممكن آنها پرداخت، ولي به هرحال سعي شده است مهمترين عناصر تشكيل دهنده بدافزارها، براي درك و فهم بهتر طبيعت آنها توضيح داده شود. همچنين در اين مقاله ها به بررسي چيزهاي ديگري كه بدافزار نيستند، مانند ابزارهاي جاسوسي، هرزنامه ها و ابزارهاي تبليغاتي نيز خواهيم پرداخت.
در بخشهاي قبلي در مورد سير تكامل ويروسهاي رايانه اي و همچنين دسته بندي بدافزارها و برخي خصوصيات آنها صحبت كرديم. در اين بخش، در مورد ديگر خصوصيات بدافزارها شامل انواع عمليات خرابكارانه اي كه انجام مي دهند، مكانيزم هاي فعال سازي و مكانيزم هاي دفاعي آنها بحث خواهيم كرد.
انواع عمليات خرابكارانه (Payloads)
زماني كه بدافزار از طريق يكي از مكانيزم هاي انتقال به رايانه ميزبان دسترسي پيدا مي كند، معمولاً دست به يك سري اعمال مي زند كه به آن "عمليات خرابكارانه" يا Payload گفته مي شود. عمليات خرابكارانه داراي اشكال مختلفي است كه در زير برخي از رايجترين آنها آورده شده است.
- باز كردن راههاي نفوذ يا Backdoors
اين نوع از عمليات خرابكارانه اجازه دسترسي غير مجاز به رايانه را مي دهد. راههاي نفوذ مي توانند يك دسترسي كامل را براي مهاجم فراهم آورند يا مي توانند دسترسي هاي محدودي مانند فعال كردن پروتكل انتقال فايل (FTP) را از طريق پورت 21 ايجاد كنند. اگر حمله موفق به فعال كردن Telnet شود، فرد مهاجم مي تواند از رايانه آلوده به عنوان پايگاهي براي حمله هاي Telnet بر روي ديگر رايانه ها استفاده كند. گاهي اوقات به راههاي نفوذ، تروجان دسترسي از راه دور يا Remote Access Trojan نيز گفته مي شود. - خراب كردن يا پاك كردن داده ها
يكي از بدترين انواع عمليات خرابكارانه، كد خرابكاري است كه مي تواند داده ها را دستكاري كرده و يا پاك كند و به اين ترتيب كاربر را با يك سري اطلاعات بي فايده رها سازد. نويسنده بدافزار در اينجا دو انتخاب دارد: اول اينكه عمليات خرابكارانه را طوري طراحي كند كه به سرعت اجرا شود. اين شيوه علي رغم اينكه براي رايانه آلوده يك كابوس محسوب مي شود، تشخيص سريع بدافزار را موجب مي شود و در نتيجه بدافزار نمي تواند بدون سر و صدا گسترش پيدا كند. انتخاب ديگر رها كردن عمليات خرابكارانه بر روي سيستم آلوده براي مدت زمان مشخصي است مانند كاري كه تروجانها انجام مي دهند. در اين صورت عمليات خرابكارانه منتظر يك اتفاق فعال كننده (trigger) مي ماند كه در ادامه در مورد آنها بيشتر توضيح خواهيم داد. در بازه زماني مذكور و قبل از آگاه شدن كاربر از وجود بدافزار بر روي رايانه، بدافزار وظيفه انتشار خود را به انجام مي رساند. - سرقت اطلاعات
يكي از انواع نگران كننده عمليات خرابكارانه نوعي است كه براي سرقت اطلاعات طراحي شده است. در صورتي كه يك بدافزار بتواند از سد امنيتي رايانه ميزبان عبور كند، قادر است مكانيزمي را نيز جهت فرستادن اطلاعات براي هكر فراهم كند. اين اتفاق مي تواند به چند طريق رخ دهد، براي مثال انتقال اطلاعات مي تواند به صورت اتوماتيك اتفاق بيفتد و بدافزار به راحتي فايلهاي محلي يا اطلاعاتي مانند گزارش ثبت ضربه هاي صفحه كليد را به اميد يافتن نام كاربري يا رمز عبور براي مهاجم ارسال كند. روش ديگر فراهم آوردن محيطي بر روي رايانه ميزبان است تا مهاجم بتواند كنترل از راه دور رايانه قرباني را به دست گيرد يا مستقيماً به فايلهاي آن دسترسي داشته باشد. - انكار سرويس (DoS)
يكي از ساده ترين انواع عمليات خرابكارانه حملات انكار سرويس است. يك حمله DoS در واقع يك يورش كامپيوتري است كه توسط فرد مهاجم با نيت ايجاد سربار بر روي شبكه و يا از كار انداختن برخي سرويسهاي آن مانند سرورهاي فايل يا وب، صورت مي گيرد. هدف از حملات انكار سرويس، غير قابل استفاده ساختن برخي سرويسهاي مشخص در يك بازه زماني است.
انكار سرويس توزيع شده (DDoS)
در اين نوع از حمله ها معمولاً از كلاينت هاي آلوده اي استفاده مي شود كه اغلب هيچگونه اطلاعي از نقش خود در چنين حمله هايي ندارند. يك حمله DDoS نوعي از انكار سرويس است كه در آن مهاجم يك كد خرابكار را بر روي رايانه هاي زيادي به منظور مورد حمله قرار دادن يك هدف مشخص نصب مي كند. معمولاً مهاجمان از اين روش براي ايجاد تأثيراتي بر روي هدف استفاده مي كنند كه با استفاده از يك رايانه مهاجم امكان پذير نيست. چگونگي انجام شدن اينگونه حملات در هر حمله نسبت به حمله ديگر متفاوت است ولي غالباً حملات انكار سرويس توزيع شده با استفاده از ارسال حجم زيادي از داده ها براي يك ميزبان يا وب سايت انجام مي شوند كه منجر به عدم توانايي در پاسخگويي به درخواستهاي قانوني خواهند شد.
مقابله با اين نوع حملات بسيار سخت است زيرا ميزباني كه مسئول حمله است خود يك قرباني ناآگاه محسوب مي شود. حملات DDoS معمولاً توسط رباتهاي نرم افزاري (برنامه هايي كه كارهاي تكراري را اجرا مي كنند) هدايت مي شوند. مثلا يك هكر مي تواند از Internet Relay Chat (IRC) EggDrop براي كنترل رايانه هاي قرباني از طريق كانال IRC استفاده كند. زماني كه كنترل رايانه اي در اختيار هكر قرار مي گيرد، آن رايانه تبديل به يك زامبي مي شود كه مي تواند هدف را از طريق دستور هكر و بدون اطلاع صاحب رايانه مورد حمله قرار دهد.
حملات انكار سرويس (DoS ) و حملات انكار سرويس توزيع شده (DDoS) قادرند از چندين تكنيك حمله مختلف استفاده كنند كه عبارتند از:
- خاموش كردن سيستم
در صورتي كه بدافزار بتواند رايانه ميزبان را خاموش كند يا از كار بيندازد در متوقف كردن حداقل يك يا دو سرويس موفق خواهد بود. حمله به سيستم ميزبان از اين طريق نيازمند وجود يك آسيب پذيري يا نقص امنيتي در رايانه ميزبان است كه بدافزار از آن طريق بتواند سيستم را خاموش سازد. - سيل داده ها در پهناي باند
بيشتر خدماتي كه در اينترنت ارائه مي شوند از طريق اتصالات شبكه اي با پهناي باند محدود است كه ارائه دهندگان سرويس را به مشتريان متصل مي كند. در صورتي كه نويسند بدافزار بتواند دست به يك عمليات خرابكارانه بزند كه در آن پهناي باند توسط داده هاي نادرست اشغال شود، در اين صورت به راحتي يك حمله انكار سرويس رخ داده است چرا كه مشتريان نمي توانند از سرويس مورد نظرشان بر روي منبع مربوطه استفاده كنند. - انكار سرويس شبكه
اين نوع از عمليات خرابكارانه سعي دارد منابع ميزبان را سرريز كند. منابعي مانند ريزپردازنده ها و حافظه ها از طريق حملات SYN flood سرريز مي شوند. در حملات مذكور، مهاجم از برنامه اي براي ارسال سيلي از درخواستهاي TCP SYN، جهت مختل كردن ترافيك قانوني شبكه بر روي سرور ميزبان استفاده مي كند. در حملات بمباران ايميلي نيز منابع ذخيره سازي طوري از ايميل سرريز مي شوند كه يك حمله انكار سرويس به وقوع مي پيوندد. اين حملات به منظور خراب كردن برنامه ايميل يا ممانعت از دريافت ايميل هاي واقعي توسط دريافت كننده صورت مي گيرد. - خراب كردن سرويس
اين نوع از عمليات خرابكارانه نيز مي تواند منجر به حملات انكار سرويس شود. براي مثال حمله به سرورهاي نام دامنه DNS مي تواند سرويس آن را از كار بيندازد و منجر به يك انكار سرويس شود. البته در اين صورت معمولاً ديگر سرويسهاي سيستم آسيب نمي بينند.
مكانيزمهاي فعال سازي
مكانيزم فعال سازي خصوصيتي از بدافزار است كه از آن براي شروع تكرار يا شروع عمليات خرابكارانه استفاده مي شود. مكانيزم هاي فعال سازي متداول به شرح زير مي باشند:
- اجراي دستي
در اين نوع از مكانيزم فعال سازي اجراي بدافزار به راحتي به عهده قرباني گذاشته مي شود.- مهندسي اجتماعي
بدافزارها اغلب از چندين روش مهندسي اجتماعي كمك مي گيرند تا كاربران را به سمت اجراي دستي كد بدافزار هدايت كنند. اين روشها مي توانند ساده باشند، مثلا در ارسال تعداد زيادي ايميل آلوده به كرم از موضوعات جذاب و به روز براي ايميل استفاده مي شود تا كاربران را به باز كردن ايميل آلوده ترغيب كند. همچنين نويسندگان بدافزار ممكن است از ايميلهاي جعلي (email spoofing) براي فريب كاربران استفاده كنند تا آنها باور كنند كه ايميل را از يكي از آشنايان دريافت كرده اند. عمل Spoofing در واقع جعل هويت يك وب سايت يا يك جريان انتقال داده به منظور فريب كاربر در تشخيص منبع واقعي است. براي مثال كرم Dumaro اولين بار در سال 2003 در ايميلي ديده شد كه در قسمت فرستنده ايميل آدرس security@microsoft.com قرار گرفته بود.
- مهندسي اجتماعي
- اجراي نيمه اتوماتيك
اين نوع از مكانيزم فعال سازي در ابتدا توسط قرباني شروع مي شود و از آن به بعد به صورت اتوماتيك به اجراي خود ادامه مي دهد. - اجراي اتوماتيك
اين نوع از مكانيزم فعال سازي نيازي به هيچگونه اجراي دستي ندارد. در اين حالت بدافزار حمله خود را بدون هيچگونه نيازي به اجراي يك كد خرابكار توسط قرباني بر روي رايانه هدف به انجام مي رساند. - بمب زماني
اين نوع از مكانيزم فعال سازي عمليات را بعد از يك مدت زمان مشخص به انجام مي رساند. اين بازه زماني مي تواند يك تأخير زماني از اولين بروز آلودگي يا يك تاريخ از پيش تعيين شده باشد. براي مثال كرم MyDoom.B در روز سوم فوريه 2004 بر عليه وب سايت مايكروسافت فعال شد و سپس تمام فعاليتهاي انتشار خود را در اول مارس 2004 متوقف ساخت. با اين وجود مسير نفوذ خود را همچنان بر روي رايانه هاي آلوده فعال نگه داشت. - شرطي
اين نوع از مكانيزم فعال سازي از يك يا چندين شرط از قبل تعيين شده براي فعال ساختن عمليات خرابكارانه استفاده مي كند. براي مثال، يك فايل تغيير نام داده شده، مجموعه اي مشخص از ضربات صفحه كليد يا شروع يك برنامه كاربردي همگي مي توانند به عنوان شرطهاي فعال سازي در نظر گرفته شوند. گاهي اوقات بدافزاري كه از اين نوع از مكانيزم فعال سازي استفاده مي كند بمب منطقي ناميده مي شود.
مكانيزم هاي دفاعي
بسياري از بدافزارها از نوعي مكانيزم دفاعي براي كاهش احتمال تشخيص يا پاكسازي استفاده مي كنند. در زير برخي از تكنيكهاي استفاده شده توسط بدافزار ها آورده شده است:
- زره
اين نوع از مكانيزم دفاعي چندين تكنيك مختلف را به كار مي گيرد تا تحليل كد خرابكارا را خنثي سازد. اين تكنيكها شامل تشخيص اجراي Debugger و ممانعت از اجراي صحيح آن يا اضافه كردن تعداد زيادي كد بي معني به منظور مشكل ساختن تشخيص هدف كد خرابكار مي شود. - پنهان كاري
در اين روش بدافزار ها براي پنهان سازي خود از دريافت درخواستها و ارائه پاسخ هاي اشتباه استفاده مي كنند. براي مثال يك ويروس ممكن است تصويري از يك قطاع راه اندازي (boot sector) غير آلوده را ذخيره سازد و هر زمان كه درخواستي مبني بر مشاهده قطاع راه اندازي آلوده شده ارسال شود، ويروس مذكور تصوير قطاع راه اندازي غير آلوده را نمايش دهد. قديمي ترين ويروس شناخته شده به نام Brain از اين روش در سال 1986 استفاده كرده است. - رمزنگاري
بدافزارهايي كه از اين مكانيزم دفاعي استفاده مي كنند خود يا عمليات خرابكارانه را رمزنگاري مي كنند (گاهي اوقات حتي داده هاي سيستم را نيز رمزنگاري مي كنند) تا از تشخيص بدافزار يا بازيابي اطلاعات جلوگيري كنند. بدافزار هاي رمزنگاري شده شامل يك الگوريتم رمزگشايي، كليد رمزنگاري و يك كد خرابكار رمزنگاري شده (شامل الگوريتم رمزنگاري) هستند. زماني كه چنين بدافزار هايي اجرا مي شوند، با استفاده از كليد و الگوريتم رمزگشايي كد خرابكار خود را رمزگشايي مي كنند. بدافزار از خود نسخه برداري كرده و يك كليد جديد توليد مي كند. سپس با استفاده از كليد و الگوريتم رمزنگاري، نسخه جديد را دوباره رمزنگاري كرده، الگوريتم و كليد رمزنگاري جديد را به اول نسخه مذكور اضافه مي كند. برخلاف ويروسهاي چندريختي، بدافزار هاي رمزنگار هميشه از يك الگوريتم رمزگشايي ثابت استفاده مي كنند. بنابراين با وجود اينكه كليد و امضاي كد خرابكار رمزنگاري شده مرتباً در هر مرحله تغيير مي كند، تشخيص آنها توسط آنتي ويروس ها از طريق جستجو براي الگوريتمهاي ثابت رمزگشايي بدافزار ممكن خواهد بود. - Oligomorphic
بدافزاري كه اين خصوصيت را از خود به نمايش مي گذارد از رمزنگاري به عنوان يك مكانيزم دفاعي براي محافظت از خود استفاده مي كند و تنها براي دفعات محدودي قادر است الگوريتم رمزنگاري خود را تغيير دهد. براي مثال ويروسي كه مي تواند تنها دوبار الگوريتم رمزگشايي خود را تغيير دهد نيز در رده Oligomorphic مي گنجد. - ريختي يا Polymorphic
بدافزارهايي از اين نوع رمزنگاري به عنوان يك مكانيزم دفاعي استفاده مي كنند كه مي خواهند خود را تغيير دهند تا از خطر تشخيص داده شدن توسط نرم افزارهاي آنتي ويروس در امان بمانند. اين بدافزار ها معمولاً خود را با يك الگوريتم رمزنگاري به صورت رمزي درآورده و سپس براي هر تغيير از يك كليد رمزگشايي متفاوت استفاده مي كنند. بنابراين بدافزار هاي چندريختي مي توانند از تعداد نامحدودي الگوريتم رمزنگاري به منظور ممانعت از تشخيص استفاده كنند. در هر بار تكرار بدافزار جزئي از كد رمزگشايي دچار تغيير مي شود. بسته به نوع هر بدافزار، عمليات خرابكارانه يا ديگر اعمالي كه توسط بدافزار انجام مي شوند مي توانند تحت عمليات رمزنگاري قرار بگيرند. معمولاً يك موتور دگرگوني در بدافزار رمزنگاري شده تعبيه شده است كه در هر بار تغيير، الگوريتم هاي رمزنگاري تصادفي را توليد مي كند. سپس موتور مذكور و بدافزار توسط الگوريتم توليدي رمزنگاري شده و كليد رمزگشايي جديد به آنها الصاق مي شود.
در قسمت بعدي سري مقاله هاي بدافزار در مورد چيزهايي كه بدافزار محسوب نمي شوند مانند هراس افزارها و ابزارهاي تبليغاتي صحبت خواهيم كرد.
- 5