امنیت داده ها در کلود
بسم الله الرحمن الرحیم
امنیت برنامه های کلود
آموزش کلودسیم CloudSim
فصل هجدهم
امنیت در کلود
امنیت داده در برنامه های ابر: یکی از ضعفهای ابر عدم تأمین امنیت دادهها میباشد که با پیشرفت روزافزون امنیت بازهم دادههای حساس موردحمله واقع میشود. در برخی مواقع این مصونیت را به عهده کاربر میگذارند اما بازهم این عدم امنیت وجود دارد. برخی سیستم ها هم از کدگذاری دادهها استفاده میکنند که به دلیل استفاده از کدینگ های مشهور و پایین آمدن کارایی به دلیل کاهش سرعت در برگرداندن اطلاعات زیاد مقبولیتی نزد سرویس دهندگان ابر ندارند.
راهای دیگر دسترسی به دادهها از طریق دسترسی به منابع مشترک و یا خطوط انتقال بین ماشین های مجازی میباشد.
مشکل بعدی حفظ ذخیره داده در ابر طوری که اتفاقی برای آن نیفتاده باشد و جامعیت دادهها حفظ شود و اینکه کسی به آن دسترسی نداشته باشد.
البته تعدادی از سرویس دهندگان سعی میکنند تمام مشکلات مطرح شده را با اطمینان به مشتری حل کنند و راهکارهای خوبی هم ارائه میدهند اما همچنان مشکل اساسی آن است که آیا واقعا شخص صاحب داده وارد شده و از اطلاعات استفاده میکند؟ چون برخی حمله کنندگان با به دستاوردن راهای قانونی ، با ورود به سیستم و حتی اجرای بدافزار ها باعث تاثیر آن بر روی سرویسدهندههای مجاور میشود.
در این راستا در تکنوولوژی برای سطوح دسترسی ، زبانهای تعریفشده با نامهای SAML یا زبان سطح بالای اثبات امنیت است و XACML که همان زبان سطح بالای کنترل دسترسی است.
یکی از راهای سنتی و قدرتمند عدم نیاز به ذخیره اطلاعات در یک نقطه است که میتوان با درخواست قسمتی از اطلاعات از منابع مختلف آن را از دستبرد در امان داشت که البته این موضوع توسط منابع قانونی و سازمانهای امنیت داده تحت بررسی است و استفاده از آن تأیید نشده است.
مسئله مطرح شده بعدی نیاز به کپی های مختلف از دادههای حساس است چون اگر داده حساس در ابر وجود داشته باشد باید کپی هایی از آن در مکانهای مختلف وجود داشته باشد و در صورت تغییر در فایل روی ابر باید تمام کپی های آن بهروز شود.
نکته آخر درباره امنیت شبکهاینکه تقریباً هیچ قانون محکمی برای آن و طریقه ردوبدل شدن امن اطلاعات بین شبکهها وجود ندارد.
امنیت در شبکه ابری: در این بخش از انواع روشهای مورداستفاده در ابر حفاظت از دادههای کاربر میباشد .
قسمت اول دستاوردهای امنیت شبکه: علم شبکه بهجایی رسیده که موارد امنیت زیادی برای حفاظت از اطلاعات مطرح است و همین موارد را میتوان در شبکههای ابری مورداستفاده قرار داد. این نوع امنیت به دلیل راحت کردن خیال مشتری در برخی موارد خوب است اما در برخی موارد هم با عدم استقبال مشتری مواجه میشود مثلاً مشتریان به دلیل وجود اطلاعات دادههای حساس امنیتی در یک منطقه نظامی امریکا و احتمال حمله زیاد هکرها به این سرویسدهنده ابر خواهان تغییر سرویس ابری خود به منطقه دیگری را داشتند تا از امنیت بیشتری برخوردار باشند.
قسمت دوم رمزنگاری دادههای شبکه: یکی از مسائل مهم و مطرح در داخل و بیرون شبکه رمزنگاری داده است ، ازاینرو رمزنگاری در لایه های 2 و 3 بهمنظور تأمین امنیت الزامیست. TLS و امنیت لایه آن بهعنوان مکانیزم شناخته شده ای بین روتر ها و دیتا سنتر ها مورداستفاده قرار میگیرد.
قسمت سوم ایجاد شبکههای ارتجاعی: همه مراکز دادههای حساس میخواهند دادههای آنها قابل اطمینان باشند. برای این منظور دو روش برای آن در نظر گرفتند که اگر رعایت شود به آن شبکه ارتجاعی گفته میشود و خواسته ما تحقق میابد.
اول تقویت سیستم سرویس دهی بر اساس سرویس دهی و دیگری جلوگیری از حمله به سرویسها توسط بد افزارهاست و اگر این دو مورد رعایت شود شبکه ما تقریباً امن و مورد اعتماد است.
اعتماد در محیط ابری نوعی قمار است
Imad M. Abbadi و Andrew Martin [12]معتقدند اعتماد به ابر نوعی قمار است و اعمتاد بهصورت صددرصد وجود ندارد.
اعتماد بین شرکت ارائهدهنده ابر ، شرکت واسط و مشتری
اعتماد یک کلمه ای با مفاهیم مختلف در فرهنگ ها و علوم مختلف دارد ، اعتماد در بخش نرمافزار ازنظر تکنیکی را به چند مدل میتوان به دستاورد تعامل مستقیم ، مذاکرات اعتماد ساز ، شهرت کسی که میخواهد اعتماد را به وجود اورد و دیگری فرهنگسازی اعتماد.
به وجود آوردن مبحث اعتماد در سیستمهای تازه که قسمتهایی از آن ناشناخته است کاری بسیار پیچیده است. در پردازش ابری ، اعتماد کردن به ابر نوعی قمار است که برای مشخص شدن موضوع سه مثال را ارائه کرده است. اول اینکه شخصی که میخواهد با ابر کار کند ، باید آن را بشناسد و به این نتیجه برسد که ابر ، امانت دار خوبی است که هردو این موارد رد میشود و قابل حصول نیست.
دوم اینکه بین شرکتهای کوچک سرویسدهنده ابر که خود از شرکتهای بزرگ ارائهدهنده ابر سرویس میگیرند و شرکتهای بزرگ و اصلی ارائهدهنده باید اعتماد دو طرفه به وجود اورد چراکه سرویسدهنده کوچک با اعتبار سرویسدهنده اصلی کار میکند و در صورت هرگونه سو استفاده از اطلاعات مشتریان خود ، اعتماد شرکت اصلی ارائهدهنده نیز زیر سؤال میرود و همچنین درصورتیکه در سرویسدهنده اصلی خللی وارد شود ، اعتماد سرویسدهنده کوچک نیز دچار مشکل میشود لذا باید اعتماد دو طرفه به وجود اورد ، و هیچیک از دو طرف نمیتوانند به یکدیگر اعتماد کنند و اعتماد از دو طرف نقض میشود.
مورد سوم زمانی اتفاق میافته که اعتماد کننده مشتری باشد و بخواهد اعتماد را بهواسطه امانت داری که سرویسدهنده برای او مشخص کرده ، هم برای خود به وجود اورد و هم به دیگرن سرویس دهد ، اینجاست که مثلاً اگر یک برنامه نویس ، اطلاعات کارفرمای خود را بر روی ابر قرار دهد و به کارفرمای خود سرویس دهد ، در اینجا در صورت از بین رفتن اعتماد (از بین رفتن فایلهای روی ابر) موارد حقوقی مطرح میشود که برای انها راهحلی نداریم.
بر اساس این دلایل ، قضیه قمار بودن ابر ، به این برمیگردد که پاسخ خوبی از ابر دریافت نمیکنیم و برای بهبود آن سه فاکتور مدنظر است اول فاکتور انسانی که اعمتاد اجتماعی زیر سؤال میرود دوم ساختار سند سازی است که در پردازش هایی که انجام میشود و مواردی که با قضیه ارتباط دارند ، نمیتوان اعتماد را به وجود اورد و سوم اعتماد در بخش سرویسهای مدیریتی اتوماتیک است که بسیاری از این سرویسها قابلیت اعتماد ندارند زیرا نه ستسی روی آن انجامشده و ارائهدهندگآنهم معمولاً تضمینی به مشتریان خود نمیدهند.
ویژگیهای موثر کاربردی اعتماد در ابر
در این قسمت به مباحث ویژه ای اشاره میشود که بر اساس آن میتوان اعتماد را در ابر بهصورت کاربردی افزایش دهیم.
ویژگی سازگاری: عنصر سازگاری به این برمیگردد که ارائه کنندگان ابر چه قابلیتی ازنظر زمانی دارند و تاثیرات عکس العمل درانجام کارشان چگونه است؟ یعنی یک پایه ای به نام ابر را اگر در نظر بگیریم اینکه در طی زمان چه عکس العملی نسبت به درخواست مشتری انجام میشود را قابلیت انطباق گویند که پارامتری هایی دارد که بهوسیله آنها وفق پذیری را مورد ارزیابی قرار میدهد. یکی از مهمترین موارد وفق پذیری بهعنوان سرویس است که بیشتر به اعمال کارکنان داخلی ابر برمیگردد آنهمزمانی که نیاز دارند تغییری در ابر را به وجود اوردند که معمولاً تغییر سختافزاری یا نرمافزاری است. مثلاً نیاز کاربری تغییر کند یا نیاز امنیتی تغییر کند و ... همه و همه میتواند انطباق پذیری را دستخوش تغییر به وجود اورد.
قابلیت ارتجاعی: توانایی برای سیستمی است که با وجود مشکلاتی از قبیل ازکارافتادن زیر سیستم ها یا خرابی در بعضی کامپوننت ها بتواند به کار خود ادامه دهد.
فاکتورهای قابلیت ارتجاعی که بر اساس آنها سیستم ها را محک میزنیم بهصورت زیر است
اگر سختافزاری از کار بیفتد سرویسی که سیستم انجام میدهد نباید تحت تاثیر قرار گیرد و اگر پراسسی از کار بیفتد ، سیستم باید با جایگزین کردن سرویسی دیگر آن سرویس را پشتیبانی کند ، اگر دیتایی در معرض خرابی قرار دارد نیاز به دوباره ذخیرهسازی دارد و باید بتواند آنها را با ذخیرهسازی در قسمتهای دیگر در امان قرار دهد و همچنین سیستم باید بتواند در برابر حمله های هکرها مصون باشد و همه اینها با نام های مخفف MTTD ، MTTI و MTTR بهصورت قانون تبدیل شده اند.
تمام قسمتها قابلیت انعطاف بهعنوان یک خاصیت موردبررسی قرار میدهد.بهعنوان خاصیت میتوانیم اینگونه بیان کنیم که هرچه قابلیت انعطاف بالاتر باشد ، قابلیت اتجاعی بیشتر است و در برابر تحدید ها سیستم میتواند انعطاف بیشتری از خود نشان دهد.
ساختار اصلی: المان های ساختاری یک سیستم باید بهگونهای قابلیت ارتجاعی را به وجود اورد که موارد زیر برقرار شود. اول اینکه اطلاعات و منابع بهصورت تکرار شونده باید در مکانهای مختلف ذخیره شوند تا اگر یکی از آنها آسیب دید از دیگر اطلاعات بتوان استفاده کرد. دوم کامپوننت های مشخصی را برای ایجاد قابلیت و اعتماد از طریق کسانی که سیستم ابری را ارائه میکنند به وجود اید و سوم اینکه از لحاظ انجام پراسس باید یک مدیریت پراسس باشد تا درصورتیکه فردی نتواند با یک پروسس کار خود را انجام دهد و یا از کار بیفتد ، سیستم بتواند خروجی مناسبی که آن پراسس میخواسته را تولید کند.
بازخورد در دسترس بودن قابلیت اطمینان بهصورت یک سرویس: قابلیت اطمینان و در دسترس بودن دو عنصر مهم هستند که درصورتیکه قابلیت انعطاف پذیری زیاد باشد این دو عنصر بیشتر از دیگر عناصر خود را نشان میدهد، چون قابلیت انعطاف باعث میشود که هم مواردی که لازم است در دسترس باشد و هم قابلیت اطمینان برای اینکه دادهها خراب نشوند یا پراسی از کار نیفتد به حداکثر خود میرسد.
قابلیت مقیاس کردن: یعنی اینکه ما بتوانیم ساختار های اصلی مجازی را بهصورتی مقیاس کنیم و بیان کنیم که چه مواردی کم یا زیاد است یا موارد امنیتی به چه سمتی باید برود و ...
در دسترس بودن: در دسترس بودن یک سرویس مشخص میکند که زمان و سرویسی که انجام میشود ازنظر عملیاتی چقدر مفید بوده و سطوح بالای قابلیت در دسترس بودن تنها در صورت ساختار مناسب به وجود می اید که درنتیجه انجام عملیات های به موقع و دقیق ، ارائه سرویسهای پشت سر هم و پیوسته و کیفیت سرویسهای بالا و قابلیت اطمینان بالا از نتایج در دسترس بودن است .
قابلیت امنیت بهعنوان شاخصه ابر: قسمت مهمی که باید مدنظر قرار گیرد این است که بتواند به کاربر نهایی سرویسی بدهیم که همیشه صحیح عمل کند و اطمینان بدهیم که هیچ دیتایی از بین نمیرود.
حریم خصوصی و طراحی امنیت: گفته بر اساس این رفرنس ها میتوانیم امنیت را توسط طراحی خوب به وجود بیاوریم و باید محدودیتهایی ازنظر مجازی سازی و شبکه و ... باید بگذاریم و حمله ها را باید کنترل کنیم و نحوه ذخیرهسازی اطلاعات را باید عوض کنیم که همه اینها به قسمت طراحی برمیگردد و با اصلاح طراحی میتوان امنیت و حرم خصوصی را بهبود بخشید.
نگاهی به طبقه بندی ابرها و سرویسهای میانی
دانستن اینکه سیستم ابر چگونه قسمتهای مختلف و محیط ها را مدیریت میکند و سرویس میدهد و یا میان افزارها چگونه کار مینند باعث میشود که اعتمادسازی حاصل شود. در ادامه قسمتهای مختلف ابر را بهصورت لایه ای بررسی میکنیم.
لایه فیزیکی : شامل موارد سختافزاری و قسمتهای درگیر و انجام تراکنش های فیزیکی ابر را شامل میشود. نکتهاینکه قسمتهای مهم این لایه ، قسمتهای لایه بعدی که لایه مجازی باشد را تأمین میکند.
لایه مجازی: این لایه از سختافزارهای لایه قبل استفاده میکند از شامل مواردی مثل شبکههای مجازی قسمتهای مجازی ذخیره اطلاعات ، ماشین های مجازی و قسمتهایی از این قبل است.
لایه اپلیکیشن: این لایه از مواردی که توسط لایه مجازی تولید میشود استفاده میکند و سرویس اصلی را در ارتباط با مشتری برقرار میکند و تمام برنامه های مشتری در این قسمت است.
یکی از راهایی که برای ایجاد اعتماد میتوان از آن استفاده کرد استفاده از میان افزار ها است یعنی یک میان افزاری که بهصورت خود مدیریتی سرویسها را ارائه دهد و فقط نگهداری سرویسها را به انسان واگذار کنیم. درواقع سعی کرده دست انسان را از دخالت در ابر کوتاه کند و سپس در ادامه به ایرادهای این روش پرداخته مانند اینکه این روش ایراد های دیگری به وجود میاورد مثلاً ارتباط این قسمت با مجازی چطور باشد ، با بخش فیزیک چطور هست یا شبکه را چطور میتواند کنترل کند و کلاً استاندارد سازی این نرمافزار هم بسیار سخت و دشوار است.