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