تارا فایل

امنیت در پایگاه داده




امنیت در پایگاه داده

ارائه شده به :
استاد محترم جناب آقای مهندس سرگلزایی

توسط :
علی اکبر حسین آبادی

مستند سازی
کاردانی نرم افزار
ترم 4 سال تحصیلی 1388-89
علوم کامپیوتر
پیشگفتار
به نام خداوند جان و خرد کزین برتر اندیشه بر نگذرد
سپاسِ بیکران پروردگار را که به انسان قدرت اندیشیدن بخشید تا با یاری این موهبت ، راه ترقی و تعالی را بپیماید و امید به اینکه عنایات الهی شامل حال ما باشد تا با بضاعت اندک علمی خود زیر نظر اساتید برجسته و دلسوزمان در خدمت ترقی و پیشرفت کشورمان باشیم .
امنیت، پشتیبانی و نگهداری منابع دیجیتالی از موارد مهمی است که راه کارهای خاص خود را دارد . این مقاله به امنیت اطلاعات و مسائل مرتبط با آن خواهد پرداخت. چرا امنیت اطلاعات مهم است؟ دلایلی وجود دارد، ازجمله مدت زمانی که داده ها تولید، دسترس پذیر و استفاده شده اند . باید بدانیم که با یک بی احتیاطی کوچک، ممکن است اطلاعاتی که مدت ها زمان برده است تا جمع آوری شود، از بین برود .از طرف دیگر در فضای جدید اطلاعاتی، بسیاری از افراد که حس مسئولیت ندارند، به راحتی می توانند به رایانه ها و اینترنت دسترسی بیابند . بنابراین حفظ رایانه ها و شبکه ها اهمیت زیادی دارد .
از آنجا که این مهم توسط استاد عزیز و گرامی جناب مهندس سرگلزایی مرتبط با درس مستند سازی (شیوه ارائه مطالب) بر عهده اینجانب نهاده شده بر خود می دانم تا با کوشش و تلاش مطالبی به روز و مفید برای ارائه این مبحث از میان منابع اطلاعاتی فراهم آورم و در مقاله به کار ببرم .
در رابطه با این موضوع جستجو در دو بخش اینترنت و کتابخانه صورت گرفت که در میان منابع اینترنتی از میان مقاله های نه چندان زیادِ موجود، تنها چند مقاله جامع و کامل ولی کوتاه یافت شد که دوتا از آنها به زبان لاتین و دوتای دیگر به زبان فارسی می باشند. از میان منابع کتابخانه ای نیز از چندین کتاب مرجع استفاده شده که در این کتاب ها موضوعات مربوط به امنیت در بانک های اطلاعاتی فقط در قالب یکی از فصلهای کتاب که آن هم به تازگی در چاپ های اخیرشان به کتابها افزوده بودند وجود داشت .
برای درک راحت تر این مقاله توصیه می شود تا آگاهی های لازم مربوط به مباحث اولیه و مفاهیم بنیادی پایگاه داده را قبلاً فرا گرفته باشیم .
با امید به اینکه ارائه این مقاله بتواند به عنوان یک منبع پژوهشی برای دیگر دانشجویان عزیز و یک مرجع قابل استفاده برای گردانندگان شبکه و مدیران پایگاه داده قرار بگیرد .
بهار 1389
علی اکبر حسین آبادی
تقدیر و تشکر
اینجانب بر خود لازم می داند تا از زحمات بی شائبه جناب آقای مهندس مهدی سرگلزایی و شیوه نمونه تدریس و اخلاق حسنه ایشان در برخورد با دانشجویان تقدیر و تشکر به عمل آورم. با آرزوی موفقیت شما استاد عزیز در تمامی مراحل زندگی و درخشش بیشتر در عرصه های گوناگون علم و فناوری .

تقدیم نامه
تقدیم به پدر و مادرم دو گل سر سبد زندگیم که همواره مدیون زحمات آنهایم .

فهرست مطالب
عنوان صفحه

مقدمه ……………………………………………………………………………………………………………………. 8
1 تعاریف …………………………………………………………………………………………………………………… 9
1-1 داده ………………………………………………………………………………………………………………………………… 9
1-2 اطلاعات ………………………………………………………………………………………………………………………….. 9
1-3 دانش ………………………………………………………………………………………………………………………………. 9
1-4 پایگاه داده ………………………………………………………………………………………………………………………. 9
1-5 سیستم مدیریت پایگاه داده …………………………………………………………………………………………… 9
1-6 امنیت ……………………………………………………………………………………………………………………………… 10
2 امنیت پایگاه داده ( یک سطحی )……………………………………………………………………………… 10
3 امنیت پایگاه داده ( چند سطحی ) ……………………………………………………………………………. 13
3-1 دلایل ایجاد …………………………………………………………………………………………………………………….. 13
3-2 روش های ایجاد ……………………………………………………………………………………………………………… 14
4 سیاست های کنترل دسترسی ………………………………………………………………………………….. 17
4-1 احتیاطی …………………………………………………………………………………………………………………………. 17
4-1-1 مدیریت مجوز ها ………………………………………………………………………………………… 17
4-1-2 System R …………………………………………………………………………………………….. 18
4-1-3 نمایش و اعمال مجوز ها ……………………………………………………………………………… 18
4-2 اجباری …………………………………………………………………………………………………………………………….. 19
4-3 مبتنی بر نقش ………………………………………………………………………………………………………………… 19
5 استانداردهای پیشگیری …………………………………………………………………………………………… 20
5-1 ارزیابی آسیب پذیری و پذیرش ……………………………………………………………………………………… 20
5-2 تجرید ………………………………………………………………………………………………………………………………. 21
5-3 نظارت بر فعالیت های پایگاه داده …………………………………………………………………………………… 21
5-4 بومی حسابرسی ……………………………………………………………………………………………………………….. 21
5-5 فرایند ها و روش ها …………………………………………………………………………………………………………. 21
6 انواع تهاجمات و روش های مقابله با آنها ……………………………………………………………………. 22
6-1 تهاجم به داده ها ……………………………………………………………………………………………………………… 22
6-1-1 انواع تهاجمات به داده ها …………………………………………………………………………….. 22
6-1-2 انواع داده های مورد تهاجم …………………………………………………………………………. 22
6-1-3 روش های مقابله ………………………………………………………………………………………….. 22
6-2 استنتاج …………………………………………………………………………………………………………………………….. 23
6-3 تهاجم انواع ویروس ها ……………………………………………………………………………………………………… 24
6-3-1 انواع ویروس ها …………………………………………………………………………………………….. 24
6-3-2 مبارزه با ویروس ها ………………………………………………………………………………………. 24
7 پشتیبان گیری …………………………………………………………………………………………………………. 25
7-1 خرابی های سیستم …………………………………………………………………………………………………………. 25
7-2 سیاست های تهیه ………………………………………………………………………………………………………… 25
پیوست ……………………………………………………………………………………………………………………. 27
* نقش مدیر پایگاه داده ………………………………………………………………………………………………………… 27
* امنیت در پایگاه داده های آماری ………………………………………………………………………………………. 27
* مساله اسب های تراوا ……………………………………………………………………………………………………….. 28
فهرست منابع ……………………………………………………………………………………………………………. 29
مقدمه
با گسترش روز افزون استفاده سازمان ها از پایگاه داده ها در امور روزانه و تصمیم سازی های سازمانی، نقش امنیت اطلاعات و داده ها اهمیت روز افزونی یافته است. گسترش سریع کاربرد های مبتنی بر وب از سیستم های پایگاهی، این مقوله را اهمیتی مضاعف بخشیده است. امروزه حفاظت از اطلاعات سازمانی نه – تنها درارتباط با کاربرانِ خارجی بلکه در برابر سوء استفاده کاربرانِ داخل سازمان نیز مورد توجه قرار گرفته است.
داده از سرمایه های اصلی هر سازمان است که روز به روز بر حجم و میزان استفاده از آن افزوده می شود. این داده ها در سازمان ها نقش اساسی ایفا میکنند و مبنای تصمیم گیری های مدیریتی و استراتژیک هستند. حفاظت از داده ها در قبال خطراتی که سازگاری، صحت، دقت، خصوصی بودن و محرمانگی آنها را تهدید میکنند، امری اجتناب ناپذیر است. اهمیت و حساسیت ایمنی پایگاه داده ها به ویژه با گسترش دانش و تکنولوژی داده کاوی و کشف دانش بیشتر عیان میشود.

