X
تبلیغات
وکیل جرایم سایبری

IDS: Intrusion Detection System

دسته بندی ترافیک شبکه با استفاده از خوشه بندی فازی برای امنیت شبکه

در این بخش به معرفی مقاله" Classification of Network Traffic Using Fuzzy Clustering for Network Security" در خصوص دسته بندی ترافیک شبکه با استفاده از خوشه بندی فازی برای امنیت شبکه  می پردازیم.

مقدمه :
با توجه به اینکه استفاده از شبکه های کامپیوتری به امری عادی در اجتماع تبدیل شده است نیاز است که توجه ویژه ای به حملات مخرب و نفوذ معطوف گردد.این نیازمندی ها موجب پیدا شدن تکنیک های قابل اعتماد و قوی برای محافظت از شبکه ها می گردد.سیستم تشخیص نفوذ یک ابزار مدیریت شبکه را برای تشخیص رفتار های نرمال از غیر نرمال در بسته های ترافیکی شبکه فراهم می نماید.سیستم تشخیص نفوذ این توانایی را دارد که نفوذ های شبکه شامل حملات مخرب ، دسترسی های غیر مجاز و دیگر رفتار های ناهنجار را شناسایی نماید.با توجه به حجم بالایی از ترافیک  که در حال حاضر در شبکه ها وجود دارد بکارگیری تجزیه و تحلیل داده های بزرگ Big Data راهکار های امید بخشی را برای تشخیص نفوذ گر ها فراهم می کند.اغلب سیستم های تشخیص نفوذ از تکنیک های تشخیص الگوی غیر نظارت شده(unsupervised) و یا نظارت شده(supervised) برای ساخت دسته بندی کننده های متا (meta-classifiers) که  برای تشخیص مورد بهره بردرای قرار می گیرد استفاده می کنند.این متدلوژها شامل مدل های آماری(statistical models) ، راهکار های سیستم ایمنی(immune system) ، تایید پروتکل (protocol verification)،بررسی فایل ، شبکه های عصبی ، لیست سفید whitelisting، تطبیق عبارت (expression matching) ،زبان های اختصاصی (dedicated languages)،تجزیه و تحلیل گذار حالت(state transition analysis)، الگوریتم ژنتیک و ...[1, 2].عملکرد این تکنیک ها تنها در محیط های خوب تعریف شده (well-defined) رضایت بخش است.آنها توانایی شناسایی حملات پیچیده و یا ناشناخته را ندارند و همینطور قدرت سازگار شدن بامحیط های داینامیک مثل شبکه های موبایل را نیز ندارند . [3].خوشه بندی فازی نشان داده است که نسبت به خوشه بندی های سنتی مزیت های بیشتری دارد و بر محدودیت های دیگر روشها در محیط های داینامیک و حملات ناشناخته غلبه می نماید.[4] صرف نظر از کارایی عالی روش خوشه بندی فازی اغلب متد های فعلی از برخی از محدودیت ها رنج می برند.Jiang [5] برای استفاده از یک الگوریتم خوشه بندی فازی c-means تلاش نمود ، اما سیستم تولید شده دارای مقدار پایین تشخیص موفق بین  75-85 درصد بود و دیگر تلاش ها نیز از نرخ بالای FP رنج می بردند [6, 7, 8].در این تحقیق از خوشه بندی فازی c-means برای دسته بندی بسته های TCP به نرمال و یا نفوذ استفاده می شود.خوشه ها بوسیله آنالیز مجموعه داده های خیلی بزرگ از بسته های TCP ایجاد می شوند.تست های اولیه حاکی از این است که روش پیشنهادی یک تشخیص عالی برای بسته های مخرب فراهم می کند بدون اینکه نرخ fp بالایی داشته باشد.
خوشه بندی فازی c-means:
بر خلاف خوشه بندی ها  سنتی خوشه بندی فازی c-means اجازه می دهد که یک آیتم داده به چندین خوشه متعلق باشد.مقدار تعلق یک آیتم به خوشه مانند یک مجموعه فازی نمایش داده می شود.FCM(fuzzy c-means clustering) توسط  Dunn [10] توسعه داده شده و بوسیله Bezdek [11, 12] بازنگری شده است.
امنیت شبکه با استفاده از خوشه بندی فازی:
امنیت شبکه با استفاده از خوشه بندی فازی سه فاز دارد که در شکل نشان داده شده است.در فاز اول و دوم سیستم دسته بندی ساخته می شود و در سومین فاز سیستم تشخیص نفوذ واقعی پیاده سازی می شود .فازهای مورد نظر به شرح ذیل می باشند
1-انتخاب زیر مجموعه ویژگی(Feature subset selection) :

