چکیده

شناسایی برخط بدافزارها در محیط محاسبات ابری

به کوشش

محمد باقر نظری

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

عنوانصفحه
فصل نخست: مقدمه1
1-1-پیش‌گفتار2
1-2-محاسبات ابری3
1-2-1-تاریخچه4
1-2-2-راهکارهای ارائه شده در محاسبات ابری5
1-2-3-ویژگیهای محاسبات ابری7
1-2-4ساختار محاسبات ابری8
1-2-4-1معماری8
1-2-4-2فراهم کننده سرویس ابر10
1-2-4-3-انواع ارائه خدمت11
1-2-4-4-کاربران محیط محاسبات ابری13
1-2-4-5-مدلهای پیاده سازی13
1-2-5-نمای کامل از محیط محاسبات ابری16
1-2-6-چالشهای مربوط به محاسبات ابری17
1-2-7-امنیت در محیط محاسبات ابری18
1-2-7-1-تهدیدات امنیتی محیط محاسبات ابری19
1-2-8-فنآوری مجازیسازی و ماشینهای مجازی23
1-2-9-مانیتورینگ ماشینهای مجازی23
1-2-9-1-انواع هایپروایزر24
1-2-10-جمع بندی درمورد محاسبات ابری25
1-3-طرح و هدف از این تحقیق26
1-4-مروری بر فصلهای بعدی پایاننامه27
فصل دوم: تعاریف و پیشنیازها28
2-1-مقدمه29
2-2-مروری بر بدافزارها29
2-2-1-سیر تکاملی ویروسهای رایانهای29
2-2-2-بدافزار چیست؟31
2-2-2-1-کرم32
2-2-2-2-ویروس33
2-2-2-3-تروجان34
2-2-2-4-تروجان دسترسی از راه دور35
2-2-2-5-روتکیت36
2-3مروری بر سیستمهای تشخیص نفوذ36
2-3-1-انواع حملات شبکه37
2-3-1-1-انواع حملات شبکهای با توجه به طریقه حمله37
2-3-1-2-انواع حملات شبکهای با توجه به حمله کننده39
2-3-2-مکملهای سیستمهای تشخیص نفوذ در برقراری امنیت40
2-3-2-1-دیواره آتش40
2-3-2-2-ساز و کارهای رمزنگاری و تایید هویت41
2-3-2-3-لیستهای کنترل دسترسی42
2-3-3-انواع سیستمهای تشخیص نفوذ42
2-3-3-1-سیستمهای تشخیص نفوذ مبتنی بر میزبان43
2-3-3-2-سیستمهای تشخیص نفوذ مبتنی بر شبکه44
2-3-3-3-سیستمهای توزیع شده48
2-3-4-انواع روشهای تشخیص حمله52
2-3-4-1روشهای مبتنی بر امضا52
2-3-4-2روشهای تشخیص حمله مبتنی بر ناهنجاری54
2-3-4-3-روشهای مبتنی بر تحلیل حالت پروتکل ارتباطی56
2-3-5-تکنولوژیهای سیستمهای تشخیص نفوذ58
2-3-5-1-اجزای سامانههای تشخیص نفوذ58
2-3-5-2-ساختار و همبندی اجزای سیستم تشخیص نفوذ59
2-3-5-3-عملکرد امنیتی سیستمهای تشخیص نفوذ60
2-3-5-4-قابلیتهای مدیریتی ابزارهای تشخیص نفوذ63
2-3-6-ویژگیهای ابزار تشخیص نفوذایده آل67
2-3-6-1-دقت بالا، نرخ تشخیص بالا و کم بودن هشدارهای نادرست67
2-3-6-2-نحوه واکنش وایجاد هشدار و کار با IDSهای دیگر68
2-3-6-3-قابلیتهای پیکربندی و تنظیمات فاز نصب و سازگاری با شرایط سیستم69
2-3-6-4-امکان اعمال سیاست امنیتی در نسخه امنیتی یا با استفاده از قوانین کارآمد69
2-3-6-5-مقیاس پذیری و توزیع پذیری70
2-3-6-6-اجرای مداوم و تحمل پذیری خطا70
2-3-6-7-قابلیت تشخیص حملات دیده نشده71
2-3-6-8- بهرهوری و عملکرد مناسب71
2-3-6-9-کار با حداقل سربار و امکان بررسی عملکرد و بهرهوری ابزار تشخیص نفوذ72
فصل سوم : پیشینه تحقیق74
3-1-ترکیب فیلترینگ و روشهای آماری برای تشخیص ناهنجاری75
3-2-تجزیه و تحلیل سیگنال ناهنجاریهای ترافیک شبکه76
3-3-یک چارچوب سیستمهای تشخیص نفوذ مشارکتی برای شبکههای محاسبات ابری77
3-4-شناسایی حمله در ابر79
3-5-سیستمهای تشخیص نفوذ و مدیریت ورودی چند سطحی در محاسبات ابری81
3-6-جایگذاری یک NIDS در یک محیط محاسبات ابری82
3-7-ابرهای دو قلو: یک معماری برای محیط ابری امن82
فصل چهارم : مدل پیشنهادی84
4-1-مقدمه85
4-2-سیستم تشخیص حمله بر اساس دسته بندی ماشینهای درون محیط87
4-2-1-شرح قالب پیشنهادی87

