خرید و فروش سکه

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

خرید و فروش سکه

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

پژوهش-– (140)- تحقیق علمی های ارشد

دوشنبه, ۱۰ مهر ۱۳۹۶، ۰۸:۳۲ ب.ظ


centertop00 دانشکده آموزشهای الکترونیکی پایاننامه کارشناسی ارشد در رشته مهندسی فناوری اطلاعات (مدیریت سیستمهای اطلاعاتی) شناسایی برخط بدافزارها در محیط محاسبات ابری به کوشش محمد باقر نظری استاد راهنما دکتر فرشاد خونجوش دکتر ستار هاشمی اسفند ماه 1392 centercenterبه نام یزدان پاک 00به نام یزدان پاک right-106108500 به نام خدا اظهارنامه اینجانب محمد باقر نظری …


- – (140)- \\\\\\\\\\\\\\\"(سایت مرجع پایان نامه )\\\\\\\\\\\\\\\"

 نکته مهم : هنگام انتقال متون از فایل ورد به داخل سایت بعضی از فرمول ها و اشکال (تصاویر) درج نمی شود یا به هم ریخته می شود یا به صورت کد نشان داده می شود ولی در سایت اصلی می توانید فایل اصلی را با فرمت ورد به صورت کاملا خوانا خریداری کنید: سایت مرجع پایان نامه ها (خرید و دانلود با امکان دانلود رایگان نمونه ها) : jahandoc.com   دکتر فرشاد خونجوش دکتر ستار هاشمی اسفند ماه 1392 centercenterبه نام یزدان پاک 00به نام یزدان پاک right-106108500 به نام خدا اظهارنامه اینجانب محمد باقر نظری (899772) دانشجوی رشتهی مهندسی فناوری اطلاعات گرایش مدیریت سیستمهای اطلاعاتی دانشکدهی آموزشهای الکترونیکی اظهار میکنم که این پایاننامه حاصل پژوهش خودم بوده و در جاهایی که از منابع دیگران استفاده کرده ام، نشانی دقیق و مشخصات کامل آن را نوشته ام. همچنین اظهار میکنم که تحقیق و موضوع پایاننامه ام تکراری نیست و تعهد مینمایم که بدون مجوز دانشگاه دستاوردهای آن را منتشر ننموده و یا در اختیار غیر قرار ندهم. کلیه حقوق این اثر مطابق با آیین نامه مالکیت فکری و معنوی متعلق به دانشگاه شیراز است. نام و نام خانوادگی: محمد باقر نظری تاریخ و امضاء: 03/12/1392 right-105156000به نام خدا شناسایی برخط بدافزارها در محیط محاسبات ابری به کوشش محمد باقر نظری پایاننامه ارائه شده به تحصیلات تکمیلی دانشگاه شیراز به عنوان بخشی از فعالیتهای تحصیلی لازم برای اخذ درجه کارشناسی ارشد در رشتهی: مهندسی فناوری اطلاعات از دانشگاه شیراز شیراز جمهوری اسلامیایران ارزیابی کمیته پایاننامه، با درجهی: ---- دکتر فرشاد خونجوش، استادیار بخش مهندسی و علوم کامپیوتر (رئیس کمیته).................................... دکتر ستار هاشمی، استادیار بخش مهندسی و علوم کامپیوتر (رئیس کمیته).................................... دکتر محمد حسین شیخی، دانشیار بخش مخابرات و الکترونیک.................................... دکتر فرشاد تاجری پور، استادیار بخش مهندسی و علوم کامپیوتر.................................... اسفند ماه 1392 تقدیم به : روح بلند انسانیت که هیچ چیز جز راستی در آن تجلی نخواهد یافت. سپاسگزاری بر خود لازم می‌دانم از زحمات اساتید ارجمند جناب آقای دکتر هاشمی و جناب آقای دکتر خونجوش که در تمام مدت انجام پایان‌نامه مرا از راهنمایی‌ها و مساعدت‌های بی دریغ شان بهره‌مند نمودند تشکر کنم. همچنین از استادان مشاور خود که با نظرات و راهنمایی‌های مفیدشان مرا در پیشبرد این پایان‌نامه یاری نموده‌اند کمال تشکر را دارم. در انتها از تمام عزیزانی که مرا در انجام این پروژه تحقیقاتی یاری نمودند کمال تشکر و قدردانی را دارم. چکیده شناسایی برخط بدافزارها در محیط محاسبات ابری به کوشش محمد باقر نظری زمانی که درمورد بدافزارها در محیط اینترنت و شبکهها صحبت میشود، با انواع زیادی از بدافزارها روبرو خواهیم شد. محاسبات ابری یکی از انواع جدید و بسیار مهم در زمینه ارائه خدمات بر روی بستر ابر مانند اینترنت میباشد. بیشتر افراد بر این توافق دارند که هم اکنون امنیت این محیط مهمترین مشکل میباشد و باید به خوبی بررسی شده و راه حلهای مناسبی برای رفع آن پیدا و ارائه نمود. در اینجا ما قصد داریم تا روش مناسبی را برای تشخیص بدافزارها در محیط محاسبات ابری ارائه نمائیم که بتواند بر اساس ساختار این محیط بیشترین امنیت ممکن را برای ارائه دهندگان و همچنین اطلاعات کاربران آن فراهم نماید. از عمده روشهایایجاد امنیت و شناسایی بدافزارها در محیط محاسبات ابری ابتدا شیوه سنتی آن یعنی استفاده از امضاءها میباشد که با توجه به ساختار این محیط شاید مناسب باشد اما کافی نیست. بنابراین استفاده از روشهای دیگر از جمله تحلیل رفتار سیستم بسیار کاربردی شدهاست. بر اساس ساختار محیط محاسبات ابری نیز میتوان یک قالب محافظتی طراحی نمود تا از حملات با استفاده از سطح بندیهای انجام شده جلوگیری کند. واژگان کلیدی: محاسبات ابری، بدافزار، ناهنجاری، سیستم تشخیص حمله، ماشین مجازی فهرست مطالب عنوانصفحه فصل نخست: مقدمه11-1-پیش‌گفتار21-2-محاسبات ابری31-2-1-تاریخچه41-2-2-راهکارهای ارائه شده در محاسبات ابری51-2-3-ویژگیهای محاسبات ابری71-2-4ساختار محاسبات ابری81-2-4-1معماری81-2-4-2فراهم کننده سرویس ابر101-2-4-3-انواع ارائه خدمت111-2-4-4-کاربران محیط محاسبات ابری131-2-4-5-مدلهای پیاده سازی131-2-5-نمای کامل از محیط محاسبات ابری161-2-6-چالشهای مربوط به محاسبات ابری171-2-7-امنیت در محیط محاسبات ابری181-2-7-1-تهدیدات امنیتی محیط محاسبات ابری191-2-8-فنآوری مجازیسازی و ماشینهای مجازی231-2-9-مانیتورینگ ماشینهای مجازی231-2-9-1-انواع هایپروایزر241-2-10-جمع بندی درمورد محاسبات ابری251-3-طرح و هدف از این تحقیق261-4-مروری بر فصلهای بعدی پایاننامه27فصل دوم: تعاریف و پیشنیازها282-1-مقدمه292-2-مروری بر بدافزارها292-2-1-سیر تکاملی ویروسهای رایانهای292-2-2-بدافزار چیست؟312-2-2-1-کرم322-2-2-2-ویروس332-2-2-3-تروجان342-2-2-4-تروجان دسترسی از راه دور352-2-2-5-روتکیت362-3مروری بر سیستمهای تشخیص نفوذ362-3-1-انواع حملات شبکه372-3-1-1-انواع حملات شبکهای با توجه به طریقه حمله372-3-1-2-انواع حملات شبکهای با توجه به حمله کننده392-3-2-مکملهای سیستمهای تشخیص نفوذ در برقراری امنیت402-3-2-1-دیواره آتش402-3-2-2-ساز و کارهای رمزنگاری و تایید هویت412-3-2-3-لیستهای کنترل دسترسی422-3-3-انواع سیستمهای تشخیص نفوذ422-3-3-1-سیستمهای تشخیص نفوذ مبتنی بر میزبان432-3-3-2-سیستمهای تشخیص نفوذ مبتنی بر شبکه442-3-3-3-سیستمهای توزیع شده482-3-4-انواع روشهای تشخیص حمله522-3-4-1روشهای مبتنی بر امضا522-3-4-2روشهای تشخیص حمله مبتنی بر ناهنجاری542-3-4-3-روشهای مبتنی بر تحلیل حالت پروتکل ارتباطی562-3-5-تکنولوژیهای سیستمهای تشخیص نفوذ582-3-5-1-اجزای سامانههای تشخیص نفوذ582-3-5-2-ساختار و همبندی اجزای سیستم تشخیص نفوذ592-3-5-3-عملکرد امنیتی سیستمهای تشخیص نفوذ602-3-5-4-قابلیتهای مدیریتی ابزارهای تشخیص نفوذ632-3-6-ویژگیهای ابزار تشخیص نفوذایده آل672-3-6-1-دقت بالا، نرخ تشخیص بالا و کم بودن هشدارهای نادرست672-3-6-2-نحوه واکنش وایجاد هشدار و کار با IDSهای دیگر682-3-6-3-قابلیتهای پیکربندی و تنظیمات فاز نصب و سازگاری با شرایط سیستم692-3-6-4-امکان اعمال سیاست امنیتی در نسخه امنیتی یا با استفاده از قوانین کارآمد692-3-6-5-مقیاس پذیری و توزیع پذیری702-3-6-6-اجرای مداوم و تحمل پذیری خطا702-3-6-7-قابلیت تشخیص حملات دیده نشده712-3-6-8-بهرهوری و عملکرد مناسب712-3-6-9-کار با حداقل سربار و امکان بررسی عملکرد و بهرهوری ابزار تشخیص نفوذ72فصل سوم : پیشینه تحقیق743-1-ترکیب فیلترینگ و روشهای آماری برای تشخیص ناهنجاری753-2-تجزیه و تحلیل سیگنال ناهنجاریهای ترافیک شبکه763-3-یک چارچوب سیستمهای تشخیص نفوذ مشارکتی برای شبکههای محاسبات ابری773-4-شناسایی حمله در ابر793-5-سیستمهای تشخیص نفوذ و مدیریت ورودی چند سطحی در محاسبات ابری813-6-جایگذاری یک NIDS در یک محیط محاسبات ابری823-7-ابرهای دو قلو: یک معماری برای محیط ابری امن82فصل چهارم : مدل پیشنهادی844-1-مقدمه854-2-سیستم تشخیص حمله بر اساس دسته بندی ماشینهای درون محیط874-2-1-شرح قالب پیشنهادی874-2-1-1-بخش ساخت قوانین884-2-1-2-بخش شناسایی ماشینها و پیاده سازی پروفایل914-2-1-3-بخش شناسایی حمله924-2-1-4-بخش پیشگیری944-2-2-بررسی مزایا و معایب سیستم پیشنهادی954-3-پیاده سازی آزمایشی و تحلیل نتایج974-3-1-جزئیات کد آزمایش974-3-1-1-بخش ساخت قوانین974-3-1-2-بخش شناسایی ماشینها و ساخت پروفایل1024-3-1-3-بخش شناسایی1024-3-1-4-بخش پیشگیری1034-3-2نتیجه نمونه آزمایش انجام شده1034-3-2-1-پایگاه داده سیستم104فصل پنجم: بحث و نتیجهگیری 1165-1-مقدمه1175-2-پیشنهادات برای کارهای آتی118 فهرست جدولها عنوان و شمارهصفحه جدول ‏1- 1 10 مزیت و معایب محیط محاسبات ابری6جدول ‏1- 2 ویژگیهای محاسبات ابری7جدول ‏3 1 شرح میزان ریسک ناهنجاریها در [37]81جدول ‏4 1 فهرست حملات انکار سرویس98 فهرست شکلها عنوان و شمارهصفحه شکل ‏11 مقایسه روند محاسبات خوشهای، توری و ابری از دید گوگل در سالهای 2008 و 20093شکل ‏12 معماری محاسبات ابری در مجموعه سیستمهای کامپیوتری9شکل ‏13 معماری ساختاری محاسبات ابری10شکل ‏14 معماری فیزیکی محاسبات ابری10شکل ‏15 گونههای محاسبات ابری14شکل ‏16 نمای کلی از محیط محاسبات ابری16شکل ‏17 میزان اهمیت چالشهای مربوط به محیط محاسبات ابری تا سال 201318شکل ‏21 مراحل شناسایی انواع بدافزار34شکل ‏22 جایگذاری IDS با استفاده از حسگرهای بر خط46شکل ‏23 معماری IDSهای توزیع شده با استفاده از حسگرهای بی اثر و با امکان توزیع بار49شکل ‏24 معماری انواع سیستمهای تشخیص نفوذ توزیع شده51شکل ‏33 روند اجرایی در IDS پیشنهادی در80شکل ‏34 معماری پیشنهادی در83شکل ‏41 قالب پیشنهادی89شکل ‏48 مقایسه نتیجه آزمایش انجام شده برای قالب پیشنهادی و سیستم سنتی snort IDS (مجموع بستههای وارد شده هنگام تشخیص حمله) الف) 100 بسته در ثانیه ب) 500 بسته در ثانیه ج) 1000 بسته در ثانیه114 فصل نخستمقدمهپیش‌گفتارسیر تکاملی محاسبات به گونهای است که میتوان آن را پس از آب، برق، گاز و تلفن به عنوان عنصر اساسی پنجم فرض نمود. در چنین حالتی، کاربران سعی میکنند بر اساس نیازهایشان و بدون توجه به اینکه یک سرویس در کجا قرار دارد و یا چگونه تحویل داده میشود، به آن دسترسی یابند. نمونههای متنوعی از سیستمهای محاسباتی ارائه شدهاست که سعی دارند چنین خدماتی را به کاربران ارئه دهند. برخی از آنها عبارتند از: محاسبات خوشهای[1]، محاسبات توری[2] و محاسبات ابری[3]. محاسبات ابری ساختاری شبیه یک توده ابر دارد که بواسطه آن کاربران میتوانند به برنامههای کاربردی و یا زیرساختهای نرمافزاری و سختافزاری از هر جایی از دنیا دسترسی داشته باشند. بنابراین، محاسبات ابری میتواند با کمک ماشینهای مجازی[4] شبکه شده، به عنوان یک روش جدید برایایجاد پویای نسل جدید مراکز داده مورد توجه قرار گیرد. بدین ترتیب، دنیای محاسبات به سرعت به سمت توسعه نرمافزارهایی پیش میرود که بجای اجرا بر روی کامپیوترهای منفرد، به عنوان یک سرویس[5] در دسترس میلیونها مصرف کننده قرار می‌گیرند. محبوبیت سه نوع مختلف محاسبات که به آنها اشاره شد، از دید موتور جستجوی گوگل نیز مورد ارزیابی قرار گرفته است که نتیجه آن در شکل (1-1) نمایش داده شدهاست. این بررسی نشان میدهد که محاسبات خوشهای در حال حاضر نسبت به دو مورد دیگر مقبولیت کمتر دارد، محاسبات توری در رتبه دوم قرار گرفته است، و پردازش ابری با فاصله زیادی از آنها در حال استفاده بیشتر است.[13, 14] 3810329565شکل ‏11 مقایسه روند محاسبات خوشهای، توری و ابری از دید گوگل در سالهای 2008 و 2009[5]00شکل ‏11 مقایسه روند محاسبات خوشهای، توری و ابری از دید گوگل در سالهای 2008 و 2009[5] محاسبات ابریمحاسبات ابری (یا رایانش ابری و یا پردازش ابری)‏ مدل رایانشی بر پایهی شبکههای بزرگ کامپیوتری مانند اینترنت است که الگویی تازه برای عرضه[6]، مصرف[7] و تحویل[8] سرویس‌های فناوری اطلاعات (شامل سختافزار، نرمافزار، اطلاعات، و سایر منابع اشتراکی رایانشی) با به کارگیری اینترنت ارائه می‌کند. رایانش ابری راهکارهایی برای ارائهی خدمات فناوری اطلاعات به شیوه‌های مشابه با صنایع همگانی (آب، برق، تلفن و...) پیشنهاد می‌کند. این بدین معنی است که دسترسی به منابع فناوری اطلاعات در زمان تقاضا[9] و بر اساس میزان تقاضای کاربر به گونه‌ای انعطاف‌پذیر[10] و مقیاس‌پذیر[11] از راه اینترنت به کاربر تحویل داده می‌شود.[10, 15, 16] واژهی "ابر" واژه‌ای است استعاری که به اینترنت اشاره می‌کند و در نمودارهای شبکه‌های رایانه‌ای نیز از شکل ابر برای نشان دادن شبکهی اینترنت استفاده می‌شود. دلیل تشبیه اینترنت به ابر در این است که اینترنت همچون ابری جزئیات فنی‌اش را از دید کاربران پنهان می‌سازد و لایه‌ای از انتزاع را بین این جزئیات فنی و کاربران به وجود می‌آورد. به عنوان مثال آنچه یک ارائه‌دهندهی سرویس نرم‌افزاری رایانش ابری ارائه می‌کند، برنامه‌های کاربردی تجاری برخط است که از طریق مرورگر وب یا نرم‌افزارهای دیگر به کاربران ارائه می‌شود.[14, 17] نرم‌افزارهای کاربردی و اطلاعات، روی سرورها ذخیره می‌گردند و براساس تقاضا در اختیار کاربران قرار می‌گیرد. جزئیات از دید کاربر مخفی می‌ماند و کاربران نیازی به تخصص یا کنترل در مورد فناوری زیرساخت ابری که از آن استفاده می‌کنند ندارند.[15, 16] رایانش ابری را گروهی تغییر الگوواره‌ای[12] می‌دانند که دنباله‌روی تغییری است که در اوایل دهه ۱۹۸۰ از مدل رایانه بزرگ[13] به مدل کارخواه-کارساز[14] صورت گرفت. تاریخچهپیدایش مفاهیم اساسی رایانش ابری به دهه ۱۹۶۰ باز میگردد. زمانی که جان مک کارتی[15] اظهار داشت که «رایانش ممکن است روزی به عنوان یکی از صنایع همگانی سازماندهی شود». تقریبا تمام ویژگیهای امروز رایانش ابری (تدارک قابل ارتجاع، ارائه به صورت یک صنعت همگانی، برخط بودن و توهم دسترسی به عرضه نامحدود) به همراه مقایسه با صنعت برق و شکل‌های مصرف عمومی و خصوصی و دولتی و انجمنی را پارک هیل داگلاس[16] در کتابی که با عنوان «مشکل صنعت همگانی رایانه» در سال ۱۹۶۶ مورد بررسی قرار داد. واژهی ابر در واقع بر گرفته از صنعت تلفن است به این گونه که شرکتهای ارتباطات راه دور که تا دهه ۱۹۹۰ تنها خطوط نقطه به نقطهی اختصاصی ارائه می‌کردند، شروع به ارائه شبکه‌های خصوصی مجازی با کیفیتی مشابه و قیمتهای کمتر نمودند. نماد ابر برای نمایش نقطه مرزی بین بخشهایی که در حیطه مسئولیت کاربر میباشد و آنهایی که در حیطه مسئولیت عرضه کننده است، بکار گرفته می‌شد. رایانش ابری مفهوم ابر را به گونه‌ای گسترش می‌دهد که سرورها را نیز علاوه بر زیرساخت‌های شبکه در بر گیرد. سایت آمازون[17] با مدرن سازی مرکز داده خود نقش مهمی در گسترش رایانش ابریایفا کرد. بعد از حباب دات-کام[18] آنها دریافتند که با تغییر مرکز داده‌های خود - که مانند اغلب شبکه‌های رایانه‌ای در بیشتر اوقات تنها از ۱۰٪ ظرفیت آن استفاده می‌شد و مابقی ظرفیت برای دوره‌های کوتاه اوج مصرف در نظر گرفته شده بود - به معماری ابر می‌توانند بازده داخلی خود را بهبود بخشند. آمازون از سال ۲۰۰۶ امکان دسترسی به سامانه خود از طریق وب سرویسهای آمازون را بر پایه رایانش همگانی ارائه کرد. در سال ۲۰۰۷، گوگل[19] وای بی ام[20] به همراه چند دانشگاه پروژه‌ای تحقیقاتی در مقیاسی بزرگ را در زمینه رایانش ابری آغاز نمودند. در اواسط سال ۲۰۰۸ شرکت گارتنر متوجه وجود موقعیتی در رایانش ابری شد که برای «شکل دهی ارتباط بین مصرف کنندگان خدمات فناوری اطلاعات، بین آنهایی که این سرویسها را مصرف می‌کنند و آنها که این سرویسها را می‌فروشند» بوجود می‌آید. راهکارهای ارائه شده در محاسبات ابریمحاسبات ابری به دلایل زیادی در جهان محبوب گردیده است و هم اکنون بسیاری از شرکتها از این محیط برای ارائه خدمات به مشتریان خود استفاده میکنند. اما در راستای ارائه خدمات در این محیط نیز مشکلاتی وجود دارد که جزء معایب محاسبات ابری به حساب میآید. جدول (1-1) 10 مشکل و راهکارهای ارائه شده در محیط محاسبات ابری را بیان میدارد. جدول ‏1- 1 10 مزیت و معایب محیط محاسبات ابری[14]ردیف مشکلات راهکارها 1 در دسترس بودن خدمت استفاده از چندین فراهم کننده ابر؛ استفاده از خاصیت ارتجاعی[21] برای جلوگیری از حملات DDOS 2 قفل کردن درونی دادهها[22] رابطهای برنامهنویسی نرمافزار[23] (API) استاندارد؛ نرمافزارهای سازگار برای استفاده از محاسبات موجی[24] 3 بازرسی و محرمانگی اطلاعات[25] استفاده از رمزنگاری؛ شبکههای محلی مجازی[26]؛ دیواره آتش[27] و ذخیره دادهی جغرافیایی 4 تنگناهای انتقال داده[28] دیسکهای سریع[29]؛ بایگانی و پشتیبان گیری دادهها؛ سوئیچهای دوطرفه سریع 5 کارایی غیر قابل پیشبینی بهبود پشتیبانی از ماشینهای مجازی؛ حافظههای سریع؛ ماشینهای مجازی مدرسه گانگ 6 ذخیرهسازی مقیاسپذیری ابداع مرکز مقیاسپذیری 7 بروز اشکالات ریز در سیستمهای توزیعشده بزرگ ابداع یک اشکالیاب که در ماشینهای مجازی قرار میگیرد 8 مقیاسپذیری سریع ابداع یک مقیاس دهنده خودکار که در ماشینهای مجازی قرار میگیرد؛ ذخیره مکالمات 9 به اشتراک گذاری فضاهای ارائه شده ارائه نگهبان محیط خصوصی برای خدمات مانندایمیل 10 صدور مجوز برای نرمافزارها صدور مجوز پرداخت به ازاء استفاده[30]؛ فروش عمده[31] ویژگیهای محاسبات ابریمحاسبات ابری مدلی است برای دسترسی به یک شبکه یکپارچه و مناسب و بر حسب تقاضا جهت به اشتراک گذاری حجم زیادی از منابع محاسباتی قابل تنظیم (مانند شبکه، سرورها، ذخیره گاهها، برنامهها و سرویسها) که میتواند با کمترین نیاز به مدیریت، و تنها به وسیله یک فراهم کننده سرویس ابر به سرعت قانونمند شده و انتشار یابد.[18] خصوصیات اصلی محاسبات ابری به شرح جدول (1-2) است: جدول ‏1- 2 ویژگیهای محاسبات ابری[19]ردیف ویژگی توضیحات 1 ارائه سرویس براساس تقاضا[32] مجموعه فناوری اطلاعات به عنوان سرویس بدون نیاز به هیچ راهنمایی بر اساس تقاضای مشتری در اختیارشان قرار میگیرد. 2 دسترسی به شبکه گسترده[33] خدمات در یک شبکه مستقل از سختافزار موجود در کامپیوتر کاربر یعنی بر روی اینترنت ارائه میگردد؛ بنابراین شبکه باید دارای ارتباط قابل اطمینان و با کارایی بالا برای دسترسی به سرویسهای مختلف باشد. 4 یکپارچه سازی منابع[34] فراهم کنندگان، سرویسها را یا استفاده از فناوریهایی همچون مجازیسازی[35] و اجاره چندگانه[36] در اختیار مشتریان قرار میدهند. 5 قابلیت ارتجاع سریع[37] میتوان منابع لازم را بدون دخالت انسان و هر زمان که نیاز بود ارائه نمود. 6 سرویس دهی مقیاس پذیر[38] میتوان میزان استفاده از یک سرویس به وسیله مشتری را بر اساس میزان منابع مصرف شدهاندازه گیری نمود. بر این اساس میتوان برای مصرف کننده صورت حساب صادر کرد که به این روش پرداخت به ازاء استفاده گفته میشود. ساختار محاسبات ابریمعماری-38101459865شکل ‏12 معماری محاسبات ابری در مجموعه سیستمهای کامپیوتری[7]00شکل ‏12 معماری محاسبات ابری در مجموعه سیستمهای کامپیوتری[7]معماری محاسبات ابری به گونه است که معماریهای دیگر همچون معماری نرمافزاری، معماری میانافزاری، معماری فناوری اطلاعات و معماری خدماتگرا را در خود جای داده و آنها را به عنوان منابع مدیریت میکند.[7] نحوه قرارگیری محاسبات ابری در سیستم را میتوانید در شکل (1-2) ببینید. اما معماری کل محاسبات ابری از لحاظ پیاده سازی را میتوان در شکل (1-3) و از نظر ساختار فیزیکی در شکل (1-4) مشاهده نمود که به شرح زیر آنها را توضیح خواهیم داد. center3453130شکل ‏14 معماری فیزیکی محاسبات ابری [2]00شکل ‏14 معماری فیزیکی محاسبات ابری [2]17392650شکل ‏13 معماری ساختاری محاسبات ابری[1]00شکل ‏13 معماری ساختاری محاسبات ابری[1]فراهم کننده سرویس ابر[39]فراهم کننده سرویس کسانی هستند که بستری برای استفاده از منابع موجود فراهم میکنند.[19] سرویس دهندگان میتوانند یک یا چند سرویس که در میانه شکل (1-3) نشان داده شده را فراهم کند. بنابراین میتوان سه دسته سرویس دهندگان نرمافزار[40]، سرویس دهندگان بستر[41] و سرویس دهندگان زیرساخت[42] را معرفی نمود. انواع ارائه خدمت[43]در محیط محاسبات ابری عموما سه خدمت عمده را به عنوان ساختار خدمات رسانی به صورت اولویت بندی شده ارائه میدهد؛ که به ترتیب ارائه نرمافزار به عنوان خدمت[44]، ارائه بستر به عنوان خدمت[45] و ارائه زیرساخت به عنوان خدمت[46] نام دارند. در ابتدای این زنجیره نیز فراهم کنندگان قرار دارند و در انتها نیز کاربران میباشند. ارائه نرمافزار به عنوان خدمتدر بالاترین و سادهترین لایه محاسبات ابری مجموعه نرمافزارها به عنوان یک خدمت ارائه میگردد. [7, 14, 15, 17, 19] تمام نرمافزارهای موجود را میتوان در این بخش ارائه نمود. پایگاه داده نیز میتواند در این بخش ارائه گردد. یکی از اولین ساده ترین نرمافزارها خدماتایمیل میباشد که میتوانید در آنها پیامهای خود را نگهداری و مدیریت کنید. اما امروزه برنامههایی همچون مدیریت ارتباط با مشتری[47]، مدیریت منابع سازمانی[48]، مدیریت زنجیره چرخه[49] و... نیز در این لایه ارائه میگردند.[15, 20] ارائه بستر به عنوان خدمتلایه بستر بر روی لایه نرمافزار قرار میگیرد تا سرویسهای جدیدی به کاربران ارائه کند که بتوانند به وسیله آنها به توسعه نرمافزارهای خود بپردازند.[19] در این لایه میتوان وب سایت مورد نظر خود را ساخت. نرمافزار مورد نظر خود را توسعه داد و به تست و توسعه آنها پرداخت؛ بدون آنکه نیاز باشد تا ابزاری را روی سیستم خود برای این کار نصب کنیم. محیطهای یکپارچه توسعه نرمافزار از جمله سرویسهای این بخش است.[11, 15, 20] Windows Azure[50]، Aptana Cloud[51] و Google App Engine[52] از جمله فراهم کنندگان این سرویسها به شمار می ایند.[15] ارائه زیرساخت به عنوان خدمتدر پایینترین و گستردهترین لایه موجود در محاسبات ابری لایه زیرساخت وجود دارد که در آن از یک فضای مجازی از تمامی زیرساختهای مورد نیاز برایایجاد یک سیستم کامل میتوان بهره برد.[19] این مجازی سازی یک فناوری بسیار مفید در محیط محاسبات ابری به شمار میآید چرا که به کاربر این تصور را تلقین میکند که واقعا با یک سیستم کامل همانند سیستم شخصی کار میکند که در واقع اینگونه نیست و تنها یک فضا به او داده شده تا بتواند در آن همانند یک سیستم کامل به توسعه برنامههای خود بپردازد. ارائه بستر سختافزاری، کار با درگاهها و کارت شبکه، دسترسی مستقیم به حافظه و... از جمله خدمات این لایه میباشد.[15, 16, 20] کاربران محیط محاسبات ابریکاربران این محیط را میتوان به دو دسته تقسیم کرد: یکی استفاده کنندگان[53] خدمتها که تنها برای استفاده از خدمات درخواست میدهند و از آنها استفاده میکنند و بر اساس مصرف خود هزینه پرداخت میکنند. کاربران دیگر محیط محاسبات ابری اعضای[54] آن میباشند که میتوانند در تهیه خدمات همکاری کنند. مدلهای پیاده سازی1234440843915شکل ‏15 گونههای محاسبات ابری [11, 12]00شکل ‏15 گونههای محاسبات ابری [11, 12]محاسبات ابری در مدلهای مختلفی ارائه میگردد. که در چهار دسته میتوان آنها را قرار داد. در شکل (1-5) این چهار دسته را مشاهده مینمائید و در ادامه نیز به شرح آنها خواهیم پرداخت. مدل عمومی[55] اولین و رایج ترین گونه محاسبات ابری، ابر عمومی و یا ابر خارجی[56] میباشد. این گونه نخستین مدل تولید محیط محاسبات ابری میباشد. فراهم کننده سرویس خدمات را به صورت بخشهای کوچک و اشتراکی[57] در اختیار کاربران قرار میدهد.[16, 19] در پایان هر دوره مصرفی همانند صنعت برق و آب و... برای هر مشتری یک صورت حساب تهیه و ارسال میگردد. [11, 18] مدل خصوصی[58]نوع دوم مدل محاسبات ابری مدل خصوصی یا داخلی[59] میباشد. این مدل در شرکتهای خصوصی استفاده میشود. [19] این مدل را خود شرکت و یا یک فراهم کننده خدمات ابری مدیریت میکند.[16] به طور عمومی این گونه محاسبات ابری برای شرکت مورد نظر خصوصی سازی شدهاست و دارای خدماتی است که آن شرکت به آنها نیاز دارد.[6, 16] مدل دوگانه[60] نوع دیگری از محاسبات ابری مدل دوگانه یا پیوندی میباشد که بین دو یا چند ابر به صورت ارتباطات خصوصی داخلی انجام میگیرد. [19]معمولا این نوع از ابر برای پخش کردن بار ذخیره و تبادل اطلاعات بین شرکتهای مختلف همچنین استفاده از دادههای ساختار یافته و جامع ساخته میشود.[16] مدل انجمنی[61]مدل آخر مدل انجمنی میباشد که عموما به وسیله افراد و گروههای خاص برای ارائه خدمات خاصی ساخته میشود[19] در این مدل کسانی که در این خدمت خاص سررشته دارند میتوانند از آن استفاده نمایند. نمای کامل از محیط محاسبات ابریcenter834390شکل ‏16 نمای کلی از محیط محاسبات ابری[10]00شکل ‏16 نمای کلی از محیط محاسبات ابری[10]با توجه به تعاریف انجام شده درباره محاسبات ابری حال میتوان یک نمای کامل از این نوع شبکه را ببینیم. شکل (1-6) به شرح این مسئله میپردازد. همانطور که مشاهده میکنید محاسبات ابری یک سری افراد را در خود میبیند که میتوانند یا فراهم کنندگان محیط محاسبات ابری[62]، یا کاربران و یا نمایندگیهای ارائه خدمات باشند. انواع مدلهای ارائه محاسبات ابری و انواع ارائه خدمات نیز که در بالا توضیح داده شد. لایههای پیاده سازی آن نیز شامل لایه سرور، لایه مشتری، لایه محیط ذخیره سازی دادهها، لایه زیرساخت، لایه بستر، لایه خدمات و لایه برنامهها میباشد. ویژگیهای آن نیز همانند جدول (1-2) میباشد. نحوه پیادهسازی در محیط نیز میتواند به صورت محلی[63] در یک شبکه محلی و یا به صورت ارتباط از راه دور[64] و یا به صورت توزیع شده[65] باشد. اما مهمترین بخش محاسبات ابری مربوط به مشکلات امنیتی و رخنههای آن میباشد که میتوان گفت بزرگترین دغدغه در ساخت و مدیریت محیط محاسبات ابری میباشد؛ که در ادامه به شرح آنها خواهیم پرداخت. چالشهای مربوط به محاسبات ابریطبق تحقیقات انجام شده[6] در باره چالشهای مربوط به محیط محاسبات ابری تا سال 2013 مهمترین مشکلات 8 مورد میباشد که در شکل (1-7) آنها را مشاهده مینمائید. همانطور که مشخص است، بیشترین مشکلات مربوط به امنیت، در دسترسپذیر بودن، کارایی، میباشد که باید بر روی آنها کارهای جدیتری انجام گیرد. 113665-6350شکل ‏17 میزان اهمیت چالشهای مربوط به محیط محاسبات ابری تا سال 2013[6]00شکل ‏17 میزان اهمیت چالشهای مربوط به محیط محاسبات ابری تا سال 2013[6] با توجه به شکل (1-7) بزرگترین دغدغه همانا بحث امنیت محیط محاسبات ابری میباشد که با توجه به حملات و تهدیدات موجود میبایست در این حوزه کار بسیار زیادی انجام گیرد تا در زمینههای مختلف امنیت را برای کاربران فراهم نمود و رضایتایشان را جلب کرد. امنیت در محیط محاسبات ابریبا توجه به روند رو به پیشرفت و توسعه استفاده از محاسبات ابری بسیاری از شرکتها همچون Amazon، Google، Microsoft، EBye و... با صرف میلیاردها دلار به خدماتدهی به مشتریان و کاربران خود در این زمینه پرداختهاند. با توجه به این سرمایه گذاریها مطمئناایجاد امنیت برای اطلاعات مهم کاربران بسیار مهم میباشد. دو بخش بسیار مهم در محیط محاسبات ابری وجود دارد که میبایست از لحاظ امنیتی مورد توجه قرار گیرند. یکی آسیبهای ماشینهای مجازی[66] و دیگری جامعیت پیامها[67] میباشد. برای ارائه هر خدمتی میبایست یک ماشین مجازی به کاربر ارائه گردد تا در محیط کاملا کنترل شدهای[68] بتواند از خدمات استفاده نماید. این باعث میشود تا هم کاربر در محیط خود احساس امنیت کند و از در امان بودن اطلاعات خود مطمئن باشد؛ و هم اینکه کاربر نتواند به محیطهای غیرمجاز دسترسی داشته باشد و یا اینکه از محتویات سرور با خبر گردد. بنابراینایجاد امنیت در این محیط بسیار مهم میباشد تا از سوء استفاده دیگران و خرابکاری و یا دزدی اطلاعات و دیگر خطرات جلوگیری شود. نکته دوم و مهم برای حفظ امنیت، راههای ارتباطی تبادل اطلاعات بین ماشینهای مجازی با یکدیگر و یا با سرور و هرگونه محیط دیگر میباشد؛ تا از نشت اطلاعات و یا سرقت اطلاعات شخصی کاربران جلوگیری شود. بنابراین میبایست در ارسال اطلاعات از روشهای مختلفی برای جلوگیری از دزدی استفاده شود. در این راستا از روشهایی همچون رمزنگاری اطلاعات، استفاده از پروتکلهای امن و نشانه گذاری پیامها و یا تأیید صحت کاربران استفاده میشود. تهدیدات امنیتی محیط محاسبات ابریبا توجه به تحت اینترنت بودن محیط محاسبات ابری میتوان گستره بزرگی از حملات را برای آن در نظر گرفت به گونهای که میتوان گفت تمامی حملات موجود در گونههای دیگر شبکهها را در این محیط پیدا خواهیم نمود. در زیر برخی از این حملات را شرح خواهیم داد. حمله اخلال در خدمت رسانی[69]یکی از رایجترین حملات در این محیط حمله اخلال و یا انکار خدمت است که باعث مختل شدن سرویس دهنده میشود. حمله کننده در زمان مناسبی شروع به ارسال مداوم و سریع درخواست به سرویس دهنده میکند. در این حمله سیلآسا[70] اگر تعداد درخواست کنندهها و درخواستهای آن بیش از اندازه باشد باعث میشود تا میزان پردازش سرویس دهنده بالا برود و باعث اخلال در کار آن میگردد و میتواند باعث هنگ کردن پردازشگر و یا پر شدن حافظه آن و یا گم شدن درخواستها و غیره گردد.[10, 21-23] حمله شنود اطلاعات[71]اگر لایه امنیتی SSL به خوبی استفاده نشود حمله شنود اطلاعات انجام میپذیرد. در این حمله شخصی میتواند در بین افراد قرار گیرد و به شنود بپردازد و در نتیجه اطلاعات افراد را به سرقت ببرد.[10, 11, 22] بنابراین میبایست لایههای امنیتی را به خوبی تنظیم نمود تا از این گونه حملات جلوگیری شود. دزدی اطلاعات شبکه[72]اگر دادهها به خوبی رمزنگاری نشوند و از آنها محافظت نگردد به راحتی به وسیله متهاجمین مورد حمله و دستبرد قرار میگیرند. [10, 11, 22] در این حمله مهاجم به کپی برداری از اطلاعات تبادل شده و یا نفوذ به فضای نگهداری اطلاعات به سرقت آنها میپردازد. پویش درگاه[73]گاهی مهاجمان به شنود و پویش درگاههای سیستم میپردازند تا از طریق آنها در سیستم کاربران نفوذ کنند. مثلا درگاههای عمومی همچون درگاه 80 یا 8080 همواره باز هستند و از طریق آنها میتوان به نفوذ پرداخت. [10, 11] برای نمونه مهاجم میتواند از راه این درگاهها به نشر وب سرویس در سیستم کاربران بپردازد و در زمان مناسب آنها را اجرا نماید و به تخریب و یا دزدی اطلاعات دست بزند. حمله دستورات SQLتزریق دستورات SQL یعنی اینکه در جاهایی که مثلا نام کاربری و رمز عبور خواسته میشود به راحتی یک دستور پایگاه داده را قرار داد تا در زمان اجرا اطلاعات مورد نیاز را از پایگاه داده واکشی نمود. این یکی از ساده ترین راههای نفوذ در شبکه میباشد که با انجام چند عمل پیشگیرانه میتوان آنرا برطرف نمود. [10] تزریق بدافزار به ابر[74]همانطور که در بخش قبل گفته شد ماشینهای مجازی از مهمترین بخشهای ابر میباشد که همواره میتواند مورد حمله قرار گیرد. [10, 11, 22] در این راستا مهاجم میتواند بدافزار مورد نظر خود را در ماشین مجازی تزریق نماید و پس از آن به اجرای آن دست بزند. آنگاه میتواند از طریق آن به ماشین مجازی و یا سختافزار و حتی سرورها صدمههای شدید وارد نماید. نفوذ از طریق رابط کاربری ضعیفاگر رابطی که برایایجاد ارتباط با برنامهها در سرور و ماشینهای مجازی طراحی کردیم از لحاظ امنیتی ضعیف و دارای رخنههای امنیتی باشند میتوان با استفاده از آنها در سیستم نفوذ نمود. [10, 11, 22] در اینجا نیز میتوان اطلاعات مورد نیاز خود را از نشستها[75] و کوکیها[76] دریافت نمود و یا حتی فایلهای مخرب را در آنها قرار داد.[10] خودیهای مخربکاربران ابر نیز میتوانند خود باعث خرابی شوند. گاه این خرابکاری آگاهانه و گاهی ناخودآگاه میباشد. مثلا با سهل انگاری توسط کاربران زمینه برای نفوذ و یا سرقت اطلاعات برای مهاجمان فراهم میشود. کاربران باید در این زمینه آموزشهای مناسب را فرا گیرند تا از سرقت اطلاعات جلوگیری شود. حمله رباتها[77]یکی از مهمترین و رایجترین حملات در محیط محاسبات ابری که بیشتر مربوط به ماشینها مجازی میباشد، حمله رباتها میباشد. در این نوع از حمله میتوان کنترل یک یا چند سیستم کاربر را به عنوان سیستم قربانی به دست گرفت و از طریق آنها به انجام حمله پرداخت. به سیستمهای قربانی در اصطلاح زامبی[78] گفته میشود چرا که دیگر کنترل آنها در دست کاربر نیست.[6, 23-25] فنآوری مجازیسازی[79] و ماشینها مجازیمجازیسازی مزیت بزرگ و درواقع بنیانایجاد محاسبات ابری میباشد که از بسیاری از تلاشها برای دستیابی به دادهها دیگران و منابع و خرابکاری جلوگیری میکند.[26] اما همه منابع و دادهها را نمیتوان به صورت مجازی ارائه داد و همه پیادهسازیهای محاسبات ابری خالی از نقص نیستند. گاهی طراحی یک شبکه ضعیف باعث میشود که کاربران به دادهها و منابع غیرمجاز (بهصورت اتفاقی و یا با یافتن رخنهها و نقطه ضعف) دست یابند. بنابراین همواره وجود یک سری تمهیدات و ابزار محافظتی برای این نوع شبکه بسیار اهمیت دارد. این مسئله زمانی بیشتر اهمیت پیدا میکند که این شبکه همواره بزرگتر و پیچیدهتر گردد. نکته جالب توجه در اینجا این است که حتی خود فراهم کنندگان ابر نیز میتوانند به عنوان یک خطر محسوب گردند. چه اطمینانی وجود دارد که فراهم کنندگان خود از اطلاعات و دادهها و منابع سوء استفاده نکنند. با توجه به اینکه خود فراهم کننده کاملا بر دادهها و منابع اشراف دارند. مثلا میتوانند دادههای کاربران را کاوش کنند و یا از منابع برای جاسوسی و خرابکاری استفاده نمایند. به هر صورت این نوع خطر به روشهای گوناگون قابل برطرف کردن میباشد اما آسان نیست. یکی از این راههاایجاد حس اعتماد از سوی فراهم کننده برای کاربران میباشد که کاربر بتواند با خیال آسوده از امکانات فراهم شده استفاده نماید. مانیتورینگ ماشینهای مجازی[80]هایپروایزر[81] یا مانیتور ماشینهای مجازی بخشی از نرمافزار، میانافزار و سختافزار یک سیستم میباشد که به ساخت و اجرای ماشینهای مجازی میپردازد. استفاده از هایپروایزر مناسب در محاسبات ابری بسیار مهم میباشد چرا که با مدیریت مناسب و امن ماشینهای مجازی باعث امن نگه داشتن اطلاعات کاربران میشود. به سیستمی که هایپروایزر را اجرا میکند میزبان[82] گفته میشود و به ماشینهای مجازی ماشین مهمان[83] گفته میشود. انواع هایپروایزردو نوع هایپروایزر وجود دارد که در زیر به آنها اشاره میشود: هایپروایزر نوع 1 نوع اول خودش همان ماشین میزبان میباشد. بنابراین مستقیم به سختافزار دسترسی دارد و آنرا کنترل مینماید. در این نوع، هایپروایزر مستقیما به تخصیص منابع به ماشینهای مجازی میپردازد. از این نوع می توان به: Oracle VM Server for SPARC Oracle VM Server for x86 The Citrix XenServer VMware ESX/ESXi Microsoft Hyper-V 2008/2012 اشاره نمود. هایپروایزر نوع 2 در نوع دوم سیستم میزبان جدا میباشد و هایپروایزر برای دسترسی به سختافزار باید به ماشین میزبان درخواست دهد. بنابراین نمیتواند به صورت مستقیم به تخصیص منابع به ماشینهای مجازی بپردازد. از این دست نیز می توان به VMware Workstation و VirtualBox اشاره نمود. 15240386080شکل ‏1 8 دو نوع هایپروایزر الف) نوع 1 ب) نوع 2 (الف)(ب) 00شکل ‏1 8 دو نوع هایپروایزر الف) نوع 1 ب) نوع 2 (الف)(ب) در شکل (1-8) شمایی از دو نوع هایپروایزر را مشاهده مینمایید. جمع بندی درمورد محاسبات ابریبا توجه به شرح کامل محیط محاسبات ابری که در بالا انجام گردید، میتوان موارد زیر را در مورد آن بیان نمود: محیط محاسبات ابری پدیده نوین و بسیار کاربردی در مهندسی کامپیوتر میباشد که هم برای متخصصین امر و هم برای استفاده عمومی موقعیتهای کاربردی و چالشهای بهرهوری بسیار فراوانی فراهم نموده است. نیاز به اینگونه محیطهای یکپارچه با ابزارهای بسیار مفید و کاربردی روز به روز افزایش مییابد و همچنین تقاضا نیز به همان اندازه رو به افزایش است. با توجه به موارد 1 و 2، مهندسی تولید چنین محیطهایی رو به رشد میباشد و متخصصان همواره در تلاشند تا این خدمات در گستره بیشتر و با کیفیت بالاتر تهیه و ارائه گردد. ایجاد اعتماد بین کاربران از سوی فراهم کنندگان ابر بزرگترین چالش در راه ارائه ابر میباشد که میبایست با ارائه یک کار بسیار امن و راحت به وقوع بپیوندد. کاربران همواره از اینکه امکان دارد تا اطلاعات خصوصی آنها در دسترس دیگران قرار گیرند و یا به سرقت بروند در نگرانی به سر میبرند. یکی از مهمترین راههایایجاد اعتماد ارائه بستری بسیار امن میباشد که با توجه به مطالب بالا و تحقیقات انجام شده خود مهمترین چالش در ساخت محیط محاسبات ابری میباشد. طرح و هدف از این تحقیقدر مسیر تحقق امر امنیت اطلاعات در محیط محاسبات ابری همواره تلاشهای بسیار زیادی انجام گرفته است. برایایجاد محیط امن میتوان روشهای مختلفی را به کار برد. میتوان از یک قالب خاص در طراحی محیط ابری بهره برد تا ضریب امنیت اطلاعات را بالا ببریم. در این حالت میتوان از لایه بندی دسترسیها استفاده نمود و یا میتوان هرگونه درخواستی را برچسب گذاری کرد تا از صحت درخواست و همچنین اجازه دسترسی مطمئن شد. میتوان از سیستمهای تشخیص نفوذ[84] استفاده کرد و در محیط شبکه به بررسی بستههای شبکهای و یا رفتار کاربران و سیستمها پرداخت و رفتارهای مشکوک را شناسایی و برخورد مناسب را انجام داد. اینجانب نیز در راستای تحقق پایاننامه خود به مطالعه مقالات مختلف پرداختم. پس از مطالعات زیاد دریافتم که در محیط محاسبات ابری میتوان از مفهوم IDS یا سیستم تشخیص نفوذ استفاده نمود. بنابراین بر روی این مجموعه از سیستمها متمرکز شدم. با مطالعه در این زمینه دریافتم که IDS به تنهایی از روشهای مختلفی برای تشخیص حمله استفاده مینماید که با کمی تغییر در محیط محاسبات ابری نیز به خوبی قابل استفاده هستند. آنها از یادگیری ماشین[85] و محاسبات آماری[86] و تشخیص رفتارهای نامتعارف[87] برای تشخیص حمله بهره میبرند. مروری بر فصلهای بعدی پایاننامهدر فصل دوم به بیان تعاریف اولیه و پیشنیاز تحقیق از جمله تعریف سیستمهای تشخیص نفوذ خواهیم پرداخت. در فصل سوم مروری بر پیشینه تحقیق در زمینه تحقیق مورد نظر خواهیم داشت. در فصل چهار نیز به شرح مسئله و راه حل خواهیم پرداخت. در اینجا به شرح کامل چگونگی پیاده سازی تحقیق و همچنین نتایج کسب شده میپردازیم. در فصل 5 نیز نتایج به دست آمده را با کارهای پیشین مقایسه کرده و به بحث و نتیجه گیری در مورد کار انجام شده میپردازیم. در نهایت نیز منابع و مأخذ استفاده شده در این تحقیق بیان میگردد. فصل دومتعاریف و پیشنیازهامقدمهدر ادامه به تعریف مباحث مورد نیاز برای ارائه تحقیق میپردازیم. این مباحث شامل آشنایی با بدافزارها و سیستمهای تشخیص نفوذ میباشد. مروری بر بدافزارهاسیر تکاملی ویروسهای رایانهایاولین ویروسهای کامپیوتری در اوایل دهه 80 ظاهر شدند و اکثراً فایلهای خود تکرار شونده سادهای بودند که برای سرگرمی و خندهایجاد میشدند. در سال 1986 گزارش اولین ویروسی که سیستم عامل MS-DOS مایکروسافت را بر روی کامپیوترهای شخصی مورد هدف قرار داد، منتشر شد. در واقع ویروس Brain به عنوان اولین ویروس از این نوع شناخته میشود. همچنین اوایل سال 1986 شاهد اولین ویروس فایلی به نام Virdem و اولین تروجان (برنامهای که به نظر مفید یا بیخطر میرسد ولی در واقع برای دزدی اطلاعات و یا صدمه زدن به رایانه میزبان طراحی شدهاست) به نام PC-Write بودیم. تروجان مذکور خود را به عنوان یک برنامه کاربردی و محبوب Word Processor جا زده بود. همچنان که افراد بیشتری از تکنولوژی ویروسها اطلاع پیدا میکردند، تعداد ویروسها، تعداد سکوهای[88] هدف حملات، پیچیدگی ویروسها و تنوع آنها افزایش پیدا کرد. در یک بازه زمانی ویروسها بر روی سکتورهای راه اندازی[89] تمرکزکرده و بعد از آن شروع به آلوده سازی فایلهای اجرایی کردند. در سال 1988 اولین کرم اینترنتی (نوعی از بدافزار که از یک کد خرابکار برای گسترش خودکار از یک رایانه به رایانه دیگر از طریق شبکه استفاده میکند) ظاهر شد. کرم Morris منجر به کندشدن قابل توجه ارتباطات اینترنتی شده که در پاسخ به این حمله و تعدادی حملات مشابه، گروه پاسخگویی به رخدادهای رایانهای[90] با نشانی اینترنتی www.cert.org به منظور حفظ ثبات اینترنت از طریق هماهنگی در پاسخگویی به رخدادها، پایه گذاری شد. گروه مذکور از طرف دانشگاه کارنگی ملون آمریکا پشتیبانی میشود. در سال 1990، Virus Exchange BBS، به عنوان محلی برای تبادل و به اشتراک گذاشتن دانش نویسندگان ویروس، راه اندازی شد. همچنین اولین کتاب در مورد نوشتن ویروس منتشر شد و اولین ویروس چندریختی[91] (معمولاً به آن chameleon یا Casper اطلاق میشود) گسترش پیدا کرد. یک ویروس چندریختی نوعی از بدافزار است که از تعداد نامحدودی الگوریتم رمزنگاری برای مقابله با تشخیص استفاده میکند. ویروسهای چندریختی توانایی تغییر خود در هربار تکرار را دارا میباشند. این توانایی آنها را از دید برنامههای آنتی ویروس مبتنی بر امضا که برای تشخیص ویروسها طراحی شدهاند، پنهان میدارد. به این ترتیب، در اوایل دهه 90 خبر اولین حمله ویروسی چندریختی با نام Tequila منتشر شد و سپس در سال 1992 اولین موتور ویروس چندریختی و ابزار ویروس نویسی پا به عرصه ظهور گذاشت. بعد از آن ویروسها روز به روز کاملتر شدند. برخی ویروسها شروع به دسترسی به دفترچه آدرسهایایمیل و ارسال خود به آن آدرسها کردند؛ ویروسهای ماکرو خود را به فایلهای برنامههای کاربردی مانند آفیس متصل کرده و به آنها حمله میکنند؛ و ویروسهایی که مشخصاً برای سوءاستفاده از آسیبپذیریهای سیستم عاملها و برنامههای کاربردی نوشته میشوند.ایمیلها، شبکههای به اشتراک گذاری فایل (P2P)، وب سایتها، درایوهای مشترک و آسیب پذیریهای محصولات، همه و همه برای گسترش و حمله ویروسها مورد سوء استفاده قرار میگیرند. راههای نفوذ یا Backdoors (نقاط سری ورود به شبکه که توسط بدافزارهاایجاد میشوند) بر روی سیستمهای آلودهایجاد شدند تا راه را برای بازگشت مجدد نویسندگان ویروس و هکرها جهت اجرای نرمافزارهای دلخواه، باز کنند. در اینجا منظور ما از هکر یک فرد برنامه نویس رایانه یا کاربر آن است که قصد دسترسی به یک رایانه یا شبکه را به صورت غیر قانونی دارد. بعضی از ویروسها دارای موتورایمیل جاسازی شده هستند که رایانه آلوده را وادار میسازد تا مستقیماً از طریق ارسالایمیل، ویروس را انتشار دهد. همچنین نویسندگان ویروس شروع به طراحی دقیق معماری حملههای خود با استفاده از مهندسی اجتماعی کردهاند. همراه با این تکامل بدافزارها، آنتی ویروسها نیز به خوبی تکامل پیدا کردهاند. در حال حاضر بیشتر آنتی ویروسهای موجود در بازار بر مبنای امضای ویروس یا همان شناسایی مشخصههای یک بدافزار برای تشخیص کدهای مضر، عمل میکنند. به همین دلیل در فاصله زمانی بین انتشار یک ویروس جدید و شناسایی امضای آن و پخش آن بین آنتی ویروسهای مختلف، یک رشد ناگهانی در میزان آلوده سازی ویروس مشاهده میشود. اما به محض تشخیص امضای آن، روند آلوده سازی سیر نزولی پیدا میکند. بدافزار چیست؟واژه بدافزار معادل malware انگلیسی است که یک خلاصه برای Malicious Software یا نرمافزار بدخواه میباشد. واژه بدافزار به ویروس، کرم، تروجان و هر برنامه دیگری که با نیت اعمال خرابکارانهایجاد شود، اطلاق میشود. اما تفاوت ویروس و کرم در چیست؟ این دو چه تفاوتی با تروجان دارند؟ایا برنامههای کاربردی آنتی ویروس بر علیه کرمها و تروجانها نیز اقدام میکنند یا فقط به جنگ با ویروسها میروند؟ همه این سؤالها از یک منبع سرچشمه میگیرند و آن هم دنیای پیچیده و گیج کننده کدهای بدخواه است. تعداد بیشمار و تنوع زیاد در کدهای بدخواه موجود، طبقه بندی دقیق آنها را مشکل میسازد. در بحثهای کلی در مورد آنتی ویروسها، تعاریف ساده زیر برای طبقه بندی آنها به کار میرود: کرماگر کد خرابکار خود را تکثیر کند دیگر از نوع تروجان محسوب نمیشود، بنابراین سؤال بعدی که برای تعریف دقیقتر بدافزار، باید پاسخ داده شود این است: "ایا کد مورد نظر میتواند بدون نیاز به یک حامل تکثیر پیدا کند؟" در واقعایا این کد میتواند بدون نیاز به آلوده کردن یک فایل اجرایی، تکرار شود؟ اگر پاسخ به این سؤال بله باشد، کد مذکور یکی از انواع کرمهای رایانهای است. بیشتر کرمها سعی در کپی کردن خودشان در یک رایانه میزبان دارند و سپس از کانالهای ارتباطی رایانه مذکور برای گسترش خود استفاده میکنند. برای مثال کرم Sasser ابتدا با استفاده از یک آسیب پذیری سیستم هدف را آلوده میساخت و سپس از طریق اتصالات شبکه رایانه قربانی گسترش پیدا میکرد. در چنین حملاتی در صورتی که آخرین به روز رسانیهای امنیتی را بر روی سیستم خود نصب کرده (جلوگیری از آلودگی) و فایروالها را به جهت بستن درگاههای شبکهای که کرم از آنها استفاده میکند، فعال سازید(جلوگیری از انتشار)، حمله مذکور عقیم خواهد ماند. یک کرم در واقع کد خرابکاری است که خود را انتشار میدهد و قادر است به صورت خودکار در شبکهها گسترش پیدا کند. یک کرم میتواند دست به اعمال مضری مانند مصرف پهنای باند شبکه یا مصرف منابع محلی سیستم بزند و منجر به حملات انکار سرویس شود. برخی از کرمها میتوانند بدون مداخله کاربر اجرا شده و گسترش پیدا کنند در حالی که برخی از کرمها نیاز دارند کاربر آنها را مستقیماً اجرا کرده تا بتوانند گسترش پیدا کنند. کرمها علاوه بر تکرار خود قادرند یک عملیات خرابکارانه را نیز بر سیستم قربانی اعمال کنند. ویروساگر کد خرابکار یک نسخه از خود را به منظور تکرار شدن در یک فایل دیگر، پرونده یا سکتور بوت حافظه قرار دهد، آن را به عنوان یک ویروس در نظر میگیریم. این کپی میتواند یک نسخه برابر اصل یا یک نسخه تغییر یافته باشد. همان طور که قبلاً هم توضیح دادیم، ویروس غالباً شامل یک سری عملیات خرابکارانه مانند قرار دادن یک تروجان بر روی رایانه قربانی یا پاک کردن اطلاعات آن میشود. به هر حال، اگر یک ویروس تنها خود را تکثیر کند و شامل عملیات خرابکارانه نیز نشود، باز هم به عنوان یک بدافزار در نظر گرفته میشود، زیرا خود ویروس ممکن است در زمان تکثیر باعث خرابی دادهها، اشغال منابع سیستم و مصرف پهنای باند شبکه شود. در بخش بعدی، در مورد خصوصیات بدافزارها صحبت خواهیم کرد. یک ویروس قطعه کدی است که برای تکثیر خودکار نوشته شدهاست. یک ویروس تلاش میکند تا از رایانهای به رایانه دیگر گسترش پیدا کند و این کار را معمولاً از طریق اتصالش به یک برنامه میزبان انجام میدهد. ویروسها ممکن است خساراتی به سختافزار، نرمافزار یا دادهها وارد آورند. زمانی که برنامه میزبان اجرا میشود، برنامه ویروس نیز اجرا میشود و برنامههای دیگری را نیز آلوده کرده و به عنوان میزبانهای جدید از آنها استفاده میکند. گاهی اوقات ویروس، عملیات خرابکارانه دیگری را نیز روی سیستم انجام میدهد. تعاریف فوق برای طبقه بندیهای مختلف بدافزار ما را قادر میسازد تا تفاوتهای بین آنها را در یک فلوچارت ساده نشان دهیم. نمودار زیرایتمهایی را نشان میدهد که به ما کمک میکنند تشخیص دهیم یک اسکریپت در کدام طبقه میگنجد. center885190شکل ‏21 مراحل شناسایی انواع بدافزار00شکل ‏21 مراحل شناسایی انواع بدافزارشکل (2-1) به ما کمک میکند تا تفاوت بین هر کدام از کدهای خرابکار معمول را تشخیص داده و طبقه بندی آن را شناسایی کنیم. البته طبقه بندیهای متفاوتی در مورد بدافزارها وجود دارند که در اینجا پرطرفدارترین آن آورده شدهاست. به هرحال باید در نظر داشته باشیم که ممکن است در یک حمله به کدی برخورد کنیم که در بیش از یکی از این طبقه بندیها بگنجد. به این حملهها تهدید ترکیبی[92] گفته میشود که شامل بیش از یک نوع بدافزار شده و از بردارهای حمله چندگانه استفاده میکنند. حملههایی از این نوع میتوانند با سرعت بیشتری گسترش پیدا کنند. یک بردار حمله مسیری است که بدافزار میتواند از آن برای پیش بردن حمله استفاده کند. به همین دلیل مقابله با حملههای ترکیبی کار مشکلی است. در زیر توضیحات مفصل تری در مورد هر یک از انواع بدافزار آوردهایم تا عناصر اصلی هر کدام از آنها را روشن تر سازیم. تروجانبرنامهای است که ظاهراً مفید یا بی خطر به نظر میرسد ولی شامل کدهای پنهانی است که برای سوءاستفاده یا صدمه زدن به سیستمی که بر روی آن اجرا میشود، به کار میرود. اسبهای تروا معمولاً از طریقایمیلهایی که هدف و کارکرد برنامه را چیزی غیر از حقیقت آن نشان میدهند، برای کاربران ارسال میشوند. به چنین برنامههایی کدهای تروجان هم گفته میشود. اسب تروا زمانی که اجرا میشود یک عملیات خرابکارانه را بر سیستم اعمال میکند. در اینجا، واژه عملیات خرابکارانه یا Payload اصطلاحی است برای مجموعهای از کنشهایی که یک حمله بدافزاری بعد از آلوده کردن سیستم، بر روی رایانه قربانی انجام میدهد. اسب تروا از آنجایی که خود را انتشار نمیدهد به عنوان یک ویروس رایانهای یا کرم نیز در نظر گرفته نمیشود. به هر حال معمولاً برای کپی کردن یک تروجان بر روی یک سیستم هدف، از یک ویروس یا کرم رایانهای استفاده میشود. به پروسه فوق dropping گفته میشود. هدف اصلی یک اسب تروا خراب کردن کار کاربر یا عملیات معمولی سیستم است. برای مثال تروجان ممکن است یک در پشتی را در سیستم باز کند تا هکر بتواند به سرقت اطلاعات پرداخته یا پیکربندی سیستم را تغییر دهد. دو اصطلاح معادل دیگر نیز وجود دارند که منظور از آنها همان تروجان است و عبارتند از RAT و Rootkit. تروجان دسترسی از راه دور[93]برخی از تروجانها به هکر اجازه کنترل از راه دور سیستم را میدهند. به این برنامهها RAT یا در پشتی نیز گفته میشود. نمونههایی از RATها عبارتند از: Back Orifice، Cafeene و SubSeven. برای اطلاعات بیشتر در این مورد میتوانید به مقالهای از مایکروسافت در همین زمینه مراجعه نمایید. روتکیت[94]اصطلاح فوق برای مجموعهای از برنامههای نرمافزاری به کار میرود که هکر از آنها برای به دست آوردن دسترسی از راه دور غیر مجاز به رایانه هدف بهره میبرد. این برنامهها معمولاً از تکنیکهای متفاوتی مانند نظارت بر کلیدهای فشرده شده بر روی صفحه کلید، تغییر فایلهای ثبت رویداد یا نرمافزارهای کاربردی سیستم،ایجاد یک در پشتی بر روی سیستم و حمله به رایانههای دیگر از طریق شبکه استفاده میکنند. روتکیتها معمولاً شامل یک سری ابزار سازمان یافته هستند که برای هدف قرار دادن سیستم عامل خاصی تنظیم شدهاند. اولین روتکیتها در اوایل دهه 90 میلادی مشاهده شدند و در آن زمان سیستم عاملهای Sun و لینوکس هدف اصلی حملات بودند. در حال حاضر روتکیتها برای اغلب سیستم عاملها از جمله سیستم عاملهای مایکروسافت وجود دارند. توجه: دقت داشته باشید که ممکن است RATها و ابزارهای دیگری که روتکیتها را تشکیل میدهند، حق دسترسی قانونی را برای کنترل از راه دور یا نظارت دارا باشند. به هرحال این ابزارها خطر کلی را در محیطی که استفاده میشوند، افزایش میدهند. مروری بر سیستمهای تشخیص نفوذتشخیص نفوذ عبارت است از تحلیل بی درنگ دادههای شبکه به منظور تشخیص و ثبت و اخطار به هنگام بروز حملات و یا اقدامات مخرب امنیتی. در عمل انواع مختلفی از روشهای تشخیص حمله وجود دارد که با توجه با انواع مختلف اقدامات درون شبکه قادر هستند اقدامات مخرب و نفوذی را کشف کنند. در عین این سیستمها از بخشهای مختلفی تشکیل شدهاند و به طرق مختلفی این اجزا میتوانند در کنار هم قرار گیرند و عملکرد خاصی راایجاد کنند. در این بخش به ارائه چارچوب کلی در مورد امنیت شبکه و سیستمهای کامپیوتری میپردازیم. ابتدا انواع حملات و تهدیدهای موجود در شبکههای کامپیوتری را طبقه بندی میکنیم. سپس به طبقه بندی سیستمهای تشخیص نفوذ از حیث ساختار میپردازیم. در نهایت هم در مورد تکنولوژیهای تشخیص نفوذ و کارکردهای مختلف این ابزارها در مدیریت و حفظ امنیت و نظارت بر شبکههای کامپیوتری بحث میکنیم. انواع حملات شبکهانواع حملات با توجه به حمله کننده به این شرح است: انواع حملات شبکهای با توجه به طریقه حملهیک نفوذ به شبکه معمولا یک حمله قلمداد میشود. حملات شبکهای را میتوان بسته به چگونگی انجام آن به دو گروه اصلی تقسیم کرد. یک حمله شبکهای را میتوان با هدف نفوذگر از حمله توصیف و مشخص کرد. این اهداف معمولا از کار انداختن سرویس ( DoS) یا دسترسی غیر مجاز به منابع شبکه است. حملات از کار انداختن سرویس: در این نوع حملات مهاجم استفاده از سرویس ارائه شده توسط ارائه کننده خدمات برای کاربرانش را مختل میکند. در این حملات حجم بالایی از درخواست ارائه خدمات به سرور فرستاده میشود تا امکان خدمات رسانی را از آن بگیرد. در واقع سرور به پاسخگویی به درخواستهای بی شمار مهاجم مشغول میشود و از پاسخگویی به کاربران واقعی باز میماند. حملات دسترسی به شبکه: در این نوع از حملات نفوذگر امکان دسترسی غیر مجاز به منابع شبکه را پیدا میکند و از این امکان برای انجام فعالیتهای غیر مجاز و حتی غیر قانونی استفاده میکند. برای مثال از شبکه به عنوان مبدا حملات DoS خود استفاده میکند تا در صورت شناسایی مبدا، خود گرفتار نشود. دسترسی به شبکه را میتوان به دو گروه تقسیم کرد. دسترسی به داده: در این نوع دسترسی، نفوذگر به داده موجود بر روی اجزا شبکه دسترسی غیر مجاز پیدا میکند. حمله کننده میتواند یک کاربر داخلی یا یک فرد خارج از مجموعه باشد. دادههای ممتاز و مهم معمولا تنها در اختیار بعضی کاربران شبکه قرار میگیرد و سایرین حق دسترسی به آنها را ندارند. در واقع سایرین امتیاز کافی را جهت دسترسی به اطلاعات محرمانه را ندارند، اما میتوان با افزایش امتیاز به شکل غیر مجاز به اطلاعات محرمانه دسترسی پیدا کرد. این روش به تعدیل امتیاز[95] مشهور است. دسترسی به سیستم: این نوع حمله خطرناکتر و بدتر است و طی آن حمله کننده به منابع سیستم و دستگاهها دسترسی پیدا میکند. این دسترسی میتواند شامل اجرای برنامهها بر روی سیستم و به کارگیری منابع آن در جهت اجرای دستورات حمله کننده باشد. همچنین حمله کننده میتواند به تجهیزات شبکه مانند دوربینها، پرینترها و وسایل ذخیره سازی دسترسی پیدا کند. حملات اسب ترواها، حمله تست همه حالات ممکن[96] و یا استفاده از ابزارهایی جهت تشخیص نقاط ضعف یک نرمافزار نصب شده بر روی سیستم از جمله نمونههای قابل ذکر از این نوع حملات هستند. فعالیت مهمی که معمولا پیش از حملات DoS و دسترسی به شبکه انجام میشود، شناسایی[97] است. یک حمله کننده از این فاز جهت یافتن حفرههای امنیتی و نقاط ضعف شبکه استفاده میکند. این کار میتواند به کمک بعضی ابزارهای آماده انجام پذیرد که به بررسی درگاههای باز و در حال کار رایانههای موجود بر روی شبکه میپردازند و آمادگی آنها را جهت انجام حملات مختلف بر روی آنها بررسی میکنند. انواع حملات شبکهای با توجه به حمله کنندهحملات شبکهای را میتوان با توجه به حمله کننده به چهار گروه تقسیم کرد: حملات انجام شده توسط کاربر مورد اعتماد ( داخلی ): این حمله یکی از مهمترین و خطرناکترین نوع حملات است، چون از یک طرف کاربر به منابع مختلف شبکه دسترسی دارد و از طرف دیگر سیاستهای امنیتی معمولا محدودیتهای کافی درباره این کاربران اعمال نمیکنند. حملات انجام شده توسط افراد غیر معتمد ( خارجی): این معمولترین نوع حمله است که یک کاربر خارجی که مورد اعتماد نیست شبکه را مورد حمله قرار میدهد. این افراد معمولا سختترین راه را پیش رو دارند زیرا بیشتر سیاستهای امنیتی درباره این افراد تنظیم شدهاند. حملات انجام شده توسط مهاجمهای بی تجربه: بسیاری از ابزارهای حمله و نفوذ بر روی اینترنت وجود دارند. درواقع بسیاری از افراد میتوانند بدون تجربه خاصی و تنها با استفاده از ابزارهای آماده برای شبکهایجاد مشکل کنند. حملات انجام شده توسط کاربران مجرب: مهاجمهای با تجربه و حرفهای در نوشتن انواع کدهای خطرناک متبحرند. آنها از شبکه و پروتکلهای آن و همچنین از انواع سیستمهای عامل آگاهی کامل دارند. معمولا این افراد ابزارهایی تولید میکنند که توسط گروه اول به کار گرفته میشوند. آنها معمولا پیش از هر مرحله، آگاهی کافی درباره هدف خود و آسیب پذیریهای آن کسب میکنند. مکملهای سیستمهای تشخیص نفوذ در برقراری امنیت همانطور که گفته شد، سیستمهای تشخیص نفوذ به عنوان یکی از راه کارهای برقراری امنیت در شبکههای کامپیوتری مورد استفاده قرار میگیرند. به عبارت دیگر این سیستمها یکی از فناوریهای مورد استفاده برای برقراری امنیت هستند و از گذشته سیستمهای دیگری به صورت مکمل در کنار این سیستمها برای برقراری امنیت استفاده میشدند که هر کدام جایگاه خاصی در برقراری امنیت دارند. در اینجا به معرفی دیواره آتش، سازوکارهای رمزنگاری و تایید هویت و نیز لیستهای کنترل دسترسی میپردازیم. [27] دیواره آتش[98]دیواره آتش به عنوان یکی از قدمیترین و شناختهشده ترین راه حلهای مقابله با نفوذ در شبکههای کامپیوتری مورد استفاده قرار گرفته است. دیواره آتش میتواند بر اساس تنظیمات مدیر سیستم، انواع سیاستهای امنیتی را اعمال کند. از جمله تعیین جریانهای مجاز، تعیین امکان برقراری ارتباطات از بیرون شبکه و نیز تعیین سرویسهای مجاز برای کاربران خارج از شبکه. در حالت کلی دو نوع سیاست عمده در دیوارههای آتش مورد استفاده قرار میگیرد: امکان عبور به ارتباطاتی که به طور صریح منع نشدهاند. جلوگیری از تمام ارتباطات و جریانها مگر آنهایی که به طور صریح برای آنها مجوز وجود دارد. نوع دوم بیشتر مورد استفاده است ولی با وجود استفاده از چنین سیاستی حمله کننده میتواند از همین روزنههای تعریف شده به سیستم آسیب برساند. برای مثال دیواره آتشی که اجازه عبور ترافیک وب را بر روی درگاه 80 میدهد، این امکان را فراهم میکند تا حمله کننده در پوشش ترافیک وب باایجاد ارتباطات زیاد میانگیر[99] سرور را پر کند و یا با مشغول کردن منابع آن امکان سرویس دهی آن را از بین ببرد، چیزی که به عنوان حملات جلوگیری از سرویسدهی شناخته میشود. یکی از تفاوتهای دیگری که بین سیستمهای تشخیص نفوذ و دیوارههای آتش وجود دارد این است که دیواره آتش معمولا در نقطه دسترسی شبکه قرار میگیرد و جریانهای وارد شونده و یا خارج شونده از شبکه در صورت امکان از آن عبور میکنند. این در حالی است که سیستمهای تشخیص نفوذ به عنوان اجزایی منفعل در شبکه عمل میکنند و مسئولیت پاسخدهی مربوط به سیستمهای پاسخ در برابر حمله است ( این پاسخ بر اساس معیارهای مختلف به منظور بهینه سازی پارامترهای در دسترس بودن سیستم برای کاربران در مقابل حفظ امنیت آن، پاسخ مورد نظر در مقابل اقدامات مشکوک را تعیین میکنند). سیستمهای تشخیص نفوذ با حسگرهای خود ترافیک شبکه را پویش میکنند و انواع محدودی از آن وجود دارند که برای کاربری در نقاط دسترسی شبکه مثل مسیریابها [100]مورد استفاده قرار میگیرند. یکی از روشهایی که سیستمهای تشخیص نفوذ به همراه دیواره آتش مورد استفاده قرار میگیرند این است که حسگر در نقاط خارج از شبکه قبل از دیواره آتش، در ناحیه به اصطلاح « غیر نظامی » قرار گیرند و تمام ارتباطات وارد شونده به شبکه را پویش کنند. همچنین سیستم تشخیص نفوذ میتواند ارتباطات درون شبکه را پویش کند و بر اساس رخدادهای در جریان سیاست امنیتی دیواره آتش را تعیین کند. ساز و کارهای رمزنگاری و تایید هویترمزنگاری یکی از معمولترین و موثرترین راه کارهای حفظ امنیت اطلاعات میباشد. این مکانیزم قادر است انتقال نقطه به نقطه مطمئن را برای اطلاعات فراهم کند. این انتقال میتواند بین مشتریها و یا سرورها و مسیریابها نیز باشد. با این حال رمزنگاری نمیتواند به تنها راه حفظ امنیت بدل شود. فرض کنید یک سرور وب با استفاده از رمزنگاری قصد حفظ امنیت را داشته باشد (با استفاده از پروتکل لایه انتقال SSL). این رمزنگاری برای کاربرانی که فقط قصد مرور صفحات را دارند کاری بی فایده خواهد بود. از طرفی خطرات دیگری این سرور را تهدید میکند. با پیدا شدن یک شکاف امنیتی در شبکه اطلاعات موجود در دیسک میتوانند در معرض تهدید حمله کننده واقع شوند. همچنین درمورد حملات DoS سیستم بی دفاع است. درمورد مکانیزمهای تصدیق هویت هم باید گفت استفاده از رمز عبور نمیتواند در مورد کاربرانی که رمز عبور ضعیف دارند خیلی کارساز باشد. لیستهای کنترل دسترسی لیستهای کنترل دسترسی مجموعه قوانینی هستند که دیوارههای آتش و مسیریاب برای محدود کردن عبور ترافیک و دسترسیهای خاص مورد استفاده قرار میدهند. این لیستها به تنهایی قابلیت مقابله با حملات را ندارند، بلکه بر اساس سیاست امنیتی میتوان این لیستها را به دیواره آتش و مسیریابها اعمال کرد و بر اساس آن میتوان جلو دسترسی محدوده خاصی از آدرسهای IP را به سرویسهای خاص گرفت. همچنین دیوارههای آتش و مسیریابها میتوانند از طرف مدیر سیستم به نحوی پیکربندی شوند که نسخههای گزارشی مربوط به فعالیتهای انجام شده، ارتباطات بلوکه شده و دیگر هشدارهای صادره را ارائه کنند. انواع سیستمهای تشخیص نفوذسیستمهای تشخیص نفوذ با توجه به نحوه کاربری و محل نصب و میزبان یا شبکهای که از آن محافظت میکنند، میتوان مبتنی بر میزبان، شبکه یا به صورت توزیع شده عمل کنند. سیستمهای تشخیص نفوذ مبتنی بر میزبان[101]این سیستمها از یک میزبان در مقابل عملیات نفوذی و مخرب محافظت میکند.[27] این سامانه محافظتی بر روی سیستم اجرا میشود و تمام فعالیتها و فرآیندهای درون سیستم را کنترل میکند. HIDS میتواند واسط شبکهای را نیز پویش دهد و بر دسترسیهایی که از خارج به سیستم میشود، نظارت کند. این نوع از سیستم تشخیص نفوذ بر روی خود سیستم اجرا میشود و از منابع خود سیستم مثل حافظه و پردازنده و... استفاده میکند. HIDS عمل کنترل دسترسیها را انجام میدهد و بررسی میکند که چه پردازههایی از چه منابعی استفاده میکنند. برای مثال دسترسی یک برنامه با عنوان پردازشگر متن به اطلاعات حساس سیستم مثل رمز محل ذخیره عبور، یک اقدام مشکوک است. همچنین به بررسی مداوم وضعیت سیستم میپردازد و منابع سختافزاری و اطلاعاتی سیستم را در مورد دسترسی و ویرایش توسط عوامل مشکوک بررسی میکند. امروزه بسیاری از برنامههای امنیتی تحت عنوان ضد ویروس برای حفظ امنیت سیستم کامپیوتری به کار میروند. این سیستمها بیشتر وقت خود را صرف کنترل دسترسی پردازهها میکنند. این که هر کدام از پردازهها به چه منابعی میتواند و یا نمیتوانند دسترسی داشته باشد. یک HIDS میتواند سیاستهای امنیتی خاص را بر روی سیستم اعمال کند و در مقابل حملات منجر به اشباع شدن منابع سیستم از آن حفاظت کند. در بسیاری از موارد حمله کننده عملیات نفوذ را در چند مرحله صورت میدهند (مهاجمها). در بیشتر موارد هدف چنین مهاجمهایی تصاحب منابع سیستم است، به نحوی نرمافزار خاصی بر روی سیستم نصب کنند و یا تغییر مورد نظر خود را در اطلاعات سیستمایجاد کنند. از نظر تئوری کشف تمام اقدامات نفوذی به این نحو امکان پذیر است بسیاری از این اقدامات توسط سیستمهای تشخیص نفوذ تحت شبکه (NIDS) کشف میشوند. سیستمهای HIDS در تکمیل کار NIDS سعی در کشف نفوذهای کشف نشده توسط NIDS دارند. به لحاظ تکنیکی راه حلهای نرمافزاری برایایجاد همکاری بین این دو سیستم امکان پذیر است. عمل نظارت معمولا به این صورت انجام میشود که از تمام اشیاءهای[102] سیستمی مهم (به طور معمول اشیاءهای سیستم فایل) یک نمونه درهمسازی[103] شده تولید میشود و در یک پایگاه داده مطمئن ذخیره میشود. به مرور زمان با بررسی آن میتوان فهمید که کدام یک از اشیاءهای سیستم دچار تغییر ناخواسته شدهاند. همچنین HIDS میتواند دسترسی به نقاط حساس سیستم را کنترل کند. به عنوان مثال قسمتهای خاصی از فضای حافظه یا جدول فراخوانیهای سیستمی مربوط به سیستم عامل. سیستمهای تشخیص نفوذ مبتنی بر شبکه[104]این سیستمها در بستر شبکه فعالیت میکنند و با پویش ترافیک شبکه و تحلیل آن در تمام لایههای مختلف شبکه، به دنبال کشف نشانههای اقدامات نفوذی و یا حملات هستند.[27] انواع حملاتی که در سطح شبکه میتوانند وجود داشته باشند شامل حملات DoS، حملات پویش درگاه هستند. معمولا این سیستمها از چندین حسگر نقاط مختلف برای دریافت ترافیک شبکه برخوردارند. ویژگیهای دریافت شده از این ترافیک به پایگاه مرکزی تحلیل فرستاده میشود تا بر اساس روشهای مختلف تشخیص نفوذ، اقدامات نفوذی آشکار شوند. اجزای تشکیل دهنده سیستمهای تشخیص نفوذ مبتنی بر شبکهاجزای اصلی این سیستمها عبارتند از حسگر، سرور مدیریت و تحلیل، سرور پایگاه داده، چندین واسط کاربری و سرورهای پایگاه داده. حسگر جزئی است که ترافیک شبکه مربوط به یک یا چند بخش را پویش میکند. واسط شبکهای حسگرها طوری پیکربندی شدهاند که تمام بستههای دریافتی را بدون در نظر گرفتن آدرس مقصد دریافت میکند. تمام حسگرها در یکی از این دو نوع هستند: نوع مبتنی بر سختافزار: این نوع حسگر شامل سختافزار خاصمنظوره[105] طراحی شده که به همراه نرمافزار اجرا شوند بر روی آن است. سختافزار برای استفاده جهت کاربرد حسگر بهینه سازی شدهاست و کارتهای واسط شبکهای خاصی بر روی آنها قرار گرفته که تمام ترافیک عبوری را دریافت میکند. این افزارها معمولا شامل سیستم عاملی هستند که به صورت مستقیم توسط مدیر سیستم مورد دسترسی نیست، ولی واسط نرمافزاری مناسب امکان ارتباط با کاربر و بخشهای دیگر سیستم تشخیص نفوذ را فراهم میکند. نوع مبتنی بر نرمافزار: ابزار تشخیص نفوذ به عنوان یک نرمافزار عرضه میشود. در این حالت ممکن است نرمافزار به همراه سیستم عامل مربوط به آن ارائه شود یا آنکه نرمافزار قابل نصب بر روی سیستم عاملهای همه منظوره باشد. بسیاری از ابزارهای تشخیص نفوذ در این حالت قابل پیکربندی هستند. معماری شبکهای و جایگذاری حسگرهابرای نصب سیستم، ابتدا باید تصمیم گرفته شود که شبکه مدیریت راه اندازی شود یا آنکه ارتباطات سیستم مدیریت و تشخیص نفوذ، بر روی بستر شبکه اصلی صورت پذیرد. بعد از این مرحله باید در مورد حالت کاری حسگرها تصمیم گیری شود. حسگرهای IDS میتوانند در حالت بی اثر[106] یا بر خط[107] پیکربندی شوند. حالت بر خط center2623185شکل ‏22 جایگذاری IDS با استفاده از حسگرهای بر خط00شکل ‏22 جایگذاری IDS با استفاده از حسگرهای بر خطدر این حالت حسگر به نحوی پیکربندی میشود که کل ترافیک شبکه مربوط به آن باید از آن گذر کند. به این منظور حسگر دارای دو واسط شبکهای است، یکی برای ورود ترافیک و یکی برای خروج ترافیک. بیشتر حسگرهای دارای این قابلیت به عنوان یک ابزار میانی با ویژگیهای «دیوار آتش» و «سیستم تشخیص و جلوگیری از نفوذ[108]» شناخته میشوند. این ابزارها قابلیت بلوکه کردن ترافیک مربوط به حمله را دارا میباشند. به علت عبور ترافیک از این حسگرها باید قابلیتهای سختافزاری و نرمافزاری آن به نحوی باشد که به گلوگاه بهرهوری تبدیل نشود. بر طبق پیشنهاد بنیاد بین المللی استاندارد و فناوری[27] توپولوژی شکل (2-2) برای همبندی اجزای سیستمهای تشخیص نفوذ تحت شبکه پیشنهاد شدهاست. در این ساختار حسگر IDS بعد از درگاه شبکه اینترنت عمومی و دیواره آتش قرار میگیرد. این حسگر دو واسط شبکهای برای ورود و خروج ترافیک و نیز یک واسط برای ارتباط با شبکه مدیریت دارد. با وجود دیواره آتش بعد از تشخیص نفوذ امکان اعمال سیاستهای مسدودسازی برای محدوده آدرس IP خاص در دورههای زمانی مشخص وجود دارد. همچنین حسگر IDS به محض تشخیص حمله امکان پاسخ سریع و بلوکه کردن آن را دارد. مدیریت و پیکربندی حسگرهای IDS از طریق سرور مرکزی مدیریت انجام میشود. دسترسی به این سرور و انجام پیکربندیهای مدیریتی نیز معمولا از طریق کنسولهای کاربری بر روی سیستمهای دیگر صورت میپذیرد. این سیستم همچنین میتواند دارای پایگاه داده باشد. حالت بی اثر در این حالت حسگرها یک کپی از ترافیک واقعی شبکه را پویش میکنند و امکان بلوکه کردن مستقیم ترافیک را ندارند. بیشتر سوئیچهای شبکه دارای یک درگاه به نام درگاه پوشان هستند که تمام ترافیک مربوط به همه درگاهها روی آن قرار داده میشود. با اتصال واسط شبکهای IDS به این درگاه امکان دسترسی به تمام ترافیک شبکه وجود دارد. همچنین امکان انشعاب مستقیم از لینک ارتباطی وجود دارد[109]. حسگرهای تشخیص نفوذ میتوانند در نقاط کلیدی شبکه و در ورودی قسمتهای مختلف قرار گیرند. از جمله جاهای مهم عبارتند از : بعد از دیواره آتش، در ابتدای ناحیه غیر نظامی[110] و همچنین در ورودی شبکه داخلی. ناحیه غیر نظامی زیر شبکه منطقی یا فیزیکی است که شامل سرویس دهندههایی مانند وب،ایمیل و... به شبکه اینترنت خارجی است. برای دسترسی به این سرویسها امکانایجاد ارتباط از خارج شبکه، نیاز است، که این مساله موجبایجاد آسیب پذیری در مورد حملات میشود. با جدا کردن این ناحیه از بقیه شبکه داخلی سازمان توسط دیواره آتش مجزا از شبکه داخلی سازمان در مورد حملات و نفوذهای احتمالی حفاظت میشود. در حالت کلی میتوان گفت سطح امنیتی و سیاست امنیتی این ناحیه نسبت به شبکه داخلی متفاوت و پایین تر است، به همین خاطر به آن ناحیه غیر نظامی گفته میشود. امکان توزیع ترافیک بین حسگرها در نقاطی که ترافیک عبوری سنگین دارند، با استفاده از تسهیم کننده ترافیک وجود دارد. این ویژگی در سیستمهای شبکهای توزیع شده به تفصیل مورد بررسی قرار میگیرد. مانند حالت قبل هر کدام از حسگرها خواه با استفاده از شبکه مدیریت یا با استفاده از بستر شبکه اصلی با سرورهای مدیریت ارتباط برقرار میکنند. در این سیستمها انتخاب پاسخ مناسب برای حمله در سرور مدیریت اتفاق میافتد که سیاست مربوطه میتواند از طریق دیواره آتش اعمال شود.سیستمهای توزیع شدهامروزه با روند افزایش پهنای باند شبکهها و نیاز به پویش بی وقفه این دادهها، سیستمهای تشخیص نفوذ تحت شبکه هم باید همگام با آنها توسعه پیدا کنند. امروزه روشهای معماریهای متمرکز مبتنی بر شبکه، جوابگوی شبکههای امروزی نیست[3]. این روشها برای تشخیص حملات چند مرحلهای و نگهداری وضعیت انواع ارتباطات و نیز مراودات پروتکلی در جریان، به خاطر وجود یک نقطه سرویس دهی، سیستم دچار کوبیدگی و افت گذردهی میشود. الگوریتمهای تشخیص نفوذ مبتنی بر یک سری قوانین هستند که به سرعت در حال بزرگ شدن هستند.ایجاد IDSهای توزیع شده نیاز به تمهیداتی برای معماری شبکهای، نرمافزار مناسب برای عملکرد توزیع شده و تقسیم ترافیک شبکه بین بخشهای موازی دارد. center708660شکل ‏23 معماری IDSهای توزیع شده با استفاده از حسگرهای بی اثر و با امکان توزیع بار00شکل ‏23 معماری IDSهای توزیع شده با استفاده از حسگرهای بی اثر و با امکان توزیع باربرای عملکرد IDSهای توزیع شده، دو نوع تکنیک مطرح وجود دارد: تقسیم ترافیک[111] و متعادل کردن بار[112][3]. شکل (2-3) بیانگر این معماری است. روشهای مبتنی بر تقسیم ترافیک بیشتر بر اساس جریانهای دادهای و سیاستهای امنیتی و ساختار IDS با این هدفها کار میکنند:

موافقین ۰ مخالفین ۰ ۹۶/۰۷/۱۰
postem postem

نظرات  (۰)

هیچ نظری هنوز ثبت نشده است

ارسال نظر

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی