مقدمه
در طی سه دهه اخیر تعداد پایگاه داده های کامپیوتری افزایش بسیاری داشته است. حضور اینترنت به همراه توانائیهای شبکه، دسترسی به داده و اطلاعات را آسانتر کرده است. به عنوان مثال، کاربران امروزه میتوانند به حجم بالایی از اطلاعات در فاصله زمانی بسیار کوتاهی دسترسی پیدا کنند. به همین نسبتی که ابزارها و تکنولوژی دسترسی و استفاده از اطلاعات توسعه مییابند، نیاز به حفاظت اطلاعات هم بوجود میآید. بسیاری دولتها و سازمانها صنعتی دادههای مهم و طبقه بندی شدهای دارند که باید حفاظت شوند. سازمانهای بسیار دیگری هم مثل مؤسسات دانشگاهی نیز اطلاعات مهمی در مورد دانشجویان و کارمندانشان دارند. در نتیجه تکنیکهایی برای حفاظت داده های ذخیره شده در سیستمهای مدیریت پایگاه داده،[1] اولویت بالایی پیدا کردهاند.
در طول سه دهه اخیر، پیشرفتهای بسیاری در مورد امنیت پایگاه دادهها حاصل شده است. بسیاری از کارهای اولیه، روی امنیت پایگاه دادههای آماری انجام شد. در دهه 70، همزمان با شروع تحقیقات روی پایگاه دادههای رابطهای، توجه مستقیماً به مسئله کنترل دسترسی[2] بود و بیشتر از همه، کار روی مدلهای کنترل دسترسی احتیاطی[3] شروع شد. در حالی که، در سالهای پایانی دهه 70، کار بروی امنیت الزامی[4] ولی در واقع تا مطالعات نیروی هوایی در 1982، که تلاش وسیعی برای DBMSهای امن چند سطحی[5] بود، کار مهمی انجام نشد.
در هزاره جدید با حضور تکنولوژیهایی مثل کتابخانههای دیجیتال، شبکه گستره جهانی و سیستمهای محاسباتی اشتراکی، علاقه بسیاری به امنیت نه تنها در بین سازمانهای دولتی، بلکه بین سازمانهای اقتصادی هم وجود دارد. این مقاله مروری به پیشرفتها و محصولات در سیستمهای پایگاه دادهای امن در دو زمینه اجباری و احتیاطی دارد.
2 کنترل دسترسی (مفاهیم و سیاستها)
دراین بخش مفاهیم پایه در کنترل دسترسی معرفی میشوند. سپس در مورد سیاستهای کنترل دسترسی احتیاطی و الزامی بحث میشود و نهایتاً مروری داریم بر سیاستهای سرپرستی.
21 مفاهیم اساسی
کنترل دسترسی معمولاً در مقابل مجموعه ای از قوانین اعطای مجوز که توسط مدیران امنیتی یا کاربران براساس بعضی سیاستهای خاص ارائه میشوند، قرار دارد.
قانون اعطای مجوز، در حالت کلی بیان میکند که فرد[6] S اجازه دارد که امتیاز P[7] را بروی شیئی [8] O بکار ببرد.
اشیاء مجاز[9] : ترکیبات غیرفعال سیستم هستند که باید در مقابل دسترسیهای غیرمجاز محافظت شوند. اشیایی که باید به آنها متوجه شدند به مدل دادهای مورد استفاده بستگی دارند. به عنوان مثال، در یک سیستم عامل فایلها و دایرکتوریها اشیاء هستند. در حالیکه، در یک DBMS منابعی که باید محافظت شوند رابطه ها، دیدها و صفات هستند.
اشخاص مجاز[10] : موجودیتهایی در سیستم هستند که اجازه دسترسی به آنها داده میشود. اشخاص به دستههای زیر تقسیم بندی میشدند :
کاربران : که شخصیتهای مجزا و مشخصی هستند که با سیستم در ارتباطند.
گروهها مجموعه ای از کاربران.
نقشها[11] : مجموعهای نامدار از امتیازها که احتیاج دارند، فعالیت خاصی را در رابطه با سیستم انجام دهند.
سلسله عملیات[12] : که برنامههایی را برای کاربر اجراء میکند. به طور کلی، سلسله عملیات به آدرسهای حافظه، استفاده از CPU ، فراخوانی برنامههای دیگر و عملیات بروی داده اشاره میکند.
امتیازهای مجاز[13] : انواع عملیاتی را که یک فرد میتواند روی یک شیئی در سیستم اجراء کند، بیان میکند. مجموعه این امتیازها به منابعی که باید محافظت شوند، بستگی دارد. به عنوان مثال، در یک سیستم عامل خواندن، نوشتن و اجراء از امتیازها هستند. ولی، دریک DBMS رابطهای، انتخاب، درج، تغییر و حذف از جمله امتیازها به شمار میروند.
22 سیاستهای کنترل دسترسی :
سیاستهای کنترل دسترسی، معیارهایی هستند که براساس آنها تعیین میشود آیا یک درخواست دسترسی باید مجاز شمرده شود یا نه. یک طبقه بندی کلی بین سیاستهای کنترل دسترسی احتیاطی و الزامی است.
221 سیاست کنترل دسترسی احتیاطی :
سیاستهای کنترل دسترسی احتیاطی (DAC) ، دسترسی افراد به اشیاء را براساس شناسه افراد، قوانین و مجوزها کنترل میکند. قوانین برای هر فرد، مجوزهایی را که میتواند برای انجام عملیات روی اشیاء بکار برد، بیان میکند. وقتی تقاضای درخواستی به سیستم میآید، مکانیسم دسترسی مشخصی میکند آیا قانونی برای تأیید این درخواست وجود دارد یا نه. اگر قانونی وجود داشت درخواست مجاز شمرده میشود، در غیراین صورت رد میشود. چنین مکانیزمی احتیاطی است و در آن به اشخاص اجازه داده میشود که مجوز دسترسی به دادههایشان را به دیگران بدهند.
سیاستهای دسترسی احتیاطی انعطاف پذیری زیادی دارند. به طوری که، اجازه تعریف محدوده وسیعی از قوانین کنترل دسترسی را با استفاده از انواع مختلف مجوزها را میدهند. مثل مجوزهای مثبت و منفی و مجوزهای قوی و ضعیف. در زیر توضیح مختصری از هر کدام ارائه میشود.
مجوزهای مثبت و منفی :
در سیستمی که مجوز مثبت دارد. هرگاه فردی بخواهد به شیئی خاصی دسترسی داشته باشد، سیستم چک میکند آیا مجوزی وجود دارد و فقط در صورت وجود، به شخص اجازه دسترسی داده میشود. عدم وجود مجوز به معنی رد درخواست است. مشکل این خط مشی این است که، عدم وجود مجوز به معنای جلوگیری از دسترسی شخص به شیئی در آینده نیست. این مشکل توسط مجوزهای منفی حل شد که به معنی رد قطعی مجوز در چنین مواردی است.
مجوزهای قوی و ضعیف :
بعضی مدلهایی که هر دو مجوز مثبت و منفی را دارند به دو دسته مجوزهای قوی و ضعیف نیز تقسیم میشوند. مجوزهای قوی (چه مثبت و چه منفی) باطل نمیشوند. در حالیکه، مجوزهای ضعیف براساس قوانین خاصی توسط مجوزهای قوی یا ضعیف دیگری میتوانند باطل شوند.
222 سیاست کنترل دسترسی الزامی
سیاستهای کنترل دسترسی الزامی (MAC) بیان کننده دسترسی است که افراد به اشیاء براساس رده بندی شیئی و فرد دارند. این نوع از امنیت تحت عنوان امنیت چند لایه[14] هم نام برده میشود. سیستمهای پایگاه دادهای که خصوصیات امنیت چند لایه را تأمین میکنند، DBMS های امن چند لایه (MLS/DBMS) یا DBMS های مطمئن نامیده میشوند. بیشتر MLS/DBMSها براساس سیاست Bell و Lapadula ، طراحی و ساخته شدهاند. دراین خطمشیها، افراد به عنوان سطوح مجاز مطرح میشوند و میتوانند در سطح مجاز خود عمل کنند. اشیاء به سطوح حساسیت ارجاع میشوند. سطوح مجاز حساسیت را سطوح امنیت مینامند. آنچه در زیر میآید، دو قانون مهم این خط مشی است :
ویژگی امنیتی ساده : یک فرد دسترسی خواندن یک شیئی را دارد اگر سطح امنیتی آن بر سطح امنیتی شیئی مسلط باشد.
ویژگی ستاره : یک فرد دسترسی نوشتن یک شیئی را دارد اگر سطح امنیتی شیئی توسط سطح امنیتی فرد پوشانده شود.
شکل زیر تفاوت بین سیاستهای الزامی و احتیاطی را نشان میدهد. تحت سیاست احتیاطی یک تقاضای دسترسی مجاز شمرده میشود اگر قانونی وجود داشته باشد که دسترسی را مجاز بداند. در مقابل، در سیاست الزامی یک دسترسی مجاز است، اگر رابطه خاصی بین سطح امنیتی شخصی که تقاضای دسترسی دارد و سطح امنیتی شیئی که مورد تقاضاست، وجود داشته باشد.
23 سیاستهای سرپرستی[15]
یکی دیگر از ابعادی که می تواند معیاری برای مقایسه مدلهای کنترل دسترسی باشد، سیاستهای سرپرستی است، که حمایت میکند. سرپرستی به عملیات اعطا و بازپس گرفتن مجوز اطلاق میشود. ما سیاستهای سرپرستی را به صورت زیر طبقه بندی میکنیم.
سرپرستی DBA : تحت این سیاست، فقط DBA میتواند حق دسترسی بدهد یا تقاضایی را برگرداند. این سیاست بسیار متمرکز است و امروزه به ندرت در DBMSها بکار میرود، مگر در ساده ترین آنها.
سرپرستی شیئی - مالک[16] : براساس این سیاست که عمدتاً توسط DBMSها و سیستم عاملها استفاده میشود، بوجود آوردند شیئی مالک آن محسوب میشود و تنها شخص مجاز برای سرپرستی شیئی است.
سرپرستی متصدی شیئی[17] : بر طبق این سیاست، یک شخص، نه الزاماً ایجاد کننده شیئی، مدیر سرپرستی شیئی است. براساس این سیاست حتی ایجاد کننده شیئی هم باید مجوز دسترسی به شیئی را دریافت کند.
دومین و سومین سیاست میتوانند با وکالت سرپرستی و انتقال سرپرستی ترکیب شوند. وکالت سرپرستی به این معناست که مدیر یا سرپرست یک شیئی میتواند اعمال سرپرستی بروی یک شیئی را به شخص دیگری واگذار کند. بیشتر DBMSها سیاست سرپرستی براساس سرپرستی مالک با امکان واگذاری را حمایت میکنند. باید توجه داشت که تحت خط مشی واگذاری، سرپرست اولیه شیئی امتیاز سرپرستی خود را از دست نمی دهد.
انتقال سرپرستی مثل واگذاری، سرپرستی را به شخص دیگری میدهد. با این تفاوت که سرپرست اولیه امتیاز سرپرستی خود را از دست میدهد. برای انتقال سرپرستی دو خط مشی زیر وجود دارد.
ارجاع بازگشتی[18] : تمام مجوزهایی که توسط سرپرستی پیشین داده شده، به صورت بازگشتی ارجاع داده میشود.
انتقال واگذار کننده[19] : تمام مجوزهای که توسط سرپرستی پیشین صادر شده نگه داشته میشوند.
علاوه براین انتقال میتواند با پذیرش[20] یا بدون پذیرش باشد. پذیرش به معنای این است که شخصی که سرپرستی به او واگذار میشود باید صریحاً این مسؤولیت را بپذیرد. انتقال بدون پذیرش به معنای این است که چنین پذیرشی احتیاج نیست.
3- سیستمها و مدل های کنترل دسترسی احتیاطی
دراین بخش به بحث در مورد مدلها و سیستمهای DAC میپردازیم. مدلهای احتیاطی براساس معیارهای گوناگونی میتواند طبقه بندی شود. این بخش این مدلها را براساس DBMSهایی که تحت آن این مدلها توسعه مییابند به سه گروه تقسیم بندی میکند : مدلهای اعطای مجوز برای DBMSهای رابطهای، مدلهای اعطای مجوز برای DBMSهای شیئی گرا و مدلهای اعطای مجوز برای DBMSهای فعال.
31 مدلهای اعطای مجوز برای DBMSهای رابطهای
دراین بخش مروری داریم بر مدلهای اعطای مجوز که برای DBMSهای رابطهای ساخته شدهاند و با شرح مدل System R شروع میکنیم. مدل System R یک حادثه مهم در تاریخ مدلهای اعطای مجوز است. اهمیت مدل سیستمهای R از آنجایی است که بسیاری DBMSهای تجاری مکانیزم اعطای مجوز را براساس آن توسعه دادند.
دراین مدل اشیایی که باید محافظت شوند جدولها و دیدهایی هستند که اشخاص، امتیازهای گوناگون نسبت به آنها دارند. امتیازهایی که این مدل حمایت میکند شامل، انتخاب برای انتخاب تاپلها از جدول، به روز رسانی برای تغییر تاپلهای یک جدول، درج و حذف برای افزودن یا حذف کردن تاپلهای جدول، حذف جدول برای پاک کردن کل یک جدول. گروه و نقش دراین مدل حمایت نمیشوند. این مدل امکانات سرپرستی نامتمرکز را حمایت میکند. هرگاه شخصی جدولی را بوجود میآورد،. امتیازی را نسبت به آن بدست میآورد. مالک جدول میتواند تمام امتیازها را بر جدول اعمال کند.