1 تعاریف
1-1 داده
برای این مفهوم ، ANSI دو تعریف ارائه کرده است[1] :
a) نمایش بوده ها ، پدیده ها ، مفاهیم یا شناخته ها به طرزی صوری و مناسب برای برقراری ارتباط ، تفسیر یا پردازش توسط انسان یا هر امکان خودکار .
b) هر نمایشی اعم از کاراکتری (نویسه ای) یا کمیت های قیاسی که معنایی به آن قابل انتساب باشد .
1-2 اطلاعات
برای این مفهوم ANSI تعریف زیر را ارائه کرده است[1] :
معنایی که انسان به داده منتسب می کند ، از طریق قراردادهای شناخته شده ای که در نمایش داده به کار می روند .
1- 3 دانش
یک مجموعه اطلاعات که براساس یک مجموعه از قواعد خاص و معمولاً با روش استقراء حاصل می شود . این حصول دانش می تواند توسط انسان یا یک سیستم خودکار انجام شود[1] .
*نکته : با توجه به تعاریف ارائه شده ، باید دانش را نوعی اطلاعات سطح بالاتر دانست . در واقع هم اطلاع و هم شناخت حاصل عملیاتی روی داده هستند ، ولی نوع عملیات لازم برای حصول آنها متفاوت است . دانش را شاید بتوان قانون مندی ها و بستگی های پنهان در مجموعه ای از داده ها یا مجموعه ای از اطلاعات یا در هر دو مجموعه دانست . بهتر و پذیرفتنی این است که برای هر یک از سه مفهوم داده ، اطلاعات و دانش، یک تعریف (یا مدل) ریاضی ارائه شود [1].
1-4 پایگاه داده
مجموعه ای است از داده های ذخیره شده و پایا ، به صورت مجتمع ، به هم مرتبط ، با کمترین افزونگی ، تحت مدیریت یک سیستم کنترل متمرکز ، مورد استفاده یک یا چند کاربر از یک (یا بیش از یک) "سیستم کاربردی" ، به طور همزمان و اشتراکی [1].
1-5 سیستم مدیریت پایگاه داده
یکی از انواع نرم افزار های واسط بین محیط فیزیکی ذخیره و بازیابی اطلاعات و محیط منطقی برنامه سازی است [1].
1-6 امنیت
امنیت پایگاه داده، به مجموعه سیاستها و مکانیزم هایی گفته می شود که سه بعد مهمِ امنیت یعنی : محرمانگی، جامعیت و دسترس پذیری را برای داده ها به وجود آورده و آنها را در برابر حملات عناصر داخلی و خارجی حفاظت نمایند .قبل از تشریح امنیت پایگاه داده در فصل بعد باید این نکته را یادآور شویم که مکانیزم متفاوت از سیاست می باشد[5] .
سیاست : به راهبردهای سطح بالایی گفته می شود که چگونگی انجام کارها و قواعد را معین می نماید .
مکانیزم : به توابع نرم افزاری و راهکارهای سخت افزاری سطح پایینی گفته می شود که چگونگی پیاده سازی سیاست ها رابیان می کند.
جدا سازی سیاست از مکانیزم چندین فایده دارد[2] :
* امکان مقایسه سیاست های مختلف و ارزیابی خصوصیات آنها را می دهد، بدون آنکه نیازی به چگونگی پیاده سازی آنها باشد .
* امکان ایجاد مکانیزم های جدید که سیاست های جدید را اجرا می کنند به وجود می آید به طوری که در تغییر یک سیاست احتیاج به تغییر در کل پیاده سازی نیست .
* وجود مکانیزم های مختلف که چندین سیاست را در یک زمان اجرا می کنند این امکان را به کاربران می دهد که بهترین سیاست را انتخاب کنند .

2 امنیت پایگاه داده (یک سطحی)
ایمنی عبارت است از حفاظت داده ها در قبال دستیابی غیرمجاز، تغییر غیرمجاز یا تخریب آنها و نیز در قبال دستیابی به داده ها با سوء نیت. تفاوت مفهوم ایمنی با جامعیت در نوع کاربرِ مورد نظر در تعریف آنها است. در ایمنی موردِ بحث ،کاربرِ خارجی و جلوگیری از دسترسی او به داده ها است، در صورتی که در جامعیت بحث بر سر کاربر مجاز و حصول اطمینان از صحیح بودن عملیات او در داده ها می باشد[4] .
نفوذهای امنیتی را میتوان به سه گروه مشاهده غیرمجاز داده ها، تغییر غیرصحیح داده ها و دردسترس نبودن داده ها تقسیم کرد. بر این اساس یک راه حل کامل برای تامین امنیت داده باید به سه نیازمندی زیر پاسخ گوید:[4]
1. محرمانگی که حفاظت داده ها در مقابل افشاسازی غیرمجاز است،
2. جامعیت که پیشگیری از تغییر غیرمجاز و نامطلوب داده ها است و
3. در دسترس بودن که پیشگیری و ترمیم خطاهای نرم افزاری و سخت افزاری و نیز عدم پذیرش
دسترسی های ناجور به داده ها است.
برای رسیدن به سه هدف فوق باید سیاست های امنیتی واضح و مشخصی تدوین گردد .به عبارت دیگر باید به طور کامل و صریح روشن گردد که چه بخش یا بخش هایی از داده ها باید محافظت شوند و چه کاربرانی اجازه دسترسی به چه قسمت هایی را دارند[2] .
برای برقراری امنیت در سیستم بانک اطلاعات ، ابتدا با کمک مکانیزم های تصدیقِ هویت کاربر مثل کلمه عبور، اطمینان حاصل می کنیم که کاربرِ وارد شده به سیستم یک کاربر مجاز می باشد . البته این امکان نیز وجود دارد که کاربری غیر مجاز به نحوی بتواند مجوز ورود را به دست آورد[2] .
در مرحله بعد که مطمئن هستیم کاربری که وارد سیستم شده اجازه ورود داشته است، با مکانیزم های کنترل دسترسی (مجوز دهی به کاربر) ، فقط مجوز های دسترسی به داده های به خصوصی که می تواند به آنها دسترسی داشته باشد را به او تخصیص می دهیم .
اما این کاربر مجاز ممکن است روی همان داده های مجاز خود نیز تغییرات غیر مجاز انجام دهد (مثل قرار دادن عددی منفی در صفت سن). مقابله با چنین تهدیداتی به تضمین جامعیت سیستم بر می گردد که با قرار دادن قیودِ جامعیت ، استفاده از مکانیزم هایی از داده های بانک اطلاعات مراقبت نماییم[2].

