1-Intro-DB-Sec-Jalili.ppt

‫‪MCI‬‬
‫اصول و مفاهيم امنيت پايگاه دادهها‬
‫رسول جليلي‬
‫‪[email protected]‬‬
‫‪1‬‬
‫مرور مفاهيم کلي پايگاه دادهها‬
‫• مدل داده اي‬
‫• مدل رابطه اي‬
‫• رابطه‬
‫• زبان پرس و جو‬
‫• درستي (مستقل از کاربرد و وابسته به کاربرد)‬
‫– جامعيت‬
‫• کليد اصلي‬
‫• موجوديتي‬
‫• ارجاعي‬
‫‪2‬‬
‫‪MCI‬‬
‫مرور مفاهيم کلي پايگاه دادهها ‪2-‬‬
‫• سطوح مختلف شرح داده ها‬
‫– ديد منطقي ‪Logical view :‬‬
‫– سطح شماي داده منطقي‬
‫– سطح داده هاي فيزيکي‬
‫• استقالل داده اي (منطقي و فيزيکي)‬
‫• جبر رابطه اي‬
‫– عملگر انتخاب‬
‫– عملگر تصوير‬
‫– عملگر الحاق‬
‫‪3‬‬
‫‪MCI‬‬
View - ‫ديد‬
MCI
‫• تعريف ديد‬
‫• کاربردهاي ديد‬
‫• رابطه ديد با امنيت‬
CREATE VIEW failed-students
ON STUDENTS
WHERE STUDENTS.Average < 10.
4
‫امنيت پايگاه دادهها‬
‫امنيت در پايگاه دادهها‪ ،‬مشتمل بر سه جنبه مهم زير‪:‬‬
‫‪ -1‬محرمااااااانگي‪ :‬بااااااه مفهااااااوم جلااااااو يري يااااااا شااااااف افشاااااااي‬
‫اطالعات‪.‬‬
‫غيرمجاز‬
‫‪ -2‬صااااااحت‪ :‬بااااااه مفهااااااوم جلااااااو يري يااااااا شااااااف ت يياااااارات و‬
‫غيرمجاز اطالعات‪.‬‬
‫اصالحات‬
‫‪ -3‬دسااااترس پاااا يري‪ :‬بااااه مفهااااوم جلااااو يري يااااا شااااف ممانعاااات‬
‫از سرويسهاي فراهم شده سيستم‪.‬‬
‫غيرمجاز‬
‫‪5‬‬
‫‪MCI‬‬
‫تهديدات امنيتي پايگاه دادهها‬
‫• سهوي‬
‫– بالياي طبيعي يا حوادث‬
‫– خطا در سخت افزار يا نرم افزار‬
‫– خطاهاي انساني‬
‫• عمدي‬
‫– کاربران مجاز‬
‫– عوامل متخاصم‬
‫• داخلي‬
‫• خارجي‬
‫‪6‬‬
‫‪MCI‬‬
‫نيازمندي هاي حفاظت از پايگاه دادهها‬
‫‪MCI‬‬
‫حفاظت از پايگاه دادهها توسط روشهاي زير انجام پ ير است‪:‬‬
‫‪ -1‬نتااارل دسترساااي‪ :‬دسترساااي ااااربران باااه مناااابس اطالعااااتي سيساااتم‬
‫مطابق قوانين خاصي نترل ميشود‪.‬‬
‫‪ -2‬نتاااارل اسااااتنتا ‪ :‬جلااااو يري از اسااااتنتا اطالعااااات محرمانااااه از‬
‫اطالعات مجاز موجود (پايگاه دادههاي آماري)‬
‫‪ -3‬جامعيت پايگاه دادهها‪:‬‬
‫ رويه هاي پشتيبان يري‬‫ ترميم با استفاده از ژورنال‬‫ تجزيه ناپ يري (‪)Atomicity‬‬‫‪7‬‬
‫رسول جلیلی‪ -‬درس امنیت پایگاه داده ها‪ -‬نیمسال دوم تحصیلی ‪87-86‬‬
‫نيازمندي هاي حفاظت از پايگاه دادهها ‪2-‬‬
‫‪ -4‬جامعيت عملياتي دادهها‬
‫ مديريت همروندي )‪(Concurrency Control‬‬‫‪ -‬پي در پي پ يري)‪(Serializability‬‬
‫ قفل اري )‪(Locking‬‬‫‪ -5‬جامعيت مفهومي دادهها ‪ -‬محدوديت هاي جامعيتي‬
‫‪ -6‬روياااادادنگاري و حسابرسااااي‬
‫)‪Auditing‬‬
‫‪8‬‬
‫&‬
‫‪(Accountability‬‬
‫‪MCI‬‬
‫نيازمندي هاي حفاظت از پايگاه دادهها ‪3-‬‬
‫‪ -7‬احراز اصالت کاربران‬
‫‪ -8‬مديريت و حفاظت از داده هاي حساس‬
‫‪ -9‬حفاظت چندسطحي‬
‫‪ -10‬محدودسازي در انتقال ناخواسته داده بين برنامه ها از طريق‬
‫ کانالهاي مجاز‬‫‪ -‬کانالهاي حافظه اي‬
‫‪ -‬کانالهاي مخفي‬
‫‪9‬‬
‫‪MCI‬‬
‫کنترلهاي امنيتي از طريق اقداماتي براي‪:‬‬
‫‪ -1‬نتاارل جريااان‪ :‬در اياان رو ‪ ،‬جريااان اطالعااات مااابين اااربران‬
‫سيستم نترل ميشود‪ .‬ماالال‪ ،‬خوانادن از ‪ X‬و نوشاتن روي ‪Y‬‬
‫‪.‬‬
‫اهمياات‪ :‬عاادم جريااان صااريح يااا عاامني اطالعااات بااه سااطوح و‬
‫اشياء کمتر حفاظت شده‪.‬‬
‫ در ماااواقعي عاااين اطالعاااات منتقااال نماااي شاااود بلکاااه جز اااي از‬‫اطالعاااات و ياااا بر رفتاااه از اطالعاااات‪ :‬جرياااان اطالعااااتي جز اااي‬
‫)‪(Partial Flow Control‬‬
‫ جريانات مجااز باياد مشاخ و قاعاده مناد شاوند‪ .‬يعناي درجاه‬‫حساسيت اشياء مشخ شود و اينکه تمايز اشياء چيست‪.‬‬
‫‪10‬‬
‫‪MCI‬‬
‫کنترلهاي امنيتي از طريق اقداماتي براي‪:‬‬
‫‪MCI‬‬
‫‪ -2‬کنترل استنتا ‪ :‬حفاظت از داده ها از تشخي غير مستقيم‪.‬‬
‫)‪ ،Y = f(X‬يعني بدست آوردن ‪ Y‬از طريق ‪.X‬‬
‫کانال استنتاجي ‪:‬‬
‫‪ 1-2‬دسترساي غيرمساتقيم‪ :‬کااربر تنهاا باه ‪ X‬حاق دسترساي‬
‫دارد ولی مقدار ‪ Y‬را هم مي فهمد‪.‬‬
‫‪SELECT X FROM r WHERE Y = value.‬‬
‫‪-‬‬
‫يا در رکوردي با کليدي مشابه آنچه قبال وجاود دارد ولاي کااربر حاق‬
‫دانستن آنرا ندارد!‬
‫‪11‬‬
‫کنترلهاي امنيتي از طريق اقداماتي براي‪:‬‬
‫‪ 2-2‬داده هاي مرتبط با هم‪Z= T * K :‬‬
‫که کاربر تنها حق دسترسي به ‪ T‬و ‪ K‬را دارد‪.‬‬
‫‪ 3-2‬داده هاي ارا ه نشده در پاسخ يک پرس و جاو )‪(Missing‬‬
‫که مهاجم مي فهمد داده هاي حساس چيستند!‬
‫‪ 4-2‬استنتا آماري‪ :‬از طريق توابس آماري ‪SQL‬‬
‫مقابله‪ :‬اختالل در داده ها )‪(Perturbation‬‬
‫کنترل پرس و جو (مالال کران باال و پايين اندازه)‬
‫‪12‬‬
‫‪MCI‬‬
‫کنترلهاي امنيتي از طريق اقداماتي براي‪:‬‬
‫‪ -3‬کنترل دسترسي‪ :‬اطمينان از اينکاه هماه دسترساي هااي مساتقيم‬
‫به داده ها دقيقا ً متناظر با خط مشي امنيتي است‪.‬‬
‫• سيستم کنترل دسترسي شامل‬
‫– مجموعه اي از قواعد و خط مشي هاي دسترسي‬
‫– مجموعه اي از رويه هاي کنترلي‬
‫‪13‬‬
‫‪MCI‬‬
‫کنترل دسترسي‬
‫نفی دسترسی‬
‫اجازه دسترسی‬
‫ت يير درخواست‬
‫رويه های‬
‫کنترل‬
‫قواعد‬
‫دسترسی‬
‫‪14‬‬
‫‪MCI‬‬
‫درخواست‬
‫دسترسی‬
‫خط مشی‬
‫امنيتی‬
‫خط مشي هاي دسترسي‬
‫• عرورت تعريف مفاهيم و راهبردها‬
‫• خط مشي هاي اصلي در محدود سازي دسترسي‪:‬‬
‫– حداقل مجوز‬
‫– حداکالر مجوز‬
‫• سيستم هاي بسته (شکل‬
‫• سيستم هاي باز (شکل دو‬
‫بعد)‬
‫بعد)‬
‫حق دادن و پاس ارفت ِن‬
‫• خط مشي هاي مديريت مجوزدهي !! کي ِ‬
‫حق دارد؟‬
‫‪15‬‬
‫‪MCI‬‬
‫کنترل دسترس ي‪ :‬سيستم بسته‬
‫اجازه دسترس ی‬
‫‪Y‬‬
‫نفی دسترس ی‬
‫‪N‬‬
‫قاعده ای‬
‫وجود دارد‬
‫که مجوز‬
‫دهد؟‬
‫قواعد‪:‬‬
‫دسترس ی های‬
‫مجاز‬
‫‪16‬‬
‫‪MCI‬‬
‫درخواست‬
‫دسترس ی‬
‫کنترل دسترسي‪ :‬سيستم باز‬
‫نفی دسترسی‬
‫اجازه دسترسی‬
‫قاعده ای‬
‫‪ Y‬وجود دارد‬
‫که نفی را‬
‫مشخص‬
‫‪ N‬کند؟‬
‫قواعد‪:‬‬
‫دسترسی‬
‫های غير‬
‫مجاز‬
‫‪17‬‬
‫‪MCI‬‬
‫درخواست‬
‫دسترسی‬
‫خط مشي هاي دسترسي‪2-‬‬
‫‪MCI‬‬
‫• مديريت خط مشي امنيتي‪:‬‬
‫–‬
‫–‬
‫–‬
‫–‬
‫–‬
‫متمرکز‬
‫توزيس شده‬
‫نامتمرکز سلسله مراتبي‬
‫مالکيتي‪ :‬مالک اختيار دارد‪.‬‬
‫اختيار جمعي (بي از يک فرد با هم تصميم مي يرند)‬
‫• سيستم هاي امنيتي چند سطحي که در آنها جريان اطالعاتي اهميت‬
‫مي يابد‪.‬‬
‫– اجباري‪ :‬شکل‬
‫– اختياري‪ :‬شکل دو‬
‫بعد‬
‫بعد‪ .‬امکان انتشار و سپس بازپس يری!!‬
‫• امکان جريان اطالعاتی از يک شيئ به شيئ ديگر باا خوانادن و نوشاتن توساط ياک‬
‫عامل و يا برنامه تروجان‪.‬‬
‫– امکان ترکيب دو خط مشی نيز وجود دارد‬
‫‪18‬‬
‫کنترل دسترسي اختياری)‪(Discretionary‬‬
‫نفی دسترسی‬
‫نفی دسترسی‬
‫اجازه دسترسی‬
‫‪19‬‬
‫‪ N‬گزاره موجود‬
‫در قاعده‬
‫ارضاء‬
‫ميشود؟‬
‫‪Y‬‬
‫‪N‬‬
‫درخواست‪،‬‬
‫قواعد‬
‫مجازشناسی را‬
‫ارضاء ميکند؟‬
‫‪Y‬‬
‫قواعد‬
‫مجاز‬
‫شناسی‬
‫‪MCI‬‬
‫درخواست‬
‫دسترسی‬
‫مدلهاي کنترل دسترسی اختياری‪1-‬‬
‫• مدلهاي اختياري بر اساس شناسه کاربر و قواعدي که باراي هار‬
‫کاااااربر نااااو دسترسااااي ا را مشااااخ ميکنااااد‪ ،‬دسترسااااي را‬
‫مديريت ميکند‪.‬‬
‫• امکان اعطاء مجوز کاربر به ديگران‪ ،‬توساط خاود کااربر ممکان‬
‫است‪.‬‬
‫• رايج ترين فرم مديريت‪ ،‬خاط مشاي مالکاناه اسات کاه مالاک حاق‬
‫خود را به ديگران اعطا ميکند يا پس مي يرد‪.‬‬
‫• ماتريس کنترل دسترسي‪ ،‬يک رو‬
‫ارا ه اين مدل است‪.‬‬
‫• بقيه مدلهاي اختياري بسطي بر اين رو‬
‫‪20‬‬
‫هستند‪.‬‬
‫‪MCI‬‬
‫مدلهاي نترل دسترسي اختياري‪2-‬‬
‫• مدل ماتريس دسترسي (‪)access matrix‬‬
‫• مدل ‪HRU‬‬
‫• مدل اخ ‪ -‬اعطا (‪)Take - Grant‬‬
‫• ‪...‬‬
‫‪21‬‬
‫‪MCI‬‬
‫کنترل دسترسي اجباری)‪(Mandatory‬‬
‫اجازه دسترسی‬
‫‪Y‬‬
‫نفی دسترسی‬
‫‪N‬‬
‫درخواست‪،‬‬
‫اصول خط‬
‫مشی‬
‫اجباری را‬
‫ارضاء‬
‫ميکند؟‬
‫رده های‬
‫امنيتی‬
‫عوامل‪/‬اشياء‬
‫‪22‬‬
‫‪MCI‬‬
‫درخواست‬
‫دسترسی‬
‫اصول‬
‫امنيتی‬
‫مدلهاي کنترل دسترسی اجباری‬
‫‪MCI‬‬
‫• مدلهاي اجباري بر اساس رده بندي عامال هاا و اشاياء دسترساي‬
‫را مديريت ميکند‪.‬‬
‫• اشياء منفعل و عامل ها فعال هستند‪.‬‬
‫• با هر عامل و هر شيء‪ ،‬يک کالس دسترساي هماراه اسات‪ .‬ا ار‬
‫رابطه مشخصي (بر اساس مدل امنيتاي) باين رده عامال و شايء‬
‫برقرار باشد‪ ،‬دسترسي ممکن و اجازه داده مي شود‪.‬‬
‫• مدل ‪ Bell & Lapadula‬ارا ه دهنده اين رو‬
‫‪23‬‬
‫است‪.‬‬
‫مدلهاي کنترل دسترسی نق ‪-‬مبنا‬
‫• مدددلهای ن د ‪-‬مبنددا بااا هاادف پوشا نيازهااای امنيتاای سااازمانها کااه‬
‫اغلب بر محور نق تکيه دارند‪ ،‬ارا ه شد‪.‬‬
‫• هر فرد به يک نق منتسب می ردد و هار نقا باه ياک مجموعاه‬
‫تراکن در سيستم برای انجام وظايف خود دسترسی دارد‪.‬‬
‫• شامل هر دو مدل اختياری و اجباری‪:‬‬
‫– امکااان اِعطااای مجوزهااا را بااه کاااربران (و يااا روههااا) مشااابه خطمشاای‬
‫اختياری‬
‫– امکاااان توصااايف برخااای محااادوديتها بااار روی انتسااااب و ياااا باااهکار يری‬
‫مجوزها مشابه خطمشی اجباری‬
‫• خانواده مدلهای ‪ RBAC‬در اين دسته قرار دارند‪.‬‬
‫‪24‬‬
‫‪MCI‬‬
‫ام انات امنيتي ه ‪ DBMS‬بايد فراهم ند‬
‫• درجات مختلف دانهبندي دسترسي‬
‫• انوا مختلف نترلهاي دسترسي‬
‫• مجازشناسي (‪ )Authorization‬پويا‬
‫• حفاظت چندسطحي‬
‫• نداشااااتن انااااال مخفااااي (‪ :)Covert Channel‬رو‬
‫غيرمستقيم براي دسترسي غيرمجاز به اطالعات‪.‬‬
‫• نترل استنتا (‪)Inference‬‬
‫‪25‬‬
‫ارتباااااط‬
‫‪MCI‬‬
‫ام انات امنيتي ه ‪ DBMS‬بايد فراهم ند (ادامه)‬
‫‪MCI‬‬
‫• چناااد نماااونگي )‪ (polyinstantiation‬باااراي جلاااو يري از‬
‫اساااتنتا ‪ :‬مشااااهدت متفااااوت دادت ي ساااان از نظااار ااااربران‬
‫مختلف‪.‬‬
‫• ي پارچه بودن روشهاي نترل محرمانگي و نترل جامعيت‬
‫• نظارت )‪(auditing‬‬
‫• ارآيي معقول در برابر سربار حاصل از هزينههاي امنيتي‬
‫• نترل جريان )‪ (flow‬براي بررسي مقصد اطالعات‬
‫‪26‬‬
‫امنيت پايگاه دادهها و ‪DBA‬‬
‫ماادير پايگاااه دادههااا )‪ (DBA‬بايااد مجااوز دسااتوراتي را بااراي انجااام‬
‫وظاااايف زيااار داشاااته باشاااد (باااراي تماااامي مااادلهاي دادهاي و اناااوا‬
‫‪DBMS‬ها)‪:‬‬
‫• ايجاد اربر‪ :‬ايجاد اربر و تعيين لمة عبور براي وي‪.‬‬
‫• اعطاي مجوز‪ :‬دادن مجوزهاي الزم به يك اربر‪.‬‬
‫• ل و مجوز‪ :‬باطل ردن مجوزهاي داده شده‪.‬‬
‫• تخصي‬
‫‪27‬‬
‫سطح امنيتي‪ :‬اختصا‬
‫سطح امنيتي مناسب به اربر‪.‬‬
‫‪MCI‬‬
‫معيارهاي ارزيابي سياستهاي امنيتي در يك ‪DBMS‬‬
‫• ترا نشهاي خو‬
‫‪ -‬ساخت‬
‫• حداقل مجوز (‪ :)Least Privilege‬ااربران باا حاداقل مجوزهااي‬
‫الزم‪ ،‬به دادههاي مورد نظر دسترسي يابند‪.‬‬
‫• اربران هويتشناسي شده‬
‫• تف يك وظاايف (‪ :)Separation of Duties‬هاي ااربري نتواناد‬
‫از مجوزهاي خود سوء استفاده ند (يا دادهها را تخريب ند)‪.‬‬
‫‪28‬‬
‫‪MCI‬‬
MCI
Well-formed transaction
• The principle of well-formed transaction is defined as a
transaction where the user is unable to manipulate data
arbitrarily, but only in constrained (limitations or
boundaries) ways that preserve or ensure the integrity
of the data. A security system in which transactions are
well-formed ensures that only legitimate actions can be
executed. Ensures the internal data is accurate and
consistent to what it represents in the real world
‫معيارهاي ارزيابي سياستهاي امنيتي در يك ‪( DBMS‬ادامه)‬
‫• تداوم عمليات ‪ DBMS‬به هنگام نقض امنيت‪.‬‬
‫• بررسي متناوب موجوديتهاي دنياي واقعي‪.‬‬
‫• بازسازي وقايس براي بررسی سوء استفاده از مجوزها‪.‬‬
‫• اربر پسندی و وجود روالهاي امنيتي عاري ازخطا‪.‬‬
‫• وا اري اجازه‪ :‬اختصا‬
‫‪30‬‬
‫مجوزها بر اساس سياستها‪.‬‬
‫‪MCI‬‬
‫‪MCI‬‬
‫معماری‬
‫يک‪DB‬‬
‫‪MS‬‬
‫شامل‬
‫ويژ ی‬
‫های‬
‫امنيتی‬
‫‪31‬‬
‫رسول جلیلی‪ -‬درس امنیت پایگاه داده ها‪ -‬نیمسال دوم تحصیلی ‪87-86‬‬
MCI
‫اجزاي يك مدل امنيتي‬
)subjects( ‫• عاملها‬
)objects( ‫• اشياء‬
)access modes( ‫• حالتهاي دسترسي‬
)policies( ‫• سياست ها‬
)authorizations( ‫• مجازشناسيها‬
)administrative rights( ‫• مجوزهاي مديريتي‬
)axioms( ‫• اصول‬
32
‫‪MCI‬‬
‫اجزاي‬
‫يك مدل‬
‫امنيتي‬
‫(ادامه)‬
‫‪33‬‬
‫تعاريف پايه‬
‫• خطمشي امنيتي‬
‫– بيانگر نيازمنديهاي امنيتي يک سازمان‬
‫– تفکيک حاالت مجاز از حاالت غيرمجاز در سيستم‬
‫• مدل امنيتي‬
‫– يک انتزا از خطمشي امنيتي‬
‫– به اعتقاد برخی از محققين‪ :‬بيان صوری خطمشي امنيتی‬
‫• کنترل دسترسي‪ :‬مکانيزم امنيتی پايه‬
‫شناسايی و تصديق اصالت )‪(Identification & Authentication‬‬
‫‪+‬‬
‫مکانيزم مجازشناسی )‪(Authorization‬‬
‫‪34‬‬
‫‪MCI‬‬