350 likes | 654 Views
اصول و مفاهيم امنيت پايگاه دادهها. رسول جليلي Jalili@sharif.edu. مرور مفاهيم کلي پايگاه دادهها. مدل داده اي مدل رابطه اي رابطه زبان پرس و جو درستي (مستقل از کاربرد و وابسته به کاربرد) جامعيت کليد اصلي موجوديتي ارجاعي. مرور مفاهيم کلي پايگاه دادهها -2. سطوح مختلف شرح داده ها
E N D
اصول و مفاهيم امنيت پايگاه دادهها رسول جليلي Jalili@sharif.edu
مرور مفاهيم کلي پايگاه دادهها • مدل داده اي • مدل رابطه اي • رابطه • زبان پرس و جو • درستي (مستقل از کاربرد و وابسته به کاربرد) • جامعيت • کليد اصلي • موجوديتي • ارجاعي
مرور مفاهيم کلي پايگاه دادهها -2 • سطوح مختلف شرح داده ها • ديد منطقي :Logical view • سطح شماي داده منطقي • سطح داده هاي فيزيکي • استقلال داده اي (منطقي و فيزيکي) • جبر رابطه اي • عملگر انتخاب • عملگر تصوير • عملگر الحاق
ديد - View • تعريف ديد • کاربردهاي ديد • رابطه ديد با امنيت CREATE VIEW failed-students ON STUDENTS WHERE STUDENTS.Average < 10.
امنيت پايگاهدادهها امنيت در پايگاه دادهها، مشتمل بر سه جنبه مهم زير: 1- محرمانگي: به مفهوم جلوگيري يا كشف افشاي غيرمجاز اطلاعات. 2- صحت: به مفهوم جلوگيري يا كشف تغييرات و اصلاحات غيرمجاز اطلاعات. 3- دسترس پذيري: به مفهوم جلوگيري يا كشف ممانعت غيرمجاز از سرويسهاي فراهم شده سيستم.
تهديدات امنيتي پايگاه دادهها • سهوي • بلاياي طبيعي يا حوادث • خطا در سخت افزار يا نرم افزار • خطاهاي انساني • عمدي • کاربران مجاز • عوامل متخاصم • داخلي • خارجي
نيازمندي هاي حفاظت از پايگاه دادهها حفاظت از پايگاه دادهها توسط روشهاي زير انجام پذير است: 1-كنترل دسترسي: دسترسي كاربران به منابع اطلاعاتي سيستم مطابق قوانين خاصي كنترل ميشود. 2- كنترل استنتاج: جلوگيري از استنتاج اطلاعات محرمانه از اطلاعات مجاز موجود (پايگاه دادههاي آماري) 3- جامعيت پايگاه دادهها: - رويه هاي پشتيبان گيري - ترميم با استفاده از ژورنال - تجزيه ناپذيري (Atomicity) رسول جلیلی- درس امنیت پایگاه داده ها- نیمسال دوم تحصیلی 86-87
نيازمندي هاي حفاظت از پايگاه دادهها -2 4- جامعيت عملياتي دادهها - مديريت همروندي (Concurrency Control) - پي در پي پذيري (Serializability) - قفل گذاري (Locking) 5- جامعيت مفهومي دادهها - محدوديت هاي جامعيتي 6- رويدادنگاري و حسابرسي(Accountability & Auditing)
نيازمنديهاي حفاظت از پايگاه دادهها -3 7- احراز اصالت کاربران 8- مديريت و حفاظت از داده هاي حساس 9- حفاظت چندسطحي 10- محدودسازي در انتقال ناخواسته داده بين برنامه ها از طريق - کانالهاي مجاز - کانالهاي حافظه اي - کانالهاي مخفي
کنترلهاي امنيتي از طريق اقداماتي براي: 1- كنترل جريان: در اين روش، جريان اطلاعات مابين كاربران سيستم كنترل ميشود. مثلا، خواندن از X و نوشتن روي Y . اهميت: عدم جريان صريح يا ضمني اطلاعات به سطوح و اشياء کمتر حفاظت شده. - در مواقعي عين اطلاعات منتقل نمي شود بلکه جزئي از اطلاعات و يا برگرفته از اطلاعات: جريان اطلاعاتي جزئي (Partial Flow Control) - جريانات مجاز بايد مشخص و قاعده مند شوند. يعني درجه حساسيت اشياء مشخص شود و اينکه تمايز اشياء چيست.
کنترلهاي امنيتي از طريق اقداماتي براي: 2- کنترل استنتاج: حفاظت از داده ها از تشخيص غير مستقيم. Y = f(X)، يعني بدست آوردن Y از طريق X. کانال استنتاجي : 2-1دسترسي غيرمستقيم: کاربر تنها به X حق دسترسي دارد ولی مقدار Y را هم مي فهمد. • SELECT X FROM r WHERE Y = value. يا درج رکوردي با کليدي مشابه آنچه قبلا وجود دارد ولي کاربر حق دانستن آنرا ندارد!
کنترلهاي امنيتي از طريق اقداماتي براي: 2-2 داده هاي مرتبط با هم: Z= T * K که کاربر تنها حق دسترسي به T و K را دارد. 2-3 داده هاي ارائه نشده در پاسخ يک پرس و جو (Missing) که مهاجم مي فهمد داده هاي حساس چيستند! 2-4 استنتاج آماري: از طريق توابع آماري SQL مقابله: اختلال در داده ها (Perturbation) کنترل پرس و جو (مثلا کران بالا و پايين اندازه)
کنترلهاي امنيتي از طريق اقداماتي براي: 3- کنترل دسترسي: اطمينان از اينکه همه دسترسي هاي مستقيم به داده ها دقيقاً متناظر با خط مشي امنيتي است. • سيستم کنترل دسترسي شامل • مجموعه اي از قواعد و خط مشي هاي دسترسي • مجموعه اي از رويه هاي کنترلي
کنترل دسترسي نفی دسترسی اجازه دسترسی تغيير درخواست رويه های کنترل درخواست دسترسی خط مشی امنيتی قواعد دسترسی
خط مشي هاي دسترسي • ضرورت تعريف مفاهيم و راهبردها • خط مشي هاي اصلي در محدود سازي دسترسي: • حداقل مجوز • حداکثر مجوز • سيستم هاي بسته(شکل ص بعد) • سيستم هاي باز (شکل دو ص بعد) • خط مشي هاي مديريت مجوزدهي !! کي حقِ دادن و پس گرفتنِ حق دارد؟
کنترل دسترسي: سيستم بسته قاعده ای وجود دارد که مجوز دهد؟ درخواست دسترسی Y اجازه دسترسی N نفی دسترسی قواعد: دسترسی های مجاز
کنترل دسترسي: سيستم باز قاعده ای وجود دارد که نفی را مشخص کند؟ درخواست دسترسی Y نفی دسترسی N اجازه دسترسی قواعد: دسترسی های غير مجاز
خط مشي هاي دسترسي-2 • مديريت خط مشي امنيتي: • متمرکز • توزيع شده • نامتمرکز سلسله مراتبي • مالکيتي: مالک اختيار دارد. • اختيار جمعي (بيش از يک فرد با هم تصميم مي گيرند) • سيستم هاي امنيتي چند سطحي که در آنها جريان اطلاعاتي اهميت مي يابد. • اجباري: شکل ص بعد • اختياري: شکل دو ص بعد. امکان انتشار و سپس بازپس گيری!! • امکان جريان اطلاعاتی از يک شيئ به شيئ ديگر با خواندن و نوشتن توسط يک عامل و يا برنامه تروجان. • امکان ترکيب دو خط مشی نيز وجود دارد
کنترل دسترسي اختياری (Discretionary) درخواست، قواعد مجازشناسی را ارضاء میکند؟ N درخواست دسترسی نفی دسترسی Y N گزاره موجود در قاعده ارضاء میشود؟ نفی دسترسی اجازه دسترسی Y قواعد مجاز شناسی
مدلهاي کنترل دسترسی اختیاری-1 • مدلهاي اختياري بر اساس شناسه کاربر و قواعدي که براي هر کاربر نوع دسترسي اش را مشخص ميکند، دسترسي را مديريت ميکند. • امکان اعطاء مجوز کاربر به ديگران، توسط خود کاربر ممکن است. • رايج ترين فرم مديريت، خط مشي مالکانه است که مالک حق خود را به ديگران اعطا ميکند يا پس ميگيرد. • ماتريس کنترل دسترسي، يک روش ارائه اين مدل است. • بقيه مدلهاي اختياري بسطي بر اين روش هستند.
مدلهاي كنترل دسترسي اختياري-2 • مدل ماتريس دسترسي (access matrix) • مدل HRU • مدل اخذ - اعطا (Take - Grant) • ...
کنترل دسترسي اجباری (Mandatory) درخواست، اصول خط مشی اجباری را ارضاء میکند؟ درخواست دسترسی Y اجازه دسترسی نفی دسترسی N اصول امنيتی رده های امنيتی عوامل/اشياء
مدلهاي کنترل دسترسی اجباری • مدلهاي اجباري بر اساس رده بندي عامل ها و اشياء دسترسي را مديريت ميکند. • اشياء منفعل و عامل ها فعال هستند. • با هر عامل و هر شيء، يک کلاس دسترسي همراه است. اگر رابطه مشخصي (بر اساس مدل امنيتي) بين رده عامل و شيء برقرار باشد، دسترسي ممکن و اجازه داده مي شود. • مدل Bell & Lapadula ارائه دهنده اين روش است.
مدلهاي کنترل دسترسی نقش-مبنا • مدلهای نقش-مبنا با هدف پوشش نیازهای امنیتی سازمانها که اغلب بر محور نقش تکیه دارند، ارائه شد. • هر فرد به یک نقش منتسب میگردد و هر نقش به یک مجموعه تراکنش در سیستم برای انجام وظایف خود دسترسی دارد. • شامل هر دو مدل اختیاری و اجباری: • امکان اِعطای مجوزها را به کاربران (و یا گروهها) مشابه خطمشی اختیاری • امکان توصیف برخی محدودیتها بر روی انتساب و یا بهکارگیری مجوزها مشابه خطمشی اجباری • خانواده مدلهای RBAC در این دسته قرار دارند.
امكانات امنيتي كه DBMSبايد فراهم كند • درجات مختلف دانهبندي دسترسي • انواع مختلف كنترلهاي دسترسي • مجازشناسي (Authorization) پويا • حفاظت چندسطحي • نداشتن كانال مخفي (Covert Channel): روش ارتباط غيرمستقيم براي دسترسي غيرمجاز به اطلاعات. • كنترل استنتاج (Inference)
امكانات امنيتي كه DBMSبايد فراهم كند (ادامه) • چند نمونگي (polyinstantiation)براي جلوگيري از استنتاج: مشاهدة متفاوت دادة يكسان از نظر كاربران مختلف. • يكپارچه بودن روشهاي كنترل محرمانگي و كنترل جامعيت • نظارت (auditing) • كارآيي معقول در برابر سربار حاصل از هزينههاي امنيتي • كنترل جريان (flow)براي بررسي مقصد اطلاعات
امنيت پايگاه دادهها و DBA مدير پايگاه دادهها(DBA)بايد مجوز دستوراتي را براي انجام وظايف زير داشته باشد (براي تمامي مدلهاي دادهاي و انواع DBMSها): • ايجاد كاربر: ايجاد كاربر و تعيين كلمة عبور براي وي. • اعطاي مجوز: دادن مجوزهاي لازم به يك كاربر. • لغو مجوز: باطل كردن مجوزهاي داده شده. • تخصيص سطح امنيتي: اختصاص سطح امنيتي مناسب به كاربر.
معيارهاي ارزيابي سياستهاي امنيتي در يكDBMS • تراكنشهاي خوش - ساخت • حداقل مجوز (Least Privilege): كاربران با حداقل مجوزهاي لازم، به دادههاي مورد نظر دسترسي يابند. • كاربران هويتشناسي شده • تفكيك وظايف (Separation of Duties): هيچ كاربري نتواند از مجوزهاي خود سوء استفاده كند (يا دادهها را تخريب كند).
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به هنگام نقض امنيت. • بررسي متناوب موجوديتهاي دنياي واقعي. • بازسازي وقايع براي بررسی سوء استفاده از مجوزها. • كاربر پسندی و وجود روالهاي امنيتي عاري ازخطا. • واگذاري اجازه: اختصاص مجوزها بر اساس سياستها.
معماری يکDBMS شامل ويژگی های امنيتی رسول جلیلی- درس امنیت پایگاه داده ها- نیمسال دوم تحصیلی 86-87
اجزاي يك مدل امنيتي • عاملها (subjects) • اشياء (objects) • حالتهاي دسترسي (access modes) • سياستها (policies) • مجازشناسيها (authorizations) • مجوزهاي مديريتي (administrative rights) • اصول (axioms)
تعاریف پایه • خطمشي امنيتي • بیانگر نيازمنديهاي امنيتي يک سازمان • تفکیک حالات مجاز از حالات غيرمجاز در سيستم • مدل امنيتي • يک انتزاع از خطمشي امنيتي • به اعتقاد برخی از محققین: بیان صوری خطمشي امنیتی • کنترل دسترسي: مکانیزم امنیتی پایه شناسایی و تصدیق اصالت (Identification & Authentication) + مکانیزم مجازشناسی (Authorization)