شکل 2-1 نمایش ارتباط کنترل دسترسی با سایر سرویس های امنیتی[5]
با توجه به مطالب گفته شده در بالا درمورد امنیت پایگاه داده درمی یابیم که علاوه بر رفع سه نیازمندی فوق به مواردی تکمیلی دیگر در راستای همان نیاز مندی ها قابل توجه است. در ادامه به بیان این نیازمندی ها و روش های مرتفع کردن آن ها خواهیم پرداخت .
– نیازمندی محرمانگی
– نیازمندی پوشیدگی : امکان استفاده از داده توسط کاربر مجاز فقط به شکلی که تعیین شده
برای مرتفع نمودن این دو نیازمندی می گوییم که حفاظت از داده ها توسط مولفه های مختلفی از یک سیستم مدیریت پایگاهی تامین می شود . یک مکانیزم کنترل دسترسی، محرمانگی داده ها را تضمین می- کند . عملیات مُجاز شناسی امکان انجام عملیات توسط فرد را روی شیء خاص بررسی می کند. از تکنیک- های رمز نگاری که در آینده به طور کامل در مورد آن بحث خواهیم کرد نیز در ذخیره و انتقال داده ها برای حفظ محرمانگی استفاده می شود که در این باره چگونگی پاسخ به پرسش ها از روی داده رمز نگاری شده مورد توجه خاص قرار گرفته است[4] .
– نیازمندی جامعیت پایگاه داده : ایمنی داده های موجود در پایگاه نسبت به مخاطرات فیزیکی
– نیازمندی جامعیت منطقی پایگاه : ایمنی ساختار پایگاه بعنوان مثال در مقابل انتشار تغییرات ناخواسته
جامعیت پایگاه بصورت کلی از مسئولیتهای سیستم مدیریت پایگاه، سیستم عامل و مدیر سیستم کامپیوتری است. از منظر سیستم عامل و مدیر سیستم، پایگاه داده بعنوان مجموعه ای از فایل ها و برنامه ها دیده میشود . بدین ترتیب تهیه نسخه های پشتیبان از این فایل ها می تواند بعنوان راه حلی برای مقابله با خرابی های فاجعه آمیز مورد استفاده واقع شود. قابلیت ترمیم نیز از ویژگی هایی است که سیستم پایگاهی باید بدان مجهز باشد.

– نیازمندی جامعیت عناصر : دقت داده های موجود در هر عنصر پایگاه
جامعیت عناصر پایگاه شامل درستی و دقت آنها است . با این وجود که کاربران در نهایت مسئول وارد کردن داده های صحیح در پایگاه هستند، میتوان تمهیداتی را در جهت پیشگیری از ورود داده های نادرست در هنگام ورود و تصحیح آنها پس از ورود داده ها به عمل آورد. روشهای مختلف تامین جامعیت پایگاه به سه دسته بررسی فیلدها، کنترل دسترسی و نگهداری ثبت تغییرات تقسیم میشوند[6].

