بخشی از مقاله
سیستم تشخیص تقوذ وب میزبان، مبتنی بر یادگیری ماشین
چکیده: وب سرورها و کاربرد های وب عموماً در معرض تهدید ها و حملات هستند. مقاله حاضر به ارائه شیوه ای مبتنی بر شبکه های بیزین و مارکوف به کشف و شناسایی نفوذ، با استفاده از آموزشی از طریق پردازش داده های لاگ برچسب خورده و همچنین رفتار های کابران بر اساس حملات مبتنی بر وب سرورها می پردازد. در فاز اول ما به بررسی لاگ وب سرور برگرفته از آپاچی (معروف به لاگ رایج ) پرداخته، و در فاز دوم سعی بر این خواهد بود تا با استفاده از نرم افزار تولید لاگا و قرار دادن آن میان مفسر وب و آپاچی، خود به تولید لاگ پرداخته و در پایان به بررسی و مقایسه این دو نوع داده بر اساس روش های گفته شده خواهیم پرداخت و نشان خواهیم داد تشخیص نفوذ توسط لاگ های همراه با قشست نتیجه بهتری نسبت به لاگ های پیش فرضی آپاچی خواهند داشت.
واژه های کلیدی: تشخیصی نفوذ پذیری آنومالی، مدل مارکوف، بیزین، فایل لاگ، نفوذ پذیری مبتنی بر وب، یادگیری ماشین
۱ -- مقدمه
تشخیص نفوذ پذیری، فرایندی است که سخت افزار و یا نرم افزاره حملات را تشخیص داده و به تولید پیغام منجر میگردد. حملات و یا فعالیت های مخرب هم میتوانند، درونی و هم میتوانند برونی باشند. برونی ها حملاتی را شامل میشوند که از خارج از محدوده و مرز کاری به سمت داخل هجوم آورده و درونی ها، آنهایی را شامل میشوند که از داخل قصد خروج اطلاعات به بیرون شبکه را داشته اند -1- با توجه به بررسی آماری ای که کنسرسیوم امنیت ابزارهای (کاربردهای) تحب وب بر روی ۱۲۱۸۶ ابزار تحت وب توسط ۹۷۵۵۴ آسیب پذیری شناخته شده انجام شده است، آمار بدست آمده از قرار زیر میباشد:
قابل ذکر است که از بین این حملات XSS و Injection SQL - Response Splitting vulnerabilities HTTP عموما از اشتباه و خطا در طراحی ناشی شده و در صورتی که Leakage Information و Fingerprinting Protection Transport Layer Insufficient معمولا در اثر عدم کفایت مسئول شبکه رخ خواهند داد. از منظر نوع، سیستمهای تشخیص نفوذ از دو مجموعه تشکیل شده اند، آن هایی که تحت شبکه کار میکنند و آن هایی که بر روی میزبان نصب میشوند [12[ سیستمهای تشخیص نفوذ مبتنی بر شبکه عموما به منظور مانیتور، آنالیز و بررسی ترافیک شبکه استفاده میگردند، در حالیکه سیستمهای مبتنی بر میزبان بیشتر جهت آنالیز و بررسی فایل سیستم، لاگ فایلها و یا پروسه های فراخوانی شده توسط سیستم عامل تمرکز دارند،
اگر بخواهیم به صورت مختصر معایب این دو سیستم را ذکر نماییم، باید به این نکته اشاره کنیم که عدم توانایی بررسی ترافیک های رمز نگاری" شده با دقت مناسب در سیستمهای تشخیصی نفوذ سمت شبکه، جزء معایب این سیستمها به حساب میاید، در صورتی که سیستمهای تشخیص نفوذ سمت میزبان از سرعت پایین و دشواری مدیریت رنج میبرند.
معماری سیستم های تشخیص نفوذ پذیری رایج، عموما شامل أنباره و یا مخزن ذخیره سازی هستند که توانایی ذخیره ی مقادیر زیادی از داده ها را دارند و به همراه آن این سیستم ها نیازمند آنالایزری جهت، آنالیز داده میباشند. قسمت سوم نیز ارائه گرافیکی است که توانایی اشاره به رویداد حملات به صورت گرافیکی و فرمت های کاربر پسند، برای متخصصین میباشد.
۲- متد های تشخیص
در سیستمهای تشخیصی نفوذ عموما از متد های مبتنی بر امضاء و یا انومالی و یا مرکب که ترکیبی از هردوی این ها است استفاده میکنند. در سیستمهای مبتنی بر امضاء، ما تمامی الگوهای مختلف حمله شناسایی شده را در داخل بانک اطلاعاتی موجود خود ذخیره نموده و داده های ورودی جدید را با داده های درون بانک اطلاعاتی مقایسه مینماییم. در صورتی که الگوی هر دو شبیه به هم باشند، آنها را به عنوان حمله شناسایی کرده و حمله تشخیص داده شده را اعلام مینماییم. از بزرگترین معایب این سیستمها این است که، شما تنها قادر به تشخیص حملات شناسایی شده هستید و هر گاه که حمله جدیدی تولید شود، باید امضاء آن را در بانک اطلاعاتی خود به روز نمایید. در سیستمهای آنومالی هدف بر آن است که شما با شیوههای گوناگون، وضعیت نرمال سیستم خود را یاد گرفته و در صورتی که ورودی، سیستم شما را به سمتی که از حالت نرمال خارج شود ببرد. خواهید فت که حمله در حال رخ دادن است و جلوی آن باید گرفته شود. از بزرگترین مشکلات این گونه سیستمها رنج بردن از پیغام های خطایی است که برخی وقتها حمله ای رخ نداده و حمله اعلام می شود و برخی وقتها حمله رخ داده است ولی ورودی نرمال تصور میشود -3- با توجه به متد های تشخیص ذکر شده در بالا به تکنیک های موجود در این زمینه ها میپردازیم -2-
۱-۲ -۱ تشخیص آستانه
در این شیوه برحسب خواص موجود در سیستم، آستانه ای در نظر گرفته میشود؛ که بر طبق آن آستانه، حد و حدود نفوذ تعیین میگردد. برای مثال، فراتر رفتن تلاشها برای ورود، و یا تصدیق هویت یک فرد از حد معینی، میتواند بیانگر نوعی هشدار باشد.
۱-۲- ۲ تکنیک های آماری:
در این تکنیک قصد بر آن است تا توزیع آماری ای از الگو به دست آورده و بر اساس آن الگو عمل نماییم. ۱-۲ - ۳ تکنیک های دیگر: این تکنیک ها عموما شامل تکنیک های داده کاوی "، یادگیری ماشین"، شبکههای عصبی" و ... میباشند. از آنجا که در این تحقییق بر آنیم تا بستری از داده را جهت تشخیص آنومالی سمت میزبان فراهم کنیم، لازم است اطلاعاتی در زمینه ی متد های موجود آنومالی داشته باشیم.
۲- ۲ متدل های اتومالی
اکثر مسائل و مشکلات آنومالی در یکی از این سه دسته قرار میگیرند-3- :
۲- ۱۲ آنومالی های نقطه ای:
همانطور که در شکل زیر ملاحظه میکنید، در این مدل برخی از نقاط داده به عنوان آنومالی شناخته میشوند: در حالیکه بقیه خارج از این محدوده قرار میگیرند:
۲- ۲-۲ انومالی های مبتنی بر طرح
در این مدل هدف بر ان است تا ساختاری را که در الگوی موجود ما غیر طبیعی است یافته و به عنوان حمله شناسایی نماییم،
۲- ۳۲ آنومالی های تجمعی: اگر در آنومالی نقطه ای، به صورت ممتد به نقاط نگاه کنیم و سپس در تناوبی خاص تغییر مشهودی در این مراتب داده به چشم اید، گوییم از حالت طبیعی خارج شدهایم و حمله ای در حال رخ دادن است. شکل۵
شکل ۴ : آئومالی های تجمعی همانطور که بیان نمودیم، قصد ما جمع آوری و فراهم آوردن بستری مناسب جهت تست تکنیک های انومالی سمت میزبان بر روی سیستمهای مبتنی بر وب است. از این رو لاگ فایل ها، بستر مناسبی از داده در سمت میزبان هستند که در ادامه به بررسی ساختار این نوع داده خواهیم پرداخت .
۳- لاگ فایل
دلایلی که به جای ترافیک شبکه فایلهای لاگ را مورد آنالیز قرار می دهیم از قرار زیر است[10]
۱. ترافیک HTTP ممکن است به صورت رمز شده درآمده باشد (توسط SSL)
۲. ممکن است شبکه فاقد سیستم نفوذ مبتنی بر شبکه و یا NIDS باشد و یا راه اندازی در ان مشکل باشد.
۳. ترافیک بالا و یا سنگین خود دلیل دیگری است
۴. یکی از مهمترین دلایل این است که NIDS ها ترافیکی در حد مرحله TCP/IP آنالیز میکنند، و در زمینه لایه ی HTTP خیلی مؤثر عمل نخواهند کرد.
فرمت استانداردی برای فایل های لاگ بر اساس کنسرسیوم World Wide Web جهت استفاده ارائه گردیده است که به اختصار از قرار زیر میباشد4شکل ۶:
در شکل شماره 8 به ترتیب از چپ به راست :
۱: این فیلد بیان گر آدرس ماشینی است که فرستنده درخواست است.
۲: نام کاربر راه دوری است که به سیستم لاگین کرده است. به منظور رعایت نکات امنیتی، این فیلد اکثرا خالی نگه داشته میشود. ۳: فیلد تصدیق هویت: هنگامی که فرایند تصدیق هویت استفاده می شود این فیلد نیز پر میشود.
۴: تاریخ (روز و زمان) هنگامی که سرور درخواستی را دریافت میکند.
۵: فیلد درخواست فیلدی است که درخواست های رسیده از سمت کلاینت را نشان میدهد، این درخواست ها در درون " " قرار میگیرند. این فیلد حاوی اطلاعات بسیار مهمی است. در ابتدا نشان دهنده ی متدی است که توسط کلاینت استفاده میگردد که میتواند یا Get باشد و یا آPOS ، در ادامه نمایانگر مسیری است که کلاینت در خواست آنرا کرده و در پایان پروتکلی مانند 1.0/HTTP که کلاینت از طریق آن در خواستی انجام داده، را نشان میدهد.
۶: کد شرایط، که بیان گر نتیجه پردازش درخواست های کلاینت است، به آن برمیگردد.
۷: طول محتوای پاسخ که ارسال میگردد. در این قسمت به دلیل اینکه ما بر روی تکنیک های تشخیص نفوذ بر پایه ی هوش مصنوعی، در سمت میزبان کار میکنیم، به شرح کار های انجام شده در مقالات دیگر میپردازیم. رویکرد تنها بر اساس آنالیز پارامترهای (مقادیر) پاس شده به سمت متغیر های موجود در خطوط لاگ فایل می باشد، بدین منظور آنها از مدل مارکوف استفاده کرده اند، اما در کار پیش رو نه تنها این رویکرد بررسی میگردد بلکه بررسی چگونگی روابط بین این مقادیر و متغیرها با مسیر های درخواستی نیز مد نظر میباشد. علاوه بر این در مدل پیش رو سعی بر این است تا به بررسی شبکه های بیزین در بررسی الگوی رفتار کاربران در دسترسی به صفحات و همچنین ترکیب آن با آنالیز پارامترها، مورد بررسی قرار گیرد. متدولوژی کاری [5] بدین گونه به این کار شبیه است که داده ورودی آن ها نیز فایل های لاگ وب سرور آپاچی است، اما با این تفاوت که انها برای محاسبات نشست (جلسه) ، از ترکیب ناصحیح ۳۰ دقیقه به همراه آدرس های آی پی شبیه به هم استفاده کرده اند، که این به خودی خود دارای اشکالاتی میباشد. اما کار انجام شده در این مقاله نه تنها از فایل لاگ معمول استفاده کرده بلکه، خود با نادیده گرفتن لاگ فایل آپاچی، جداگانه اقدام به تولید لاگی کرده که حاوی نشست های نه تنها داشتن نشست های معتبر در داخل فایل لاگ تولید شده، که منجر به مانیتور کامل و واقعی کاربران میگردد، از تغییرات عمده اعمال شده در این لاگ میباشد، بلکه از دیگر مزایا میتوان به ذخیره ی داده های اضافی که به کمک آنها افزایش میزان نرخ شناسایی را خواهیم داشت، اشاره کرد. برای مثال در این رویکرد جدید علاوه بر داده های GET موجود در سیستم، به ذخیره داده های POST نیز می پردازیم.
۴- رویکرد مبتتی بر نشست:
همانطور که قبلا ذکر کردیم، دو گونه رفتار در برخورد با فایل های لاگ موجود میباشند. در حالت اول، بررسی فایل های لاگ آپاچی، که بدون داشتن نشست ها، پیش فرض زمانی ای برای آن انتخاب کرده و سعی به بررسی رفتار کاربران در تناوب زمانی میکنیم. اما در رویکرد دوم، اقدام به تولید لاگی میکنیم که شامل نشست و ID. Session, IP address, Time. Date. ) aj sis slas Method of Request. Host-name. Request URL. Query String. NAT IF. Forward IP. User Agent. Frotocol. c. (Server Fort. Client Fort
در این رویکرد به دلیل موجود بودن نشست، ردیابی کاربران بسیار آسان میباشد. دلیل امکان پذیر بودن این مسئله این است که نشست ها مقادیر یکتایی هستند که تنها به ازای هر کابر تولید میگردد. اما نشست به خودی خود دارای مشکلاتی است که از جمله