از تکنیک های کاهش ابعاد(dimension reduction) برای کاهش تعداد ویژگی های بسته TCP که برای دسته بندی یک بسته در خوشه بندی فازی مورد نیاز است استفاده می شود.

2-خوشه بندی فازی :

خوشه بندی فازی برای تعیین نمودن centroid تعداد n خوشه اعمال می گردد.ان دسته از خوشه هایی که عمدتا بوسیله بسته های مخرب پر می شوند برچسب می شوند.

3-دسته بندی بسته های TCP ورودی:

.به محض اینکه بسته ای وارد شد،میزان درجه عضویت آن در هر خوشه مشخص شده و آنهایی که دارای ارتباط قوی با خوشه هایی که به عنوان مخرب شناسایی شده اند می باشند برچم زده می شوند.

شکل : مراحل استفاده از خوشه بندی فازی در امنیت سیستم
دانلود مقاله :

سیستم تشخیص نفوذ مبتنی بر شبکه عصبی تکاملی با استفاده از بهینه سازی چند منظوره

در این بخش به معرفی مقاله" A new evolutionary neural networks based on intrusion  detection systems using multiverse optimization" در خصوص طراحی یک سیستم تشخیص نفوذ با رویکرد جدید در شبکه های عصبی تکاملی با استفاده از بهینه ساز چند منظوره می پردازیم.

چکیده :

ساخت یک سیستم تشخیص نفوذ یک به فوریت در سیستم ها و شبکه های کامپیوتر تبدیل شده است تا بتوان با استفاده از آن رخنه های امنیتی شبکه را شناسایی نمود.ساخت یک سیستم تشخیص نفوذ موثر و انعطاف پذیر امری  بسیار ضروری است.در این مقاله یک الگوریتم تکامل طبیعی (natural evolutionary algorithm) جدید که بهینه ساز چند منظوره (multiverse optimizer MVO) نامیده می شود مورد بررسی قرار گرفته و با شبکه های عصبی برای توسعه یک راه کار پیشرفته تشخیص برای سیستم های تشخیص نفوذ ترکیب می شود.در این متن  ترکیب شبکه های عصبی و الگوریتم تکاملی منجر به تولید شبکه های عصبی تکاملی می گردد evolutionaryneural network ENN.شبکه های عصبی تکاملی باعث می شود یک سیستم بهبود یافته برای حل مسائلی که شبکه های عصبی معمولی با آن برخورد دارند ایجاد شود.ایده اصلی در این راه کار این است که از MVO برای آموزش یک شبکه عصبی مصنوعی چند لایه پیش خورد (feed forward multilayer artificial neural network) برای شناسایی حملاتی جدید استفاد شود.راه کار ارائه شده بر روی مجموعه داده NSL-KDD و یک مجموعه داده جدید تر تحت نام UNSWNB15 اعمال شده است.در این روش کارایی راه کار ارائه شده در تشخیص انواع مختلف حملات نمایش داده می شود.نتایج بدست آمده  از UNSWNB15 بهتر از نتایجی است که با استفاده از NSL-KDD حاصل شده  است.همچنین کارایی متدی که توسط ما ارائه شده است  هنگامی که با روش های شناخته شده دیگر مثل PSO-ANN مقایسه می شود ثابت می شود.

روش کار :

