Cybersecurity with AI Algorithms

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

در تشخیص ناهنجاری تنها اطّلاعات مربوط به ترافیک معمول شبکه مورد استفاده قرار می‌گیرند. برای تشخیص ناهنجاری رویکردها و روش‌های متنوّعی ارائه شده‌اند. با رشد روزافزون استفاده از شبکه های کامپیوتری ،امنیت این شبکه ها اهمیت بسیاری پیدا میکند. یکی از جنبه های مهم امنیت، تشخیص ناهنجاری های احتمالی و دفع ناهنجاری های در حال رخ دادن است .یکی از ابتدائی ترین نوع تشخیص ناهنجاری، دادن اطلاعات مفید به مدیر شبکه درباره ی ناهنجاری است.

روش های تشخیص ناهنجاری به سه روش تقسیم می شود:

۱) Anomaly Detection

۲) Misuse Detection

۳) Hybrid Anomaly and Misuse Detection

در روش اول که موضوع اصلی ماست بیش تر تکنیک ها از مدل ترافیک شبکه برای تشخیص ناهنجاری استفاده می کنند.

روش های اجرا و توسعه ی IDS ها بر دو شیوه استوار است،که در روش اول (host-based) هر سیستم وظیفه حفاظت خود را برعهده دارد؛ در حالی که در روش دوم یک یا چند سیستم توزیع شده عهده دار تشخیص ناهنجاری و نفوذ می شوند و وظیفه کنترل کردن و مانیتورینگ فایروال ها و Router ها و Switch ها در شبکه و پاسخ مناسب به تهدید را بر عهده دارند . در این سناریو برآنیم با به کارگیری بعضی از الگوریتم های Machine Learning سیستم را قادر به تشخیص رفتار ناهنجارانه بر اساس رفتار طبیعی تعریف شده در سیستم کنیم.
شناسایی حملات در شبکه‌های کامپیوتری از جنبه اطّلاعات مورد استفاده در مرحله یادگیری، به دو دسته تشخیص نفوذ و تشخیص ناهنجاری تقسیم می شود.

در تشخیص نفوذ، هم از ترافیک معمول و هم از ترافیک حمله استفاده می‌شودکه برای انجام آن روش‌های متنوّعی مورد استفاده قرار میگیرند. سیستمهای تشخیص نفوذ برای کمک به مدیران امنیتی سیستم در جهت کشف نفوذ و حمله به کار گرفته شده اند. هدف یک سیستم تشخیص نفوذ جلوگیری از حمله نیست و تنها کشف و احتمال شناسایی حملات و تشخیص اشکالات امنیتی در سیستم یا شبکه ی کامپیوتری واعلام آن به مدیر سیستم است. عمومأ سیستمهای تشخیص نفوذ در کنار فایروال ها و به صورت مکمل امنیتی برای آنها مورد استفاده قرار می-گیرند.
امروزه دو روش اصلی برای تشخیص نفوذ به شبکه ها مورد استفاده قرار میگیرد.

۱٫ مبتنی بر رفتار غیر عادی

۲٫ مبتنی بر امضا یا تطبیق الگو

روش اول مبتنی بر تعیین میانگین انواع فعالیتها بر روی شبکه است. مثالً چند بار یک دستور مشخص توسط یک کاربر در یک تماس با یک میزبان(host) اجرا میشود. لذا در صورت بروز یک نفوذ امکان تشخیص آن به علت مخالف معمول بودن آن وجود دارد.

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

    انواع معماری سیستمهای تشخیص نفوذ:

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

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

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

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

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

تشخیص بر اساس محتوا و کلمات:
این روش ساده ترین و رایج ترین راه برای شناسایی هرزنامه ها می باشد. اگر محتوای نامه های الکترونیکی و یا محتوای اجزای تشکیل دهنده ی وب سایت مانند عنوان، فراتگ، لینک های موجود در صفحه و URL شامل کلمات خاصی باشند، به عنوان هرزنامه شناسایی می شوند. هرزنامه نویسان اغلب از عبارات خاص و جذاب برای جلب توجه کاربران در نامه ی الکترونیکی یا وب سایت استفاده می کنند . کلماتی مانند free, Buy-Now, cheap, Satisfy-Me, Sex, Winner و..به همین دلیل هرزنامه نویسان کلمات مورد استفاده ی خود را دایم به شیوه های مختلف تغییر می دهند. این تغییر مکرر باعث کاهش دقت می شود. برای رفع این مشکل به پایگاه داده بزرگتری جهت پوشش کلمات گوناگون نیاز داریم که جستجو و پردازش در این پایگاه داده باعث افزایش پیچیدگی زمانی می شود . از طرفی احتمال از دست رفتن نامه های الکترونیکی و یا وب سایت های واقعی و قانونی به علت استفاده ی مشروع از این کلمات نیز بالا می رود.
تشخیص بر اساس رفتار هرزنامه:
در ارسال نامه های الکترونیکی بعضی از اطلاعات فیلدهای سرایند توسط فرستنده پر می شود و برخی دیگر به صورت خودکار توسط MTA تکمیل می شوند. اطلاعات syslog به صورت خودکار فقط توسط MTA پر می شوند و فرستنده اجازه ی هیچ گونه تغییر در آن ها را ندارند. هرزنامه نویسان برای فریب دادن ضد هرزنامه ها از اطلاعات غیر معتبر و نامربوط در فایل سرایند نامه ی الکترونیکی استفاده می کنند بدین جهت در این روش اطلاعات فیلدها مانند From, To, Date, Deliver-to, Received, Reteurn-Path بررسی می شوند و در صورت غیر معتبر یا نامربط بودن هر کدام از اطلاعات فیلدهای فایل سرایند درجه ی هرزنامه بودن نامه الکترونیکی را بالا می برد.

روش پیشنهادی:

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

  1. حذف کلمات بی ارزش
  2. ریشه یابی کلمات
  3. استخراج ویژگی ها
  4. کاهش ویژگی ها
  5. ساخت مدل

نوشتن دیدگاه

نشانی ایمیل شما منتشر نخواهد شد.