– نیازمندی نظارت پذیری : امکان رد گیری عامل انجام عملیات(دسترسی یا تغییر) در داده های پایگاه
– نیازمندی کنترل دسترسی : امکان محدود ساختن هر کاربر به داده هایی که مجاز به دسترسی آن هاست
امکان نظارت پذیری به دو صورت مورد استفاده قرار میگیرد. در صورت نخست میتوان از روی یک ثبت به فعالیتها و دسترسی های یک کاربر) احتمالاً پس از انجام عملیات (پی برد. صورت دوم شامل امکان بررسی دنباله های دسترسی یک کاربر به منظور تصمیم گیری در مورد اعطاءِ دسترسی های بیشتر در حالاتی است که امتیاز دسترسی های جدید در پی انجام یک سری عملیات یا دسترسی ها واگذار میگردد.

– نیازمندی هویت شناسی : بررسی هویت کاربران در ارتباط با رد گیری نظارتی و اجازه دسترسی به داده ها
– نیازمندی در دسترس بودن : امکان دسترسی به پایگاه در همه شرایط
بعضی از سیستم ها کاربران خود را به گذراندن مراحل متعدد هویت شناسی ملزم می کنند. بعنوان مثال یک پایگاه داده ممکن است کاربران خود را در معرض درخواست نام کاربری و گذرواژه و نیز بررسی ساعت از روز قرار دهد. این نیازمندی های هویت شناسی به نیازمندیهای سیستم عامل) هویت شناسی سیستم عامل( اضافه می شوند.[4]

3 امنیت پایگاه داده (چند سطحی)

بر اساس تحلیل های انجام یافته نکات زیر را میتوان به نیازمندیهای امنیتی یک سیستم پایگاهی افزود:[4]
1. امنیت یک عنصر از یک رکورد میتواند متفاوت از امنیت دیگر عناصر همان رکورد یا مقادیر دیگر آن عنصر )صفت (باشد .(تفاوت سطوح امنیتی در یک رکورد یا یک ستون)
2. تقسیم داده ها به دو دسته ی حساس و غیرحساس برای حفظ ایمنی آن ها کافی نیست و نیاز به رده بندی های امنیتی دقیق تر احساس می شود.
3. امنیت سرجمع های داده ها می تواند متفاوت از امنیت هرکدام از عناصر آن باشد .

3-1 دلایل ایجاد

پایگاه داده های چند سطحی برای حل این مسائل طراحی شده اند. در این پایگاه ها یک رکورد می- تواند چندین بار و هربار در سطح خاصی از محرمانگی نمونه سازی شود. دو کاربر با سطوح امنیتی مختلف برای یک پرسشِ معین جواب های متفاوتی دریافت می کنند. مکانیزم های زیر برای نیل به موارد فوق در جهت جداسازی ، پیشنهاد شده اند:[4]
1. افراز : تقسیم پایگاهِ اولیه به چند پایگاه با سطوح دسترسی مختلف .
2. رمزنگاری : نگهداری و انتقال داده ها به صورت رمزشده که در صورت افشا قابل استفاده نباشند. در این روش می توان از کلیدهای رمزنگاری مختلف برای عناصر مختلف استفاده کرد.
3. قفل جامعیت : قرار دادن یک کد تشخیص خطا در کنار هر عنوان داده ای

شکل 3-1

4. قفل حساسیت : ترکیبی از یک شناسه یکتا و یک سطح حساسیت .

شکل 3-2

3-2 روش های ایجاد

روشهای مختلفی برای طراحی پایگاه های چند سطحی پیشنهاد شده اند که از آن جمله می توان موارد زیر را نام برد:[4]

1. مدیر پایگاه قابل اعتماد (قفل جامعیت)

شکل 3-3

2. Front End مورد اعتماد

شکل 3-4

3. فیلتر های جابجایی پذیر

شکل 3-5

با استفاده از روشهای فوق می توان لایه بندی به شکل زیر در ترکیب DBMS و سیستم عامل به عنوان یک معماری برای سیستم پایگاهی ارائه کرد.

شکل 3-6
در پایان این فصل لازم است تا در مورد رمز نگاری (مورد دوم از دلایل ایجادِ پایگاه چند سطحی) به طور کامل بحث شود .

رمز نگاری
یکی دیگر از روش های برقراری امنیت در سیستم های بانک اطلاعات ، رمز نگاری است . این روش امنیت کانال های ارتباطی را برقرار می کند. ایده اصلی رمز نگاری داده ها استفاده از الگوریتم های رمز نگاری و نیز یک کلید رمز نگاری مخصوصِ مدیر بانک اطلاعات است که به صورت امن نگاه داشته می شود.
خروجی یک الگوریتم رمز نگاری ، نسخه رمز شده داده های ورودی است. به همین ترتیب الگوریتم های رمز گشایی برای باز کردن داده های رمز شده و برگرداندن آن ها به حالت اولیه است. روش های رمز نگاری به دو دسته ی کلی زیر تقسیم می شوند [2]:

* متقارن :
در روش رمز نگاری متقارن، فرستنده و گیرنده از یک کلید سرّی مشترک برای رمز نگاری و رمز گشایی استفاده می کنند. روش DES (Data Encryption Standard) مثالی از رمز نگاری متقارن است . بدیهی است که برای دو طرفِ ناشناس توافق بر روی یک کلید سری مشترک دشوار است. بنابراین این روش مورد استفاده کمتری دارد .

* نامتقارن :
در این روش هر فرد دو کلید در اختیار دارد ، کلید عمومی که آزادانه منتشر می شود و کلید خصوصی که به صورت خصوصی و کاملاً محرمانه نگهداری می شود. در این روش، فرستنده، داده ها را با کلید عمومی رمز کرده و به گیرنده ارسال می کند. داده های رمز شده تنها با کلید خصوصی گیرنده قابل رمز گشایی هستند و از آنجایی که کلید خصوصی هر شخص منحصر به فرد است و به طور کاملاً امن نگاه داشته می- شود، شخص دیگری نمی تواند این اطلاعات را رمز گشایی کرده و یا از آنها استفاده نماید. این روش از امنیت بالایی برخوردار است و مورد استفاده فراوانی دارد .

4 سیاستهای کنترل دسترسی

روشهای کنترل دسترسی بر مبنای شیوه اعطای امتیاز دسترسی به اشیاءِ پایگاه به سه دسته مدل احتیاطی) اختیاری(، مدل اجباری و مدل مبتنی بر نقش تقسیم می شوند. در واقع وظیفه بخش کنترل دسترسی بررسی دسترسی های کاربر) اعم از خواندن یا به روز رساندن( به اشیاءِ پایگاه و تصمیم گیری در مورد اعطا و یا عدم اعطاءِ مجوز دسترسی است. در ادامه به بررسی هرکدام از این شیوه ها می- پردازیم[6].

4-1 مدل کنترل دسترسی احتیاطی (اختیاری)

در این روش بررسی اعطای امتیاز دسترسی کاربر به یک شیء بر مبنای شناسه کاربر و مجموعه ای از قوانین مجازشناسی انجام می پذیرد. دلیل نام گذاری این روش امکان انتقال امتیاز از کاربری به کاربر دیگر است. بدین ترتیب بخش قابل توجهی از این مکانیزم سیاست مدیریت مجازشناسی است[2] .

4-1-1 مدیریت مجوز ها
روش های مدیریت واگذاری و پس گرفتن امتیاز به شرح زیر است[2] :

* متمرکز :
کاربر یا گروهی از کاربران حق واگذاری یا پس گرفتن امتیاز خود به دیگران را دارند .
* مالکیت :
فقط مالکِ شیء می تواند مجوز دسترسی به شیء را به دیگر کاربران واگذار کرده و یا پس بگیرد .
* نا متمرکز :
این روش ترکیبی از دو روش قبلی است . در این جا مالک شیء می تواند حق واگذاری و یا پس گرفتن امتیاز را به کاربران بدهد یا پس بگیرد و آنگاه آنان به دیگران واگذار کنند یا پس بگیرند . یکی از مشکلات این روش، رسیدگی به مجوز های واگذار شده توسط کاربرانی است که امتیاز آن- ها پس گرفته شده است .

4-1-2 System R
در این جا به بررسی مختصر مدل کنترل دسترسی سیستم مدیریت پایگاهی System R می پردازیم . در این مدل عملیات مجاز برای کاربران همان است که می تواند به وسیله SQL اعلان شود (Select, Insert Delete و Update) . این سیستم بر مبنای روش مدیریت مالکیت در کنار امکان اعطای نمایندگی برای مدیریت امکان نظارت نامتمرکز بر حقوق دسترسی کاربران را فراهم می کند. از جمله ی گسترش های ارائه شده برای این مدل می توان به موارد زیر اشاره کرد[4] :
* مُجاز شناسی منفی که به وسیله آن کاربر از دریافت امتیازی در آینده محروم می شود.
* مجاز شناسی آگاه از متن که بر مبنای محتویات یک شیء تصمیم گیری می شود.
* مجاز شناسی بر پایه نقش
* مجاز شنای بر پایه وظیفه
* مجاز شناسی زمانی ، که به وسیله آن امتیاز انجام عملیات برای مدت زمانی معین به کاربر اعطاء می شود.
* امکان لغو امتیاز به صورت Noncascading که در آن لغو امتیاز یک کاربر، کاربرانی را که به واسطه او کسب امتیاز نموده اند را سلب نمی کند .

4-1-3 نمایش و اعمال مجوز ها
یکی از راه های نمایش مجوز ها در یک سطح ادراکی استفاده از ماتریس دسترسی است. در این ماتریس[6] :
* سطر ها نشان دهنده کاربران و فرایند ها (subject) می باشند .
* ستون ها نشان دهنده اشیای موجود (object) می باشند .
* درایه ها مُدِ دسترسیِ (mode) کاربر به آن شیءِ مربوطه می باشد .
اگر چه ماتریس دسترسی درک خوبی از مجوز ها را می دهد، امّا باید با روشی مناسب پیاده سازی گردد. ماتریس دسترسی ممکن است بسیار بزرگ و پراکنده باشد. همچنین ذخیره مجوز ها در این ماتریس ممکن است باعث ناکارایی گردد. سه روش ممکن برای نشان دادن ماتریس دسترسی به صورت زیر است:

1. لیست کنترل دسترسی (access control list): ماتریس بر اساس ستون ها ذخیره می شود. به همراه هر شیء، یک لیست وجود دارد که شامل کاربران و مد دسترسی آن ها به این شی می باشد.
2. قابلیت (capability) : ماتریس بر اساس سطرها ذخیره می شود. همراه هر کاربر یک لیست وجود دارد که برای هر شیء موجود در بانک اطلاعات، دسترسی کاربر به این شیء را نشان می دهد.
3. جدول رمز (authorization table) : هر درایه غیر تهی از ماتریس در یک جدول سه ستونی که صفات آن کاربران، اشیاء و مدهای دسترسی است نشان داده می شود.

4-2 مدل کنترل دسترسی اجباری (MAC)

در این روش اعطای امتیازها بر مبنای دسته بندی های از پیش تعیین شده ای از کاربران و اشیاء انجام می شود. این دسته بندی بر اساس مجموعه ای از کلاس های دسترسی (یا برچسب ها) که دارای ترتیب جزئی هستند انجام می گیرد. به یک کاربر اجازه دسترسی به یک شیء داده می شود، اگر و تنها اگر یک رابطه ترتیب بین کلاس دسترسی کاربر و شیء (بسته به نوع دسترسی) برقرار باشد. به عنوان مثال می توان یک کلاس دسترسی را متشکل از دو مولفه در نظر گرفت: یک سطح دسترسی و مجموعه ای از دسته ها . یک سطح دسترسی عنصری از یک مجموعه دارای ترتیب کلی است. نمونه ای از این مجموعه ها مجموعه ای شامل سطح های فوق سری (TS)، سری(S)، محرمانه (C) و طبقه بندی نشده (U) است که در آن TS > S > C > U .مجموعه دسته ها مجموعه ای نامرتب است[4] .
رابطه با ترتیب جزئی در کلاسهای دسترسی بصورت زیر تعریف می شود : کلاس دسترسی Ci کلاس دسترسی Cj را در بر می گیرد )<=) اگر و تنها اگر سطح دسترسی Ci بزرگ تر یا مساوی سطح دسترسی Cj بوده و دسته های Ci شامل دسته های Cj باشند. در صورتی که نه Ci => Cj و نه Cj => Ci بر قرار باشد دو کلاس غیر قابل مقایسه اند. سطح دسترسی یک کلاس دسترسی برای یک شیء نشان دهنده اهمیت و حساسیت اطلاعات آن شیء و زیان های ناشی از افشای اطلاعات آن است. سطح دسترسی یک کلاس دسترسی برای یک کاربر نشان دهنده میزان معتمد بودن او در حفظ داده های حساس از دسترس افرادی است که مجاز به دانستن آن ها نیستند میباشد. دسته ها امکان تعریف دقیق تر حقوق برای افراد را فراهم میکند[4].

