برای مطالعه قسمت قبل آموزش رایگان دوره CEH اینجا کلیک کنید.
یکی از مهمترین راهکارها برای مقابله با حملات هکری و بدافزارها ایمنسازی شبکههای کامپیوتری است. اغلب سازمانها برای محافظت از زیرساختهای ارتباطی خود ترکیبی از سامانههای تشخیص نفوذ (IDS)، دیوارهای آتش و ظرفهای عسل را استفاده میکنند. از سامانه تشخیص نفوذ میتوان برای بررسی شبکه یا فعالیت میزبانها، شناسایی ترافیک مشکوک و ناهنجاریها استفاده کرد. سامانههای تشخیص نفوذ عملکرد شبیه به نگهبانان امنیتی دارند. درست همانند نگهبانان امنیتی که فعالیتهای کارمندان را رصد میکنند، سامانه تشخیص نفوذ بر فعالیت شبکه نظارت میکند، البته سامانههای تشخیص نفوذ تفاوتی با نگهبانان امنیتی دارند، آنها هیچگاه نمیخوابند و بیمار نمیشوند، با این حال در برابر تهدیدات امنیتی مصون نیستند. آنها برای آنکه بتوانند کار خود را به بهترین شکل انجام دهند به یک برنامهریزی دقیق نیاز دارند. دیوارهای آتش دومین مکانیزم دفاعی در برابر تهدیدات هستند. دیوارهای آتش میتوانند دستگاههای سختافزاری یا نرمافزاری باشند که از منابع یک شبکه محافظت میکنند. دیوارآتش عملکردی شبیه به یک دیوار فیزیکی دارد که میتواند ترافیک وارد یا خارج شوند از شبکه را مسدود کرده یا اجازه عبور دهد. به همین دلیل بیشتر کارشناسان عملکرد دیوارهای آتش را شبیه به گذرگاههای مرزی تشبیه میکنند، به این دلیل که یک ایست بازرسی کنترل شده برای نظارت بر ترافیک ورودی و خروجیها هستند. سازمانهای مدرن برای محافظت از شبکه به شدت به دیوارهای آتش متکی هستند. سومین مکانیزم دفاعی قدرتمند ظرفهای عسل (Honeypots) هستند. برخلاف دو راهکار اولی که فناوریهایی برای جلوگیری از هک یا کشف حضور هکرها در شبکه هستند، ظرفهای عسل برای فریب هکرها طراحی شدهاند.
سامانههای تشخیص نفوذ
سامانههای تشخیص نفوذ (IDS) نقش مهمی در محافظت از زیرساختهای فناوری اطلاعات دارند. تشخیص نفوذ شامل نظارت بر ترافیک شبکه، تشخیص تلاش برای دستیابی دسترسی غیرمجاز به یک سیستم یا منابع و اطلاع رسانی به افراد مسئول است تا از این طریق بتوان ضد حملهای انجام داد و حمله را خنثا کرد. برای این منظور به مورد ابزارها و محصولات IDS نیاز است که در ادامه به آنها اشاره میکنیم.
انواع و مولفههای IDS
اولین سامانههای تشخیص نفوذ در دهه 80 میلادی طراحی شدند، هنگامی که جیمز اندرسون این ایده را در مقالهای تحت عنوان "مراقبت و نظارت بر تهدیدات امنیتی پیرامون سامانههای کامپیوتری" ارائه داد. IDSها را می توان به سه گروه اصلی سامانههای تشخیص نفوذ مبتنی بر شبکه (NIDS)، سامانههای تشخیص نفوذ مبتنی بر میزبان (HIDS) و سامانه تشخیص نفوذ توزیع شده (DIDS) تقسیم کرد. هر دو نوع سیستم میتوانند برای اسکن حملات، ردیابی حرکات هکر یا هشدار دادن به مدیران برای تغییر در پیکربندیها استفاده شوند.
• HIDS (سیستم تشخیص نفوذ مبتنی بر میزبان) روی یک کامپیوتر واحد اجرا میشود تا حملات به یک میزبان را شناسایی کند. بهطور مثال، HIDS ممکن است تلاش برای بهرهبرداری از یک برنامه غیرایمن که روی یک سرور در حال اجرا است یا تلاشهای مکرر برای ورود به سرور را شناسایی کند. راهحل HIDS همچنین ممکن است شامل نظارت بر یکپارچگی فایل (FIM) سرنام file integrity monitoring باشد که سیستم را از وجود هرگونه تغییری در فایلهایی که نباید تغییر پیدا کنند همچون ویرایش فایلهای سیستمی آگاه میکند.
• NIDS (سیستم تشخیص نفوذ مبتنی بر شبکه) برای محافظت از یک شبکه یا بخشی از یک شبکه استفاده شده و معمولا در لبه شبکه یا در یک محیط محافظت شده شبکه که منطقه غیرنظامی (demilitarized zone) نام دارد نصب میشود. در اینجا، سامانه فوق میتواند انواع مختلفی از الگوهای ترافیکی مشکوک همچون حملات انکار سرویس یا حملات smurf را شناسایی کند.
• DIDS (سامانه تشخیص نفوذ توزیع شده) این سامانهها ترکیبی از دو مکانیزم قبلی همراه با یک ایستگاه مدیریت مرکزی هستند. در این مکانیزم هر سیستم تشخیص نفوذ موجود در شبکه گزارش خود را برای یک ایستگاه مدیریت مرکزی ارسال میکند. ایستگاه مرکزی نیز گزارشهای دریافتی را ارزیابی کرده و اگر مورد مشکوکی را پیدا کند، هشداری برای مسئول امنیت سیستم ارسال میکند.
بیشتر IDSها شامل بیش از یک برنامه کاربردی یا دستگاه سختافزاری هستند. IDSها از مولفههای زیر تشکیل شده است:
حسگرهای شبکه: دادهها را شناسایی به سیستم ارسال میکند.
سیستم نظارت مرکزی: دادههای ارسال شده توسط حسگرها را پردازش و تحلیل میکند
تجزیه و تحلیل گزارش: اطلاعاتی در مورد نحوه مقابله با یک رویداد خاص ارائه میدهد.
مولفههای ذخیرهساز و بانکاطلاعاتی: روندها را تجزیه و تحلیل کرده و آدرس آیپی و اطلاعات مربوط به هکر را ذخیره میکند.
جعبه پاسخدهی: اطلاعات را از مؤلفههایی که قبلاً ذکر شده دریافت کرده و پاسخ مناسبی ارائه میکند.
بررسی این موضوع که IDS قادر به تشخیص چه نوع فعالیتی است به محل قرارگیری سنسورهای شبکه بستگی دارد. این کار مستلزم توجه دقیق به مولفههای شبکه است. بهطور مثال، یک حسگر در بخش DMZ در تشخیص سوء استفاده عملکرد خوبی دارد، اما برای شناسایی مهاجمانی که داخل شبکه هستند بی فایده است. حتا وقتی مشخص کردید حسگرها را در کجا قرار دهید، آنها بازهم باید پیکربندی شوند. بدون انجام پیکربندی خاص، این حسگر بدون توجه به اینکه آیا ترافیک در واقع چیزی است که باید برای آن هشداری صادر کند یا خیر، هشدارهایی را برای هر نوع ترافیکی که مطابق معیارهای کلی است صادر میکند که باعث میشود هشدارهای کاذی زیادی تولید شوند. IDS باید آموزش ببینند تا به دنبال فعالیت مشکوک باشد.
تطبیق الگو و تشخیص ناهنجاری
تطبیق الگو (امضای)، رمزگشایی پروتکل، تشخیص ناهنجاری و انجام تحلیلهای مختلف از ویژگیهای اساسی سامانههای تشخیص نفوذ است. شناسایی هر نوع ترافیک یا فعالیت مشکوکی رویکرد خاص خود را میطلبد. به همین دلیل هر تولیدکننده چنین سامانههایی از الگوی خاص خود استفاده میکند.
سامانههای تشخیص ناهنجاری نیازمند مدیری هستند تا پروفایلهایی که بیانگر فعالیتهای مجاز هستند را تعریف کرده یا IDS را در حالت یادگیری قرار دهد تا بتواند نکاتی در مورد فعالیتهای عادی بهدست آورد. برای اطمینان از اینکه سامانه تشخیص نفوذ هشدارهای کاذب منف کمی تولید خواهد کرد باید زمان قابل توجهی را صرف یادگیری سامانه کنید. اگر یک مهاجم بتواند به تدریج فعالیت خود را با گذشت زمان تغییر دهد، ممکن است IDS را بر مبنای رفتار جدید خود فریب دهد. تشخیص ناهنجاری به معنای شناسایی الگویی مشکوک در میان الگوهای طبیعی است. بهطور مثال، اگر گروهی از کاربرانی که فقط در طول روز وارد سیستم میشوند، ناگهان از ساعت 3 صبح شروع به ورود به سیستم میکنند، IDS میتواند هشداری را ایجاد کند که مشکلی به وجود آمده است.
یکی از مولفههای مهم یک سامانه تشخیص نفوذ، رمزگشایی پروتکل است. IDSهای رمزگشایی پروتکل توانایی جمعآوری مجدد بستهها و فعالیتهای انجام شده در لایههای بالاتر را دارند. در این نوع تشخیص، مدلها بر مبنای پروتکلهای TCP / IP ساخته شده و از ویژگیهای این پروتکلها استفاده میکنند. اگر IDS فعالیت عادی یک پروتکل را بداند، میتواند فعالیت غیرطبیعی را تشخیص دهد. تشخیص نفوذ مبتنی بر رمزگشایی پروتکل نیاز به آن دارد تا IDS به اطلاعات وضعیتی دسترسی داشته باشد. بهطور مثال، اجازه دهید سرویس سامانه نام دامنه (DNS) را بررسی کنیم. DNS یک فرایند دو مرحلهای دارد. بنابراین، زمانی که سامانه تشخیص نفوذ درباره الگوی بهکار گرفته شده توسط DNS اطلاعات کافی داشته باشد، هنگامی که تعدادی از پاسخهای DNS را بدون وجود درخواستها مشاهده کند، متوجه میشود که یک حمله مسمومسازی کش در حال اتفاق افتادن است. برای شناسایی مؤثر این حملات، IDS باید تعداد زیادی از پروتکلهای لایه کاربردی را مورد استفاده قرار دهد تا رفتار مشکوک یا نامعتبر را تشخیص دهد.
در انتهای فرآیند ارزیابی، تطبیق الگوی وجود دارد. اسنورت (snort) نمونه خوبی از یک سامانه تشخیص نفوذ تطبیق الگو است. سامانههای تطبیقدهنده الگو به یک پایگاه داده از حملات شناخته شده متکی هستند. این حملات شناخته شده به عنوان امضا در پایگاه داده قرار میگیرند. به محض بارگیری امضاها درسامانه تشخیص نفوذ، سامانه فرآیند محافظت از شبکه را آغاز میکند. معمولاً به امضاها یک شماره یا نام داده میشود تا سرپرست بتواند هنگام تنظیم هشدار، به راحتی حمله را شناسایی کند. هشدارها را میتوان برای بستههای آیپی منقطع شده، جریان بستههای SYN (انکار سرویس) یا بستههای پروتکل کنترل پیام اینترنتی (ICMP) تنظیم کرد. بهطور مثال ممکن است پیامهای هشداری مبنی بر اعمال تغییر در پیکربندی دیوارهای آتش ارسال شوند.
بزرگترین نقطه ضعف سامانههای تشخیص نفوذ مبتنی بر الگوی در محدود بودن آنها به امضاهای بارگذاری شده است. به دلیل اینکه ممکن است یک حمله جدید یا ناشناختهای که هنوز کشف نشده یک زیرساخت ارتباطی را هدف قرار دهد.
Snort
Snort یک سامانه تشخیص نفوذ رایگان طراحی شده توسط مارتین روش و برایان کاسول است. اسنورت به عنوان یک سامانه تشخیص نفوذ شبکهمحور روان طراحی شده که میتواند روی یک میزبان لینوکسی یا ویندوزی تنظیم شود. اسنورت همچنین میتواند به عنوان یک شنودکننده شبکه عمل کرده و فعالیتهایی را که مطابق با امضاهای از پیش تعریف شدهاند، انجام دهد. امضاها را میتوان برای طیف گستردهای از ترافیکها، از جمله پروتکل اینترنت (IP)، پروتکل کنترل انتقال (TCP)، پروتکل دادههای کاربری (UDP) و پروتکل کنترل پیام اینترنتی (ICMP) طراحی کرد.
خطمشیهای اسنورت از دو بخش اساسی زیر تشکیل شدهاند:
خطمشی سرآیند: مکانی است که خطمشیهای عملیاتی در آن تعریف میشود.
گزینههای هشداردهنده: در این بخش پیامهای هشدار دهنده همسو با خطمشیها تعریف میشود.
نمونهای از یک خطمشی ساده به شرح زیر است:
Alert tcp any any -> any 80 (content: "hacker"; msg: "Hacker Site Accessed";)
متنی که تا ابتدای پرانتز میآید خطمشی سرآیند است. بخش اول به عنوان قاعده عملیاتی شناخته میشود. هشدار عملی است که در قانون نمونه قبلی استفاده شده است؛ خطمشی عملیاتی میتواند شامل موارد زیر باشد:
■ Alert
■ Log
■ Pass
■ Activate
■ Dynamic
مورد بعدی پروتکل است. در مثال فوق TCP استفاده شد. پس از پروتکل آدرس منبع و ماسک قرار میگیرد. اگرچه این مثال هر چیزی را استفاده میکند، اما میتواند روی یک شبکه خاص به صورت 10.10.10.10/16 استفاده شود. خطمشی فوق آدرس آیپی و ماسک هدف را ردیابی کرده و دوباره به صورت خاص مشخص شده یا در فهرست قرار گیرد. ورودی نهایی خطمشی سرآیند قانون پورت را تعیین میکند. در مثال فوق پورت 80 مشخص شده است. بخش محصور شده درون پرانتز گزینههای خطمشی را مشخص میکند که به صورت content: "hacker"; msg: "Hacker Site Accessed"; هستند. بخش اول نوع عملیاتی که قرار است انجام شود را مشخص میکند، یعنی بررسی ترافیک پورت 80 برای کلمه هکر. اگر یک تطابق اتفاق بیفتد، باید پیامی مبنی بر "Hacker Site Accessed" ایجاد میشود و سامانه تشخیص نفوذ تصور میکند که هکری موفق شده به سایت دسترسی پیدا کند. خطمشی option که درون اسنورت قرار میگیرد انعطافپذیری زیادی دارد. فهرست زیر برخی از کلیدواژههای استفاده شده در Snort را نشان میدهد.
اگرچه آزمون CEH انتظار ندارد که یک متخصص Snort باشید، اما ایده خوبی است که درک اساسی از نحوه عملکرد آن و درک قوانین اساسی آن داشته باشید. برخی از قوانین اسنورت به شرح زیر هستند:
OS fingerprint
Alert tcp any any -> 192,168.13.0/24 (msg: “O/S Fingerprint detected”; flags: S12;)
Null scan
Alert tcp any any -> 192,168.13.0/24 1:1024 (msg:“NULL scan detected”; flags: 0;)
SYN/FIN scan from ports less than or equal to 1024
Alert tcp any any -> 192,168.13.0/24 :1024 (msg: “SYN-FIN scan detected”; flags: SF;)
Trivial File Protocol attempt
Alert udp any any -> any 69 Transfer (msg “TFTP Connection Attempt)”;)
Password transfer from ports greater than or equal to 1024
Alert tcp any 1024: -> 192,168.13.0/24(content: “Password”; msg: “Password Transfer Possible!”;)
اگرچه نمونههای ذثکر شده مثالهای خوبی از خطمشیهای اساسی اسنورت (Snort) هستند، اما خطمشیها میتوانند پیچیدهتر باشند. به عنوان مثال، Snort میتواند از دستور negation استفاده کند و آدرسهای آیپی را نفی کند. مثال زیر نفی با آدرس آیپی 4.2.2.2 و آدرسهای آیپی از 2.2.2.0 تا 2.2.2.255 مطابق آدرسهای 2.2.2.1 و 2.2.2.3 مطابقت دارد:
4.2.2.2,2.2.2.0/24,![2.2.2.1,2.2.2.3]
خطمشیها میتوانند به گونهای استفاده شوند که به CVE ارجاع کنند. مثال زیر نمونه توسعهیافته از سوی مایکروسافت در ارتباط با کرم Blaster است:
alert tcp $EXTERNAL_NET any -> $HOME_NET 135
(msg:"NETBIOS DCERPCISystemActivator bind attempt";
low:to_server,established; content:"|05|";distance:0; within:1;
content:"|0b|"; distance:1; within:1;byte_test:1,&,1,0,relative;
content:"|A0 01 00 00 00 00 00 00 C0 00 00 00 00 00 00 46|";
distance:29; within:16;
reference:cve,CAN-2003-0352;classtype:attempted-admin; sid:2192; rev:1;)
ساخت خطمشیهای اسنورت تنها نیمی از کار است. پس از اعلام هشدار اسنورت، مهم است که بتوانید خروجی امضا را تحلیل کنید. برای اینکه بتوانید تعیین کنید که مهاجمان قصد انجام چه کاری را دارند و چگونه آن کار را انجام میدهند باید بتوانید امضا را تجزیه و تحلیل کنید. هدف از تحلیل امضا این است که بتواند فعالیت مخرب را شناسایی کرده و متخلف را ردیابی کند. این فعالیت را میتوان به موارد زیر طبقهبندی کرد:
■ Scans and enumeration
■ Denial of service (DoS) attacks
■ Exploits
اگر هرگز هیچگاه از یک سامانه تشخیص نفوذ استفاده نکردهاید، ممکن است تنها در چند ساعت پس از اتصال به اینترنت از تعداد هشدارهایی که ایجاد میکند تعجب کنید. شکل زیر امضای یک اسکن Nmap ACK را نشان میدهد.
همانگونه که مشاهده میکنید، مهاجم در آدرس آیپی 192.168.13.236 قرار دارد و در حال اسکن 192.168.13.235 است. در خط سوم هر اسکن، باید *** A *** را ببینید که نشانگر اسکن ACK است. علامتهای دیگر به معنای تکرار شدن دنبالهها و acknowledgment است. این یک رفتار عادی برای TCP نیست. اکنون اجازه دهید برخی از راههایی که هکرها سعی میکنند بر مبنای آنها سامانههای تشخیص نفوذ را دور بزنند را بررسی کنیم.
در شماره آینده مبحث فوق را ادامه میدهیم.
برای مطالعه رایگان تمام بخشهای دوره CEH روی لینک زیر کلیک کنید:
ماهنامه شبکه را از کجا تهیه کنیم؟
ماهنامه شبکه را میتوانید از کتابخانههای عمومی سراسر کشور و نیز از دکههای روزنامهفروشی تهیه نمائید.
ثبت اشتراک نسخه کاغذی ماهنامه شبکه
ثبت اشتراک نسخه آنلاین
کتاب الکترونیک +Network راهنمای شبکهها
- برای دانلود تنها کتاب کامل ترجمه فارسی +Network اینجا کلیک کنید.
کتاب الکترونیک دوره مقدماتی آموزش پایتون
- اگر قصد یادگیری برنامهنویسی را دارید ولی هیچ پیشزمینهای ندارید اینجا کلیک کنید.
نظر شما چیست؟