در این مطالعه سیستم تشخیص نفوذ بر پایه شبکه عصبی مصنوعی که توسط MVO آموزش داده می شود  پیاده سازی می گردد.هدف این است که یک چهارچوب نو  و قدرتمند با استفاده از آموزش شبکه های عصبی توسط الگوریتم های تکاملی بدست آید.شبکه های عصبی این توانایی را دارند که مشکلات متعددی را که با راهکارهای موجود برای تشخیص نفوذ با آنها مواجه هستیم را مرتفع نمایند.شبکه های عصبی ویژگی های معمول کاربران سیستم را شناسایی و انحرافات آماری قابل توجه از رفتارهای تعریف شده کاربران را تشخیص می دهند.علاوه بر این شبکه های عصبی دارای ساختاری باز ، قابل توسعه و انعطاف پذیر هستند.آنها همچنین یک مدل عمومی دانش از رفتار ها در یک محیط تعریف می نمایند.این فرآیند عمدتا شامل ارزیابی پارامتر های نرونهاست تا توانایی تعریف ارتباطات میان الگوهای ورودی و خروجی هدف را بوسیله آموزش برای شبکه های عصبی مصنوعی فراهم نماید.آموزش شبکه عصبی یک وظیفه بسیار پیچیده است و یکی از کارهای مهم در مسائلی که نیاز به آموزش شبکه های عصبی دارند محسوب می شود.این فرآیند را می توان به صورت یک مسائله بهینه سازی در نظر گرفت.یافتن یک راه حل برای فرآیند آموزش نیاز به یک جواب  از یک ثابت خطی linear constraint با یک مسائله بهینه سازی غیر خطی مشتق شده دارد.بنابراین الگوریتم های تکاملی مختلف برای حل این مسائله به کار گرفته شده است.الگوریتم های تکاملی الگوریتم های جستجوی تصادفی جمعیت هستند که هدف آنها پیدا نمودن راه حل مورد پذیرش و یا تقریبا بهینه در فضاهای جستجو  چند حالته (multimodal) هستند.شکلی که در ادامه خوهد آمد   چهارچوب سیستم تشخیص نفوذ ارائه شده را نمایش می دهد و نشان می دهد که این سیستم می تواند به سه ماژول اصلی تقسیم شود که ورودی داده ، شبکه عصبی مصنوعی و ماژول MVO هستند.که شرح آنها در ادامه خواهد آمد.در قدم اول در فریم ورک ما ماژول ورودی داده مورد استفاده قرار می گیرد.این ماژول وظیفه پردازش ، پالایش (filtering) و استخراج ویژگی ها از داده های بازرسی audit data را بر عهده دارد.مجموعه داده شامل مجموعه های آزمایشی و آموزش از پیش تعریف شده است که به عنوان ورودی ها برای ماژول بعدی شبکه عصبی به کار گرفته می شود.قبل از اینکه داده ها وارد ماژول شبکه عصبی شوند ،  ماژول ورودی داده باید ورودی های داخل شده را به اعداد بین ۰ تا یک نگاشت نماید( نرمال سازی).این عمل برای مورد استفاده بودن داده های ورودی در ماژول بعدی ضروری است.در قدم دوم شبکه عصبی N ویژگی آموزشی را از ماژول ورودی داده دریافت می نماید.ماژول شبکه عصبی به صورت MLP طراحی شده است که یک شبکه عصبی پیش خور feed-forward با یک لایه ورودی ، یک لایه مخفی و یک لایه خروجی است.ورودی های داخل شده از ماژول ورودی داده ( داده های آموزشی ) به عنوان یک الگوی آموزشی برای آموزش شبکه عصبی وارد ماژول شبکه عصبی می شوند.این پروسه آموزش بوسیله ارسال وزنها به ماژول MVO انجام می شود.ماژول MVO ه عنوان یک سیستم مستقل برای به روز رسانی وزنهای سیناپتیک (synaptic weights) بعد از هر تکرار طراحی شده است.در هر تکرار فرآیند آموزش ، ماژول ‌MVO  افراد ( جمعیت) را به عنوان یک مجموعه از وزنها به ماژول شبکه عصبی ارسال می کند که این افراد را بر اساس یک مجموعه داده آموزشی مورد ارزیابی قرار داده و سپس مقادیر برازش آنها را باز می گرداند.در این ارائه خطای میانگین مربع Mean squared error (MSE) به عنوان یک تابع برازش شناخته شده برای الگوریتم آموزشی MVO پیشنهادی انتخاب شده است.وزنهای مربوط به سیناپتیک ها با استفاده از مینیمم نمودن مقدار MSE بدست می آید.فرآیند آموزش زمانی که حداثر تعداد تکرار بدست آمد متوقف می شود.بعد از این مرحله پایگاه دانش ( وزنها و biases) به روز رسانی شده اند.در سومین قدم شبکه عصبی که توسط مجموعه داده آموزشی آموزش دیده شده است برای پیش بینی خروجی از داده های ورودی تستی مورد استفاده قرار می گیرد

