در ایمنی

Download Report

Transcript در ایمنی

‫عنوان‪:‬ایمنی در پایگاه داده‬
‫(فصل ششم صفحه‪ 325‬تا ‪)350‬‬
‫استاد مربوطه‪ :‬جناب دکتر باقری فرد‬
‫گردآورندگان‪ :‬کوثر جوکار‪-‬آیدا خاکساری ‪ -‬نسرین راهبری ‪ -‬سعید نوری‬
‫مقدمه‬
‫داده از سرمایه های اساس ی هر سازمان است‪.‬حفاظت از داده ها در قبال خطراتی که‬
‫سازگاری ‪٬‬‬
‫صحت ‪٬‬دقت ‪٬‬محرمانگی و رازمندی آنها را تهدید می کنند امری اجتناب ناپذیر است‪.‬‬
‫بدیهی است که داده های محرمانه در هر سازمان تنها باید در اختیار کاربران مجاز قرار‬
‫گیرد بنابراین‬
‫باید کنترل های موثر روی داده های سازمان اعمال شود‪.‬‬
‫تعریف ایمنی‪:‬‬
‫ایمنی عبارت است از حفاظت داده ها در قبال دستیابی غیر مجاز‪،‬تغییر غیر مجاز و‬
‫نیز دستیابی با سوءنیت‪.‬‬
‫ایمنی پایگاه داده مجموعه ای از تدابیر ها(سیاست) و مکانیسم های الزم است که‬
‫محرمانگی ‪،‬جامعیت و در دسترس پذیری داده ها را تامین و سیستم را در قبال‬
‫حمالت حفاظت کند‪.‬‬
‫در سیاست ایمنی کارهایی که سیستم ایمن انجام میدهد تعریف میشود‪.‬‬
‫درمکانیسم ایمنی چگونگی اعمال سیاست های ایمنی مشخص میشود‪.‬‬
‫ایمنی و جامعیت‪:‬‬
‫گاه مفهوم ایمنی با جامعیت متشبه میشود حال انکه متفاوت است‪.‬‬
‫در ایمنی‪ :‬مساله حفاظت داده ها در مقابل کاربر غیر مجاز مطرح است و حصول‬
‫اطمینان از این که کاربران مجاز به انجام کاری هستند که می خواهند انجام‬
‫دهند‪.‬‬
‫در جامعیت‪ :‬نوعی حفاظت داده ها در قبال عملیات کاربر مجاز اعمال می شود‬
‫و حصول اطمینان از این که اقدام کاربر مجاز صحیح است و صحت و دقت‬
‫داده ها را خدشه دار نمی کند‪.‬‬
‫شباهت های ایمنی و جامعیت‪:‬‬
‫در هر دو‪ ٬‬سیستم مدیریت پایگاه داده باید از وجود پاره ای قواعد و محدودیت ها‬
‫که کاربران نباید نقض کنند آگاه باشد‪.‬در هر دو این محدودیت ها و قواعد باید به‬
‫نحوی توصیف شوند و در کاتالوگ نگه داری شوند و باالخره این که در هر دو‬
‫سیستم مدیریت پایگاه داده باید روی عملیات کاربران نظارت داشته باشد تا‬
‫اطمینان حاصل شود که محدودیت ها و قواعد اعمال شده اند‪.‬‬
‫تهدید‪:‬‬
‫هر وضعیت یا رویدادی که عمدا یا سهوا روی سیستم و در نتیجه روی کل‬
‫سازمان تاثیر نامساعد داشته باشد‪.‬‬
‫• در هر سازمان باید تهدیدات بالقوه را شناخته و تدابیر مقابله با هر نوع‬
‫آن را باید طراحی کرد‪.‬‬
‫• سیستمی ایمن سیستمی است که کمترین تهدید متوجه ان باشد و در‬
‫صورت تهدید کمترین اسیب را ببیند‪.‬‬
‫رده بندی تهدید ها از نظر ماهیت‪:‬‬
‫‪ -1‬ایجاد وقفه در فعالیت سیستم و ممانعت از آن‬
‫‪ -2‬رهگیری و استراق‬
‫‪ -3‬تغییر(داده ها و برنامه ها)‬
‫‪ -4‬جعل(داده ها و برنامه ها و ‪ )...‬و دزدی‬
‫‪ -5‬تخریب(داده ها و برنامه ها و دستگاه ها و ‪)...‬‬
‫رده بندی تهدید از نظر مکانیسم ایجاد‪:‬‬
‫• عمدی ‪ :‬تهدیداتی که نتیجه تخلف عمدی کاربران و یا برنامه ها است‪.‬‬
‫• غیر عمدی ‪ :‬تهدیداتی که بر اثر نااگاهی و یا عدم دقت و کوتاهی افراد و نارسائی‬
‫کیفیت پایین برنامه ها رخ میدهد‪.‬‬
‫تهدید غیر عمدی‬
‫•‬
‫•‬
‫•‬
‫•‬
‫•‬
‫•‬
‫•‬
‫•‬
‫•‬
‫درخواست سهوی داده از سوی کاربری که مجاز به دستیابی به ان داده نباشد‪.‬‬
‫ارسال پیام به کاربری که مقصد پیام نیست و در نتیجه منجر به راهیابی و دستیابی‬
‫به داده شود‪.‬‬
‫اشتباه در برقراری ارتباط سیستم با کاربری که مقصد پیام نیست‪.‬‬
‫سیستم عامل به طور اتفاقی در فایلیهایی بنویسد و بخش ی از داده ها از بین برود‪.‬‬
‫بروز خرابی سخت افزار‪.‬‬
‫سیستم عامل فایلی را به اشتباه بخواند و محتوایش را به کاربری بفرستد‪.‬‬
‫قطع برق و از بین رفتن داده ها‪.‬‬
‫اعمال سیاستها و تدابیر نامناسب‬
‫خواندن و یا نوشتن در فایلی در اثر اشتباه اپراتور‪.‬‬
‫تهدید عمدی‬
‫•‬
‫•‬
‫•‬
‫•‬
‫•‬
‫•‬
‫•‬
‫•‬
‫•‬
‫•‬
‫رفتن روی خطوط ارتباطی برای دریافت و ارسال پیام از پایگاه داده‬
‫استراق سمع برای دریافت سیگنالها از پایانه ها‬
‫سوءاستفاده از گذر واژه یک کاربر مجاز‬
‫نوشتن برنامه هایی برای دور زدن سیستم مدیریت پایگاه داده‬
‫نوشتن برنامه هایی که عملیات غیر مجاز انجام میدهد‪.‬‬
‫استخراج اطالعات از پایگاه داده از طریق پرسشهایی که با زیرکی خاص ی تنظیم‬
‫شده باشد‪.‬‬
‫خواندن صفحه نمایش و نسخه چاپی خروجی که بدون مراقبت رها شده‪.‬‬
‫دزدی دیسکها ‪،‬نوارها و‪...‬‬
‫نفوذ غیرقانونی به سیستم توسط هکرها‬
‫نوشتن برنامه هایی برای تخریب داده ها و برنامه ها‬
‫هر یک از تهدیدات در صورت عملی شدن روی جنبه هایی از پایگاه داده‬
‫تاثیر میگذارد‪.‬‬
‫تحلیل تهدیدات‬
‫برای اینکه سازمان بتواند با رویدادهای ناگهانی ناش ی از خطرات و تهدیدات بطور کارا‬
‫مقابله کند‪،‬باید اوال دانش و بینش الزم برای تحلیل خطرات و تهدیدات را داشته‬
‫باشد و ثانیا انها را تجزیه و تحلیل کند و بر اساس یک تحلیل جامع طرح مقابله با‬
‫تهدیدات را آماده کند‪.‬‬
‫مراحل اساس ی تحلیل‪:‬‬
‫‪ -1‬تشکیل تیم ایمنی‬
‫‪-2‬گرفتن اطالعات کامل در مورد سیستم های سازمان‬
‫‪- 3‬مشخص کردن تمام دارایی های سازمان‬
‫‪-4‬مشخص کردن و تخمین تمام تهدیدات و خطرات‬
‫‪-5‬مشخص کردن تمام تدابیر مقابله‬
‫‪-6‬انتخاب تدابیر مقابله با هر خطر و تهدید‪،‬ارائه تحلیل هزینه‪/‬سودمندی‬
‫‪-7‬تنظیم توصیه ها و دستورالعمل ها‬
‫‪ -8‬آزمون سیستم ایمنی‬
‫جنبه های ایمنی‪:‬‬
‫ایمنی باید از جنبه های متعددی مورد تحلیل و بررس ی قرار گیرد‪.‬‬
‫• جنبه قانونی‪-‬اجتماعی ‪-‬اخالقی‬
‫• جنبه فیزیکی‪-‬محیطی‬
‫• جنبه مدیریت انسانی‬
‫• جنبه سخت افزاری‬
‫• جنبه سیستم عامل‬
‫• جنبه شبکه ای‬
‫• جنبه مدیریتی پایگاه داده‬
‫• جنبه عملیاتی‬
‫ش ی ء ایمنی‪:‬‬
‫مهمترین ضوابط و تدابیر امنیتی بر روی اشیاء سازمان ‪:‬‬
‫• داده ها(از سطح صفت تا کل پایگاه داده ها)‬
‫• برنامه ها و تراکنش ها‬
‫• کاتالوگ سیستم‬
‫• نسخه های پشتیبان‬
‫• فایلهای ثبت‬
‫• سیستم مدیریت پایگاه داده‬
‫• سیستم عامل‬
‫• سخت افزار‬
‫• شبکه‬
‫• محیط فیزیکی‬
‫• کاربران سیستم‬
‫تدابیر ایمنی‪:‬‬
‫تدابیر کامپیوتری‬
‫تدابیر غیرکامپیوتری‬
‫تدابیر غیر کامپیوتری‪:‬‬
‫•‬
‫•‬
‫•‬
‫•‬
‫•‬
‫وضع سیاستهای ایمنی و تعیین طرح مقابله‬
‫کنترل افراد‬
‫جایدهی تجهیزات در مکانهای امن‬
‫تنظیم توافق نامه های نگهداری‬
‫کنترل دستیابی فیزیکی افراد‬
‫تدابیر کامپیوتری‪:‬‬
‫این تدابیر روشهایی است که سیستم مدیریت پایگاه داده و مدیر پایگاه داده بر اساس‬
‫انها میتواند میزانی از ایمنی را برای داده های ذخیره شده در پایگاه تضمین کند‪.‬‬
‫‪ -1‬شناسایی کاربر ‪User identification‬‬
‫به هر کاربر یک شناسه داده میشود و از طریق آن سیستم کاربر را میشناسد‪.‬‬
‫‪ -2‬احراز هویت کاربر‪User authentication‬‬
‫به این معنا که آیا کاربر همان است که ادعا میکند یا احیانا مجهول است‪.‬‬
‫(اصلی بودن کاربر را تشخیص میدهد)‬
‫احراز هویت به روش های زیر میتواند وجود داشته باشد‪:‬‬
‫•‬
‫•‬
‫•‬
‫•‬
‫•‬
‫•‬
‫•‬
‫گذرواژه‬
‫گذرواژه بهتر است طوالنی و ترکیبی باشد و میتواند نوشتاری یا گفتاری باشد‪.‬‬
‫اثر انگشت کاربر‬
‫الگوی شبکه چشم‬
‫کارت الکترونیکی‬
‫پرسشنامه‬
‫نشان(آرم)‬
‫بعض ی از ویژگیهای فیزیولوژیکی‬
‫‪ -3‬مجازی شماری‬
‫‪AUTHORIZATION‬‬
‫مجازی شماری عبارتست از اعطاء یک امتیاز یا مجوز به کاربر به نحوی که کاربر با‬
‫استفاده از آن در دستیاب به داده(ش ی ها)ی مورد نظرش مجاز باشد‪.‬‬
‫انواع مجوز‪:‬‬
‫• ایجاد و حذف میدان(دامنه)‬
‫• ایجاد و حذف جدول(رابطه)‬
‫• اضافه کردن یا حذف کردن ستونی به‪/‬از جدول‬
‫• ایجاد و حذف دید‬
‫• ایجاد و حذف یک محدودیت جامعیتی‬
‫‪‬‬
‫مدیریت مجازی شماری‬
‫مدیریت متمرکز‪ :‬یک نفر اجازه دهنده ‪ ،‬مجوزها را به کاربران را میدهد و یا سلب میکند‪.‬‬
‫مدیریت سلسله مراتبی ‪ :‬یک نفر مسئول واگذاری مسئولیتهای مدیریتی به سایر مدیران است‪.‬‬
‫مدیریت نا متمرکز‪ :‬مالک یک شی‪ ،‬میتواند اختیارات مدیریت مجازی شماری را به دیگران را‬
‫بدهد‪.‬‬
‫مدیریت تملکی ‪ :‬کاربر ایجاد کننده هر شی‪،‬مالک آن شی است واین مالک میتواند مجوز ها را به‬
‫کاربران بدهد و یا سلب کند‪.‬‬
‫ادامه انواع مجوزها‬
‫•‬
‫•‬
‫•‬
‫•‬
‫•‬
‫•‬
‫•‬
‫•‬
‫•‬
‫•‬
‫ایجاد و حذف یک استراتژی دستیابی(مثال شاخص)‬
‫درخواست یک جدول لحظه ای‬
‫بازیابی از جدول‬
‫درج در جدول‬
‫حذف در جدول‬
‫بهنگام سازی جدول‬
‫دستیابی به کاتالوگ و بازیابی آن‬
‫دستیابی به فایل ثبت‬
‫دستیابی به فایل پشتیبان‬
‫اعطاء یا سلب یک حق دستیابی با منظور مشخص‬
‫احراز هویت کاربر و مجاز شماری‬
‫تدابیر ایمنی پایگاه‬
‫داده‬
‫کاربر‬
‫‪ID‬‬
‫کاربر‬
‫درخواست‬
‫کاربر‬
‫‪DBA‬‬
‫شناسایی کاربر‬
‫احراز هویت کاربر‬
‫فایل‬
‫اطالعات‬
‫کاربران‬
‫مجاز شماری‬
‫صدور اجازه دستیابی به‬
‫داده‬
‫یا رد درخواست‬
‫قواعد‬
‫کنترل‬
‫دستیابی‬
‫ضابطه یا محدودیتی است که برای دستیابی کاربر به داده و نوع عملیات روی داده وضع‬
‫میشود‪.‬‬
‫در ساده ترین شکل یک سه تایی به صورت >‪<A,D,U‬است که در آن ‪: U‬کاربر و ‪:‬‬
‫‪D‬داده‬
‫و ‪: A‬کنش مجاز‬
‫‪-4‬کنترل دستیابی‪:‬‬
‫کنترل دستیابی برای محدود کردن فعالیت کاربران قانونی که هویت آنها احراز شده‬
‫است انجام میشود‪ .‬برای کنترل دستیابی کاربر در اساس ‪ 3‬روش وجود دارد‪:‬‬
‫• روش اختیار)‪(DAC‬‬
‫صاحب منابع اطالعات قابلیت دسترس ی به منابع را تعیین میکند‪.‬‬
‫• روش اجباری)‪(MAC‬‬
‫دسترس ی به اطالعات بر اساس محرمانگی داده ها و رده بندی کاربران تعیین میشود‪.‬‬
‫• روش مبتنی بر نقش)‪(RBAC‬‬
‫دسترس ی به اطالعات با توجه به رده بندی افراد مشخص میشود‪.‬‬
‫‪ . 5‬قفل گذاری داده ها‬
‫با تکنیکهای قفل گذاری روی واحد های داده در چندین سطح‪،‬میتوان دستیابی به‬
‫داده ها را کنترل کرد‪.‬‬
‫‪ . 6‬نهان نگاری‬
‫نهان نگاری عبارتست از کدگذاری داده ها بوسیله یک الگوریتم خاص به نحوی که‬
‫کاربر نتواند‪،‬‬
‫بدون داشتن کلید آشکارسازی‪،‬داده ها را بخواند‪.‬‬
‫اجزای تشکیل دهنده سیستم نهان نگاری‪:‬‬
‫*کلید نهان نگاری‬
‫*الگوریتم نهان نگاری‬
‫*کلید آشکارسازی‬
‫*الگوریتم آشکارسازی‬
‫نهان گذاری متقارن‪:‬‬
‫اگر در سیستم نهان نگاری برای نهان نگاری و آشکارسازی از یک کلید‬
‫استفاده شود‪.‬‬
‫نهان نگاری نامتقارن‪:‬‬
‫اگر برای نهان نگاری و آشکارسازی از کلیدهای متفاوتی استفاده شود‪.‬‬
‫تکنیک های نهان نگاری‪:‬‬
‫تکنیکهای غیر قابل برگشت‪ :‬امکان شناسایی داده های اصلی وجود ندارد‪.‬‬
‫تکنیکهای قابل برگشت ‪ :‬شناسایی داده امکان پذیر است‪.‬‬
‫‪ .7‬فراروند حسابرس ی‬
‫جمع آوری داده هایی در مورد فعالیتهای سیستم و تحلیل انها به منظور یافتن موارد‬
‫عدم رعایت ضوابط ایمنی یاتشخیص علت بروز این موارد ‪.‬‬
‫این داده ها در فایلی به نام فایل حسابرس ی ذخیره میشود‪.‬‬
‫در فایل حسابرس ی اطالعاتی از قبیل درخواست کاربر‪،‬مشخصات ایستگاه کار ‪،‬‬
‫مشخصات کاربر ‪ ،‬تاریخ و زمان انجام هر عمل ‪،‬داده های مورد نظر در هر عمل ‪،‬‬
‫مقدار قدیم و جدید داده ها نگهداری میشود‪.‬‬
‫فایل حسابرس ی به تدریج بزرگ میشود به گونه ای که جستجو در آن به منظور یافتن‬
‫تجاوزها و سوء استفاده ها می تواند بسیار زمانگیر باشد‪.‬‬
‫‪ .8‬استفاده از مفهوم دید خارجی‬
‫مفهوم دید خارجی به عنوان یک مفهوم اساس ی در سیستم های پایگاهی به‬
‫ویژه در سیستم های رابطه ای مطرح است‪ .‬از مزایای مهم این مفهوم این‬
‫است که دید خارجی یک مکانیسم اتوماتیک ایمنی است‪ .‬بنابراین می توان از‬
‫این مفهوم برای افزایش ایمنی پایگاه داده استفاده کرد‪.‬‬
‫‪ .9‬کنترل داده روند‬
‫در این کنترل از گردش غیر مجاز اطالعات بین سطوح مختلف هرم مدیریتی‪-‬عملیاتی‬
‫سازمان جلوگیری میشود‪.‬‬
‫‪y‬‬
‫‪x‬‬
‫بین دو ش یء ‪x‬و‪ y‬داده روند وجود دارد هرگاه برنامه ای مقادیری از ‪x‬را بخواند و در‬
‫‪y‬بنویسد‪.‬‬
‫بنابراین با کنترل داده روند کاربر نمیتواند‪ ،‬اطالعاتی را که نمی توانست بطور‬
‫مستقیم از‪ x‬بدست آورد ‪،‬بطور غیر مستقیم از ‪ y‬بدست آورد‪.‬‬
‫‪ .10‬کنترل استنباط‬
‫در این کنترل از کسب اطالعات از طریق استنباط جلوگیری میشود‪.‬‬
‫با استفاده از برخی پرسشهای خاص و جهت یافته‪،‬میتوان اطالعات مورد نظر را‬
‫استنباط کرد‪.‬‬
‫مثال‪:‬اگر ‪ X‬کارمند زنی است با مدرک دکترا و در شهر ‪ a‬در ایالت‪ S1‬زندگی میکند و‬
‫بخواهیم دستمزدش را پیدا کنیم ‪.‬‬
‫‪SELECT COUNT(*) FROM PERSON‬‬
‫)’‪WHERE (LAST-DEGREE=‘PH.D’AND SEX=‘F’ AND CITY=‘a’ AND STATE=‘S1‬‬
‫‪SELECT AVG(INCOME) FROM PERSON‬‬
‫’‪WHERE (LAST_DEGREE=‘PH.D AND SEX=‘F’ AND CITY=‘a’ AND STATE=‘S1‬‬
‫تدابیر خاص در محیط وب‪:‬‬
‫برای کنترل ایمنی پایگاه داده در محیط وب تدابیر خاص ی وجود دارد از جمله این‬
‫تدابیر‪:‬‬
‫* خدمتگزار پراکس ی(مباشر)‬
‫* ایجاد دیوار آتش‬
‫* امضا رقمی‬
‫* چکیده پیام‬
‫* گواهینامه رقمی‬
‫* استانداردهای امنیت شبکه مثل ‪ SSL‬و ‪SHTTP‬‬
‫*پروتوکل شناسایی هویت مثل کربروس‬
‫مالک های ارزیابی تدابیر امنیتی‬
‫• کامل بودن‪ :‬سیستم همه تهدیدهای ممکن را در نظر بگیرد‪.‬‬
‫• محرمانگی ‪:‬درجه محرمانگی باال باشد‪.‬‬
‫• انعطاف پذیری‪:‬اعمال سیاستهای ایمنی در وضعیت های مختلف‪.‬‬
‫• سادگی استفاده‪ :‬استفاده از سیستم نیاز به روشها و تکنیکهای پیچیده نداشته‬
‫باشد‪.‬‬
‫• رخنه ناپذیری‪:‬سیستم باید ایمنی خودش را در مقابل رخنه گری ونفوذ تضمین کند‪.‬‬
‫• فزونکاری پایین‪:‬اعمال تدابیر ایمنی نباید فزونکاری باال داشته باشد‪.‬‬
‫• هزینه عملیاتی پایین‪:‬هزینه های سخت افزاری و نرم افزاری نباید زیاد باشد‪.‬‬
‫تدابیر مقابله با تهدیدها و اعمال آنها در صورت لزوم باید از نظر هزینه‪/‬سودمندی‬
‫قابل توجیه باشد‪.‬‬
‫وظایف مدیر پایگاه داده‬
‫مدیر پایگاه داده برای تضمین ایمنی پایگاه داده وظایفی دارد‪ .‬مهم ترین این وظایف‬
‫عبارتند از‪:‬‬
‫• ایجاد حساب کاربری و گذرواژه برای کاربر‬
‫• اعطا امتیاز به کاربر‬
‫• سلب امتیاز از کاربر‬
‫• انتساب یک سطح ایمنی به کاربر‬
‫تولید حساب کاربری و گذرواژه در اساس برای کنترل دستیابی به سیستم مدیریت‬
‫پایگاه داده است‪ .‬سه وظیفه بعدی در واقع کارهایی است که مدیر پایگاه داده برای‬
‫مجاز شماری کاربر انجام میدهد‪.‬‬
‫با تشکر از توجه شما‬