کنترل دسترسی در MAC بر مبنای دو اصل زیر است:[4]
* No read-up : یک کاربر تنها اجازه خواندن اشیائی را دارد که کلاس دسترسیِ کاربر کلاس دسترسی آن اشیاء را در بر می گیرد.
* No write-down : یک کاربر تنها اجازه نوشتن اشیائی را دارد که کلاس دسترسیِ آن اشیاء، کلاس دسترسی کاربر را در بر می گیرد.

4-3 مدل کنترل مبتنی بر نقش (RBAC)

اصولاً در هر سازمانی افراد بسیاری هستند که حوزه عملکرد یکسانی دارند و داده هایی که مجاز به استفاده از آن ها هستند، یکسان می باشد. اگر فرد جدیدی با همین عملکرد به سازمان اضافه شود، بایدتمام این مجوزها را مجدداً برای او صادر نمود. یا اگر مسئولیت شخص خاصی در سازمان تغییر پیدا کرد، مجوزهای دسترسی او نیز تغییر می کند (مجوزهای قبلی لغو و مجوزهای جدید صادر می گردد). امّا در واقع خود این شخص نیست که این اجازه ها را دارد بلکه منصب و شغل سازمانی (نقش) اوست که داده های مجاز به استفاده را تعیین می نماید[6].
در روش کنترل دسترسی مبتنی بر نقش، ابتدا نقش های مطرح در سازمان را تعریف، مجوزهای هر یک از نقش ها را تعیین و به آن تخصیص می دهیم. سپس افراد را به نقش های مربوطه نسبت می دهیم. با این روش در صورت تغییر شغل سازمانی، به منظور تغییر مجوزهای فرد، کافی است نقش او را عوض کنیم. همچنین می توان پرسنل جدید را به راحتی به نقش مربوطه نسبت داد[6].
در بسیاری از مدلهای مجازشناسی و محدودیت های ناظر بر تقسیم، وظایف را فراهم می کند. از طریق این محدودیت ها می توان اعطاءِ امتیازات زیاد به کاربران را محدود ساخت. توسعه های انجام یافته روی این مدل ها عبارتند از: توسعه مدل های مدیریتی ، محدودیت های زمانی (TRBAC) و توسعه تکنیک های توسعه امنیت[4].

5 استانداردهای پیشگیری

امنیت پایگاه داده می تواند با روند ایجاد و انتشار استانداردهای امنیتی مناسب، برای محیط پایگاه داده شروع شود. استانداردها ممکن است شامل کنترل های خاص برای سیستم عامل های مختلف پایگاه داده، یک مجموعه از بهترین روش ها که فراتر از یک قالبند و یا ارتباطات استاندارد برای سیاست ها و مقررات دولتی سطح بالاتر باشد[7].

5-1 ارزیابی آسیب پذیری و پذیرش

یک روش مهم هنگام ارزیابی امنیت پایگاه داده، انجام ارزیابی آسیب پذیری در مقابل پایگاه داده می- باشد. ارزیابی آسیب پذیری یک تلاش برای پیدا کردن حفره های آسیب پذیر است که می تواند برای شکستن پایگاه داده مورد استفاده قرار گیرد. مدیران پایگاه داده یا مدیران امنیت اطلاعات، اسکن آسیب پذیری رابر روی پایگاه داده برای شناسایی misconfiguration، کنترل ها همراه با آسیب پذیری های شناخته شده در داخل نرم افزار پایگاه داده اجرا می کنند. نتایج اسکن ها در بانک اطلاعاتی سخت به منظور کاهش خطر سازی توسط مزاحمان استفاده می شود. یک وظیفه مهم دیگر برای پایگاه داده، ماموریتِ حیاتی برنامه مستمر برای انطباق با استاندارد های امنیت پایگاه داده است. دو جنبه مهم از پذیرش امنیت پایگاه داده شامل مدیریت وصله و بررسی و مدیریت مجوز (به خصوص عمومی) به اشیاء داخل پایگاه داده، سپرده می شود[7].

5-2 تجرید

کاربرد احراز هویت در سطح مجوز ها و مکانیسم های اعطاء مجوز باید به عنوان یک ابزار موثر در فراهم آوردن لایه انتزاعی از پایگاه داده در نظر گرفته شود. سود انتزاعی این است که تنها با استفاده از یک علامت توانایی ورود در سراسر پایگاه های داده را داشت[7].

5-3 نظارت بر فعالیت های پایگاه داده

یکی دیگر از لایه های امنیتی پیچیده تر از طبیعت، شامل زمان واقعی نظارت بر فعالیت های پایگاه داده، به وسیله تجزیه و تحلیل ترافیک پروتکل (SQL) روی شبکه، یا به وسیله مشاهده فعالیت های پایگاه داده ی محلی در هر سِرور با استفاده از عوامل نرم افزار ، یا هر دو می باشد.
تجزیه و تحلیل می تواند برای شناسایی سوءِ استفاده شناخته شده یا نقض سیاست، با گذشت زمان برای ساخت یک الگوی طبیعی قابل استفاده برای تشخیص فعالیت های غیر عادی که می توانند نشان دهنده نفوذ در امنیت باشد انجام بگیرد. این سیستم می تواند یک دنباله جامع را علاوه بر مکانیسم های تشخیص نفوذ فراهم آورد و بعضی از سیستم ها همچنین می توانند، محافظت به وسیله پایانِ جلسه کاربر و یا نشان دادن رفتار مشکوکِ کاربران را فراهم آورد[7].