شکل : چهار چوب سیستم تشخیص نفوذ ارائه شده

دانلود مقاله :

استفاده از الگوریتم های ژنتیک برای تشخص نفوذ در شبکه

مقاله ای که معرفی خواهد شد یکی از مقالات بسیار خوب در  خصوص کاربرد الگوریتم های ژنتیک در  سیستم های تشخیص نفوذ می باشد.با خواندن پنج صفحه اول این مقاله یک دید خوب در خصوص نحوه به کارگیری الگوریتم های ژنتیک در سیستم های تشخیص نفوذ بدست آورده میشه. کل متن این مقاله به صورت زیر سازمان دهی میشود.بخش دوم یک مقدمه مختصر در خصوص الگوریتم های ژنتیک است ، بخش سوم یک توضیح همراه با جزییات در خصوص به کارگرفتن الگوریتم ژنتیک در تشخص نفوذ ، بخش چهار ساختار مطرح برای پیاده‌سازی را مورد بحث قرار می‌دهد و بخش پنجم نتیجه‌گیری و کارهای آینده .

چکیده :
این متن تکنیک اعمال نمودن الگوریتم ژنتیک را در سیستم‌های تشیخص نفوذ شرح می دهد.یک مرور کلی و خلاصه از سیستم‌های تشخیص نفوذ و تکنیک های تشخیص و الگوریتم های ژنتیک نیز آورده خواهد شد.پارامتر ها و پروسه تکامل الگوریتم ژنتیک نیز به صورت تشریحی و با جزییات مورد بحث قرار داده می شود.بر عکس دیگر مسایل مشابه ، این پیاده‌سازی هر دو نوع اطلاعات زمانی و فضایی از اتصال شبکه را به صورت رمز نمودن اطلاعات اتصال شبکه به قوانین در سیستم تشخیص نفوذ مورد بحث قرار می دهد.این شیوه برای تشخیص رفتار های ناهنجار پیچیده مفید است.این پرژه بر روی پروتوکل های شبکه TCP/IP متمرکز شده است.

