پنجشنبه, ۳۰ فروردین, ۱۴۰۳ / 18 April, 2024
مجله ویستا

چگونه نفوذگران را فریب دهیم؟


چگونه نفوذگران را فریب دهیم؟
در جنگ بین نفوذگران و مدیران امنیت شبکه، داشتن اطلاعات نشانهٔ قدرت است. به عنوان یک مدیر امنیت شبکه، هر چه بیشتر در مورد دشمنتان و روش­های حمله او بدانید بهتر می­توانید از خودتان در مقابل او دفاع کنید.استفاده از Honeypotها یکی از روش­هایی است که می­توانیم اطلاعاتی در مورد دنیای نفوذگران به دست آوریم.
●Honeypot چیست؟
Honeypot یک ماشین ویژه در شبکه است که به عنوان طعمه برای نفوذگران استفاده می­شود. به طور عمدی بر روی آن سیستم عامل آلوده به یک اسب تروا[۱]، درپشتی[۲] یا سرویس­دهنده­های ضعیف و دارای اشکال نصب می­شود تا به عنوان یک ماشین قربانی، نفوذگران را به خود جذب کرده و مشغول نگه دارد. هم­چنین ممکن است بر روی چنین ماشینی اطلاعات غلط و گمراه­کننده­ای برای به اشتباه انداختن نفوذگر نیز گذاشته شود.
یک سیستم Honeypot عملاً هیچ فایده­ای برای مقاصد سرویس دهی ندارد بلکه ماشین فداکاری است که با جذب نفوذگران و گمراه کردن آن­ها با اطلاعات غلط، از دسترسی به سرویس دهنده­های حساس جلوگیری می­کند. اطلاعات غلط ممکن است ساعت­ها یک نفوذگر را معطل کند. در ضمن تشخیص این نکته که سیستم موردنظر آیا واقعاً ضعف دارد یا آن­که یک Honeypot است برای نفوذگر چندان ساده نیست.
Honeynet شبکه­ای از Honeypotهاست که به گونه­ای تنظیم می­شوند که شبیه یک شبکهٔ واقعی به نظر برسند.
●دلایل استفاده از Honeypot
Honeypotها به دو دلیل استفاده می­شوند :
اول این که نقاط ضعف سیستم را بشناسیم. مدیر سیستم می­تواند با مشاهدهٔ تکنیک­ها و روش­های استفاده شده توسط نفوذگر بفهمد سیستم چگونه شکسته می­شود و نقاط آسیب­پذیر سیستم را شناسایی و نسبت به ترمیم آن­ها اقدام کند.دلیل دوم جمع­آوری اطلاعات لازم برای تعقیب و ردگیری نفوذگران است. با توجه به آن­که نفوذگر یک سیستم ضعیف و آسیب­پذیر را در شبکه کشف می­کند بنابراین تمام تلاش­های بعدی او پیرامون سیستم Honeypot (که یک هدف قلابی است) متمرکز می­شود. می­توان یک سیستم تشخیص نفوذ[۳] (IDS) را در کنار این سیستم نصب کرد تا تلاش­های نفوذگران برای حمله به این هدف قلابی را گزارش دهد و شما بتوانید این موضوع و مبدا آن را پیگیری کنید.این در حالی است که Honeypot همزمان از شبکهٔ واقعی در برابر حملات مراقبت می­کند.هدف اصلی یک Honeypot شبیه­سازی یک شبکه است که نفوذگران سعی می­کنند به آن وارد شوند. اطلاعاتی که بعد از حمله به یک Honeypot به دست می­آید، می­تواند برای کشف آسیب­پذیری­های شبکهٔ فعلی و رفع آن­ها استفاده شود.
●Honeypot چه کارهایی می­تواند انجام دهد؟
با توجه به این که از یک Honeypot چه می­خواهیم، Honeypot می­تواند کارهای زیر را انجام دهد :
▪فراهم کردن هشدارهایی در مورد حملات در حال انجام
معطل کردن نفوذگر و دور نگه داشتن او از شبکهٔ واقعی(نفوذگران پس از شناسایی شبکه، به طور معمول از ضعیف­ترین و آسیب­پذیرترین سیستم در شبکه شروع می­کنند. زمانی که آن­ها صرف کلنجار رفتن با این سیستم قلابی می­کنند می­تواند یک آسودگی خاطر برای بقیهٔ ماشین­ها ایجاد کند.)
▪فراهم کردن امکان مونیتورینگ بلادرنگ حملات صورت گرفته
فراهم کردن اطلاعاتی در مورد جزئیات حمله (اطلاعاتی از قبیل این که نفوذگران چه کسانی هستند، چه می­خواهند، سطح مهارت­هایشان و ابزارهایی که استفاده می­کنند)
▪فراهم کردن امکان ردیابی و پیگرد قانونی نفوذگر
هم­چنین Honeypot مانع انجام کارهای زیر توسط نفوذگر می­شود :
▪دسترسی به داده­های واقعی
▪کنترل­های مدیریتی در سطح شبکه
▪دستیابی به ترافیک واقعی شبکه
▪کنترل بر دیگر ابزارهای متصل به شبکه
با استفاده از مهندسی اجتماعی[۴] می­توان Honeypot را جالب­تر کرد. هرچه Honeynet شما به شبکهٔ سازمان شما شبیه­تر باشد، محیط واقعی­تر است و باعث می­شود نفوذگران آن را بیشتر باور کنند و حتی نفوذگران حرفه­ای هم به راحتی فریب بخورند. یک پیشنهاد خوب این است که تعدادی حساب کاربری تعریف کرده و به آن­ها یک سری دایرکتوری و اسناد اختصاص بدهید، برایشان پست الکترونیکی تعریف کنید، آنها را به لیست­های پستی اضافه کنید، ...
هم­چنین می­توان توسط این سیستم نفوذگران را فریفت. به عنوان مثال وقتی نفوذگر یک ابزار استراق سمع[۵] روی هدف قلابی(سیستم Honeypot) نصب می­کند اطلاعات غلط و بیهوده برای او ارسال می­شود و او به خیال آن که نفوذش در شبکه واقعی است، ساعت­ها وقت تلف می­کند تا این اطلاعات غلط را تحلیل کند.به یاد داشته باشید که Honeypotای که مورد حمله واقع نشود به هیچ دردی نمی­خورد. بنابراین باید آن­ را تا حد امکان برای نفوذگر جذاب کنید، البته تا حدی که شک نفوذگران حرفه­ای را برنینگیزد.هرچقدر یک نفوذگر دفعات بیشتری به Honeypot وصل شود، شما بیشتر به اهداف خود دست می­یابید.
●محل قرار گرفتن Honeypot در شبکه
یک Honeypot می­تواند در هرجایی که یک سرویس دهنده قادر است قرار بگیرد، واقع شود ولی مطمئناً برخی جاها بهتر از بقیه است.یک Honeypot با توجه به سرویس­های مورد استفاده می­تواند در اینترنت یا اینترانت مورد استفاده قرار گیرد. اگر بخواهیم فعالیت­های خرابکارانهٔ اعضای ناراضی را در شبکهٔ خصوصی کشف کنیم قرار دادن Honeypot در اینترانت مفید است. در اینترانت Honeypot پشت دیوارهٔ آتش قرار می­گیرد.
در شبکهٔ اینترنت یک Honeypot می­تواند در یکی از محل­های زیر قرار گیرد :
۱-جلوی دیوارهٔ آتش
۲-درون ­[۶]DMZ
هر کدام از این دو مزایا و معایبی دارد که به آن می­پردازیم.با قرار گرفتن Honeypot در جلوی دیوارهٔ آتش، خطر داشتن یک سیستم تحت سیطرهٔ نفوذگر در پشت دیوارهٔ آتش از بین می­رود و هیچ خطر اضافی (منتج از نصب Honeypot) متوجه شبکهٔ داخلی نمی­شود.یک Honeypot مقداری ترافیک ناخواسته مثل پویش درگاه یا الگوهای حمله را ایجاد و جذب می­کند که با قرار دادن Honeypot در بیرون از دیوارهٔ آتش چنین وقایعی توسط دیوارهٔ آتش ثبت نمی­شود و سیستم تشخیص نفوذ داخلی (که در حالت عادی در مواجهه با چنین رخدادهایی هشدار تولید می­کند) پیغام هشدار تولید نمی­کند.عیب قرار گرفتن Honeypot جلوی دیوارهٔ آتش این است که نفوذگران داخلی به راحتی فریب نمی­خورند، مخصوصاً اگر دیوارهٔ آتش ترافیک خروجی و در نتیجه ترافیک دریافتی Honeypot را محدود کند.قرار گرفتن Honeypot درون یک DMZ یک راه­حل خوب به نظر می­رسد به شرطی که امنیت دیگر سیستم­های درون DMZ در برابر Honeypot برقرار شود. از آن­جایی که فقط سرویس­های مورد نیاز اجازهٔ عبور از دیوارهٔ آتش را دارند، دسترسی کامل به اغلب DMZها ممکن نیست. به این دلیل و با توجه به این­که تنظیم قوانین مرتبط روی دیوارهٔ آتش کاری زمانبر و مخاطره­آمیز است، در چنین حالتی قرار دادن Honeypot جلوی دیوارهٔ آتش مورد توجه قرار می­گیرد.قرار دادن Honeypot پشت دیوارهٔ آتش، می­تواند باعث بروز خطرات امنیتی جدیدی در شبکهٔ داخلی شود، مخصوصاً اگر شبکهٔ داخلی توسط دیواره­های آتش اضافی در برابر Honeypot ایمن نشده باشد. توجه داشته باشید که اگر Honeypot را پشت یک دیوارهٔ آتش قرار می­دهید، باید قوانین دیوارهٔ آتش را طوری تنظیم کنید که دسترسی از اینترنت مجاز باشد.
بزرگ­ترین مشکل وقتی به وجود می­آید که یک نفوذگر خارجی کنترل Honeypot داخلی را در اختیار می­گیرد. در این صورت نفوذگر امکان دسترسی به شبکهٔ داخلی را از طریق Honeypot به دست می­آورد. زیرا این ترافیک، به عنوان ترافیک ورودی به Honeypot در نظر گرفته می­شود و از آن­جایی که ترافیک ورودی به Honeypot مجاز است، دیوارهٔ آتش جلوی عبور این ترافیک را نمی­گیرد. بنابراین ایمن کردن Honeypot داخلی ضروری است. دلیل اصلی قرار گرفتن Honeypot پشت دیوارهٔ آتش شناسایی نفوذگران داخلی است.بهترین راه­حل قرار دادن یک Honeypot درون DMZ به همراه یک دیوارهٔ آتش است. بسته به این­که هدف شناسایی نفوذگران داخلی یا خارجی است، دیوارهٔ آتش می­تواند به اینترنت یا اینترانت وصل شود.در حقیقت شما می­خواهید از طریق Honeypot یک مانور ترتیب بدهید و به یک دشمن فرضی حمله کنید یا در مقابل یک دشمن فرضی بایستید. لذا شرایط را به صورت واقعی تنظیم کنید.●تقسیم­بندی Honeypotها از نظر کاربرد
از دیدگاه کاربرد و استفاده­ای که قرار است از سیستم شود Honeypotها به دو دسته تقسیم می­شوند :
Production Honeypot : این نوع سیستم وقتی که سازمان می­خواهد شبکه و سیستم­هایش را با کشف و مسدود کردن نفوذگران حفاظت کند و نفوذگر را از طریق قانونی در دادگاه مورد پیگرد قرار دهد، مورد استفاده قرار می­گیرد.
Research Honeypot : این نوع سیستم وقتی که سازمان می­خواهد فقط امنیت شبکه و سیستم­های خود را با آموختن روش­های نفوذ، منشا نفوذ، ابزارها و exploitهای مورد استفادهٔ نفوذگر مستحکم­تر کند، استفاده می­شود.
بسته به هدف سازمان و این که از یک Honeypot چه می­خواهید، می­توانید یکی از دو نوع Honeypot ذکر شده را انتخاب کنید.
●تقسیم­بندی Honeypotها از نظر میزان تعامل با نفوذگر
Honeypotها از لحاظ میزان تعامل و درگیری با نفوذگر به سه دسته تقسیم می­شوند :
دستهٔ اول : Honeypot با تعامل کم[۱]
دستهٔ دوم : Honeypot با تعامل متوسط[۲]
دستهٔ سوم : Honeypot با تعامل زیاد[۳]
●Honeypot با تعامل کم
در دستهٔ اول، بر روی ماشین سرویس­های جعلی و ابتدایی مشخصی مثل Telnet و Ftp نصب می­شود. این سرویس­ها با استفاده از پروسه­ای که روی درگاه مشخصی گوش می­کند، پیاده­سازی می­شوند. نفوذگر فقط قادر است با این سرویس­ها ارتباط برقرار کند. به عنوان مثال یک Honeypot با تعامل کم می­تواند شامل یک Windows ۲۰۰۰ Server به همراه سرویس­هایی مثل Telnet و Ftp باشد. یک نفوذگر می­تواند ابتدا با استفاده از Telnet روی Honeypot نوع سیستم عامل آن را تشخیص دهد، سپس با یک صفحهٔ ورود روبرو می­شود. نفوذگر دو راه برای دسترسی به Honeypot دارد یکی ورود به زور[۴] و دیگری حدس زدن کلمهٔ عبور[۵]. Honeypot می­تواند تمام تلاش­های نفوذگر را جمع­آوری کند.در این حالت نفوذگر نمی­تواند هیچ­گونه ارتباطی با سیستم عامل برقرار کند و ارتباط نفوذگر فقط به تلاش برای ورود به سیستم محدود می­شود.این مساله میزان خطر را کاهش می­دهد چون پیچیدگی­های سیستم عامل حذف می­شود. به عبارت دیگر این یک عیب است چرا که نمی­توانیم ارتباطات نفوذگر با سیستم­عامل را که مورد علاقهٔ ماست ببینیم.
Honeypotهای دستهٔ اول با کم کردن تعامل خود با نفوذگر میزان خطر را به حداقل کاهش می­دهد و پایین­ترین میزان خطرپذیری را داراست.
به کمک این ماشین­ها اطلاعات محدودی مثل زمان نفوذ، پروتکل مورد استفاده، آدرس IP مبدا و مقصد، ... را می­توان به دست آورد.
یک Honeypot با تعامل کم می­تواند با یک سیستم تشخیص نفوذ passive مقایسه شود. هیچ کدام نمی­تواند تغییری در ترافیک بدهد یا با نفوذگر یا جریان ترافیک ارتباط برقرار کند. فقط برای ایجاد گزارش[۶] استفاده می­شوند و اگر ترافیک ورودی با الگوهای از قبل تعیین شده مطابقت کند، هشدار می­دهند.این دسته از Honeypotها فقط برای شناسایی حمله­های شناخته شده خوب است ولی برای کشف حمله­های ناشناخته هیچ ارزشی ندارد.
●Honeypot با تعامل متوسط
دستهٔ دوم در مقایسه با دستهٔ اول امکان بیشتری برای تعامل با نفوذگر فراهم می­کند ولی هنوز هم مثل دستهٔ اول نفوذگر هیچ ارتباطی با سیستم­عامل ندارد.دایمون­[۷]های جعلی فراهم شده پیشرفته­ترند و دانش بیشتری راجع به سرویس­های ارئه شده دارند.در این حالت میزان خطر افزایش می­یابد. احتمال این که نفوذگر یک حفرهٔ امنیتی یا یک آسیب­پذیری پیدا کند بیشتر است زیرا پیچیدگی Honeypot افزایش می­یابد.نفوذگر امکان بیشتری برای ارتباط با سیستم و بررسی آن دارد و راحت­تر فریب می­خورد.
هم­چنین با توجه به تعامل بیشتر، امکان انجام حمله­های پیچیده­تری وجود دارد که می­توان با ثبت و آنالیز کردن آن­ها به نتایج دلخواه دست یافت.همان طور که گفته شد نفوذگر هیچ ارتباطی با سیستم عامل ندارد و در سطح برنامه­های کاربردی فعالیت می­کند.توسعهٔ یک Honeypot با تعامل متوسط کاری پیچیده و زمانبر است. باید دقت شود که تمام دایمون­های جعلی تا جایی که ممکن است ایمن شوند. نسخه­های توسعه یافته این سرویس­ها نباید دارای همان آسیب­پذیری­های همتاهای (نسخه­های) واقعی باشند زیرا این اصلی­ترین دلیل جایگزینی آن­ها با نسخه­های جعلی است.کسی که می­خواهد چنین سیستمی را طراحی و پیاده­سازی کند، باید از دانش خوبی در مورد پروتکل­ها، سرویس­ها و برنامه­های کاربردی ارائه شده برخوردار باشد.از این Honeypotها می­توان هم برای اهداف دستهٔ research و هم برای اهداف دستهٔ production استفاده کرد.
●Honeypot با تعامل زیاد
هرچه میزان تعامل Honeypot با نفوذگر افزایش می­یابد، میزان پیچیدگی و خطر هم افزایش می­یابد ولی به همان نسبت نتایجی که حاصل می­شود نیز بهتر است.
آخرین و پیشرفته­ترین دسته از Honeypotها دستهٔ سوم است. طراحی، مدیریت و نگهداری این Honeypotها کاری واقعاً زمانبر است. در میان سه نوع Honeypot این Honeypotها دارای خطر زیادی هستند ولی اطلاعات واسناد زیادی برای تحلیل جمع می­شود.در این نوع Honeypot نفوذگر ارتباط کاملی با سیستم­عامل دارد.
یکی از اهداف نفوذگر به دست آوردن دسترسی در بالاترین سطح (root یا superuser) ماشینی که به اینترنت وصل است می­باشد. این Honeypot چنین امکانی را در اختیار نفوذگر قرار می­دهد. به محض این که نفوذگر این امکان را پیدا کند کار اصلی او شروع می­شود.با استفاده از این نوع Honeypot می­توانیم به اطلاعاتی نظیر این که نفوذگران بیشتر از چه ابزارها و exploitهایی استفاده می­کنند، از چه کشورهایی هستند، به دنبال چه نقاط آسیب­پذیری هستند، میزان دانش آن­ها در مورد نفوذگری و .... دست پیدا کنیم.
نفوذگر پس از این که دسترسی سطح root روی سیستم را به دست آورد، قادر است هرکاری که بخواهد روی سیستم تحت کنترل انجام دهد. این سیستم فی­نفسه ایمن نیست بنابراین هیچ سیستمی روی شبکه را نمی­توان امن در نظر گرفت.باید قبل از این گونه Honeypotها یک دیوارهٔ آتش نصب کنیم، زیرا در غیر این صورت نفوذگر پس از این که کنترل کاملی بر ماشین به دست آورد می­تواند از آن برای طراحی حملاتی مثل [۸]DDoS علیه ماشین­های دیگر استفاده کند. برای جلوگیری از این مساله باید دیوارهٔ آتش به گونه­ای تنظیم شود که فقط ترافیک ورودی به سیستم مجاز باشد و ترافیک خروجی آن را مسدود کند.
هم­چنین می­بایست سطح دسترسی این سیستم به شبکهٔ داخلی محدود شود تا نفوذگر نتواند با استفاده از آن به دیگر سیستم­های موجود در شبکهٔ داخلی آسیبی برساند.کنترل و نگهداشت چنین Honeypotای کاری فوق­العاده زمانبر است. سیستم دائماً باید تحت نظر باشد. Honeypotای که تحت کنترل نباشد نه تنها هیچ کمکی نمی­کند بلکه خودش به عنوان یک نقطهٔ خطر یا حفرهٔ امنیتی مطرح می­شود.
با فراهم کردن امکان ارتباط کامل نفوذگر با سیستم­عامل، او می­تواند فایل­های جدیدی را روی سیستم نصب کند. این جاست که این نوع Honeypot با ثبت کردن و آنالیز این فعالیت­ها قدرت خود را نشان می­دهد. جمع­آوری اطلاعات در مورد گروه­های نفوذگری هدف اصلی این دسته از Honeypotها است و همین امر خطرپذیری بیشتر را توجیه می­کند.از این نوع Honeypot فقط برای اهداف دستهٔ research استفاده می­شود.
جدول زیر کاربرد هر کدام از Honeypotها را با توجه به میزان تعامل آن با نفوذگر نشان می­دهد :
مزایا و معایب هر کدام از انواع Honeypot در جدول زیر آمده است:
با توجه به عوامل ذکر شده و این که در سازمان شما میزان اهمیت هر کدام از این عوامل چه اندازه است و نتایجی که می­خواهید از یک Honeypot به دست آورید، می­توانید یکی از سه نوع Honeypot ذکر شده را برای سازمان خود انتخاب کنید.
نویسنده : حسن تكابی
ناشر : مهندسی شبكه همكاران سیستم


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