5-4 بومی حسابرسی

علاوه بر استفاده از ابزارهای خارجی برای نظارت، قابلیت های بومی پایگاه داده نیز همچنین باید برای بسیاری از سیستم عامل های پایگاه داده قابل دسترس باشد. دنباله بومی های ممیزی به طور مرتب اسخراج شده و به یک سیستم امنیتی تعیین شده که مدیران پایگاه داده به آن دسترسی ندارند انتقال می یابد. این امر در صورتی که دنباله بومی حسابرسی توسط مدیران ، تصدیق نشده باشد را برای سطح خاصی از وظایف حسابرسی فراهم می کند[7].

5-5 فرایند ها و روش ها

یک برنامه امنیت پایگاه داده باید شامل بررسی های منظم از مجوز های اعطا شده به حساب های جداگانه و حساب های استفاده شده به صورت فرایند های خودکار باشد. برای حساب های استفاده شده باید کنترل های مناسبی در سراسر ذخیره سازی رمز عبور مانند رمز نگاریِ کافی و کنترل های دسترسی برای کاهش خطرهای جدی و خدشه کننده، توسط فرایندهای خودکار صورت پذیرد. برای حساب های شخصی در یک محیط پایگاه داده نیز که در آن خطر مربوط به مصرف این نوع از حساب وجود دارد دو عامل احراز هویت باید در نظر گرفته شود[7].

6 انواع تهاجمات و روش های مقابله با آنها

6-1 تهاجم به داده ها

موارد مربوط به تهاجمات و ضعف های امنیتی از دو دیدگاه موردنظر می باشد: [5]

6-1-1 انواع تهاجمات به داده ها[5]:
* تهاجماتی که باعث افشا شدن اطلاعات حساس می شود.
* تهاجماتی که باعث تغییرات ناخواسته در اطلاعات ذخیره شده می گردد.
* تهاجماتی که باعث جلوگیری از دسترسی افراد مجاز به اطلاعات می شود.
* تهاجماتی که باعث تغییرات عمدی درا طلاعات می شود.
* تهاجماتی که باعث ایجاد دسترسی افراد غیرمجاز به اطلاعات می گردد.

6-1-2 انواع داده های مورد تهاجم[5]:
* حملات به اطلاعات پیکربندی سیستم ها و هویت شناسی
این حملات شامل تغییر غیرمجاز داده ها، تغییر اطلاعات در هنگام انتقال و یا استفاده از اطلاعات هویت شناسی برای نفوذ به سیستم و … می باشد.
* حملات به داده های ذخیره شده بر روی سیستم های ذخیره سازی
این نوع حملات شامل خطاهای غیرعمدی خرابی سیستم های مذکور می شوند و حتی می تواند شامل خرابی های عمدی و دسترسی غیرمجاز افراد به سیستم های ذخیره سازی باشد.
* وجود اشکالات نرم افزاری و سخت افزاری در سیستم های ذخیره سازی اطلاعات و خطاهای غیرعمدی کاربران به هنگام دسترسی بر روی داده ذخیره شده
* حملات و ضعف های نرم افزاری واسط بین سیستم های ذخیره سازی اطلاعات و کاربران
موارد مذکور شامل :
* ضعف های امنیتی و خطاهای سیستم عامل
* خطاها و ضعف های امنیتی مدیر پایگاه داده DBMS
* خطاها و ضعف های امنیتی برنامه ای Client

6-1-3 روش های مقابله[5]:
در این بخش بعضی روش های کلی با درنظر گرفتن سه هدف کشف، ترمیم و جلوگیری از حمله بیان می شوند. به لحاظ کلی امنیت داده ها در نگاه داری و انتقال می باشد و لذا راه های ذیل به طور مشخص ارائه می گردند.

* اضافه کردن داده:
با این روش، بسته ی اضافی طولانی تر یا با تکرار ارسال می گردد و از این روش برای کشف حمله و یا ترمیم استفاده می شود و در این خصوص از روشهای کُدگذاری CRC (Cyclic Redundancy Check) ، تکرار پیغام به هنگام ارسال و تکرار در ذخیره سازی استفاده می شود.
* ایجاد حصار در اطراف داده :
با ایجاد حصار فیزیکی در اطراف محل نگاه داری داده و یا خطوط انتقال می توان از شنود و سرقت اطلاعات جلوگیری نمود و با ایجاد حصارهای سیستم برنامه می توان ضوابط خاصی را برای استفاده از داده تعریف نمود.
* روشهای تایید
با استفاده از این روش قبل از این که انتقال داده انجام شود طرفین مبدا و مقصد از هویت یکدیگر اطمینان حاصل نموده و پس از آن انتقال داده انجام خواهد شد.
* ثبت اتفاقات
یکی از روشهای بسیار مفید ایجاد مجموعه ای است که در آن وضعیت و رفتار کاربران در ارتباط با انتقال داده ثبت شود و با مراجعه به آن بتوان فرد خرابکار را شناسایی نمود .

مسئله مهم و قابل توجه این است که روشهای دیگری هم وجود دارد و لذا می بایست طبقه بندی و حساسیت اطلاعات مشخص شود و راه های دیگر و یا راه های ترکیبی مورد استفاده قرار گیرند لذا ابزارآلاتی که در این خصوص موردنیاز هستند در فازهای بعدی پروژه معرفی و طریقه کار آنها ارائه خواهد شد.

6-2 استنتاج

مسئله استنتاج بصورت مسئله استنباط یا نتیجه گیری داده های حساس از داده های غیرحساس تعریف می شود. در زیر روش های استخراج داده های حساس از پایگاه مورد بررسی قرار میگیرند[4].
* حمله مستقیم: پرسش از داده های حساس به طور مستقیم از پایگاه داده
* حمله غیرمستقیم: تلاش برای استنتاج داده ها از داده های آماری میانی
* تعداد (Count)
* میانه(Median)
* حمله تعقیب کننده (Tracker Attack)
* تهدید سیستم خطی (Linear System Vulnerability)
روشهای متداول مقابله با این تهدیدات به سه دسته تقسیم میشوند:
* جلوگیری : عدم پاسخگویی به پرسشهای مشکوک
* مخفی سازی : ارائه پاسخ نادقیق به پرسشهای مشکوک
* تعقیب : دنبال کردن اطلاعاتی که به کاربر داده میشود

6-3 تهاجم انواع ویروس ها

