جمعه, ۱۰ فروردین, ۱۴۰۳ / 29 March, 2024
مجله ویستا

تشخیص ماشین‌های تسخیر شده


تشخیص ماشین‌های تسخیر شده
شما مدیر شبكه یك سازمان هستید و با خیال راحت پشت سیستم خودتان نشسته و مشغول وب‌گردی (!!!) هستید، در همین حال نفوذگران از طریق درپشتی، كانال‌های مخفی و ... در حال رفت و آمد به شبكه شما هستند بدون این كه روح شما از این موضوع خبردار باشد یا حتی به این موضوع شك كنید.
یكی از مهم ترین نكاتی كه شما به عنوان مدیر شبكه یك سازمان باید مدنظر داشته باشید این است كه چگونه می توان فهمید ماشینی مورد نفوذ قرار گرفته است.
روش‌های زیادی برای تشخیص این كه ماشینی مورد نفوذ قرار گرفته است وجود دارد ولی متاسفانه فقط تعداد كمی از این روش‌ها دارای قابلیت اطمینان در حد قابل قبول می‌باشند.
در این نوشتار قصد داریم نگاهی به قابلیت اطمینان روش‌های كشف ماشین‌های تسخیر شده در سازمان بیندازیم. در واقع نكته كلیدی و مهم در این جا قابلیت اطمینان است.
ابتدا ببینیم به چه ماشینی تسخیر شده می‌گویند. یك ماشین، تسخیر شده گفته می‌شود اگر:
۱) به طور موفقیت آمیز توسط نفوذگر و با استفاده از كدهای مخرب تحت كنترل درآمده و مورد استفاده قرار گیرد.
۲) یك درپشتی یا دیگر ابزارهای مخرب بدون اطلاع صاحب ماشین، بر روی آن اجرا شود.
۳) ماشین بدون اطلاع صاحب آن به‌گونه‌ای پیكربندی شود كه به افراد غیرمجاز اجازه دسترسی بدهد.
برخی از مواردی كه ممكن است در دنیای واقعی رخ دهد به شرح زیر است:
▪ یك سیستم كه توسط یك كرم (worm) آلوده شده و سپس شروع به ارسال مقادیر زیادی ترافیك مخرب به بیرون می‌كند و سعی می‌كند آلودگی را در سازمان و خارج از آن گسترش دهد.
▪ امتیازات دسترسی سیستم به یك سرور FTP بدون حفاظ مورد سوءاستفاده قرار گرفته وسپس توسط نفوذگران برای ذخیره كردن و به اشتراك گذاشتن تصاویر پورنو، نرم‌افزارهای غیرمجاز و ... استفاده شود.
▪ یك سرور كه توسط نفوذگران تسخیر شده و روی آن rootkit نصب شده است. برای ایجاد كانال‌های پنهان بیشتر به منظور دسترسی راحت‌تر نفوذگر، بر روی چندین سیستم، تروجان نصب شده است. هم­چنین یك IRC bot نصب شده است كه از یك كانال مشخص برای اجرای دستورات استفاده می‌ شود.
ممكن است با خواندن مثال‌های فوق، فكر كنید كه "خوب، در این موارد می‌دانم چگونه سیستم‌های تسخیر شده را تشخیص دهم" ولی ما مساله را در حالت كلی بررسی خواهیم كرد نه برای چند مثال خاص.
ابتدا نگاهی می‌اندازیم به تكنولوژی‌های موجود برای تشخیص فعالیت نفوذگران. سیستم‌های تشخیص حمله (كه از آن‌ها به عنوان سیستم‌های تشخیص نیز یاد می‌شود) وجود دارد كه جستجوها و تلاش‌ها برای حملات گوناگون را تشخیص می‌دهد.
سپس سیستم‌های تشخیص نفوذ قرار دارند كه روش‌های نفوذ شناخته شده مورد استفاده نفوذگران را تشخیص می‌دهد. البته در اینجا ما در مورد روش های قابل اطمینان تشخیص ماشین های تسخیر شده صحبت می‌كنیم: تشخیص ماشین‌هایی كه مورد حمله قرار گرفته‌اند، مورد نفوذ قرار گرفته‌اند و اكنون توسط نفوذگران یا دستیاران خودكارشان (aids) استفاده می‌شوند.
همان‌گونه كه اشاره شد، قابلیت اطمینان تشخیص مهم است. هشدارهایی كه تولید می‌كنیم برخلاف سیستم‌های تشخیص نفوذ بر مبنای شبكه كاملا كاربردی و عملیاتی است. به عنوان مثال به جای هشدار "به نظر می‌رسد كسی در حال حمله به سیستم شما است. اگر تمایل دارید با دقت بیش‌تری آن را بررسی كنید." از هشدار "ماشین شما مورد نفوذ قرار گرفته و در حال استفاده توسط نفوذگران است، به آنجا بروید و این كارها را انجام دهید"
● چگونه می‌توانیم تشخیص دهیم كه ماشینی واقعا تسخیر شده است؟
پاسخ این سوال تا حد زیادی به این كه چه اطلاعات و ابزارهایی با توجه به موقعیت كاربر در دسترس است، بستگی دارد. این كه فقط توسط اطلاعات مربوط به فایروال بخواهیم ماشین تسخیر شده را تشخیص دهیم یك چیز است و این كه دسترسی كامل به سخت‌افزار، سیستم‌عامل و برنامه‌های كاربردی ماشین داشته باشیم مساله ای كاملا متفاوت است.
بدیهی است تحقق بخشیدن به این اهداف نیازمند داشتن افراد متخصص با مهارت computer forensics در سازمان و صرف زمان كافی است.
برای پیش‌زمینه به طور خلاصه برخی فعالیت‌هایی كه توسط نفوذگران روی سیستم‌های تسخیر شده انجام می‌شود را بررسی می‌كنیم. البته واضح است كه این فعالیت‌ها توسط نفوذگران بیرونی است نه نفوذگران درون سازمان.
۱) یك daemon درپشتی توسط نفوذگر روی یك درگاه با شماره بالا به كار گرفته می‌شود یا یك daemon موجود به تروجان آلوده می‌شود. این مورد در اغلب حالت‌های تسخیر شده مشاهده می‌شود.
۲) یك انتخاب مرسوم نفوذگران، نصب یك IRC bot یا bouncer است. چندین كانال IRC توسط یك گروه خاص برای ارتباط با سروری كه تسخیر شده اختصاص می‌یابد. این مورد نیز در خیلی از حالت ها مشاهده می‌شود.
۳) در حال حاضر برای انجام حملات DDoS و DoS، معمولا از تعداد زیادی ماشین تسخیر شده برای ضربه زدن به مقصد استفاده می شود.
۴) بسیاری از نفوذگران از ماشین ‌های تسخیر شده برای پویش آسیب‌ پذیری‌ های دیگر سیستم ها به طور گسترده استفاده می‌كنند. پویشگرهای استفاده شده قادر به كشف آسیب پذیری ها و نفوذ به تعداد زیادی سیستم در زمان كوتاهی می‌باشند.
۵) استفاده از یك ماشین تسخیر شده، برای یافتن یك ابزار یا نرم‌افزار غیرمجاز، فیلم و ... خیلی معمول است. روی سرورهای با پهنای باند بالا، افراد قادرند در هر زمانی با سرعتی در حد گیگابایت download و upload كنند. قابل توجه این كه اغلب لازم نیست كسی برای ذخیره داده‌ها، سروری را exploit كند زیرا به اندازه كافی سرورهایی وجود دارند كه به علت عدم پیكربندی صحیح اجازه دسترسی كامل را می‌دهد.
۶) به‌دست‌آوردن مقدار زیادی پول با دزدیدن اطلاعات كارت‌های اعتباری یكی دیگر از فعالیت‌هایی است كه نفوذگران انجام می‌دهند و در سال های اخیر رشد فزاینده ای داشته است.
۷) یكی دیگر از فعالیت‌های پول‌ساز فرستادن هرزنامه یا واگذاركردن ماشین ‌های تسخیرشده به ارسال كنندگان هرزنامه ها در ازای دریافت پول است.
۸) یكی دیگر از این نوع فعالیت‌ها، استفاده از ماشین تسخیر شده برای حملات phishing است. نفوذگر یك سایت بانك جعلی (مشابه سایت اصلی) می‌سازد و با فرستادن email ای كه ظاهرا از طرف بانك فرستاده شده است، كاربر را وادار به وارد كردن اطلاعات دلخواه خود می كند.
حتی اگر اعلام شود كه سیستم شما دارای كدهای مخرب است، ممكن است همه چیز سر جایش باشد و واقعا هیچ خطری وجود نداشته باشد. دلیل آن خیلی ساده است: هشدارهای نادرست (و به طور خاص نوع مشهورتر آن یعنی false positiveها).
توجه داشته باشید كه حتی آنتی ویروس هم ممكن است دارای هشدارهای false positive باشد. بنابراین حتی اگر آنتی ویروس هشدار داد كه سیستم شما دارای درپشتی یا تروجان است ممكن است یك هشدار نادرست باشد.
دقت كنید كه بسیاری از موارد فوق با ارتباط دادن داده های NIDS با داده های دیگر (مثل داده های دیواره آتش، داده های میزبان، یا داده های یك NIDS دیگر) تسهیل می شود و از طریق خودكار كردن بر مبنای rule این ارتباط می توان نتیجه گرفت كه ماشین موردنظر تسخیر شده است. هم چنین تكنولوژی ارتباط می تواند با در نظر گرفتن دیگر فعالیت های مرتبط كه در زمان حمله رخ می دهد، فرایند تحقیق و بررسی را خودكار كند.
در نتیجه با این روش می توان با قابلیت اطمینان بیشتری سیستم های تسخیر شده را تشخیص دهیم در مقایسه با زمانی كه فقط از داده های یك NIDS استفاده می كنیم. حتی اگر یك موتور ارتباط خوب وجود نداشته باشد، هنوز هم تحلیل گر می تواند این مراحل را به طور دستی انجام دهد هر چند این كار بلادرنگ نباشد.
حال به این مساله می پردازیم كه چگونه روش های فوق را در محیط عملیاتی به كار گیریم. روش ایده‌آل به كارگرفتن راهنمایی‌های فوق به طور خودكار كه شامل استفاده از رخدادها، هشدارها و logهای ابزارهای امنیتی مختلف نصب شده و سپس اعمال قوانین مشخص به این داده ها (شامل داده هایی كه از قبل روی سیستم ذخیره شده اند و داده های بلادرنگ)
اگر سازمان شما بودجه چندانی برای امنیت ندارد می توانید خودتان با استفاده از ابزارهای متن باز این كار را انجام دهید. روش های چندی برای كشف ماشین های تسخیر شده وجود دارد كه یك ابزار سودمند برای مقابله با نفوذگران با سطوح مختلف مهارت فراهم می كند.
بر خلاف آن چه كه اكثر افراد فكر می كنند، برای انجام این كار همیشه نیاز به سرویس های پی جویی گران نیست و می توان با اطلاعات جمع آوری شده از شبكه، logهای سیستم، ... این كار را انجام داد.
منبع : پرشین هک


همچنین مشاهده کنید