مقدمه :
در سال‌های اخیر سیستم‌های تشخیص نفوذ (IDS) به یکی از داغترین زمینه‌های تحقیقاتی در بحث امنیت کامپیوتر تبدیل شده اند. این شیوه یک تکنوإوژ‌ی مهم تشخیص است و یک راه مقابله برای حفظ جامعیت داده‌ها و در در دسترسی بودن سیستم در خلال یک عملیات نفوذ می باشد.
هنگامی که یک نفوذ کرد تلاش می‌کند به یک سیستم اطلاعاتی را هم بشکند و یا یک عمل غیر قانونی را که مجاز نیست انجام بدهد ،  این فعالیت به عنوان یک نفوذ در نظر گرفته می شود.نفوذگرا را می‌توان در دو گروه قرار داد داخلی و خارجی که اشاره به آن‌هایی دارد که دسترسی مجاز(تصویب شده) به سیستم دارند و آن‌هایی که با استفاده از یکسری تکنیک های نفوذ به سیستم حمله می کنند.
تشخیص نفوذ می‌تواند با استفاده از اشکالات نرم‌افزار ، تنظیمات نادرست ، در هم شکستن رمز عبور ، مانیتور نمودن ترافیک شبکه ای غیر ایمن شده و یا بهره برداری از عیب های طراحی پروتوکل ی معین انجام شود
یک سیستم تشخیص نفوذ سیستمی است برای تشخیص نفوذ و گزارش آن‌ها با دقت کامل به فرد مناسب.
سیستم‌های تشخیص نفوذ معمولاً به سیستم‌های اطلاق می‌شوند که به عنوان ابزاری مهم در همه امور مربوط به خط مشی امنیتی یک سازمان عمل می‌کنند و عمل‌کرد سازمان را بوسیله تعریف قوانین مربوطه برای فراهم آوردن امنیت ، مدیریت نفوذ و بازیابی آسیب های ایجاد شده بوسیله نواقص امنیتی را منعکس می نماید.
دو شاخه اصلی از تکنیک های مربوط به تشخص نفوذ وجود دارند که مورد تأیید عمومی می باشد.
تشخص سو استفاده (misuse) و تشخیص ناهنجاری (anomaly) .تشخیص سوء‌استفاده به تکنیک های اطلاق می‌شود که متد های شناخته شده برای نفوذ به یک سیستم را مشخص می کند. این نفوذ ها به عنوان الگو(pattern) یا امضا(signature) مشخص می‌شوند که سیستم تشخیص نفوذ به دنبال آن است.امضا/الگو ممکن است که یک رشته ایستا باشند (static string) یا دنباله ای از عملیات هاست و پاسخ سیستم بر اساس نفوذ تشخیص داده شده می باشد.تشخیص ناهنجاری به تکنیک هایی اطلاق می‌شود که رفتار های قابل قبول و نرمال یک سیستم را تعریف و مشخص می‌کنند ( برای مثال میزان مصرف پردازنده ، زمان اجرا ، فراخوانی های سیستم) و رفتار هایی که از رفتار های نرمال و مورد انتظار سیستم خارج می‌شوند به عنوان نفوذ مورد بررسی قرار می گیرند.
 سیستم‌های تشخیص نفوذ را می‌توان با توجه به مکانی که برای جستجوی رفتار های نفوذی قرار می‌گیرند را به دو گروه تقسیم نمود. سیستم‌های تشخیص نفوذ بر پایه شبکه (NIDS) و سیستم‌های تشخیص نفوذ بر پایه هاست (HIDS) .سیستم های تشخیص نفوذ بر پایه شبکه به سیستم‌های اطلاق می‌شوند که نفوذ را بوسیله نظارت بر ترافیک ورودی و خروجی دستگاههای شبکه انجام می دهند(برای مثال کارت رابط شبکه NIC) .سیستم های تشخیص نفوذ بر پایه هاست فایل‌ها و پردازش های  فعال یک محیط نرم افزاری که مربوط به یک میزبان خاص می‌باشد را مورد نظارت قرار می دهند.برخی از سیستم‌های تشخیص نفوذ بر پایه هاست علاوه بر عمل‌کرد نرم افزاری به ترافیک شبکه برای تشخیص حملات به میزبان خود نیز توجه دارند . البته تکنیک های در حال ظهور و تکامل دیگری نیز وجود دارند.برای مثال سیستم‌های تشخیص نفوذی که به Blocking IDS معروف هستند که سیستم‌های تشخیص نفوذ بر پایه هاست را با توانایی ویرایش قوانین دیوار آتش ترکیب می کنند. نمونه دیگر که HoneyPot نامیده می‌شود که به عنوان یک طعمه هدف برای شخص مزاحم در نظر گرفته می‌شود و مشخصاً برای تلگه گذاری برای مزاحم طراحی شده‌اند و با استفاده از آن‌ها می‌توان محل مزاحم را تشخیص و به حملات او پاسخ داد.
