تحقیق درباره کرمهای رایانهای چگونه رفتار میکنند
پیشرفتهای پدیدآمده در برنامهنویسی امکانات فراوانی را برای ما بهوجود آورده است و درعین حال این پیشرفتها، روشهای پیچیدهای نیز برای مجرمین رایانهای برای ارتکاب اینگونه جرایم پدید آوردهاند. این مقاله به بررسی طبیعت و نحوه تکامل کرمهای رایانهای از سادهترین انواع ابتدایی گرفته تا کرمهای تلفن سیار که از طریق Bluetooth انتشار مییابند، میپردازد.
کرم (worm): یک برنامه خود – تکثیرکننده (self-replicating) است که قادر به انتشار خود در شبکههای رایانهای بوده و بطور نمونه، دارای اثری مخرب میباشد.
به نقل از (Consise Oxford English Dictionary) چاپ دهم
مقدمه
این مقاله به بحث درباره ساختار بنیادی (generic) و یا حداقل نمونهای کرمهای رایانهای و استراتژیهای رایج برای حمله به سیستمهای جدید توسط این برنامهها میپردازد. کرمهای رایانهای بطور عمده در شبکهها گسترش مییابند، درعین حال اینها زیرمجموعهای از ویروسهای رایانهای به شمار میروند. جالب است که حتی در مجامع تحقیقاتی امنیتی بسیاری از افراد ابراز میکنند که کرمهای رایانهای بطور قابل ملاحظهای متفاوت از ویروسها میباشند. در واقع حتی در درون CARO (سازمان محققین ضدویروسهای رایانهای) نیز هیچ دید مشترکی در مورد این که دقیقاً چه چیزی را باید بهعنوان یک کرم رایانهای تلقی کرد وجود ندارد.
ما امیدوار هستیم که این دید مشترک را داشته باشیم اما بههر حال حداقل اندکی از ما در این مطلب توافق داریم که تمامی کرمهای رایانهای ویروس نیز بهشمار میروند؛ بگذارید توضیح دهم.
استراتژی ایجاد آلودگی در بستر شبکه در واقع یکی از تفاوتهای اولیه میان ویروسها و کرمهای رایانهای است. علاوه بر این، کرمها معمولاً نیازی به آلودهکردن فایلهای دیگر نداشته و به صورت برنامههای مستقل انتشار مییابند. دیگر اینکه چندین کرم میتوانند کنترل یک سیستم را از راه دور و بدون نیاز به کمک کاربر به دست گیرند که معمولاً از طریق نفوذ از یک یا چند نقطه ضعف صوفت میگیرد. با این حال این مشخصههای رایج در کرمهای رایانهای همیشه صادق نمیباشند.
آلودهکردن file object، یک روش نسبتاً رایج میان کرمهای موفق و ابتدایی بوده است. با توجه به یکی از تعاریف کرم، کرم می بایست درون خود باشد و به صورت کامل و نه وابسته به یک فایل میزبان گسترش یابد. با اینحال این تعریف بدین معنی نیست که کرم نمیتواند بهعنوان یک ویروس آلودهکننده فایلها عمل کند و درعین حال از طریق شبکه گسترش یابد.
البته بسیاری از دیگر انواع کرمها از قبیل Sadmindu CheseU RamenU CodeRedU SlappcrU Morris و Blaster فاقد استراتژی آلودهسازی فایل میباشند بلکه بطور ساده گرههای (nodes) تازه در شبکه راه یافته و آلوده می نمایند. بنابراین روش دفاعی در مقابل کرمها میبایست بر روی حفاظت از شبکه و گرههای متصل به شبکه تمرکز داشته باشد.
ساختار بنیادی کرمهای رایانهای
هر کرم رایانهای دارای چندین جزء اساسی است، از قبیل مشخصکننده محل هدف و قسمتهای پخشکننده آلودگی و چند قسمت غیراساسی دیگر، مانند کنترل از راه دور رابط به روزآوری (update interface)، اداره کننده سیکل زیستی و روتینهای payload
مشخصکننده موقعیت هدف (target Locator)
برای گسترش سریع در شبکه، کرم باید قادر به یافتن اهداف جدید باشد. بسیار از کرمها، رایانه شما را به دنبال آدرسهای ای- میل جستجو کرده و کپی خود را به این آدرسها ارسال میکنند. این امر برای حملهکنندگان کافیست، زیرا سازمانها اغلب مجبورند انتشار پیامهای ای – میل را از طریق فایروال شرکت آزاد بگذرند و بدینترتیب یک راه نفوذ آسان برای کرم بهوجود آورند.
بسیاری از کرمها از روشهایی خاص برای جستجو در شبکه به دنبال گرهها و در سطح IP استفاده میکنند و حتی سیستم دور را (برای امتحان آن ازنظر نفوذپذیری) اصطلاحاً انگشتنگاری (fingerprint) میکنند.
پخشکننده آلودگی (Infection Propagator)
یکی از اجزاء اساسی یک کرم عبارتست از استراتژی کرم برای انتقال خود به یک گره جدید و بهدستگیری کنترل سیستم دور.
اغلب کرمها فرض میکنند که شما یک نوع مشخص سیستم دارید. مثلاً یک ماشین Windows و یک کرم منطبق با اینگونه سیستمها را برای شما ارسال مینمایند. برای مثال نویسندة کرم برای حمله به سیستم شما ممکن است از هرگونه زبان اسکریپتنویسی، فرمت مدارک، یا کد باینری یا تزریق شنده در حافظه (memory injected code) و یا ترکیبی از همه این روشها استفاده نمایند بطور نمونه حملهکننده، گیرنده را از طریق روشهای مهندسی اجتماعی (social engineering) به اجراکردن کرم ترغیب مینماید. با این حال روزبهروز کرمهای بیشتری یافت میشوند که از ماجولهای مخصوصی برای اجرای خودکار و بدون نیاز به کمک کاربر استفاده میکنند.
نکته
برخی کرمهای کوچک مانند W32/Witty و W32/Slammer ظاهراً پیداکننه هدف (اسکن شبکه) و پخشکننده آلودگی را در یک فراخوانی تابع (function call) جمع کردهاند. با اینحال هنوز دارای قابلیتهای مشخصی هستند از قبیل تولید آدرسهای IP تصادفی و گسترش بدنه کرم در اهداف جدید.
کنترل از راه دور و رابط به روزآوری (Update Interface)
یک عنصر اصلی دیگر در کرم عبارتست از کنترل از راه دور با استفاده از یک ماجول ارتباطی بدون وجود این ماجول، نویسنده کرم قادر به کنترل شبکه آلوده شده (توسط ارسال پیغامهای کنترلی به کپیهای کرم) نخواهد بود. اینچنین امکان کنترل از راه دوری میتواند به حملهکننده امکان استفاده از کرم را بهعنوان ابزاری برای اجرای حملات (Dsitributcd Dcnial of Service) DDoS در شبکه و بر علیه چندین هدف ناشناس بهوجود آورد.
یک رابط به روزآوری یا plug-in، عنصر مهمی از کرمهای پیشرفته است که امکان به روزآوری کرم، در یک سیستم که قبلاً آلوده شده است را فراهم میآورد. یکی از مشکلات رایج برای حملهکنندهها این است که بعد از اینکه یک سیستم توسط یک روش خاص نفوذی تحت کنترل درآمد، اغلب نمیتوان بار دیگر آن را از همان طریق مورد حمله قرار داد. البته این مشکل به حملهکننده کمک میکند تا از آلودهسازی چندباره بپرهیزد. چون ممکن است باعث crash شود. درعین حال حملهکننده میتواند روشهای بسیار زیاد دیگری برای پرهیز از آلودهسازی دوباره بیابد.
میزان فعالیت Payload
یک عنصر اختیاری ولی بسیار رایج در کرمهای رایانهای payload (روتین فعالیت) میباشد. در بسیاری از موارد کرمهای رایانهای هیچگونه payload را دارا نمیباشند. یکی از payloadهایی که به سرعت در حال رایجشدن است حمله DOS بر علیه یک سایت وب معین میباشد. اینحال یکی از اثرات جنبی حاصل از کرمهای رایانهای حملات DOS اتفاقی در شبکههای به شدت بارگذاری شده میباشد (مخصوصاً روترهای شبکه به به شدت بارگذاری شدهاند). درعین حال اثرات جانبی جالب دیگری هم مشاهده شدهاند از قبیل حملاتت اتفاقی علیه چاپگرهای شبکه.
همچنین کرمهای رایانهای میتوانند باز سیستمهای اشغالشده بهعنوان ابر رایانه (super computer) استفاده کنند. برای مثال کرم W32/Opaserv با به اشتراکگذاردن حمله میان گرههای آلوده سعی در شکستن یک کلید شبه DES دارد. شبیه به شبکه SETI (در واقع بعضی کرمهای رایانهای مانند W32/Hyd برنامه SETI را در رایانههای اشغال شده داونلود و نصب میکنند. کرم W32/Bymer مثالی است از یک (Distributed Network Client) که در رایانههای تحت کنترل نصب میگردد. اینگونه حملات در ابتدا سال 1989 پیشبینی شدند.
یکی دیگر از تمایلات جالب کرم ها عبارتست از تقابل برنامهریزی شده بین دو رایانه بهعنوان payload چندین ضدکرم (antiworm) با هدف کشتن دیگر کرمهای رایانهای و نصب تغییرات بازدارنده از نفوذ آن کرمها بهوجود آمدهاند. برای مثال میتوان Linux/Lion در برابر Linux/Cheese و W32/CodeREd در برابر W32/CodeGreen را نام برد. در این مبحث همچنین به بررسی دیگر انواع تقابل بین برنامههای بدمنظور (malicious) خواهیم پرداخت.
این روزها نصب یک سرور SMTP برای رلهکردن اسپم (spam) بسیار رایج شده است. پخشکنندگان اسپم سیستمها را در مقیاس وسیعی توسط کرمهایی از قبیل W32/Bobax مورد نفوذ قرار داده و سپس با استفاده از سرور رله SMTP پیامهای خود را از طریق سیستمهای زامبی (zombie) ارسال مینمایند.
قابلیت خود – ردگیری (self-tracking)
بسیاری از نویسندگان ویروس مایلند بدانند که ویروس آنها چه تعداد از ماشینها را آلوده میکند. از طرف دیگر، آنها میخواهند به دیگران اجازه دهند تا مسیر آلودگیهای ویروس را ردگیری نمایند. چندین نوع از ویروسها از جمله W97M/Grov.A اطلاعات IP سیستم آلوهشده را به یک سرور FTP ارسال میکنند.
کرمهای رایانهای بطور نمونه یک پیغام ای – میل شامل اطلاعاتی درباره سیستم آلودهشده را برای ردگیری گسترش خود، به حملهکننده ارسال میکنند. کرم Morris از یک ماجول خود – ردگیر استفاده میکرد که قرار بود یک UDp datagram را برای هاستی در ernie. Berkeley. Edu (بعد از 15 مورد آلودگی) ارسال کند. اما این روتین مشکل داشت و عملاً هیچ اطلاعاتی ارسال نکرد.
مشخصکننده موقعیت هدف (target Locator)
یک ماجول مشخصکننده موقعیت هدف که دارای کارکرد مؤثری باشد، عنصر مهمی از کرم رایانهای را شکل میدهد. آسانترین مکانیزم برای حملهکننده، جمعآوری آدرسهای ای – میل در سیستمی که کرم در آن اجرا شده و ارسال پیوستهایی (attachments) به اینگونه اهداف میباشد.
اما روشهای بسیار زیاد و پیچیده دیگری برای رسیدن سریع به اهداف جدید وجود دارد. مانند ساختن آدرسهای IP بطور تصادفی در ترکیب canning port کرمهای جدید همچنین شبکه را با استفاده از پروتکلهای متعدد مورد حمله قرار میدهند. در این بخش مهمترین انواع حملات و روشهای اسکن شبکه بطور خلاصه بررسی خواهیم کرد.
دروکردن آدرسها ای - میل (Email Address Harvesting)
راههای بسیاری برای یک کرم رایانهای برای جمعآوری آدرسهای ای – میل جهت حمله وجود دارد. حملهکننده میتواند با استفاده از API استاندار شمارش کتابچههای آدرس (address books) بپردازد. مثلاً با استفاده COM Interfaces یک مورد از این نمونه کرم، W32/Serot میباشد.
فایلها را میتوان مستقیماً جهت یافتن آدرس در آنها شمارش کرد. علاوه اینها، کرمهای پیشرفته ممکن است از پروتکل (Network News ansfer Protocol) NNTP یا پروتکل انتقال اخبار شبکه برای خواندن گروههای خبر (newsgroups) استفاده کرده یا موتورهای جستجو مانند Google را برای جمعآوری آدرسهای ای – میل و با استفاده از روشهای مشابه پخشکنندگان اسپم، بکار گیرند.
کرمهای کتابچه آدرس (Address – Book Worms)
تمام محیطهای رایانهای از نوعی کتابچه آدرس برای ذخیرهکردن اطلاعات لازم برای تماس با اشخاص استفاده میکنند. برای مثال کتابچه آدرس Windows یا Outlook ممکن است آدرسهای ای – میل دوستانتان همکاران و مشتریان لیست ای – میلهایی که در آنها شرکت دارید را در خود داشته باشند. اگر یک کرم بتواند به آدرسهای ای – میل درون این مکانها دسترسی یابد میتواند خود را برای تمامی آدرسهای داخل آنها ارسال کرده و با یک نرخ تصاعدی تکثیر یابد. متأسفانه دسترسی به اطلاعات داخل این کتابچههای آدرس عملی پیشپا افتاده به شمار میرود.
کرم W97M/Melissa@mm خصوصاً در انجام این تکنیک در مارس 1999 بسیار موفق بود. این کرم برای گسترش خود در ای – میلها بهوسیله ارسال یک فایل word آلوه بهعنوان یک پیوست (وابسته به نصب icrosoft Outlook) عمل مینمود.
حملات File Parsing (تجزیه فایل) در دیسک
چندین نوع از کرمهای رایانهای مانند W32/Magistr بطور ساده به دنبال فایلهای برنامههای ای – میل یا تمام فایلهایی که پسوند آنها WAB است ؟؟؟ و اینگونه فایلها را مستقیماً برای یافتن آدرسهای ای – میل در آنها مورد تجزیه و تحلیل قرار میهند. استفاده از این روش پس از اینکه مایکروسافت قابلیتها امنیتی خاصی بر علیه کرمهای رایانهای در نرمافزار Outlook قرارداد روند گرفت.
همانطور که ممکن است انتظار داشته باشید، حملات مبتنی بر تجزیه فایل نقاط ضعف خاص خود را دارند. برای مثال برخی کرمها دارای نوعی وابستگی به فرمت فایل هستند. کتابچه آدرس ویندوز در همه نگارشهای این سیستم عامل با یک فرمت ثابت ذخیره نمیشود. پشتیبانی از Unicode همیشه موجود نبوده و فرمت فایل در این مورد متفاوت خواهد بود به همین علت است که اینگونه کرمها نمیتوانند تحت این شرایط به سیستمهای دیگر گسترش پیدا کنند.
مشکلاتی شبیه به این مورد ممکن است در هنگام انجام تستهای آلودگی طبیعی در آزمایشگاهها ایجاد اشکال کنند. این مثالی است از قانون مورفی (Murphy's law) که در آن تمام دنیا توسط کرمی آلودهشده که در شرایط آزمایشگاهی موفق به کار نمیشود.
معذلک به نظر میرسد که این روش در دنیای واقعی موثر است. و تعداد بسیار زیاد حملات موفق شاهدی بر این مدعاست، بهعنوان مثال کرم W32/Mydoom@mm در اوایل سال 2004 بسیار گسترش پیدا کرد. کرم Mydoom فایلهایی را که دارای پسوندهای adb, pl, wab, htm, sht, php, asp, dbx, tbb و txt بودند در جستجو برای آدرس مورد تجزیه قرار میداد.
کرمهای رایانهای برای تشخیص اینکه آیا یک رشته (string) خاص میتواند احتمالاً یک آدرس ای – میل باشد یا خیر از روشهای تجربی (heuristics) استفاده میکنند. یک روش تجربی بالقوه جستجو برای رشتههای mailto در فایلهای HTML و فرضکردن اینکه به دنبال آن یک آدرس خواهد آمد، میباشد. در برخی موارد طول نام دامنه
(domain name) محدود است. برای مثال somebody@a.com ممکن است توسط برخی کرمها مانند W32/Klez.H بهعنوان یک آدرس معتبر پذیرفته نشو، زیرا a.com خیلی کوتاه است (اگرچه ممکن است کسی یک شبکه محلی را برای استفاده از چنین نام دامنهای پیکربندی کند) علاوه بر این بعضی کرمها گیرندههایی با یک زبان خاص مثلاً مجارستانی را هدف قرار میدهند و برای اغفال کاربر به اجرای کرم.
TLD (top level domain) آدرس را هماطور که گفته شد چک میکنند برای مثال کرم Zafi.A خود را برای آدرسهای ای – میل که TLD آنها hu. (مجارستان Hungary) است ارسال میکنند.
کرم Sircam در دایرکتوری cache متعلق به Internet Explorer، دایرکتوری Personal کاربر و در دایرکتوریای که کتابچه آدرس ویندوز در آن قرار دارد در فایلهایی که اسامی آنها با get, sho یا hot شروع میشود یا به پسوندهایی مانند HTM یا WAB ختم میگردد به جستجوی آدرس میپردازد.
جمعکنندههای ای – میل با استفاده از NNTP
حملهکنندگان مدتةاست که مخلوقات خود را در گروههای خبری اینترنتی معرفی میکنند. در سال 1996 سوء استفاده از News Net به حد اعلای خود رسید. در نتیجه محققین تیم ضدویروس Dr.Solomon تصمیم به ایجاد سرویسی به نام Virus Patrol گرفتند، تا پیامهای Usenet را بهدنبال نرمافزارهای مخرب شناخته شده و نیز انواع احتمالاً ناشناس که بهطور مستمر در اینگونه پیامها جاسازی میشدند را اسکن کند. Virus Patrol در دسامبر 1996 معرفی شد. از پروتکل NNTP میتوان در برخی از کاربردهای مخرب استفاده نمود. برای مثال یک حملهکننده میتواند از یک خواننده سرور خبری (news server) برای ایجاد یک پایگاه داده بزرگ جهت نگهداری آدرس میلیونها نفر استفاده نماید. حملهکننده همچنین میتواند از این پایگاه داده برای کمک به پخش اولیه سریع کرم با اجرای کرم در سیستمی که پایگاه داده را میزبانی میکند استفاده کند.
این یکی از روشهای رایج مورد استفاده توسط پخشکنندگان اسپم است و گمان میرود که کرمهایی مانند W32/Sobig با بهرهگرفتن از چنین روشهایی گسترش پیدا کردند. در واقع اولین ویروس Win32 شناخته شده که از ای – میل برای گسترش خود استفاده کرد از یک جمعکننده آدرس NNTP استفاده مینمود. ویروس W32/parvo توسط ویروسنویس ناشناسی بنام GriYo از گروه 29A در اواخر سال 1998 خلق شد عجیب نیست که همانند بسیاری دیگر از ویروسهای GriYo، ویروس parvo از خاصیت چندشکلی (polymorphism) برای آلودهکردن فایلهای PE استفاده میکرد و اما این ویروس اولین ویروسی بود که از یک موتور SMTP برای ارسال ای – میل در حجم وسیع بهره میجست. ویروس parvo سالها جلوتر از زمانه خود بوده و به زبان اسمبلی (Assembly) خالص نوشته شده بود که سبب شده بود که حجم بدنه ویروس آن فقط به اندازه 15KB باشد.
ویروس W32/parvo برای جمعآوری آدرسهای ای – میل از چندین گروه خبری استفاده مینمود اما ظاهراً وجود یک اشکال جزئی گسترش آن را محدود نمود Parvo بطور تصادفی سعی میکرد تا به دو سرور خبری احتمالی یعنی Diana. Ibernet.es متصل شود.
با اینحال این سرورها در آن زمان برای هر کسی قابل دسترسی نبودند بدینترتیب جمعکننده ای – میل Parvo به کار در محدوده داخل مرزهای اسپانیا محدود شد.
Parvo از طریق پورت 119/CP به دو سرور بالا متصل شده و شروع به تبادل اطلاعات مینماید. حملهکننده سه پیغام ای – میل مختلف با محتوایی که انتظار داشت برای اعضای سهگروه خبری متفاوت به اندازه کافی جذاب باشد تهیه نموده بود.
اولین پیغام Parvo خوانندگان دائمی گروههای خبری مربوط به هک مانند alt, hackers, malicious, alt, hackers, alt, hacker, alt, bio, hackers و غیره را هدف میدهد. پیغام دوم به زیرمجموعه این لیست گروه خبری ارسال میشود. نهایتاً پیغام سوم خوانندگان گروههای خبری غیراخلاقی (erotic) مانند alt.binaries.erotica.pornstar.alt.binares.erotica و غیره را هدف حملات خود قرار میدهد.
برای یافتن آدرسهای ای – میل در گروههای خبری، Parvo از دستور group برای پیوستن به یک گروه تصادفی و از دستورات next و head با تعداد تصادفی برای گرفتن یک پیغام بطور اتفاقی استفاده میکند. نهایتاً آدرس ای - میل را از درون عنوان (header) پیغامی که بطور تصادفی انتخاب شده استخراج میکند، خود را به این آدرس ارسال نموده و این پروسه را تکرار مینماید.
دروکردن آدرسهای ای – میل در وب
حملهکنندگان همچنین میتوانند از موتورهای جستجو برای یافتن آدرس استفاده کنند. این یک فرآیند نسبتاً ساده میباشد که به حملهکننده امکان دسترسی سریع به تعداد زیادی ای – میل میدهد. هنگام نگارش این کتاب اولین گونههای این نوع کرم در حال پدیدار شدن بودند که از موتورهای جستجوی معروف مانند Yaho!Y;Lycos, Google و Altavista برای دروکردن آدرسهای ای – میل استفاده میکنند. برای مثال کرم W32/Mydoom. M@mm بطور موفقیتآمیزی از این روش بهره جستهاند و به گفته Google این کرم حملات DoS خفیفی بر ضد سرورهای این سایت انجام داده است.
دروکردن آدرسهای ای – میل از طریق ICQ
برخی کرمهای رایانهای مانند کرم چندشکلی W32/Toal@mm آدرسهای ای – میل را از طریق صفحات سفید ICQ(white pages) موجود در سرورهای ICQ جمعآوری میکنند. برای مثال http://www.icq.com/whitepages به شما اجازه میدهد تا براساس مشخصات مختلفی از قبیل نام و ناممستعار، جنسیت، سن و کشور به جستجوی اطلاعات تماس گشته و اطلاعاتی مانند آدرس ای – میل اشخاصی که با شرایط جستجوی شما انطباق دارند بدست آورید. عجیب نیست که کرمهای رایانههای میتوانند از اطلاعات بدست آمده از این طریق استفادههای زیادی ببرند.
روشهای ترکیبی
البته روشهای زیادی برای جمعاوری آدرسهای ای – میل و گسترش کرم میتوان یافت. برای مثال کرم Linux/Slapper قادر به جمعآوری آدرسها و ارائه آنها از طریق کنترل از راه دور به حملهکننده میباشد. سپس یک کرم دیگر ممکن است توسط حملهکننده ایجاد شود تا از پایگاه داده شامل آدرسهای ای – میل برای گسترش ناگهانی و سریع خود استفاده نمایند، بدون این که نیازی به آلودهکردن در حد وسیع به منظور جمعآوری تعداد کافی آدرس داشته باشد.
حتی محتملتر این است که حملهکننده از آدرسهای جمعآوری شده برای ارسال اسپم استفاده نمایند.
حملات Network Share Enumeration
احتمالاً سادهترین روش برای پیداکردن سریع گرههای دیگر در شبکه شمارس کردن (enumerate شبکه به دنبال سیستمهای دور میباشد. سیستمهای windows خصوصاً در این مورد جزو آسیبپذیرترین سیستمها به شمار میروند و علت آن پشتیبانی بسیار غنی برای یافتن ماشینهای دیگر و وجود اینترفیسهای ساده برای این کار میباشد. ویروسهای رایانهای مانند W32Funlove از اصل شمارهگذاری (enumeration) برای آلودهکردن فایلهای موجود در هدفهای دور استفاده میکردند. این نوع حملات سبب بروز صدمات عمدهای در سازمانهای بزرگ در اطراف جهان شدهاند.
چندین نوع از کرمهای رایانهای دارای برخی مشکلات اجزائی جزئی بوده و نهایتاً در یافتن منابع شبکهای از جمله چاپگرهای مشترک در شبکهها موفق خواهند شد. این امر بدین دلیل محقق میشود که همه کرمها به نوع منبعی (resource) که آن را شمارش میکنند اهمیت نمیدهند و این مسئله ممکن است سبب چاپشدن اتفاقی بر روی چاپگر شبکه گردد. در واقع کرمهای دچار مشکل کاراکترهای به ظاهر بیمعنی را در چاپگر چاپ میکنند که در واقع کد کرم است. کرمهای W32/Bugbear و W32/Wangy مثالهایی از کرمهای رایانهای هستند که بطور تصادفی چاپگرهای شبکهای را هدف اینگونه حملات قرار میدهند.
موفقیت این کرم معمولاً وابسته به رابطه دوطرفه میان سیستمها میباشد. با اینحال عامل دیگری هم در این مورد دخالت دارند:
- کلمات عبور خالی (blank passwords): بسیاری از سیستمها در حالت نصب به صورت default نسبت به حملات آسیبپذیر هستند زیرا برای دسترسی به منابع به اشتراک گذاشته شده در سطح مدیریت سیستم هیچگونه مجموعهای از کلمات عبور default ندارند.
- کلمات عبور آسیبپذیر – حملات براساس فرهنگ لغات (dictionary attacks): کلمات عبور ضعیف (weak passwords) از سال 1998 هدف حملات کرمهای رایانهای بودهاند، که با کرم Morris شروع میشود. با اینحال حمله به سیستمهای Windows به کمک فرهنگ لغات تا سال 2003 رایج نشده بود، و با ظهور ناگهانی کرم BAT/Mumu آغاز گردید. بطرز عجیبی، کرم Mumu لیست کوتاهی از کلمات عبور را به همراه داشت که شامل 123456, 12345, 1234, 123, pass. Admin, passwd, password و یک کلمه عبور خالی (blank) بود. به احتمال زیاد موفقیت این کرم به خاطر استفاده از کلمه عبور خالی در accountهای مدیریتی (asministrative) بوده است.
- نقاط آسیبپذیر مربوط به جابجایی کلمات عبور: کرم W32/Opaserv در سپتامبر 2002 ظاهر شد و به خاطر حملاتش علیه سیستمهایی که دارای کلمات عبور قوی بوده ولی منابع شبکهای را در سیستمهایی که نسخههای آسیبپذیر Windows روی آنها نصب شده بود به اشتراک گذاشته بودند. شهرت یافت. بطور مشخص کرم Opaserv نقطه ضعف بحث شده در بولتن امنیتی شماره MS00-072 را که سیستمهای ویندوز 95/98 و Mc را تحت تأثیر قرار میدهد مورد حمله قرار داد. این نقطه ضعف که بنام نقطه ضعف کلمه عبور در سطح اشتراک (sharc-level password vulnerabililty) شناخته میشود. امکان دسترسی به منابع به اشتراک گذاشته شده شبکه را با استفاده از اولین کاراکتر کلمه عبور فراهم میکند. فرقی نمیکند که طول کلمه عبور چقدر باشد. تعداد سیستمهایی که منابع شبکهای را بدون استفاده از فایروال در اینترنت به اشتراک گذاردهاند بسیار زیاد است و به Opaserv اجازه دسترسی آسان به این منابع که قابل نوشتن (writeable) نیز هستند را میدهد.
- حملات پیداکردن کلمه عبور به منظور کسب اختیارات در سطح مدیریتی (administrative): در شبکههای ویندوز، مدیران شبکه قادر به خواندن و نوشتن در هر فایلی در هر ماشین موجود در شبکه میباشند. مگر اینکه بطور مشخص از این کار منع شده باشند. در سیستمهای مبتنی بر NT مدیران شبکه حتی مجاز به برنامهها از راه دور و اجرای فرامینی هستند که نیاز به سطح بالاتری از اختیارات نسبت به کاربران عادی شبکه دارند. این قابلیتها مدیریت از راه دور را برای شبکه ممکن میسازند اما در عین حال مجموعه جدیدی از مشکلات امنیتی را نیز ایجاد میکنند. کسب اختیارات مدیر دامنه کار سادهای نیست. با اینحال یک کرم میتواند از طریق مجراهای عادی گسترش یابد و سپس با استفاده از روشهای عادی network sniffing در TCP/IP به گوشدادن به ترافیک شبکه بپردازد. پس از یافتن اطلاعات متعلق به مدیر شبکه که در حال انتقال در آن قسمت از شبکه میباشد (مثلاً هنگامی که مدیر شبکه که در حال ورود به شبکه از طریق یکی از ایستگاههای کاری (workstation) است. نام کاربر و کلمه عبور مدیر شبکه را تصویر hash ثبت میکند.
سیستمهای مبتنی بر NT کلمه عبور را به صورت plain text منتشر نمیکنند، بلکه آن را در ابتدا از درون یک تابع hash یکطرفه عبور میدهند. این تابع قابل معکوس شدن نیست. بنابراین کلمه عبور را نمیتوان مستقیماً از روی hash گردآوری نمود. در عوض کرم میتواند یک حمله از نوع brute-force را برای امتحان هر ترکیب ممکن برای کلمه عبور انجام دهد.
کرم میتواند هر کلمه عبور را (مثلاً AAA, AA, A و غیره) از درون همان تابع یکطرفه عبور داده و نتیجه را مقایسه کند. اگر خروجی ها با هم منطبق باشند، کلمه عبور پیدا شده است. به عنوان یک راهحل دوم، کرم میتواند از حمله فرهنگ لغات (dictionary attack) نیز برای یافتن کلمه عبور استفاده کند. در صورت قویبودن کلمه عبور ممکن است این پروسه روزها به طول انجامد، اما یک کلمه عبور NT معمولی کمتر از یک هفته زمان نیاز دارد که در یک رایانه مجهز به سیستم ویندوز و یک پردازنده پنتیوم شکسته شود. با فرض این که کرم میتواند با دیگر سیستمهای اشغال شده در شبکه ارتباط برقرار کند. میتواند حجم کار را بین گرههای مختلف تقسیم کرده و پروسه شکستن کلمه عبور را حتی سریعتر از این هم انجام دهد.
پس از این که کرم موفق به بدستاوردن کلمه عبور مدیر شبکه NT شد، شبکه از آن او شده و هر عمی را میتواند در آن انجام دهد. بطور مشخص کردم میتواند خود را بر روی تمامی ماشینهای موجود در شبکه کپی کند. در ماشینهای مبتنی بر NT این کرم حتی قادر است که به طور خودکار و با اختیارات دسترسی بالا راهاندازی کند. اینچنین کرمی حتی میتواند کلمه عبور مدیر دامنه و مدیران محلی را تغییر داده و با این کار جلوگیری از عملش را هرچه مشکلتر نماید.
اولین بار امکان انجام چنین حملاتی را در دامنههای NT در سال 1997 و با Mikko Hypponen مشاهده کردیم. تقریباً در همان زمان ابزارهایی مانند L0phtCrack در پیداکردن و شکستن کلمات عبور NT موفق ظاهر شدند. ناپدید آورندگان L0phtCrack نشان داند که هنگام استفاده از حملات با استفاده از فرهنگ لغات کلمات رمز طولانی ضعیفتر از کلمات کوتاه عمل میکنند. در واقع الگوریتمهای hash موجود در دامنههای NT کلمات عبور طولانی را به قسمتهای کوچکتر هفت کاراکتری تقسیم میکند و این مسئله به L0phtCrack کمک میکند تا کلمه عبور را بسیار سریعتر پیدا کند. معذلک، کرمهای رایانهای که دارای سیستم network sniffing بوده و بتوانند کلمات عبور را بشکنند هنوز مشاهده نشدهاند. کلمات عبور خود را قبل از این که خیلی دیر شود ایمن کنید! (البته اگر کرم رایانهای را درنظر بگیرید که برای ثبت اطلاعات کاربران و کلمات عبور به ثبتکننده کلیدهای (keylogger) داخلی مجهز باشد ممکن است دیگر نتوان به این نصیحت درستی عمل نمود.)
پخشکنندههای آلودگی
در این بخش روشهای جالی که کرمهای رایانهای برای گسترش خود به سیستمهای دیگر به کار میبرند بطور خلاصه مورد بحث قرار میگیرد.
حمله Backdoor – سیستمهای اشغال شده
با اینکه اکثر کرمهای رایانهای عمداً به سیستمی که قبلاً اشغال شده حمله نمیکنند، برخی از کرمها از اینترفیسهای backdoor (= درب پشتی) برای گسترش خود استفاده میکنند. کرم W32/Borm جزو اولین کرمهایی بود که به سیستمهایی که توسط backdoor اشغال شده بودند. حمله کردند. کرم W32/Borm نمیتواند سیستم دیگری بجز آنهایی که از قبل توسط Back Orifice (یکی از backdoorهای نسبتاً معروف در بین حملهکنندگان) اشغال شدهاند را آلوده کند. Orifice دارای یک اینترفیس فرمان از راه دور است که از یک کانال ارتباطی رمزشده میان client و سرور Back Orifice که در سیستم اشغال شده نصب شده برخوردار است. Borm از یک تابع اسکن و انگشتنگاری شبکهای برای یافتن سیستمهایی که توسط Back Orifice اشغال شدهاند استفاده میکند. این کرم با انجام مراحل ساده زیر به سیستم اشغال شده حمله میکند:
1 – آدرسهای IP را بطور اتفاقی ایجاد کرده و با استفاده از فرمان Bo-PING مربوط به Back Orifice شبکه را به صورت فعال اسکن میکند. برای شروع هرگونه ارتباط معنیدار لازم است که کرم کلمه عبور جادویی Back Orifice را بداند که *!*QWTY? میباشد. هدر دادههای ارتباطی با یک نوع رمزگزاری ساده به رمز درآمده که برای سرور Back Orifice ضروری است. Borm دادهها را قبل از ارسال به سمت IP اتفاقی تولید شده در پورت UDP/31337 به رمز درمیآورد. اگر گره راه دور به فرمان BO-PING پاسخ دهد، کرم به مرحله بعدی کار خود وارد میشود. در غیر اینصورت یک IP دیگر برای حمله تولید میکند.
2 –Borm فرمان BO-HTTP-ENABLE را به سمت سرور ارسال میکند.
3 – در پاسخ این فرمان به Back Orifice دستور میدهد تا یک سرور TTP مجازی در ماشین اشغال شده ایجاد کند. کرم به Orifice در سیستم اشغال شده استفاده کند.
4 – سپس کرم به سیستم متصل شده و خود را به فرمت IIME-encoded به سرور ارسال میکند.
5 – نهایتاً کرم فایل اجرایی فرستاده شده را با ارسال فرمان BO-PROCESS-SPAWN اجرا میکند. اینکار باعث اجرای کار در ماشین گشته و بنابراین میتواند از این گره جدید شروع به اسکن سیستمهای دیگر برای یافتن Back Orifice نماید.
کرم W32/Borm در بین سیل کرمهای ساخته شده در سال 2001 ظاهر شد دیگر کرمهایی که در این دوره زمانی از اینترفیسهای Backdoor استفاده میکردند میتوان به Nimda که از یک backdoor که توسط آلودگی با CodeRed بازشده بود و کرم W32/Leaves نام برد، که با حمله به سیستمهای اشغال شده توسط اسب تروای SubSeven شهرت یافت.
Borm ساخته دست ویروسنویس برزیلی به نام Vecna بود. چندین روش دیگر از او بعداً در همین بخش مورد بررسی قرار خواهد گرفت.
حملات شبکهای نقطهبهنقطه (Peer-To-Peer)
حملات نقطه نقطه از جمله روشهایی است که استفاده از آن در میان کرمها روبه فزونی است و نیازی به استفاده از تکنیکهای پیشرفته برای اسکن شبکه ندارد. در عوض، اینگونه کرمها خیلی ساده یک کپی از خود را در پوشه P2P به اشتراک گذاشته شده بر روی دیسک قرار میدهند. هر چیزی که در پوشه داونلود P2P موجود باشد توسط دیگر کاربران شبکه P2P قابل جستجو و یافتهشدن میباشد.
در واقع بعضی از کرمها در صورتی که کاربر تمایلی به اشتراک گذاردن محتویان خود با دیگر کاربران نداشته و فقط دنبال جستجو و یافتن محتوای مورد علاقه خود باشد، یک پوشه اشتراکی (shared) در رایانه او ایجاد میکنند. اگرچه این نوع حمله بیشتر شبیه به نصب اسب تروا است تا گسترش تصادعدی، کاربران شبکه P2P محتوای به اشتراک گذاشته شده را به سادگی یافته و برای تکمیل چرخه آلودگی، کد مخرب را در سیستم خود اجرا میکنند. برخی کرمهای P2P از قبیل W32/Maax فایلهای داخل پوشه P2P را آلوده میکنند. رایجترین روش آلوده سازی روش نوشتن روی محتویان فایل (overwrite) است. اما افزودن به ابتدا یا انتهای فایل نیز دیده شده است.
برنامههای P2P مانند BearShare, Grokster, Morpheus, Limewire, KaZaA Lite, KazaA و Edonkey بیشتر از دیگر برنامهها هدف کدهای مخرب قرار میگیرند. شبکههای P2P از جمله روشهای تبادل موسیقی بهصورت دیجیتال است که روزبهروز به محبوبیت آنها افزوده میشود. و قانونمندکردن آنها به دلیل غیرمتمرکز بودن مشکل میباشد.
حملات علیه سیستمهای پیغامرسانی فوری (Instant Messaging)
این نوع حملات از سوء استفاده از فرمان /DCC Send در mIRC منشاء گرفتناند. از این فرمان میتوان برای فرستادن یک فایل به کاربران مرتبط با یک کانال گفتگو استفاده میشود. معمولاً حملهکنندهها یک فایل اسکریپت محلی را تغییر میدهند. مانند فایل script.ini که برای فرمان دادن به برنامه mIRC جهت ارسال یک فایل هنگام پیوستن هر عضو جدید به گروه به کار میرود. مدلهای جدید کرمهای (Internet Relay Chat) IRC میتوانند بطور دینامیک به یک برنامه IRC متصل شده و پیغامهای ارسال کنند که گیرنده را ترغیب به اجرای یک لینک یا فایل پیوست (attachment) کنند. بدینترتیب حملهکننده نیازی به تغییردادن هیچ فایل محلی ندارد.
برای مثال کرم W32/Choke با استفاده از MSN Messenger API خود را برای دیگر شرکتکنندگان چت بهعنوان یک بازی بنام shooter game ارسال میکند. اگرچه چندین نوع از برنامههای Instant Messenger برای فرستادن فایل کاربر را ملزم به فشردن یک دکمه میکنند. کرمها میتوانند پنجرههای گفتگو را بررسی کرده و دکمههای آن را کلیک کنند طوری که لازم نیست که کاربر واقعی آنها را کلیک کند. این انتظار نیز میرود که کرمهای رایانهای نقاط آسیبپذیر از نوع Buffer Overflow را در نرمافزاری پیغامرسان بیابند. برای نمونه نگارشهای معینی AOL Instant Messenger اجازه اجرا از راه دور (remote execution) هر کد دلخواهی را از طریق یک ارگومان با طول زیاد در یک تابع رخواست برای بازی میدهند.
حملات کرمها از طریق ای – میل و روشهای اغفال
اکثریت قریب به اتفاق کرمهای رایانهای از ای – میل برای گسترش به سیستمهای دیگر استفاده میکنند. جالب است که ببینیم حملهکنندهها چگونه در هر روز کاربران زیادی را با فرستادن کدهای مخربشان ترغیب به اجرای این کدها در سیستمهای آنها میکنند. بیایید با آن روبرو شویم این یکی از مشکلات امنیتی میباشد. کارشناسان امنیتی چگونه میتوانند کاربران را در مقابل خودشان حفظ نمایند؟
طی چندین سال گذشته تعداد روزافزونی از کاربران در ماتریس سیستمهای عامل گرفتار شدهاند. خصوصاً Windows این توهم را در ذهن میلیونها کاربر رایانه در سرتاسر جهان ایجاد کرده است که آنها ارباب رایانه خود هستند نه برده آن این توهم سبب بروز اعمال جاهلانه از نظر امنیتی میشود در حقیقت بسیاری از کاربران هنوز نمیدانند که باید مراقب پسوندهای ای – میل باشند. W97M/Melissa را درنظر بگیرید که برای اغفال گیرنه پیغام به اجرای کرم در ماشین خود از ای – میل زیر استفاده میکرد:
روش رایج دیگر عبارتست از تغییر در هدر (header) ای – میل. برای مثال حمله کننده میتواند از آدرس ای – میل بخش پشتیبانی مایکروسافت یعنی support@microsoft.com به، عنوان فرستنده پیغام استفاده کند، همانگونه که ویروس W32/Parvo این کار را میکند این کار به سادگی باعث اغفال گیرنده و اطمینان به فایل پیوست و بازکردن آن بدون هیچ تاملی میگردد. دیگر کرمهای رایانهای مانند W32/Hyd صبر میکنند تا کاربر یک پیغام دریافت کند. سپس بلافاصله با فرستادن یک نسخه از کرم به فرستنده به آن پاسخ میدهند. عجیب نیست که این روش از جمله مؤثرترین روشهای اغفال به شمار میرود.
کرمها همچنین تغییرات مختصری در From^ پیغام میدهند تا بطور اتفاقی نام فرستنده را مخدوش نمایند. در عمل ممکن است شما تعداد زیادی ای – میل از اشخاص مختلف دریافت کنید و اغلب اوقات آنها هیچ ارتباطی با کرمی که آدرس آنها را مورد سوء استفاده قرار داده نداشته باشند. آخر اینکه تذکردادن به فرستنده لزوماً چیزی را حل نخواهد کرد.
تزریقکنندههای پیوست ای - میل (Email Attachment Inserters)
برخی کرمهای رایانهای پیغام را مستقیماً درون صندوق پستی (maibox) برنامههای ای – میل تزریق میکنند. در این حالت کرم نیازی به فرستادن پیغام ندارد. بلکه خیلی ساده برای فرستادن آن به خود برنامه ای – میل تکیه میکند. اولین نمونههای کرمهای رایانهای سیستمهای Windows از این نوع بودند. یک مثال از این مورد Win/Redteam است. که صندوق پستی خروجی برنامه ای – میل Eduora را هدف قرار میدهد.
روشهای رایج برای انتقال و اجرای کد کرم
کرمهای رایانهای ازنظر چگونگی انتشار کد کرم از یک سیستم به سیستم دیگر نیز با هم اختلاف دارند. اغلب کرمهای رایانهای بدنه اصلی خود را به صورت پیوست یک پیغام ای – میل ارسال میکنند با اینحال انواع دیگری از کرمها هستند که از روشهای متفاوتی برای این کار استفاده میکنند. مانند کد تزریق شده (injected code) و روشهای shellcode به همراه کد نفوذ.
حمله با کمک کد اجرائی
پیغامهای ای – میل را میتوان به طرق مختلفی به رمز درآورد، مثلاً UU، BASE64 (MIME) و غیره. معذلک پیوستهای UU-encoded در اینترنت زیاد قابلاطمینان نمیباشند زیرا UU از بعضی کارکترهای خاص استفاده میکند که تعبیر آنها بسته به موقعیت متفاوت میباشد. امروزه اغلب برنامههای ای – میل از روش کدگذاری MIME بهعنوان پیشفرض استفاده میکنند و این همان کاری است که موتور SMTP اکثر کرمها توسط آن کرم را به سمت اهداف جدید میفرستد. کرمهای ای – میل از نوع اسکریپت (script) معمولاً پیوستها را با همان روش کدگذاری که برنامه ای – میل سیستم اشغال شده برای آن تنظیم شده کدگذاری و ارسال میکنند.
ایجاد لینک به وب سایتها و پراکسیها
کرمهای رایانهای همچنین میتوانند لینکهایی به فایلهای اجرایی که در محلی نگهداری میشوند، مثلاً در یک وب سایت، مجموعهای از سایتها، یا یک سایت FTP ارسال کنند. اصل پیغام در IRC یا یک ای – میل میتواند دارای هیچ نوع محتوای مخربی نباشد، اما عمل آلودهسازی را به طور غیرمستقیم انجام دهد. یکی از مشکلات احتمالی این نوع حمله وقوع یک حمله DoS تصادفی به سایتی است که کد کرم را نگهداری میکند. یک مشکل احتمالی دیگر این است که شخص دفاعکننده میتواند با ISP تماس گرفته و درخواست ؟؟؟ اینگونه سایتها را مطرح کند و جلوی گسترش بیشتر کرم را بگیرد.
کرمهای زیرکی وجود دارند که لینکهایی محتوی آدرس IP سیستمی که قبلاً اشغال شده را ارسال میکنند. در ابتدا کرم یک ماشین را اشغال کرده و یک سرور ابتدایی وب را روی آن راهاندازی میکند. سپس با استفاده از آدرس IP این ماشین پیغامهایی را به سمت دیگر کاربران میفرستد و روی یک پورت منتظر دریافت یک درخواست GET میماند. در این حالت نوع حمله به صورت نقطه به نقطه (peer-to-peer) درمیآید (شکل 8 را ببینید) اینگونه کرمها قادرند تا فلتر محتوی را در صورتی که قاعده فیلترکردن محتوی براساس فیلتر کردن پیوستها تنظیم شده باشد، به سادگی دور بزنید.
W32/Beagle.T در سال 2004 از روش مشابهی استفادهکرد. نوع دیگر (variant) این کرم یک سرور ابتدایی وب را روی پورت 81 ایجاد میکند. سپس یک لینک را برای گیرنده ارسال میکند که باعث میشود تا ای – میل از نوع HTML بهطور خودکار شروع به داونلود و اجرای کد اجرایی کرم بر روی سیستم هدف گردد (این کرم از نقطه ضعف Internet Explorer به نام object tag vulnerability که در بولتن MS03-032 تشریح شده استفاده میکند.)
کرم W32/Aplore جزو آن دسته از کرمهایی است که اولینبار از این حمله برای انتشار خود در Instant Messaging در آوریل 2002 استفاده کرد. هنگامی که کرم W32/Aplore@mm وارد یک سیستم میشود. بهصورت یک وب سرور ابتدایی روی پورت 8180 عمل میکند که یک صفحه وب داشته که به کاربر دستور میدهد تا یک برنامه را داونلود و اجرا نماید. که همان بدنه کرم است. این کرم کاربران Instant Messenger را با فرستادن یک لینک شبیه این اغفال میکند:
FREE PORN: http://free:porn@192.168.0.1:8180
که در آن آدرس IP همان آدرس سیستم اشغال شده میباشد.
منبع : سايت علمی و پژوهشي آسمان--صفحه اینستاگرام ما را دنبال کنیداين مطلب در تاريخ: شنبه 23 اسفند 1393 ساعت: 9:41 منتشر شده است
برچسب ها : تحقیق درباره کرمهای رایانهای چگونه رفتار میکنند,