امنیت اطلاعات یکی از مهمترین مفاهیم ،از آغاز زندگی بشر تاکنون بوده است. انسانهای ادوار گذشته از اهمیت این موضوع مطلع بودند و بسیاری از شکستهای انسانهای گذشته در جنگها فاش شدن اطلاعات مهم و سری بوده است. در ضمن آنها اطلاعات حساس را به رمز تبدیل کرده و برای رد و بدل کردن این اطلاعات از زبان رمزی استفاده میکردند.
با پیشرفت علم و جوامع بشری اهمیت این موضوع بیش از پیش آشکار شده و فاش شدن اطلاعات نظامی و یا سیاسی ممکن است منجر به نابودی یک جامعه بیانجامد. سرقتهای میلیاردی که گاها از بانکها میشود مثالی دیگر از اهمیت این موضوع است.
برای امن کردن جامعه مدرن باید از امکانات مدرن نیز استفاده شود زیرا سارقان اطلاعات از امکانات پیشرفته برای دستیابی به اطلاعات استفاده میکنند. در این پایان نامه به بررسی امنیت در محیط پایگاه داده میپردازیم. این محیط بر مشکلاتی نظیر افزونگی داده و ناسازگاری داده که در سیستم فایل مشکل ساز بوده ، فائق آمده و با به اشتراک گذاشتن دادهها ، امکان استفاده بیشتر از اطلاعات را مهیْا ساخته است. در این محیط امکان مدیریت تعداد زیادی کاربر تعبیه شده است. کاربر زیاد مساوی است با درد سر زیاد ! ممکن است کاربری عمدی یا غیر عمدی به داده های محرمانه دست یابد و سیستم را مختل سازد. برای تامین امنیت در چنین محیطهایی که همواره با پیچیدگیهای زیادی نیز برخوردار است لازم است در ابتدا موضوع امنیت را بصورت کلاسیک بررسی کنیم. آشنایی با مفاهیمی همچون تهدید ، صحت داده و انتشار داده ، ما را در شناخت مدلهای امنیت یاری میکند. تامین امنیت در پایگاه داده با شناسایی تهدید آغاز میشود. از دیگر واژههای مهم در این موضوع کنترل دسترسی است. هدف کنترل دسترسی محدود کردن فعالیتهایی است که کاربر مجاز میتواند بر روی سیستمهای کامپیوتری انجام دهد. کنترل دسترسی شامل سیاستهای مختلفی است. سیاستهای تشخیص ، اجباری و مبتنی بر نقش از آن جمله هستند. این سیاستها هر یک با اعمال محدودیتی خاص دسترسی کاربر را محدودتر میکنند و در تناقض با یکدیگر نیستند ،به عبارت دیگر جهت حرکت همه آنها یکی است.
امنیت کلاسیک را در فصل 2 بررسی می کنیم. سپس به بررسی امنیت در نرم افزار SQLServer2005 میپردازیم. رنگ امنیت کلاسیک در تمامی مولفههای امنیتی SQLServer2005 به چشم میخورد. در این فصل با مفاهیمی همچون مدل هویت شناسی و تفویض اختیار در SQLServer2005 آشنا می شویم. انواع کنترل دسترسی ، انواع نقش ها ، شما و بسیاری دیگر از واژهها و مفاهیم را در فصل 3 بررسی میکنیم. رمز نگاری که در نسخه SQLServer2000 نبوده به SQLServer2005 اضافه شده و این نرم افزار را از لحاظ امنیت بسیار پرقدرت ساخته است. در واقع در فصل 3 مدل امنیتی SQLServer2005 به طور کامل بررسی شده است. در فصل 4 یک محیط عملی طراحی و پیاده سازی شده است. در فصل 5 بامشکلاتی که در حین پیاده سازی چنین سیستمی با آن مواجه هستیم را بررسی میکنیم. اهمیت این پایان نامه از این جهت است که تعداد بسیار کمی از افراد متخصص این موضوع را در SQLServer2005 بررسی کرده و آن را بصورت عملی پیاده سازی کردهاند. بسیاری از سیستمهای طراحی شده از لحاظ امنیتی ناکارامد هستند و مکانیزمهای امنیتی به کار رفته در این سیستمها دارای نواقص و کمبودهای بسیاری است.
امنیت کلاسیک
در محیط پایگاهداده ، برنامهها و کاربران مختلف سازمان به یک مجموعه اطلاعات واحد و یکپارچه در DBMS دسترسی دارند. مشکلاتی نظیر ناسازگاری و افزونگی دادهها که در سیستمهای گذشته نمایان بودند از بین رفته و در عوض مسأله تامین امنیت در پایگاهداده اهمیت بسیاری پیدا کرده است. تامین امنیت در محیط پایگاه داده یعنی شناسایی تهدیدهایی که امنیت آن را به خطر میاندازند و همچنین انتخاب سیاستها و مکانیسمهای مناسب برای مقابله با آن. یکی از راههای مبارزه با تهدیدها ، کنترل دسترسی است. هدف کنترل دسترسی ، محدود کردن اعمال و فعالیتهایی است که کاربر مجاز ، میتواند بر روی سیستم کامپیوتری انجام دهد. کنترل دسترسی ، آنچه را که کاربر و یا برنامه تحت کنترل او میتواند انجام دهد را کنترل میکند. در این راستا ، کنترل دسترسی ، مانع از انجام فعالیتهایی میشود که امنیت سیستم را تهدید میکنند.
در این فصل پس از بیان چند مفهوم پایه در رابطه با امنیت پایگاهداده ، به بررسی کنترل دسترسی و رابطه آن با سایر سرویسهای امنیتی از جمله سرویس هویت شناسی ، سرویس حسابرسی و سرویس مدیریت میپردازیم. سپس ماتریس دسترسی و چگونگی پیادهسازی آن در محیطهای کاربردی را بررسی میکنیم. در پایان به مطالعه سیاستهای کنترل دسترسی و مختصری درباره چگونگی مدیریت آنها میپردازد.
2-2 امنیت پایگاه داده
امنیت اطلاعات در پایگاهداده دارای سه بخش اصلی است :
محرمانگی : تضمین محرمانگی اطلاعات شامل جلوگیری از فاش شدن غیر مجاز اطلاعات و شناسایی و تحذیر عوامل آن میباشد.
صحت : تضمین صحت اطلاعات شامل جلوگیری از تغییر غیر مجاز اطلاعات و شناسایی وتحذیر عوامل آن میباشد.
دسترس پذیری : تضمین در دسترس پذیری اطلاعات شامل جلوگیری از رد غیر مجاز دسترسی به سرویسهای ارائه شده توسط سیستم و شناسایی و تحذیر عوامل آن میباشد.
2-3 تهدید امنیت در پایگاه داده
در اینجا لازم است تا تعریف مناسبی از تهدید در پایگاهداده ارائه شود. تهدید به معنی تجاوز تصادفی ، یا عمدی و برنامهریزی شده به پایگاهداده ، به منظور فاشسازی و یا تغییر اطلاعات مدیریت شده توسط سیستم میباشد. تجاوز به پایگاهداده و تهدید امنیت آن شامل خواندن ، تغییر و حذف غیر مجاز و نادرست اطلاعات میباشد. عوامل ایجاد کننده تجاوز در پایگاهداده تهدید نامیده میشوند. نتایج تجاوز به پایگاهداده مختصرا در ذیل آورده شده است :
انتشار نامناسب اطلاعات : خواندن عمدی و یا غیر عمدی اطلاعات توسط کاربر غیر مجاز که موجب انتشار غیر مجاز اطلاعات میشود.
تغییر نامناسب داده : تغییر نامناسب داده شامل تمام تجاوزهایی میشود که صحت داده را به خطر میاندازند.
عدم پذیرش سرویسها : عدم پذیرش سرویسها شامل تمام اعمالی است که مانع دسترسی کاربر به دادهها و یا استفاده از منابع میشود.
2-4 کنترل امنیت پایگاه داده
امنیت پایگاهداده از طریق کنترل انتشار ، کنترل استنباط و کنترل دسترسی اعمال میشود که به بررسی آنها میپردازیم :
2-4-1 کنترل انتشار
کنترل انتشار ، انتقال اطلاعات میان منابع را کنترل میکند. یک انتشار میان منابع X و Y هنگامیرخ میدهد که اطلاعاتی از X خوانده شده و در Y نوشته شود. کنترل انتشار ، از انتقال دادههای موجود در منابع سطح بالا به منابع سطح پایین جلوگیری میکند.
2-4-2 کنترل استنباط
منظور از استنباط یعنی دستیابی به اطلاعات محرمانه از روی دادههای غیر محرمانه است. مسأله استنباط از دادهها بیشتر در پایگاهدادههای آماری اتفاق میافتد. در این نوع پایگاهدادهها کاربر باید از بازگشت به عقب و نتیجهگیری از روی دادههای آماری بر حذر داشته شود. به عنوان مثال فرض کنید کاربری طی یک پرس و جو متوسط حقوق کارمندان زن را در سازمان رویت کند. سپس این کاربر، تعداد کارمندان زن را در سازمان مورد پرس و جو قرار میدهد. اگر نتیجه بدست آمده از آخرین پرس و جو عدد یک باشد ، این کاربر قادر خواهد بود حقوق این کارمند زن را استنباط کند.
2-4-3 کنترل دسترسی
مسئولیت کنترل دسترسی در قبال دادههای موجود در سیستم این است که تمام دسترسیهای مستقیم به منابع سیستم منحصرا بر اساس مدها و قانونهای تعیین شده توسط سیاستهای امنیتی انجام پذیرد. در یک سیستم کنترل دسترسی(شکل 2-1) ، درخواستکننده (کاربر ، فرایند) به منابع (داده ، برنامه) از طریق اعمالی نظیر خواندن ، نوشتن و یا اجرا دسترسی پیدا میکند.