با گسترش استفاده از فناوری اطلاعات و انتقال بسیاری از خدمات و دادهها به محیطهای ابری، توجه به امنیت زیرساختها و اطلاعات به یکی از مهمترین الزامات سازمانها تبدیل شده است. رایانش ابری با وجود مزایایی مانند انعطافپذیری، مقیاسپذیری، کاهش هزینهها و دسترسی آسان به منابع، چالشهای امنیتی جدیدی را نیز به همراه دارد. ماهیت اشتراکی منابع، استفاده از ماشینهای مجازی، ارتباطات شبکهای گسترده و وابستگی به فراهمکنندگان خدمات ابری میتواند زمینه بروز تهدیدها و حملات مختلف را فراهم کند.
برای مقابله با این تهدیدها، لازم است نیازمندیهای امنیتی از مراحل ابتدایی طراحی و توسعه سیستم در نظر گرفته شوند. این نیازمندیها میتوانند شامل کنترل دسترسی، احراز هویت، رمزنگاری، پشتیبانگیری، جداسازی منابع، پایش فعالیتها و الزامات مربوط به توسعه امن باشند.
همچنین شناسایی حملات احتمالی و تعیین اهداف امنیتی مشخص، نقش مهمی در افزایش محرمانگی، صحت و دسترسپذیری دادهها دارد. از سوی دیگر، ایجاد مرزهای اعتماد شفاف میان مشتری و ارائهدهنده خدمات ابری و فراهم کردن امکان جابهجایی دادهها میتواند وابستگی و ریسکهای امنیتی را کاهش دهد. بنابراین، امنیت در رایانش ابری باید بهعنوان بخشی جداییناپذیر از معماری و چرخه عمر فناوری اطلاعات مورد توجه قرار گیرد.
نیازمندیهای امنیتی فناوری اطلاعات
نیازمندیهای امنیتی فناوری اطلاعات، نیازمندیهای کاربردی و غیرکاربردی هستند که میبایست برآورده شوند تا مشخصات امنیتی یک سیستم تأمین شود.
انواع نیازمندیهای امنیتی
نیازمندیهای امنیتی میتوانند در سطوح انتزاعی (Abstraction Levels) مختلفی ارائه شوند. در بالاترین سطح انتزاعی، اهداف امنیتی منعکس میشوند. برای مثال، یک هدف امنیتی میتواند به این صورت باشد: «یک سیستم باید محرمانگی تمام دادههایی را که در قالب محرمانه طبقهبندی شدهاند، حفظ نماید.»
برای طراحان سیستم مفیدتر این خواهد بود که نیازمندیهای امنیتی با عینیت و واقعگرایی بیشتری، آنچه را که برای تأمین امنیت یک سیستم و داده آن باید انجام شود، توصیف نمایند. چهار نوع نیازمندی امنیتی را میتوان برای این منظور پیشنهاد کرد:
نیازمندیهای کاربردی امن
این نوع نیازمندی، توصیف مربوط به امنیت است که در هر نیازمندی کاربردی باید گنجانده شود. در واقع، داشتن نگاه امنیتی در توصیف نیازمندیهای کاربردی را میرساند و معمولاً عنوان میکند که چه مواردی نباید اتفاق بیفتد.
نیازمندیهای امنیتی کاربردی
این نوع نیازمندی، سرویسهای امنیتی است که لازم است در سیستم اتخاذ شود. برای مثال، میتوان تصدیق هویت، صدور مجوز، پشتیبانگیری و خوشهبندی سرورها را نام برد. این نیازمندیها را میتوان از بهترین شیوهها (Best Practices)، سیاستها و مقررات استخراج نمود.
نیازمندیهای امنیتی غیرکاربردی (Non-functional)
این نوع نیازمندی، نیازمندیهای معماری مربوط به امنیت است؛ همچون استحکام (Robustness)، کارآیی و مقیاسپذیری حداقلی. این موارد معمولاً از مفاهیم معماری و استانداردها قابل استخراج میباشند.
نیازمندیهای توسعه امن
این نوع نیازمندی، فعالیتهای لازم در طول توسعه سیستم را توصیف میکند. این موضوع متضمن آن است که تضمین نماید خروجی، موضوعی برای آسیبپذیری نباشد؛ برای مثال، طبقهبندی دادهها، راهنمای کدنویسی و یا روشهای آزمودن سیستم. این نیازمندیها از چارچوبهای بهترین شیوه مربوط استخراج میشوند.
با توجه به موارد مطرحشده، فرآیند شکلگیری نیازمندیهای امنیتی و استفاده از آن در شکل زیر نشان داده شده است.
حملات محتمل علیه سرویسهای رایانش ابری
با توجه به نوظهور بودن بسیاری از سرویسهای رایانش ابری، هنوز برآورد کاملی از آسیبپذیریها و حملات محتمل بر این فناوری وجود ندارد. اما آنچه از مشابهت با سیستمهای فناوری اطلاعات مشابه قدیمی و تجربیات سرویسهای رایانش ابری ارائهشده به دست میآید، حملات محتمل علیه سرویسهای رایانش ابری شامل این موارد خواهد بود:
- به خطر افتادن محرمانگی و صحت داده در تبادل ارتباطات؛
- حملاتی که از یکپارچگی و توان محیط رایانش ابری سود میبرند تا بهسرعت ابعاد و توان حملات را گسترش دهند؛
- دسترسی غیرمجاز بهوسیله یک مشتری به نرمافزارها، دادهها و منابع در حال استفاده توسط سایر کاربران مجاز سرویسهای ابر؛
- افزایش سطح حملات مبتنی بر شبکه، همچون حملات انکار سرویس، که از نرمافزارهایی که برای مدلهای تهدید و آسیبپذیریهای اینترنت طراحی نشدهاند؛
- محدودیت در قابلیت رمزنگاری دادههای مستقر در محیط چندکاربری رایانش ابری؛
- محدودیتهای سازگاری و قابلیت جابهجایی به علت استفاده از واسطهای (API) برنامهنویسی غیراستاندارد که منجر به ایجاد مشکلات برای مشتری در هنگام تغییر فراهمکننده ابر میشود. این تغییر فراهمکننده ابر ممکن است به دلایل مختلف، از جمله برآورده نکردن نیازمندیهای در دسترس بودن، اتفاق بیفتد؛
- حملاتی که از جداسازی (Abstraction) فیزیکی منابع ابر بهره میبرند و یا از عدم شفافیت در شیوهها و بایگانی بازرسی و ممیزی استفاده میکنند؛
- حملاتی که از ماشینهای مجازی بهروز نشده و اصلاحنشده بهره میبرند؛ و
- حملاتی که از ناهماهنگی در مقررات و سیاستهای کلی پوشیدگی استفاده میکنند.
اهداف امنیتی پایه در پیادهسازی رایانش
با توجه به موارد گفتهشده در دو بخش قبلی، اهداف امنیتی اصلی در پیادهسازی رایانش ابری شامل موارد زیر خواهد بود:
- محافظت از داده مشتری در برابر دسترسی غیرمجاز، افشا، تغییر و پایش. این موضوع شامل پشتیبانی از مدیریت هویت میباشد؛ از جمله اینکه این قابلیت برای مشتری فراهم باشد که بر دسترسی کاربران مجاز به سرویسهای ابر، سیاستهای کنترل دسترسی و هویت اعمال کند. همچنین مشتری را قادر میسازد تا برای کاربران مختلف، امکان دسترسی به بخشهای مختلف دادهها را فراهم سازد.
- جلوگیری از تهدیداتی که زنجیره تأمین را هدف قرار میدهند، شامل اعتمادپذیری و قابلیت اطمینان به فراهمکننده ابر و به همان اندازه به سختافزار و نرمافزار. جلوگیری از دسترسی غیرمجاز به منابع زیرساخت ابر، که شامل پیادهسازی حوزههای امنیتی بین منابع پردازش و جداسازی منطقی است. بهعنوان مثال، جداسازی منطقی بین بارهای کاری مشتریان که بر روی یک سرور فیزیکی در حال اجرا میباشند و استفاده از پیکربندیهایی که بهصورت پیشفرض امکانات امنیتی را اعمال میکنند.
- طراحی کاربردهای وبی که در یک ابر مستقر هستند، بر اساس یک مدل تهدید اینترنت و امنیت تعبیهشده (Embedded) در فرآیند توسعه نرمافزار.
- محافظت از مرورگرهای وب در برابر حملات بهمنظور کاهش آسیبپذیریهای امنیتی کاربر نهایی (End-user)، شامل اقداماتی برای محافظت از دستگاههای پردازشی پرسنل که به اینترنت متصل هستند، بهوسیله بهکارگیری نرمافزارهای امنیتی، دیوارههای آتش شخصی و نگهداری بستههای اصلاحی. گسترش کنترل دسترسی و فناوریهای تشخیص نفوذ در سمت فراهمکننده ابر و انجام یک ارزیابی مستقل بهمنظور بررسی اینکه آنها در جای خود عمل میکنند. این موضوع شامل محیطهای پیرامونی امنیتی در ترکیب با مدلهای حوزه امنیت میباشد. محیط پیرامونی امنیتی شامل این موارد میباشد: محدودیتهای فیزیکی دسترسی به شبکه و دستگاههای حفاظت از یکایک اجزا در برابر سوءاستفاده در هنگام توسعه بستههای امنیتی، تعریف پیشفرض اکثریت موارد امنیتی در پیکربندیها، غیرفعال کردن تمام درگاهها و سرویسهای استفادهنشده، استفاده از کنترل دسترسیهای نقشمحور، پایش روند بازرسی، حداقل کردن استفاده از مصونیتها، استفاده از آنتیویروسهای نرمافزاری و رمزنگاری ارتباطات.
- تعریف حدود اعتماد بین فراهمکنندگان و مشتریان بهمنظور اطمینان از اینکه پاسخگویی در قبال فراهم کردن امنیت واضح و مشخص باشد.
- پشتیبانی از قابلیت جابهجایی، بهطوری که مشتری بتواند بهمنظور تأمین در دسترس بودن، صحت و محرمانگی، اقدام به تغییر فراهمکننده ابر نماید. این مسئله شامل توانایی بستن حساب در یک زمان و تاریخ مشخص و انتقال داده از یک فراهمکننده به فراهمکننده دیگر میباشد.
سخن آخر
در مجموع، امنیت رایانش ابری یکی از مهمترین موضوعات در استفاده از زیرساختها و خدمات ابری به شمار میرود و تأمین آن نیازمند توجه همزمان به جنبههای فنی، معماری و فرآیندهای توسعه است. بررسی نیازمندیهای امنیتی نشان میدهد که امنیت نباید پس از طراحی و پیادهسازی سیستم مورد توجه قرار گیرد، بلکه لازم است از مراحل ابتدایی چرخه عمر فناوری اطلاعات در نظر گرفته شود.
احراز هویت، کنترل دسترسی، رمزنگاری، پشتیبانگیری، جداسازی منابع و پایش مداوم فعالیتها از جمله اقداماتی هستند که میتوانند احتمال بروز تهدیدها و آسیبپذیریها را کاهش دهند.
از سوی دیگر، ماهیت اشتراکی محیطهای ابری و استفاده همزمان کاربران از منابع، اهمیت جداسازی منطقی و مدیریت صحیح دسترسیها را افزایش میدهد. در این میان، استفاده از سرور ابری نیز باید همراه با پیکربندیهای امنیتی مناسب، بهروزرسانی منظم و کنترل دسترسی دقیق باشد تا اطلاعات در برابر دسترسیهای غیرمجاز محافظت شوند.
همچنین تعیین مسئولیتهای امنیتی میان مشتری و ارائهدهنده خدمات ابری، توجه به امنیت زنجیره تأمین و فراهم کردن امکان انتقال دادهها، نقش مهمی در کاهش وابستگی و افزایش اعتمادپذیری دارد. در نهایت، ایجاد یک محیط ابری امن مستلزم رویکردی جامع و مستمر است تا محرمانگی، صحت و دسترسپذیری اطلاعات به شکل همزمان حفظ شود.