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