6-3-1 انواع ویروس ها
ویروس های رایانه ای انواع مختلفی دارند که اهمِ آن ها عبارتند از : ویروس های فایلی، ویروس های ماکرو، ویروس های بوت و پارتیشن ، ویروس های همراه و ویروس های رونویس[3].
دسته ای دیگر از ویروس های رایانه ای "کرم" نامیده می شوند. "کرم ها" دیسک سخت را از طریق کپی کردن فایل ها بر روی آن مورد حمله قرار می دهند. این فایل ها در فاصله کوتاهی تکثیر می شوند و این تا جایی ادامه پیدا می کند که هیچ فضای خالی بر روی دیسک سخت باقی نمی ماند. هنگامی که دیگر فضایی بر روی دیسک باقی نماند، برنامه های رایانه ای دیگر عمل نمی کنند[3].
بمب های منطقی دسته ای دیگر از ویروس های رایانه ای هستند. این ها شامل کدهای کوچکی هستند که در یک موقعیت یا زمان خاص عمل می کنند. موقعیت یا زمان خاص می تواند شامل تاریخ و زمانی خاص باشد. در این زمان خاص که در بطن آن گذاشته شده است، بمب عمل می کند. بمب منطقی معمولاً فرایند کاری که در حال اجرا بوده را متوقف می کند و بر روی صفحه ی نمایشگر پیغامی را به نمایش می- گذارد که موجبات ترس کاربر را فراهم می کند[3].
سرقت کلمه ی رمز از جمله موارد رایج دیگر است که مانند یک ویروس عمل می کند. در این حالت هنگامی که کاربری قصد ورود به پایگاه اطلاعاتی مورد نظر خود را دارد، کلمه رمز و عبور را وارد می کند و این در حالی است که صفحه ی ورود اطلاعات از طرف شخص یا اشخاص سارق کلمه رمز فرستاده شده است و به مجرد ورود اسم کاربری و کلمه عبور، آن ها به دست افراد دیگر می افتد و پایگاه مورد استفاده دیگران قرار می گیرد[3].

6-3-2 مبارزه با ویروس ها
بهترین راه حفاظتِ رایانه و شبکه از ویروس های رایانه ای نصب آنتی ویروس بر روی رایانه و شبکه است. نکته مهم در رابطه با آنتی ویروس ها این است که به صورت دائم باید روزآمد شوند و علت نیز این است که به صورت مداوم ویروس های جدید از طُرُق مختلف وارد رایانه و شبکه می شوند[3].
علاوه بر روش بالا میتوان موارد دیگری را نیز برای مقابله با ویروسها پیشنهاد کرد که عبارتند از[3]:

* از هر گونه دست کاریِ اضافه توسط افراد و یا نرم افزارهای مختلف، خودداری کنیم.
* نظرات افراد صاحب نظر را در این زمینه جویا شویم.
* هنگامی که ناگهان متوجه شدیم، سیستم ویروسی است، هیچ برنامه ای را اجرا نکنیم.
* همواره از جدیدترین نگارش ضد ویروس ها استفاده کنیم.
* هنگام ویروس یابی به گزارش عملیات توجه کنیم.
* اگر تصمیم به واگذاریِ هارددیسک به شخص یا شرکتی داریم، حتماً بخواهیم که بر روی هارد دیسکی مشابه، اطلاعات مان به صورت سکتوری کپی شود و سپس عملیات بازیابی اطلاعات بر روی هارددیسک دوم انجام گیرد. این باعث می شود تا وضعیت هارددیسک اصلی ثابت بماند.
* اگر مدت ها ویروسی را مشاهده نکرده ایم و حال ویروسی می بینیم برنامه هایی را که اخیراً نصب کرده ایم یا از اینترنت گرفته ایم را بررسی و ویروس یابی کنیم.

7 پشتیبان گیری

7-1 خرابی های سیستم

خرابی سیستم مانند تجهیزات نرم افزاری، سخت افزاری و قطع برق همیشه امکان پذیر است. و این گونه خرابی ها بی شک بر داده های سیستم تاثیر منفی خواهد داشت. پس یکی از ضروری ترین کارهایی که مسئولین امنیت باید در قبال نگاه داری از داده ها انجام دهند تهیه نسخه های پشتیبان از داده ها بر اساس یک سیاست منطقی می باشد. از دست رفتن یک سری از داده ها بر اثر خرابی هیچ گونه توجیهی غیر از سهل انگاری مسئولین ندارد[5].

7-2 سیاست های تهیه

فاصله زمانی دقیق تهیه نسخه پشتیبان بسته به نظر مدیر سیستم دارد. بر هر مبنایی که درباره تعداد دفعات تهیه نسخه پشتیبان تصمیم گرفته شود، عادت به تهیه آن در کلیه اپراتورهای سیستم، بسیار حائز اهمیت است، چرا که عدم ذخیره سازی منظم، ممکن است منجر به از دست رفتن کامل برخی از داده ها شود و بدتر از آن، حتی ممکن است قادر به شناسایی نوع اطلاعات از دست رفته هم نباشید که این امر پیامدهای زیان بار بالقوه ای برای خدمات و مدیران در پی خواهد داشت[5].
جنبه مثبت این مجموعه هشدارهای سنگین، این است که تهیه نسخه های پشتیبان، عمدتاً رویه هایی ساده هستند که صرف فقط چند دقیقه برای آنها کافی است. تنها باید اطمینان حاصل شود که کسی که این رویه را انجام می دهد آیا به درستی به وظایف خود عمل می کند یا خیر[5].
همانطور که گفته شد فاصله زمانی تهیه نسخه پشتیبان توسط مدیر سیستم تعیین می شود. ولی به طور کلی اصولی را در این زمینه می توان رعایت کرد[5]:

* قبل از اعمال هرگونه تغییر در داده ها یک نسخه پشتیبان تهیه شود.
این احتمال وجود دارد که هنگام کار با پایگاه داده به علت اشتباه کاربر یا خطای سیستم آن پایگاه داده دچار تغییر ناخواسته یا حتی پاک شدن بخش یا تمام آن شود. پس درست این است که قبل از اعمال هرگونه عملیات برای یک پایگاه داده ابتدا یک نسخه پشتیبان از آن بر روی حافظه همان سیستم تهیه شود و تغییرات بر روی آن اعمال گردد و پس از تایید، جایگزین فایل یا فایل های قبلی شود.
* پس از اتمام هرگونه تغییرات در پایگاه داده از آن نسخه پشتیبان تهیه شود.
توصیه می شود این نسخه پشتیبان بر روی رسانه ای غیر از سیستم (CD , Floppy و …) در دو نسخه تهیه شود. یک نسخه در همان ساختمان و نسخه بعدی در یک ساختمان دیگر نگاه داری شود. کاملاً واضح است که عوامل محیطی نظیر زلزله، آتش سوزی و غیره نیز می تواند باعث از دست رفتن داده ها شود. ساختمانی را تصور کنید که سیستم ها در آن قرار دارد و نسخه های پشتیبان هم در همان ساختمان مثلاً اتاقی دیگر نگاه داری می شود. اگر این بنا دچار آتش سوزی شود مسلّم است که هم داده های موجود در حافظه سیستم و هم داده های روی نسخه پشتیبان به یک اندازه با خطر نابودی روبرو هستند.
* در هر فاصله زمانی مشخص (هر روز، هر هفته، هر ماه و …) بنا به نظر مدیر سیستم که بسته به اهمیت داده ها معلوم می شود از کل پایگاه داده نسخه پشتیبان (در دو نسخه) تهیه شود.
هیچ گاه با تهیه نسخه پشتیبان جدید نسخه قبلی از بین برده نشود بلکه در یک طبقه بندی براساس تاریخ تهیه، نگاه داری شود (نیاز به توضیح نیست که این طبقه بندی ها باید عیناً در دو ساختمان مجزا صورت گیرد) .
* محل های نگهداری نسخه های پشتیبان از لحاظ حفاظت فیزیکی نظیر قفل و نگهبان (بنا بر تصمیم مدیر سیستم براساس اهمیت داد ها) باید امن باشد.