سیستم‌های تشخیص نفوذ هوشمند (IIDS) نیز از پروژه های در حال انجام در مرکز تحقیقات کامپیوتری (Center for Computer SecurityResearch (CCSR)) در دانشگاه ایالتی می سی سی پی است.که در آن شیوه‌های مختلف برای مسائله سیستم تشخیص نفوذ با یکدیگر ترکیب می‌شوند و شامل تکنیک های مختلف هوش مصنوعی برای کمک به تشخیص رفتار نفوذگرانه .در این روش از تکنیک های تشخیص ناهنجاری و تشخیص سوء‌استفاده و هم از سیستم‌های تشخیص نفوذ بر پایه شبکه و بر پایه هاست استفاده می شود.بعضی از نرم‌افزار های تشخیص نفوذ متن باز که شامل همه این امکانات نیز هستند برای استفاده به عنوان سنسور های امنیتی مجتمع شده اند.مثل Bro و Snort .تکنیک هایی که در ادامه خواهیم دید قسمتی از تحقیقات در خصوص سیستم‌های تشخیص نفوذ هوشمند می باشد.
الگوریتم های ژنتیک به روش‌های مختلفی در سیستم‌های تشخیص نفوذ مورد استفاده قرار می گیرند.بر پایه تحقیقی که در دانشگاته تگزاس انجام گرفته است(Sinclair, Pierce, and Matzner 1999) از تکنیک های مختلف یادگیری ماشین مثال  finite state machine ،درخت تصمیم گیری و الگوریتم ژنتیک برای تولید قوانین هوشمند برای سیستم‌های تشخیص نفوذ استفاده می کند.یک اتصال شبکه و رفتار های وابسته به آن می‌توانند به نحوی ترجمه شوند تا قوانینی را به نمایش بگذارند که  بتوان با استفاده از آن‌ها در خصوص اینکه آیا این اتصال در لحظه ( بهنگام) real-time به عنوان یک نفوذ در نظر گرفته شود قضاونت نمود.قوانین می‌توانند به عنوان کروموزم های داخل جمعیت مدل شوند.این جمعیت تاز زمانی که معیاری های ارزیابی بر آورده شوند تکامل(evolves) می یابند.مجموعه قوانین تولید شده به عنوان دانش درونی یک سیستم تشخیص نفوذ برای قضاونت در مورد اینکه آیا اتصال شبکه و رفتار های مربوط به آن بصورت بالقوه نفوذگرانه هستند یا خیر.
آزمایشگاه COAST در دانشگاه Purdue(Crosbie and Spafford, 1995) سیستم تشخیص نفوذی را ایجاد نمودند که از عامل های مستقل (autonomous agents) -سنسورهای امنیتی- و اعمال هوش مصنوعی برای تکامل الگوریتم های ژنتیک استفاده نموده است.عامل ها به عنوان کروموزوم ها مدل شده‌اند و یک ارزیابی داخلی نیز درون هر عامل مورداستفاده قرار گرفته است.(Crosbie and Spafford, 1995).
در روش‌های که در بالا شرح داده شد ، سیستم تشخص نفوذ را می‌توان به عنوان سیستم بر پایه قانون (RBS) تصور نمود و الگوریتم ژنتیک به عنوان یک ابزار برای کمک به تولید دانش برای این سیستم بر پایه قانون در نظر گرفته می شود.این شیوه دارای معایبی است .به منظور تشخیص رفتار های نفوذگرانه برای یک شبکه محلی ، اتصال شبکه باید برای تعریف و مشخص نمودن رفتار های نرمال و عادی و غیر طبیعی مورد استفاده قرار گیرد.گاهی اوقات یک مله می‌تواند  اسکن ساده  پورت های در دسترس یک سرور باشد یا یک طرح برای حدس زدن رمز عبور.اما به صورت معمول این حملات بسیار پیچیده‌تر هستند و بعضا نیز بوسیله ابزار های اتوماتیک که در اینترنت هم به صورت مجانی در دسترس هستند تولید می شوند.
یک مثال می‌تواند اسبهای تروا و یا backdoor ها باشند که می‌توانند برای مدت طولانی اجرا شوند ، یا از مکانهای مختلفی آغاز شوند.برای تشخیص چنین نفوذ هایی هم  اطلاعات زمانی و مکانی ترافیک شبکه باید در مجموعه قانون موجود باشد.کاربردهای فلعی الگوریتم ژنتیک این موضوع را پشتیبانی نمی کنند(temporal and spatial information. ). در ادامه نشان می‌دهیم چگونه اطلاعات اتصال شبکه می‌تواند به عنوان کروموزوم ها مدل شوند و چگونه می‌توان  پارامتر های درون الگوریتم ژنتیک در این رابطه تعریف نمود.مثال هایی برای نشان دادن این موضوع آورده خواهد شد.
برای مشاهده کامل این مقاله می توانید از لینک زیر استفاده کنید:

http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.89.3125&rep=rep1&type=pdf