شما می توانید تکه های دیگری از این مطلب را با جستجو در همین سایت بخوانید

4-2-1-1-بخش ساخت قوانین88
4-2-1-2-بخش شناسایی ماشینها و پیاده سازی پروفایل91
4-2-1-3-بخش شناسایی حمله92
4-2-1-4-بخش پیشگیری94
4-2-2-بررسی مزایا و معایب سیستم پیشنهادی95
4-3-پیاده سازی آزمایشی و تحلیل نتایج97
4-3-1-جزئیات کد آزمایش97
4-3-1-1-بخش ساخت قوانین97
4-3-1-2-بخش شناسایی ماشینها و ساخت پروفایل102
4-3-1-3-بخش شناسایی102
4-3-1-4-بخش پیشگیری103
4-3-2نتیجه نمونه آزمایش انجام شده103
4-3-2-1-پایگاه داده سیستم104
فصل پنجم: بحث و نتیجهگیری 116
5-1-مقدمه117
5-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- فصل نخست
1- مقدمه
1-1- پیش‌گفتار
سیر تکاملی محاسبات به گونهای است که میتوان آن را پس از آب، برق، گاز و تلفن به عنوان عنصر اساسی پنجم فرض نمود. در چنین حالتی، کاربران سعی میکنند بر اساس نیازهایشان و بدون توجه به اینکه یک سرویس در کجا قرار دارد و یا چگونه تحویل داده میشود، به آن دسترسی یابند. نمونههای متنوعی از سیستمهای محاسباتی ارائه شدهاست که سعی دارند چنین خدماتی را به کاربران ارئه دهند. برخی از آنها عبارتند از: محاسبات خوشهای1، محاسبات توری2 و محاسبات ابری3. محاسبات ابری ساختاری شبیه یک توده ابر دارد که بواسطه آن کاربران میتوانند به برنامههای کاربردی و یا زیرساختهای نرمافزاری و سختافزاری از هر جایی از دنیا دسترسی داشته باشند. بنابراین، محاسبات ابری میتواند با کمک ماشینهای مجازی4 شبکه شده، به عنوان یک روش جدید برایایجاد پویای نسل جدید مراکز داده مورد توجه قرار گیرد. بدین ترتیب، دنیای محاسبات به سرعت به سمت توسعه نرمافزارهایی پیش میرود که بجای اجرا بر روی کامپیوترهای منفرد، به عنوان یک سرویس5 در دسترس میلیونها مصرف کننده قرار می‌گیرند. محبوبیت سه نوع مختلف محاسبات که به آنها اشاره شد، از دید موتور جستجوی گوگل نیز مورد ارزیابی قرار گرفته است که نتیجه آن در شکل (1-1) نمایش داده شدهاست. این بررسی نشان میدهد که محاسبات خوشهای در حال حاضر نسبت به دو مورد دیگر مقبولیت کمتر دارد، محاسبات توری در رتبه دوم قرار گرفته است، و پردازش ابری با فاصله زیادی از آنها در حال استفاده بیشتر است.[13, 14]

