بررسی اصول امنیتی پایگاه های داده بخش دوم
2-4-3 کنترل دسترسی
مسئولیت کنترل دسترسی در قبال دادههای موجود در سیستم این است که تمام دسترسیهای مستقیم به منابع سیستم منحصرا بر اساس مدها و قانونهای تعیین شده توسط سیاستهای امنیتی انجام پذیرد. در یک سیستم کنترل دسترسی(شکل 2-1) ، درخواستکننده (کاربر ، فرایند) به منابع (داده ، برنامه) از طریق اعمالی نظیر خواندن ، نوشتن و یا اجرا دسترسی پیدا میکند.
شکل 2-1 : سیستم کنترل دسترسی
از لحاظ عملکرد این سیستم از دو قسمت تشکیل شده است :
• مجموعه ای از سیاستها و قانونها : اطلاعات ذخیره شده در سیستم بیانگر مد دسترسی میباشد که کاربر به هنگام دسترسی به منابع ملزم به پیروی از آنها است.
• مجموعه ای از رویههای کنترلی (مکانیسمهای امنیت): این رویهها درخواست دسترسی را بر اساس قوانین یاد شده بررسی میکنند. درخواستها ممکن است مورد پذیرش ، رد و یا تغییر قرار گیرند و دادههای غیر مجاز سانسور شوند.
سیاستهای امنیتی: سیاستهای امنیتی سیستم ، راهبردهایی هستند که با طراحی امنیت سیستم و مدیریت اختیارهای افراد در سیستم ، مرتبط هستند. این سیاستها بیانگر اصولی هستند که بر اساس آنها دسترسی ، اعطا و یا رد میشوند. قوانین دسترسی بیانگر سیاستهای امنیتی هستند و رفتار سیستم را در زمان اجرا مشخص میکنند.
سوالی که در اینجا مطرح است این است که چه مقدار از اطلاعات باید در دسترس هر درخواستکننده باشد؟ برای پاسخ به این سوال به بررسی محدودیتهای دسترسی و دو سیاست پایه میپردازیم:
سیاست کمترین اختیار : بر اساس این سیاست به درخواستکنندهگان سیستم کمترین مقدار اطلاعاتی را که برای انجام فعالیتهای آنها مورد نیاز است ، در اختیار آنها میگذارند. در این سیاست فرض بر این است که امکان تعریف این حد پایین وجود دارد(در اکثر مواقع این کار با دشواریهای بسیاری همراه است). ایراد این سیاست این است که ممکن است منجر به محدودیتهای بزرگ برای بعضی از درخواستکنندهگان شده و مانع فعالیت آنها شود.
سیاست بیشترین اختیار : این سیاست برای محیطهایی مانند دانشگاهها و مراکز تحقیقاتی که محافظت از دادهها اهمیت چندانی ندارد مناسب است. در این محیطها کاربران قابل اعتماد هستند و در ضمن دادهها باید بین افراد رد و بدل شوند. پس غالبا افراد به بیشتر دادههای مورد نیاز خود دسترسی دارند.
از نظر کنترل دسترسی سیستمها به دو دسته تقسیم میشوند : سیستمهای باز و سیستمهای بسته.
در یک سیستم بسته فقط دسترسیهایی معتبر هستند که صریحا به درخواستکننده اعطا شده باشند. در یک سیستم باز دسترسیهایی معتبر هستند که صریحا ممنوع شناخته نشده باشند. بر اساس سیاستهای یک سیستم بسته برای هر درخواستکننده باید قانونهای دسترسی که بیانگر سطح دسترسی درخواستکننده به منابع سیستم است ، وجود داشته باشند. این سطوح دسترسی معیّن شده برای هر درخواستکننده تنها حقوقی هستند که در اختیار وی قرار دارند. بر اساس سیاستهای یک سیستم باز برای هر درخواستکننده باید قانونهای دسترسی وجود داشته باشند که بیانگر دسترسی غیر مجاز برای درخواستکننده هستند. این دسترسیهای غیر مجاز تنها حقوقی هستند که از وی سلب شدهاست.
سیستمهای باز و بسته در انحصار متقابل با یکدیگر هستند. تصمیم گیری برای انتخاب یک استراتژی امنیتی ، بر اساس نیازهای پایگاهداده ، کاربران ، برنامهها و سازمان گرفته میشود. یک سیستم بسته سیاست کمترین اختیار و سیستم باز سیاست بیشترین اختیار را اعمال میکند. حفاظت در سیستم بسته ، قوی تر است زیرا اشتباه در تعریف قوانین دسترسی ممکن است مانع از یک دسترسی مجاز شود ولی باعث خرابی نمیشود در صورتی که در یک سیستم باز چنین اشتباهی ممکن است منجر به دسترسی غیر مجاز و نتیجتا خرابی شود. همانطور که گفته شد انتخاب یکی از این دو سیستم به شرایط بستگی دارد. در محیطهایی که اعطای دسترسی بیشتر از ممنوعیت دسترسی است ، مدیریت سیستمهای بسته دشوار است و بهتر است از سیستم باز استفاده شود. در شکلهای 1-2 و 1-3 کنترل دسترسی در سیستمهای باز و بسته نشان داده شده اند.
شکل 2-2 : کنترل دسترسی در سیستم بسته
اعطا و بازپس گیری اختیارات تنها به عهده یک مدیر نیست. بعضی مواقع مدیریت تفویض اختیار باید بصورت غیر متمرکز و توسط افراد مختلفی انجام شود. در سیستمهای توزیع شده که از چندین سیستم محلی تشکیل شدهاند مدیریت باید بصورت غیر متمرکز اعمال شود.
شکل 2-3 : کنترل دسترسی در سیستم باز
2-4-3-1 ارتباط کنترل دسترسی با سایر سرویسهای امنیتی
كنترل دسترسي به ساير سرويسهاي امنيت متكي است و با آنها نوعي همزيستي دارد. وظيفه كنترل دسترسي محدود كردن فعاليتهاي كاربر مجاز ميباشد و بوسيله ناظر مرجع شروع به كار ميكند. ناظر مرجع بصورت يك واسط در بين سيستم و كاربر قرار ميگيرد و هر تلاش براي دسترسي كاربر و يا برنامه تحت فرمان او به منابع سيستم ، بايد از سد ناظر منابع عبور كند. اين ناظر براي تشخيص اينکه آيا كاربر مورد نظر مجاز به انجام فعالیتی ميباشد يا خير ، با يك پايگاه داده تفويض اختيار مشاوره ميكند. اين پايگاه دادهها ، بوسيله يك مدير امنيت ، مديريت و نگهداري ميشود. مدير امنيت ، اين اختيارات را براساس سياستهاي موجود در سازمان ، در اختيار افراد مختلف قرار ميدهد. البته كاربران ، قادر به تغيير قسمتي از اين پايگاه داده هستند ، براي مثال آنها ميتوانند در مورد فايلهاي شخصي خود ، اختيارات مرتبط با ساير کاربران را تغيير دهند. شكل 2-4 ، يك تصوير منطقي از سرويسهاي امنيت و ارتباط آنها با يكديگر است. اين تقسيمبندي سرويسها ، ممكن است تا حدي ايدهآل بنظر برسد و در بسياري از سيستمها بگونهاي كه در شكل نشان داده شده است ، پيادهسازي نشود ولي هر چه مدل امنيت سيستم به اين تقسيمبندي نزديك شود ، امنيت سيستم بالا ميرود.