بررسی ماژول IDS سیسکو FTD
ماژول IDS سیسکو FTD
یکی از محبوب ترین ویژگیهای عملیاتی سیسکو FTD، قابلیت عملکرد همزمان آن به عنوان سیستم تشخیص نفوذ (IDS) و سیستم جلوگیری از نفوذ (IPS) میباشد. در اصل سیسکو FTD از Snort، که همه ما آن را به عنوان یک سیستم تشخیص و جلوگیری از نفوذ متن باز میشناسیم، جهت بررسی عمیق بستههای شبکه استفاده میکند. یکی از دلایل استفاده سیسکو از Snort در محصول خود، توانایی آن در شناسایی و جلوگیری بلادرنگ حملات و تهدیدات سایبری میباشد. بی شک یکی از نکات مهم درمورد محصول FTD شرکت سیسکو که باعث قرارگیری آن در رده سیستمهای جلوگیری از نفوذ نسل جدید (NGIPS) شد، استفاده این شرکت از ماژول Snort و دیگر تکنولوژیهای امنیتی نسل جدید در طراحی سیستم FTD بوده است.
ملزومات مورد نیاز برای استقرار NGIPS
معمولا برای استقرار سیسکو FTD به عنوان NGIPS در شبکه، ما نیازمند ایجاد و تنظیم سه نوع سیاست در FMC و ِDeploy آنها بر روی FTD میباشیم.
- Network Analysis Policy: این سیاست مربوط به قوانین پیش پردازندهها (Preprocessorها) برای نرمال سازی ترافیک میباشد.
- Intusion policy: این سیاست، قوانین مورد نیاز Snort برای بررسی عمیق بستههای شبکه را مشخص میکند.
- Access control policy: این سیاست، قوانین آنالیز شبکه و سیاستهای تشخیص نفوذ مورد نیاز برای ترافیکهای Match شده و Match نشده را فراخوانی میکند.
Network Analysis Policy and Preprocessor
قبل از بررسی عمیق بستهها توسط Snort، این بستهها توسط Preprocessorها Decode و بخش header و payload آن را به فرمتی تبدیل میکنند که به راحتی توسط قوانین Snort قابل آنالیر باشد. به توجه به تنوع پروتکلهای شبکه، Snort دارای چندین Preprocessor پروتکل محور میباشد. این پیش پردازندهها میتوانند ناهنجاریهای موجود در جریان بستهها، تکنیکهای حیله (Evasion techniques) و تناقضات موجود در جریانهای ترافیک را شناسایی و از آنها جلوگیری کنند. برای مثال یک نوع از این Preprocessorها میتواند مقادیر نامعتبر مربوط به Checksum بستهها یا مواردی مانند استفاده از پورتهای غیر معمول را تشخیص دهد.
نکته مهم در مورد Preprocessorهای موجود در Snort و سیسکو FTD، این است که به هیچ عنوان پیاده سازی و توسعه Preprocessorهای آنها یکسان نمیباشد. برای مثال موتور سیسکو FTD جریان ترافیک را در فازهای مختلفی که بسته از چکهای امنیتی پیشرفتهای رد میشود نرمال سازی و بررسی میکند. این درحالیست که Snort فقط در یک مرحله کار نرمال سازی را انجام میدهد.
شما میتوانید با استفاده از قسمت Network analysis policy علاوه بر فعال یا غیرفعال کردن یک Prepocessor خاص، هرگونه تنظیم مورد نیاز را نیز انجام دهید. در اصل Preprocessorها به Snort اجازه میدهند که جریان ترافیک را برای انجام بررسیهای پیشرفته Decode و نرمال سازی کند. نکته دیگر در مورد Preprocessorها این است که اگر شما یک Preprocessor خاص را به صورت دستی غیرفعال کنید در حالی که فعال بودن آن از نظر Snort ضروری باشد، سیسکو FTD میتوانند بدون در نظر گرفتن تنظیمات شما همچنان در پشت صحنه برای حفاطت از شبکه در برابر تهدیدات باالقوه با این Preprocessor در ارتباط باشد. یک Preprocessor که به صورت اتوماتیک توسط FTD فعال میشود هیچگونه تنظیمی در قسمت تنظیمات سیاستهای آنالیز شبکه برایش ایجاد نمیشود و به صورت بصری نیز در قسمت تنظیمات GUI مربوط به FMC نیز این Preprocessor غیرفعال دیده میشود.
قسمت Application Layer Preprocessor به شما اجازه میدهد تا تنظیمات لازم برای نرمال سازی و Decode کردن ترافیکهای مربوط به پروتکلهای لایه اپلیکیشن را انجام دهید.
بخش Transport and Network Layer Preprocessor امکان انجام تنظیمات مربوط به تصدیق Checksum بستهها، نرمالسازی برخط، Defragmentation بستههای IP، دکدینگ بستهها، تنظیمات مربوط به استریمهای TCP و UDP را فراهم میکند.
FMC همچنین Preprocessorهایی نیز برای محیطهای خاص منظوره جهت بررسیهای خاص فراهم و ارایه کرده است. برای مثال Preprocessorهای DNP3 و Modbus برای محیطهای شبکهای SCADA ارایه شده است. به طور مشابه سه Preporcessor دیگر از جمله BackOrifice, Portscan و Ratebase نیز برای کشف الگوهای خاص در ترافیک طراحی شدهاند.
سیاستهای تشخیص نفود و Ruleهای Snort
بعد از Decode کردن و نرمالسازی یک بسته، FTD از مجموعهای از رولهای تشخیص نفوذ برای بررسی عمیق بستهها استفاده میکند. در واقع یک رول تشخیص نفوذ بر طبق Syntax مبتنی بر رول Snort نوشته میشود و محتوای آن شامل نمونهای از یک آسیب پذیری خاص میباشد. Firepower برای بالا بردن قدرت تشخیص حملات از رولهای Snort ارایه شده توسط منابع متنوع شامل موارد زیر، پشتیبانی میکند.
- Standard text rules: تیم Talos به صورت مرتب و دورهای این رولها را در فرمت Text و برای استفاده موتور Snort برای آنالیز بستهها ارایه میدهد.
- Shared object (SO) rules: این رولها توسط تیم Talos و به زبان C نوشته و برای استفاده Sonrt کامپایل میشوند. محتوای این رولها غیرقابل بازگشت به متن ساده میباشد.
- Preprocessor rules: تیم تحقیق و توسعه Snort این رولها را جهت استفاده موتور Firepower برای Decode کردن بستههای پروتکلهای مختلف ایجاد کرده است.
- Local rules: این نوع رولها امکان اضافه کردن Ruleهای اختصاصی Snort را از طریق GUI مربوط به سیستم FMC فراهم میکنند. شما میتوانید Rule خودتان را در ویرایشگر متنی نوشته و در فرمت .txt ذخیر و آن را بر روی FMC آپلود کنید. زمانی که شما قانون Snort خودتان را ایجاد و داخل FMC وراد کردید، سیستم FMC آن را به عنوان Local rule برچسب گذاری میکند. به طور مشابه، اگر شما رولهای Snort را از Comunityهای مربوط به فرومهای اینترنتی دریافت کنید، سیستم با این رولها نیز به عنوان Local rule رفتار خواهد کرد. در حال حاضر FMC فقط از رولهای متنی پشتبانی میکند و این بدین معنی است که ما نمیتوانیم رولهای اختصاصی خود را به صورت رولهای SO ایجاد و کامپایل نماییم. Snort از ((unique genrator ID (GID) و ((Snort rule ID (SID) برای شناسایی Rule ها استفاده میکند. بسته به این که چه کسی Rule را ایجاد کرده است، ساختار شمارهدهی GID و SID متفاوت میباشد.
- Standard text rule این رولها دارای GID1 و SID کوچکتر از 1000000 میباشند.
- Shared object rule این رولها دارای GID 3 میباشند.
- Preprocessor rule این رولها GIDهایی به غیر از 1 و3 دارند.
- Local rule این رولهای SID بالاتر از 1000000 میباشن
دیدگاهتان را بنویسید