*نکته: اگر نسخه های پشتیبان در آخر هر روز تهیه می شود آنها را در طبقه های مستقل مثلاً یک محل برای دیسک های شنبه، یک محل برای دیسک های یکشنبه و … درنظر گرفته شود.

پیوست

* نقش مدیر پایگاه داده [2]

مدیر بانک اطلاعات (DBA) نقش بسیار مهمی در تعیین و تبیین سیاست های امنیتی سیستم دارد. معمولاً مدیر بانک اطلاعات دارای حساب ویژه ای در DBMSاست که با این حساب می تواند سیستم را کنترل کرده و امنیت آن را برقرار نماید.
به طور کلی وظایف مدیر بانک اطلاعات در قبال امنیت سیستم ، به شرح زیر است :

1. ایجاد حساب برای کاربران : همه گروه ها و کاربران برای استفاده از بانک اطلاعات نیازمند حساب کاربری و کلمه عبور می باشند. بدیهی است برنامه هایی که در بانک اطلاعات در تعامل هستند نیز باید دارای حساب ویژه ای در سیستم DBMS باشند.
2. کنترل سیاست های الزامی : در صورتی که سیستم بانک اطلاعات، از روش کنترل الزامی برخوردار باشد مدیر بانک اطلاعات باید کلاس های امنیتی مربوط به اشیاء بانک اطلاعت، کاربران، گروه ها و همچنین روابط بین آنها را مشخص کند.
3. پیگیری اجازه ها و مدیریت کارنامه : مسئولیت دیگر مدیر بانک اطلاعات، مدیریت و کنترل کارنامه سیستم است. این که هر کاربر چه دستوراتی را اجرا کرده و یا به چه داده هایی دسترسی دارد و یا چه دستوراتی به سیستم ارسال کرده است، می تواند در بررسی مشکلات سیستم و یافتن مشکلات امنیتی آن، موثر و مفید باشد.

* امنیت در پایگاه داده های آماری[2]

بانک اطلاعات آماری (Statistical Database)، بانکی است که فقط به پرسش و پاسخ های آماری پاسخ می دهد. به عنوان مثال اگر یک بانک اطلاعات آماری از اطلاعات دانشجویان را نگاه داری می کنیم، تنها پرسش و پاسخ های آماری از قبیل میانگین نمرات، بالاترین سن، کمترین تعداد واحدها و … برای این بانک مجاز خواهد بود و پاسخ گویی به پرسش هایی در مورد تک تک دانشجوها مجاز نخواهد بود. امنیت در چنین بانک اطلاعاتی نیازمند در نظر گرفتن مسایل جدیدی است.
مشکل اساسی بانک اطلاعات آماری عمدتاً به این صورت است که کاربر با ارسال چند پرسش آماری بتواند اطلاعات محرمانه ای در مورد تک تک اعضاء و داده های آن به دست آورد. مثلاً فرض کنید کاربری بخواهد حقوق مسن ترین و جوان ترین استاد دانشگاه را بداند. کاربر امکان ارسال پرسشی مبنی بر یافتن جواب فوق را به صورت مستقیم ندارد چرا که تنها پرسش های آماری مجاز هستند. با سناریوی زیر، کاربر می تواند حقوق مسن ترین و جوان ترین استاد را تشخیص دهد :

> پرسش اول: چند استاد وجود دارد که سن آن ها از x بزرگ تر باشد؟ کاربر، مقدار x را مرتباً عوض می کند تا پاسخ دریافتی از سیستم عدد یک باشد.
> پرسش دوم: بیش ترین حقوق افرادی که سنی بالاتر از x دارند چند است؟ جواب این پرسش حقوق پیرترین فرد دانشگاه را مشخص می کند. به همین ترتیب می توان حقوق جوان ترین استاد دانشگاه را پیدا کرد.

یکی از روش های حل مشکل فوق این است که تنها به پرسش هایی پاسخ داده شود که برای پاسخ گویی آن ها نیاز به حداقل N ردیف از رکوردها باشد. با در نظر گرفتن عدد مناسبی برای N (بسته به سیستم) می توان جلوی مشکلات فوق را تا حدی گرفت. مثلاً با در نظر گرفتن N>1 در مثال قبل می توان جلوی پاسخ دهی به سوال دوم را گرفت.

* مساله ی اسب های تراوا [2,3]

سیاست های محتاطانه، از کاستی هایی برخوردارند که سبب دسترسی های غیرمجاز کاربران به اطلاعات محرمانه سیستم می شود. یکی از مهمترین این کاستی ها، آسیب پذیری در مقابل اسب های تراوا (Trojan Horses ) است. از طریق روش اسب های تراوا، یک کاربر غیر مجاز می تواند از طریق کاربران مجاز به اطلاعات محرمانه دسترسی داشته باشد. به عنوان مثال فرض کنید دانشجوی x می خواهد به لیست نمرات استاد y که در جدول grades ذخیره شده است دسترسی داشته باشد.برای این منظور، دانشجوی x اعمال زیر را انجام می دهد :

> جدول جدیدی به نام sample ایجاد کرده و اجازه عمل insert در این جدول را به استاد y می دهد (استاد از این موضوع بی اطلاع است)
> سپس برخی توابع DBMS را که استاد y همواره استفاده می کند را چنان تغییر می دهد که در هنگام کار او با سیستم، اطلاعات از جدول grades خوانده شده و در جدول sample کپی شوند (اسب تراوا).

دانشجوی xسپس منتظر کار استاد با سیستم شده و پس از آنکه نمرات از جدول grades به جدول sample کپی شدند، توابع تغییر داده شده را به حالت اول بر می گرداند تا مدیر بانک اطلاعات، از آن مطلع نشود. در این- جا می بینیم که بر خلاف سیاست های سیستم که دسترسی به جدول grades را تنها به استاد y داده بود، کاربر دیگری توانست اطلاعات سیستم را کپی نموده و از آن ها مطلع شود. بنابر این نیاز به سیاست های دسترسی امن تری داریم که امنیت کامل دسترسی ها را برقرار کرده و در مقابل حملات امنیتی (از جمله روش اسب های تراوا) در امان باشد.

فهرست منابع

1- منابع فارسی

[1] روحانی رانکوهی سیدمحمدتقی، مفاهیم بنیادی پایگاه داده ها، چاپ اول، انتشارات جلوه، تهران، 1380
[2] حق جو مصطفی و صفائی علی اصغر، بانک اطلاعات علمی-کاربردی، چاپ دوم، جلد دوم، انتشارات دانشگاه علم و صنعت ایران، تهران، 1387
[3] علیجانی رحیم، آشنایی با بانک های اطلاعاتی، شریف مقدم هادی، انتشارات دانشگاه پیام نور، چاپ اول، تهران، 1387
[4]http://ece.ut.ac.ir/dbrg/seminars/specialdb/2006/ardalan/report1/introduction todbsecurityreport.pdf
[5] http://security.iranscience.net/archive2.htm

2- منابع خارجی

http://www.databasesecurity.com/dbsec/database-stig-v7r1.pdf [6]
http://en.wikipedia.org/wiki/Database_security [7]

ح

1

2

1

20


تعداد صفحات : 29 | فرمت فایل : WORD

بلافاصله بعد از پرداخت لینک دانلود فعال می شود