1-2- محاسبات ابری
محاسبات ابری (یا رایانش ابری و یا پردازش ابری)‏ مدل رایانشی بر پایهی شبکههای بزرگ کامپیوتری مانند اینترنت است که الگویی تازه برای عرضه6، مصرف7 و تحویل8 سرویس‌های فناوری اطلاعات (شامل سختافزار، نرمافزار، اطلاعات، و سایر منابع اشتراکی رایانشی) با به کارگیری اینترنت ارائه می‌کند. رایانش ابری راهکارهایی برای ارائهی خدمات فناوری اطلاعات به شیوه‌های مشابه با صنایع همگانی (آب، برق، تلفن و…) پیشنهاد می‌کند. این بدین معنی است که دسترسی به منابع فناوری اطلاعات در زمان تقاضا9 و بر اساس میزان تقاضای کاربر به گونه‌ای انعطاف‌پذیر10 و مقیاس‌پذیر11 از راه اینترنت به کاربر تحویل داده می‌شود.[10, 15, 16] واژهی “ابر” واژه‌ای است استعاری که به اینترنت اشاره می‌کند و در نمودارهای شبکه‌های رایانه‌ای نیز از شکل ابر برای نشان دادن شبکهی اینترنت استفاده می‌شود. دلیل تشبیه اینترنت به ابر در این است که اینترنت همچون ابری جزئیات فنی‌اش را از دید کاربران پنهان می‌سازد و لایه‌ای از انتزاع را بین این جزئیات فنی و کاربران به وجود می‌آورد. به عنوان مثال آنچه یک ارائه‌دهندهی سرویس نرم‌افزاری رایانش ابری ارائه می‌کند، برنامه‌های کاربردی تجاری برخط است که از طریق مرورگر وب یا نرم‌افزارهای دیگر به کاربران ارائه می‌شود.[14, 17] نرم‌افزارهای کاربردی و اطلاعات، روی سرورها ذخیره می‌گردند و براساس تقاضا در اختیار کاربران قرار می‌گیرد. جزئیات از دید کاربر مخفی می‌ماند و کاربران نیازی به تخصص یا کنترل در مورد فناوری زیرساخت ابری که از آن استفاده می‌کنند ندارند.[15, 16]
رایانش ابری را گروهی تغییر الگوواره‌ای12 می‌دانند که دنباله‌روی تغییری است که در اوایل دهه ۱۹۸۰ از مدل رایانه بزرگ13 به مدل کارخواه-کارساز14 صورت گرفت.
1-2-1- تاریخچه
پیدایش مفاهیم اساسی رایانش ابری به دهه ۱۹۶۰ باز میگردد. زمانی که جان مک کارتی15 اظهار داشت که «رایانش ممکن است روزی به عنوان یکی از صنایع همگانی سازماندهی شود». تقریبا تمام ویژگیهای امروز رایانش ابری (تدارک قابل ارتجاع، ارائه به صورت یک صنعت همگانی، برخط بودن و توهم دسترسی به عرضه نامحدود) به همراه مقایسه با صنعت برق و شکل‌های مصرف عمومی و خصوصی و دولتی و انجمنی را پارک هیل داگلاس16 در کتابی که با عنوان «مشکل صنعت همگانی رایانه» در سال ۱۹۶۶ مورد بررسی قرار داد. واژهی ابر در واقع بر گرفته از صنعت تلفن است به این گونه که شرکتهای ارتباطات راه دور که تا دهه ۱۹۹۰ تنها خطوط نقطه به نقطهی اختصاصی ارائه می‌کردند، شروع به ارائه شبکه‌های خصوصی مجازی با کیفیتی مشابه و قیمتهای کمتر نمودند. نماد ابر برای نمایش نقطه مرزی بین بخشهایی که در حیطه مسئولیت کاربر میباشد و آنهایی که در حیطه مسئولیت عرضه کننده است، بکار گرفته می‌شد. رایانش ابری مفهوم ابر را به گونه‌ای گسترش می‌دهد که سرورها را نیز علاوه بر زیرساخت‌های شبکه در بر گیرد.
سایت آمازون17 با مدرن سازی مرکز داده خود نقش مهمی در گسترش رایانش ابریایفا کرد. بعد از حباب دات-کام18 آنها دریافتند که با تغییر مرکز داده‌های خود – که مانند اغلب شبکه‌های رایانه‌ای در بیشتر اوقات تنها از ۱۰٪ ظرفیت آن استفاده می‌شد و مابقی ظرفیت برای دوره‌های کوتاه اوج مصرف در نظر گرفته شده بود – به معماری ابر می‌توانند بازده داخلی خود را بهبود بخشند. آمازون از سال ۲۰۰۶ امکان دسترسی به سامانه خود از طریق وب سرویسهای آمازون را بر پایه رایانش همگانی ارائه کرد. در سال ۲۰۰۷، گوگل19 وای بی ام20 به همراه چند دانشگاه پروژه‌ای تحقیقاتی در مقیاسی بزرگ را در زمینه رایانش ابری آغاز نمودند.
در اواسط سال ۲۰۰۸ شرکت گارتنر متوجه وجود موقعیتی در رایانش ابری شد که برای «شکل دهی ارتباط بین مصرف کنندگان خدمات فناوری اطلاعات، بین آنهایی که این سرویسها را مصرف می‌کنند و آنها که این سرویسها را می‌فروشند» بوجود می‌آید.
1-2-2- راهکارهای ارائه شده در محاسبات ابری
محاسبات ابری به دلایل زیادی در جهان محبوب گردیده است و هم اکنون بسیاری از شرکتها از این محیط برای ارائه خدمات به مشتریان خود استفاده میکنند. اما در راستای ارائه خدمات در این محیط نیز مشکلاتی وجود دارد که جزء معایب محاسبات ابری به حساب میآید. جدول (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 1-2-3- ویژگیهای محاسبات ابری
محاسبات ابری مدلی است برای دسترسی به یک شبکه یکپارچه و مناسب و بر حسب تقاضا جهت به اشتراک گذاری حجم زیادی از منابع محاسباتی قابل تنظیم (مانند شبکه، سرورها، ذخیره گاهها، برنامهها و سرویسها) که میتواند با کمترین نیاز به مدیریت، و تنها به وسیله یک فراهم کننده سرویس ابر به سرعت قانونمند شده و انتشار یابد.[18]
خصوصیات اصلی محاسبات ابری به شرح جدول (1-2) است:
جدول ‏1- 2 ویژگیهای محاسبات ابری[19]
ردیفویژگیتوضیحات 1ارائه سرویس براساس تقاضا32مجموعه فناوری اطلاعات به عنوان سرویس بدون نیاز به هیچ راهنمایی بر اساس تقاضای مشتری در اختیارشان قرار میگیرد. 2دسترسی به شبکه گسترده33خدمات در یک شبکه مستقل از سختافزار موجود در کامپیوتر کاربر یعنی بر روی اینترنت ارائه میگردد؛ بنابراین شبکه باید دارای ارتباط قابل اطمینان و با کارایی بالا برای دسترسی به سرویسهای مختلف باشد. 4یکپارچه سازی منابع34فراهم کنندگان، سرویسها را یا استفاده از فناوریهایی همچون مجازیسازی35 و اجاره چندگانه36 در اختیار مشتریان قرار میدهند. 5قابلیت ارتجاع سریع37میتوان منابع لازم را بدون دخالت انسان و هر زمان که نیاز بود ارائه نمود. 6سرویس دهی مقیاس پذیر38میتوان میزان استفاده از یک سرویس به وسیله مشتری را بر اساس میزان منابع مصرف شدهاندازه گیری نمود. بر این اساس میتوان برای مصرف کننده صورت حساب صادر کرد که به این روش پرداخت به ازاء استفاده گفته میشود. 1-2-4- ساختار محاسبات ابری
1-2-4-1- معماری
معماری محاسبات ابری به گونه است که معماریهای دیگر همچون معماری نرمافزاری، معماری میانافزاری، معماری فناوری اطلاعات و معماری خدماتگرا را در خود جای داده و آنها را به عنوان منابع مدیریت میکند.[7] نحوه قرارگیری محاسبات ابری در سیستم را میتوانید در شکل (1-2) ببینید.

اما معماری کل محاسبات ابری از لحاظ پیاده سازی را میتوان در شکل (1-3) و از نظر ساختار فیزیکی در شکل (1-4) مشاهده نمود که به شرح زیر آنها را توضیح خواهیم داد.
1-2-4-2- فراهم کننده سرویس ابر39
فراهم کننده سرویس کسانی هستند که بستری برای استفاده از منابع موجود فراهم میکنند.[19] سرویس دهندگان میتوانند یک یا چند سرویس که در میانه شکل (1-3) نشان داده شده را فراهم کند. بنابراین میتوان سه دسته سرویس دهندگان نرمافزار40، سرویس دهندگان بستر41 و سرویس دهندگان زیرساخت42 را معرفی نمود.
1-2-4-3- انواع ارائه خدمت43
در محیط محاسبات ابری عموما سه خدمت عمده را به عنوان ساختار خدمات رسانی به صورت اولویت بندی شده ارائه میدهد؛ که به ترتیب ارائه نرمافزار به عنوان خدمت44، ارائه بستر به عنوان خدمت45 و ارائه زیرساخت به عنوان خدمت46 نام دارند. در ابتدای این زنجیره نیز فراهم کنندگان قرار دارند و در انتها نیز کاربران میباشند.
1-2-4-3-1- ارائه نرمافزار به عنوان خدمت
در بالاترین و سادهترین لایه محاسبات ابری مجموعه نرمافزارها به عنوان یک خدمت ارائه میگردد. [7, 14, 15, 17, 19] تمام نرمافزارهای موجود را میتوان در این بخش ارائه نمود. پایگاه داده نیز میتواند در این بخش ارائه گردد. یکی از اولین ساده ترین نرمافزارها خدماتایمیل میباشد که میتوانید در آنها پیامهای خود را نگهداری و مدیریت کنید. اما امروزه برنامههایی همچون مدیریت ارتباط با مشتری47، مدیریت منابع سازمانی48، مدیریت زنجیره چرخه49 و… نیز در این لایه ارائه میگردند.[15, 20]
1-2-4-3-2- ارائه بستر به عنوان خدمت
لایه بستر بر روی لایه نرمافزار قرار میگیرد تا سرویسهای جدیدی به کاربران ارائه کند که بتوانند به وسیله آنها به توسعه نرمافزارهای خود بپردازند.[19] در این لایه میتوان وب سایت مورد نظر خود را ساخت. نرمافزار مورد نظر خود را توسعه داد و به تست و توسعه آنها پرداخت؛ بدون آنکه نیاز باشد تا ابزاری را روی سیستم خود برای این کار نصب کنیم. محیطهای یکپارچه توسعه نرمافزار از جمله سرویسهای این بخش است.[11, 15, 20] Windows Azure50، Aptana Cloud51 و Google App Engine52 از جمله فراهم کنندگان این سرویسها به شمار می ایند.[15]
1-2-4-3-3- ارائه زیرساخت به عنوان خدمت
در پایینترین و گستردهترین لایه موجود در محاسبات ابری لایه زیرساخت وجود دارد که در آن از یک فضای مجازی از تمامی زیرساختهای مورد نیاز برایایجاد یک سیستم کامل میتوان بهره برد.[19] این مجازی سازی یک فناوری بسیار مفید در محیط محاسبات ابری به شمار میآید چرا که به کاربر این تصور را تلقین میکند که واقعا با یک سیستم کامل همانند سیستم شخصی کار میکند که در واقع اینگونه نیست و تنها یک فضا به او داده شده تا بتواند در آن همانند یک سیستم کامل به توسعه برنامههای خود بپردازد. ارائه بستر سختافزاری، کار با درگاهها و کارت شبکه، دسترسی مستقیم به حافظه و… از جمله خدمات این لایه میباشد.[15, 16, 20]
1-2-4-4- کاربران محیط محاسبات ابری
کاربران این محیط را میتوان به دو دسته تقسیم کرد:
یکی استفاده کنندگان53 خدمتها که تنها برای استفاده از خدمات درخواست میدهند و از آنها استفاده میکنند و بر اساس مصرف خود هزینه پرداخت میکنند.
کاربران دیگر محیط محاسبات ابری اعضای54 آن میباشند که میتوانند در تهیه خدمات همکاری کنند.
1-2-4-5- مدلهای پیاده سازی
محاسبات ابری در مدلهای مختلفی ارائه میگردد. که در چهار دسته میتوان آنها را قرار داد. در شکل (1-5) این چهار دسته را مشاهده مینمائید و در ادامه نیز به شرح آنها خواهیم پرداخت.
1-2-4-5-1- مدل عمومی55
اولین و رایج ترین گونه محاسبات ابری، ابر عمومی و یا ابر خارجی56 میباشد. این گونه نخستین مدل تولید محیط محاسبات ابری میباشد. فراهم کننده سرویس خدمات را به صورت بخشهای کوچک و اشتراکی57 در اختیار کاربران قرار میدهد.[16, 19] در پایان هر دوره مصرفی همانند صنعت برق و آب و… برای هر مشتری یک صورت حساب تهیه و ارسال میگردد. [11, 18]
1-2-4-5-2- مدل خصوصی58
نوع دوم مدل محاسبات ابری مدل خصوصی یا داخلی59 میباشد. این مدل در شرکتهای خصوصی استفاده میشود. [19] این مدل را خود شرکت و یا یک فراهم کننده خدمات ابری مدیریت میکند.[16] به طور عمومی این گونه محاسبات ابری برای شرکت مورد نظر خصوصی سازی شدهاست و دارای خدماتی است که آن شرکت به آنها نیاز دارد.[6, 16]
1-2-4-5-3- مدل دوگانه60
نوع دیگری از محاسبات ابری مدل دوگانه یا پیوندی میباشد که بین دو یا چند ابر به صورت ارتباطات خصوصی داخلی انجام میگیرد. [19]معمولا این نوع از ابر برای پخش کردن بار ذخیره و تبادل اطلاعات بین شرکتهای مختلف همچنین استفاده از دادههای ساختار یافته و جامع ساخته میشود.[16]
1-2-4-5-4- مدل انجمنی61
مدل آخر مدل انجمنی میباشد که عموما به وسیله افراد و گروههای خاص برای ارائه خدمات خاصی ساخته میشود[19] در این مدل کسانی که در این خدمت خاص سررشته دارند میتوانند از آن استفاده نمایند.
1-2-5- نمای کامل از محیط محاسبات ابری
با توجه به تعاریف انجام شده درباره محاسبات ابری حال میتوان یک نمای کامل از این نوع شبکه را ببینیم. شکل (1-6) به شرح این مسئله میپردازد.
همانطور که مشاهده میکنید محاسبات ابری یک سری افراد را در خود میبیند که میتوانند یا فراهم کنندگان محیط محاسبات ابری62، یا کاربران و یا نمایندگیهای ارائه خدمات باشند. انواع مدلهای ارائه محاسبات ابری و انواع ارائه خدمات نیز که در بالا توضیح داده شد. لایههای پیاده سازی آن نیز شامل لایه سرور، لایه مشتری، لایه محیط ذخیره سازی دادهها، لایه زیرساخت، لایه بستر، لایه خدمات و لایه برنامهها میباشد. ویژگیهای آن نیز همانند جدول (1-2) میباشد. نحوه پیادهسازی در محیط نیز میتواند به صورت محلی63 در یک شبکه محلی و یا به صورت ارتباط از راه دور64 و یا به صورت توزیع شده65 باشد.
اما مهمترین بخش محاسبات ابری مربوط به مشکلات امنیتی و رخنههای آن میباشد که میتوان گفت بزرگترین دغدغه در ساخت و مدیریت محیط محاسبات ابری میباشد؛ که در ادامه به شرح آنها خواهیم پرداخت.
1-2-6- چالشهای مربوط به محاسبات ابری
طبق تحقیقات انجام شده[6] در باره چالشهای مربوط به محیط محاسبات ابری تا سال 2013 مهمترین مشکلات 8 مورد میباشد که در شکل (1-7) آنها را مشاهده مینمائید. همانطور که مشخص است، بیشترین مشکلات مربوط به امنیت، در دسترسپذیر بودن، کارایی، میباشد که باید بر روی آنها کارهای جدیتری انجام گیرد.

با توجه به شکل (1-7) بزرگترین دغدغه همانا بحث امنیت محیط محاسبات ابری میباشد که با توجه به حملات و تهدیدات موجود میبایست در این حوزه کار بسیار زیادی انجام گیرد تا در زمینههای مختلف امنیت را برای کاربران فراهم نمود و رضایتایشان را جلب کرد.
1-2-7- امنیت در محیط محاسبات ابری
با توجه به روند رو به پیشرفت و توسعه استفاده از محاسبات ابری بسیاری از شرکتها همچون Amazon، Google، Microsoft، EBye و… با صرف میلیاردها دلار به خدماتدهی به مشتریان و کاربران خود در این زمینه پرداختهاند. با توجه به این سرمایه گذاریها مطمئناایجاد امنیت برای اطلاعات مهم کاربران بسیار مهم میباشد. دو بخش بسیار مهم در محیط محاسبات ابری وجود دارد که میبایست از لحاظ امنیتی مورد توجه قرار گیرند. یکی آسیبهای ماشینهای مجازی66 و دیگری جامعیت پیامها67 میباشد.
برای ارائه هر خدمتی میبایست یک ماشین مجازی به کاربر ارائه گردد تا در محیط کاملا کنترل شدهای68 بتواند از خدمات استفاده نماید. این باعث میشود تا هم کاربر در محیط خود احساس امنیت کند و از در امان بودن اطلاعات خود مطمئن باشد؛ و هم اینکه کاربر نتواند به محیطهای غیرمجاز دسترسی داشته باشد و یا اینکه از محتویات سرور با خبر گردد. بنابراینایجاد امنیت در این محیط بسیار مهم میباشد تا از سوء استفاده دیگران و خرابکاری و یا دزدی اطلاعات و دیگر خطرات جلوگیری شود.
نکته دوم و مهم برای حفظ امنیت، راههای ارتباطی تبادل اطلاعات بین ماشینهای مجازی با یکدیگر و یا با سرور و هرگونه محیط دیگر میباشد؛ تا از نشت اطلاعات و یا سرقت اطلاعات شخصی کاربران جلوگیری شود. بنابراین میبایست در ارسال اطلاعات از روشهای مختلفی برای جلوگیری از دزدی استفاده شود. در این راستا از روشهایی همچون رمزنگاری اطلاعات، استفاده از پروتکلهای امن و نشانه گذاری پیامها و یا تأیید صحت کاربران استفاده میشود.
1-2-7-1- تهدیدات امنیتی محیط محاسبات ابری
با توجه به تحت اینترنت بودن محیط محاسبات ابری میتوان گستره بزرگی از حملات را برای آن در نظر گرفت به گونهای که میتوان گفت تمامی حملات موجود در گونههای دیگر شبکهها را در این محیط پیدا خواهیم نمود. در زیر برخی از این حملات را شرح خواهیم داد.
1-2-7-1-1- حمله اخلال در خدمت رسانی69
یکی از رایجترین حملات در این محیط حمله اخلال و یا انکار خدمت است که باعث مختل شدن سرویس دهنده میشود. حمله کننده در زمان مناسبی شروع به ارسال مداوم و سریع درخواست به سرویس دهنده میکند. در این حمله سیلآسا70 اگر تعداد درخواست کنندهها و درخواستهای آن بیش از اندازه باشد باعث میشود تا میزان پردازش سرویس دهنده بالا برود و باعث اخلال در کار آن میگردد و میتواند باعث هنگ کردن پردازشگر و یا پر شدن حافظه آن و یا گم شدن درخواستها و غیره گردد.[10, 21-23]
1-2-7-1-2- حمله شنود اطلاعات71
اگر لایه امنیتی SSL به خوبی استفاده نشود حمله شنود اطلاعات انجام میپذیرد. در این حمله شخصی میتواند در بین افراد قرار گیرد و به شنود بپردازد و در نتیجه اطلاعات افراد را به سرقت ببرد.[10, 11, 22] بنابراین میبایست لایههای امنیتی را به خوبی تنظیم نمود تا از این گونه حملات جلوگیری شود.
1-2-7-1-3- دزدی اطلاعات شبکه72
اگر دادهها به خوبی رمزنگاری نشوند و از آنها محافظت نگردد به راحتی به وسیله متهاجمین مورد حمله و دستبرد قرار میگیرند. [10, 11, 22] در این حمله مهاجم به کپی برداری از اطلاعات تبادل شده و یا نفوذ به فضای نگهداری اطلاعات به سرقت آنها میپردازد.
1-2-7-1-4- پویش درگاه73
گاهی مهاجمان به شنود و پویش درگاههای سیستم میپردازند تا از طریق آنها در سیستم کاربران نفوذ کنند. مثلا درگاههای عمومی همچون درگاه 80 یا 8080 همواره باز هستند و از طریق آنها میتوان به نفوذ پرداخت. [10, 11] برای نمونه مهاجم میتواند از راه این درگاهها به نشر وب سرویس در سیستم کاربران بپردازد و در زمان مناسب آنها را اجرا نماید و به تخریب و یا دزدی اطلاعات دست بزند.
1-2-7-1-5- حمله دستورات SQL
تزریق دستورات SQL یعنی اینکه در جاهایی که مثلا نام کاربری و رمز عبور خواسته میشود به راحتی یک دستور پایگاه داده را قرار داد تا در زمان اجرا اطلاعات مورد نیاز را از پایگاه داده واکشی نمود. این یکی از ساده ترین راههای نفوذ در شبکه میباشد که با انجام چند عمل پیشگیرانه میتوان آنرا برطرف نمود. [10]
1-2-7-1-6- تزریق بدافزار به ابر74
همانطور که در بخش قبل گفته شد ماشینهای مجازی از مهمترین بخشهای ابر میباشد که همواره میتواند مورد حمله قرار گیرد. [10, 11, 22] در این راستا مهاجم میتواند بدافزار مورد نظر خود را در ماشین مجازی تزریق نماید و پس از آن به اجرای آن دست بزند. آنگاه میتواند از طریق آن به ماشین مجازی و یا سختافزار و حتی سرورها صدمههای شدید وارد نماید.
1-2-7-1-7- نفوذ از طریق رابط کاربری ضعیف
اگر رابطی که برایایجاد ارتباط با برنامهها در سرور و ماشینهای مجازی طراحی کردیم از لحاظ امنیتی ضعیف و دارای رخنههای امنیتی باشند میتوان با استفاده از آنها در سیستم نفوذ نمود. [10, 11, 22] در اینجا نیز میتوان اطلاعات مورد نیاز خود را از نشستها75 و کوکیها76 دریافت نمود و یا حتی فایلهای مخرب را در آنها قرار داد.[10]
1-2-7-1-8- خودیهای مخرب
کاربران ابر نیز میتوانند خود باعث خرابی شوند. گاه این خرابکاری آگاهانه و گاهی ناخودآگاه میباشد. مثلا با سهل انگاری توسط کاربران زمینه برای نفوذ و یا سرقت اطلاعات برای مهاجمان فراهم میشود. کاربران باید در این زمینه آموزشهای مناسب را فرا گیرند تا از سرقت اطلاعات جلوگیری شود.
1-2-7-1-9- حمله رباتها77
یکی از مهمترین و رایجترین حملات در محیط محاسبات ابری که بیشتر مربوط به ماشینها مجازی میباشد، حمله رباتها میباشد. در این نوع از حمله میتوان کنترل یک یا چند سیستم کاربر را به عنوان سیستم قربانی به دست گرفت و از طریق آنها به انجام حمله پرداخت. به سیستمهای قربانی در اصطلاح زامبی78 گفته میشود چرا که دیگر کنترل آنها در دست کاربر نیست.[6, 23-25]
1-2-8- فنآوری مجازیسازی79 و ماشینها مجازی
مجازیسازی مزیت بزرگ و درواقع بنیانایجاد محاسبات ابری میباشد که از بسیاری از تلاشها برای دستیابی به دادهها دیگران و منابع و خرابکاری جلوگیری میکند.[26] اما همه منابع و دادهها را نمیتوان به صورت مجازی ارائه داد و همه پیادهسازیهای محاسبات ابری خالی از نقص نیستند. گاهی طراحی یک شبکه ضعیف باعث میشود که کاربران به دادهها و منابع غیرمجاز (بهصورت اتفاقی و یا با یافتن رخنهها و نقطه ضعف) دست یابند.
بنابراین همواره وجود یک سری تمهیدات و ابزار محافظتی برای این نوع شبکه بسیار اهمیت دارد. این مسئله زمانی بیشتر اهمیت پیدا میکند که این شبکه همواره بزرگتر و پیچیدهتر گردد. نکته جالب توجه در اینجا این است که حتی خود فراهم کنندگان ابر نیز میتوانند به عنوان یک خطر محسوب گردند. چه اطمینانی وجود دارد که فراهم کنندگان خود از اطلاعات و دادهها و منابع سوء استفاده نکنند. با توجه به اینکه خود فراهم کننده کاملا بر دادهها و منابع اشراف دارند. مثلا میتوانند دادههای کاربران را کاوش کنند و یا از منابع برای جاسوسی و خرابکاری استفاده نمایند. به هر صورت این نوع خطر به روشهای گوناگون قابل برطرف کردن میباشد اما آسان نیست. یکی از این راههاایجاد حس اعتماد از سوی فراهم کننده برای کاربران میباشد که کاربر بتواند با خیال آسوده از امکانات فراهم شده استفاده نماید.
1-2-9- مانیتورینگ ماشینهای مجازی80
هایپروایزر81 یا مانیتور ماشینهای مجازی بخشی از نرمافزار، میانافزار و سختافزار یک سیستم میباشد که به ساخت و اجرای ماشینهای مجازی میپردازد. استفاده از هایپروایزر مناسب در محاسبات ابری بسیار مهم میباشد چرا که با مدیریت مناسب و امن ماشینهای مجازی باعث امن نگه داشتن اطلاعات کاربران میشود.
به سیستمی که هایپروایزر را اجرا میکند میزبان82 گفته میشود و به ماشینهای مجازی ماشین مهمان83 گفته میشود.
1-2-9-1- انواع هایپروایزر
دو نوع هایپروایزر وجود دارد که در زیر به آنها اشاره میشود:
1-2-9-1-1- هایپروایزر نوع 1
نوع اول خودش همان ماشین میزبان میباشد. بنابراین مستقیم به سختافزار دسترسی دارد و آنرا کنترل مینماید. در این نوع، هایپروایزر مستقیما به تخصیص منابع به ماشینهای مجازی میپردازد.
از این نوع می توان به:
Oracle VM Server for SPARC
Oracle VM Server for x86
The Citrix XenServer
VMware ESX/ESXi
Microsoft Hyper-V 2008/2012
اشاره نمود.
1-2-9-1-2- هایپروایزر نوع 2

در نوع دوم سیستم میزبان جدا میباشد و هایپروایزر برای دسترسی به سختافزار باید به ماشین میزبان درخواست دهد. بنابراین نمیتواند به صورت مستقیم به تخصیص منابع به ماشینهای مجازی بپردازد. از این دست نیز می توان به VMware Workstation و VirtualBox اشاره نمود.
در شکل (1-8) شمایی از دو نوع هایپروایزر را مشاهده مینمایید.

1-2-10- جمع بندی درمورد محاسبات ابری
با توجه به شرح کامل محیط محاسبات ابری که در بالا انجام گردید، میتوان موارد زیر را در مورد آن بیان نمود:
1- محیط محاسبات ابری پدیده نوین و بسیار کاربردی در مهندسی کامپیوتر میباشد که هم برای متخصصین امر و هم برای استفاده عمومی موقعیتهای کاربردی و چالشهای بهرهوری بسیار فراوانی فراهم نموده است.
2- نیاز به اینگونه محیطهای یکپارچه با ابزارهای بسیار مفید و کاربردی روز به روز افزایش مییابد و همچنین تقاضا نیز به همان اندازه رو به افزایش است.
3- با توجه به موارد 1 و 2، مهندسی تولید چنین محیطهایی رو به رشد میباشد و متخصصان همواره در تلاشند تا این خدمات در گستره بیشتر و با کیفیت بالاتر تهیه و ارائه گردد.
4- ایجاد اعتماد بین کاربران از سوی فراهم کنندگان ابر بزرگترین چالش در راه ارائه ابر میباشد که میبایست با ارائه یک کار بسیار امن و راحت به وقوع بپیوندد. کاربران همواره از اینکه امکان دارد تا اطلاعات خصوصی آنها در دسترس دیگران قرار گیرند و یا به سرقت بروند در نگرانی به سر میبرند.
5- یکی از مهمترین راههایایجاد اعتماد ارائه بستری بسیار امن میباشد که با توجه به مطالب بالا و تحقیقات انجام شده خود مهمترین چالش در ساخت محیط محاسبات ابری میباشد.
1-3- طرح و هدف از این تحقیق
در مسیر تحقق امر امنیت اطلاعات در محیط محاسبات ابری همواره تلاشهای بسیار زیادی انجام گرفته است. برایایجاد محیط امن میتوان روشهای مختلفی را به کار برد. میتوان از یک قالب خاص در طراحی محیط ابری بهره برد تا ضریب امنیت اطلاعات را بالا ببریم. در این حالت میتوان از لایه بندی دسترسیها استفاده نمود و یا میتوان هرگونه درخواستی را برچسب گذاری کرد تا از صحت درخواست و همچنین اجازه دسترسی مطمئن شد.

در این سایت فقط تکه هایی از این مطلب(به صورت کاملا تصادفی و به صورت نمونه) با شماره بندی انتهای صفحه درج می شود که ممکن است هنگام انتقال از فایل ورد به داخل سایت کلمات به هم بریزد یا شکل ها درج نشود-این مطالب صرفا برای دمو می باشد

ولی برای دانلود فایل اصلی با فرمت ورد حاوی تمامی قسمت ها با منابع کامل

اینجا کلیک کنید

میتوان از سیستمهای تشخیص نفوذ84 استفاده کرد و در محیط شبکه به بررسی بستههای شبکهای و یا رفتار کاربران و سیستمها پرداخت و رفتارهای مشکوک را شناسایی و برخورد مناسب را انجام داد.
اینجانب نیز در راستای تحقق پایاننامه خود به مطالعه مقالات مختلف پرداختم. پس از مطالعات زیاد دریافتم که در محیط محاسبات ابری میتوان از مفهوم IDS یا سیستم تشخیص نفوذ استفاده نمود. بنابراین بر روی این مجموعه از سیستمها متمرکز شدم. با مطالعه در این زمینه دریافتم که IDS به تنهایی از روشهای مختلفی برای تشخیص حمله استفاده مینماید که با کمی تغییر در محیط محاسبات ابری نیز به خوبی قابل استفاده هستند. آنها از یادگیری ماشین85 و محاسبات آماری86 و تشخیص رفتارهای نامتعارف87 برای تشخیص حمله بهره میبرند.
1-4- مروری بر فصلهای بعدی پایاننامه
در فصل دوم به بیان تعاریف اولیه و پیشنیاز تحقیق از جمله تعریف سیستمهای تشخیص نفوذ خواهیم پرداخت. در فصل سوم مروری بر پیشینه تحقیق در زمینه تحقیق مورد نظر خواهیم داشت. در فصل چهار نیز به شرح مسئله و راه حل خواهیم پرداخت. در اینجا به شرح کامل چگونگی پیاده سازی تحقیق و همچنین نتایج کسب شده میپردازیم. در فصل 5 نیز نتایج به دست آمده را با کارهای پیشین مقایسه کرده و به بحث و نتیجه گیری در مورد کار انجام شده میپردازیم. در نهایت نیز منابع و مأخذ استفاده شده در این تحقیق بیان میگردد.

2- فصل دوم
2- تعاریف و پیشنیازها
2-1- مقدمه


پاسخ دهید