750 likes | 1.24k Views
پایگاه داده پیشرفته امنیت Advance Database System Security جناب آقای دکتر محمد حسین ندیمی دانشکده مهندسی کامپیوتر دانشگاه آزاد اسلامی واحد نجف آباد. مسئله ی امنیت، جنبه های مختلفی دارد:.
E N D
پایگاه داده پیشرفته امنیت Advance Database System Security جناب آقای دکتر محمد حسین ندیمی دانشکده مهندسی کامپیوتر دانشگاه آزاد اسلامی واحد نجف آباد Advance Database System lectures, Dr. Mohammad HosseinNadimi, Faculty of Computer Engineering, Najafabad Branch, Islamic Azad University
مسئله ی امنیت، جنبه های مختلفی دارد: • جنبه های قانونی، اجتماعی و اخلاقی ( برای مثال، آیا فردی که میزان اعتبار یک مشتری را درخواست می کند، مجاز هست چنین در خواستی را انجام دهد یا خیر؟) • کنترل های فیزیکی (برای مثال، آیا اتاق کامپیوتر یا پایانه (Terminal) قفل است یا به شکل دیگری حفظ می شود؟) • پرسش های سیاسی (برای مثال، چگونه شرکت مالک سیستم تصمیم می گیرد که چه کسی به چه چیزی دستیابی داشته باشد؟) • مسئله های عملیاتی (برای مثال، آیا از روش کلمه عبور استفاده می شود، خود کلمه های عبور چگونه حفظ می شوند، و هر چند وقت یکبار تغییر می یابند؟) • کنترل های سخت افزاری (برای مثال، آیا سرویس دهنده (Server) ویژگی های امنیتی، مثل کلید های حفاظت حافظه، یا حالت عملیات حفاظت شده را فراهم می سازد؟) • پشتیبانی سیستم عامل (برای مثال، آیا سیستم عامل محتویات حافظه اصلی و فایل های دیسک را پس از کار کردن با آن ها پاک می کند – و درباره کارنامه ترمیم (Recovery Log) چطور؟) • نکاتی که به خود سیستم بانک اطلاعاتی مربوط می شود (برای مثال، آیا سیستم دارای مفهوم مالکیت داده ها است؟) Advance Database System lectures, Dr. Mohammad HosseinNadimi, Faculty of Computer Engineering, Najafabad Branch, Islamic Azad University
تعریف امنیت در پایگاه داده؟؟؟ • امنیت به معنای حفاظت از داده ها در مقابل کاربران غیر مجاز و دستیابی غیر مجاز است. • محافظت از تلاش های تبهکارانه برای سرقت، تغییر و یا تخریب داده های بانک اطلاعاتی • امنیت از جمله مفاهیمی است که باید در تمام لایه های یک سیستم کامپیوتری اعم از سخت افزار، شبکه، سیستم عامل، بانک اطلاعات و ... آن را لحاظ نمود. Advance Database System lectures, Dr. Mohammad HosseinNadimi, Faculty of Computer Engineering, Najafabad Branch, Islamic Azad University
تهدیدات امنیتی پایگاه داده؟؟؟ • عمدی که شامل تمام تهدیداتی است که نتیجه تخلف عمدی کاربران و یا برنامه ها است. این کاربران می توانند کاربران مجاز سیستم و یا کاربران خارجی (که می توانند به صورت غیر مجاز به سیستم و منابع آن دسترسی داشته باشند) باشند. برنامه ها نیز می توانند هر برنامه محلی و یا هر برنامه از راه دور (شامل ویروس ها یا اسب تراوا و ...)باشند. • غیرعمدی که شامل تهدیداتی است که بر اثر نا آگاهی یا عدم دقت و کوتاهی افراد و نارسائی و کیفیت پایین برنامه ها رخ می دهد. Advance Database System lectures, Dr. Mohammad HosseinNadimi, Faculty of Computer Engineering, Najafabad Branch, Islamic Azad University
امنیت و جامعیت در اصل کاملا متفاوتند؟؟؟ • امنیت داده ها معمولا به میزان جامعیت داده ها بررسی می شود؟!؟! • امنیت به معنای حفاظت از داده ها در مقابل کاربران غیر مجاز است. • جامعیت به معنای حفاظت داده ها در مقابل کاربرا ن مجاز است. • امنیت به معنای این است که اطمینان حاصل شود که کاربران مجازند کار مورد نظر را انجام دهند. • جامعیت به معنای این است که اطمینان حاصل شود که کارهایی که کاربران می خواهند انجام دهند، درست است. Advance Database System lectures, Dr. Mohammad HosseinNadimi, Faculty of Computer Engineering, Najafabad Branch, Islamic Azad University
شباهت های بین امنیت و جامعیت • در هر دو مورد لازم است سیستم درباره قیدهایی(Constraint) که کاربران نباید آن ها را نقض کنند، اطلاع داشته باشند. • در هر دو مورد درباره قیدها باید به طور اعلانی (Declaratively) در زبان مناسبی مشخص شوند و در کاتولوگ سیستم نگهداری گردند. • و در هر دو مورد، سیستم باید عملیات کاربران را نظارت کند تا تضمین شود که قید های مورد نظر اعمال شدند. Advance Database System lectures, Dr. Mohammad HosseinNadimi, Faculty of Computer Engineering, Najafabad Branch, Islamic Azad University
DBMS های مدرن از یک یا دو روش امنیت داده ها پشتیبانی می کنند • کنترل دسترسی محتاطانه Discretionary • کنترل دسترسی الزامی Mandatory • کنترل دسترسی مبتنی بر نقش Role-Based • در هر دو مورد واحد داده یا « شیء داده ای Data Object» که نیاز به حفاظت دارد، می تواند کل بانک اطلاعات، یا مولفه خاصی از یک چندتایی (Tuple) باشد. Advance Database System lectures, Dr. Mohammad HosseinNadimi, Faculty of Computer Engineering, Najafabad Branch, Islamic Azad University
تفاوت کنترل محتاطانه و کنترل الزامی • در کنترل محتاطانه، کاربر معمولا حقوق دستیابی (یا امتیازات) متفاوتی روی اشیای مختلف دارد؛ علاوه بر این، چندین محدودیت ارثی وجود دارد که، مشخص می کند کدام کاربران، چه مجوز هایی روی کدام اشیا دارند(مثلا کاربران U1 ممکن است بتوانند A را ببینند ولیB را نبینند، در حالی که کاربران u2 ممکن است قادر باشند B را ببینند ولی A را نبینند). طرح های محتاطانه، بسیار قابل انعطاف هستند. • در کنترل الزامی، هر شیء داده با یک سطح طبقه بندی(Classification Level)، برچسب گذاری می شود، و به هر کاربر یک سطح مجوز (Clearance Level) داده می شود. سپس یک شیء داده فقط می تواند توسط کاربرانی با مجوزهای خاص دستیابی شود. سیاست طرح های الزامی، ارثی است و در نتیجه، خیلی دقیق هستند (اگر کاربر U1 بتواند A را ببیند ولی نتواند B را ببیند، آنگاه طبقه B باید بالاتر از A باشد، ودر نتیجه کاربر U2 نمی تواند B را ببیند ولی A را نبیند). Advance Database System lectures, Dr. Mohammad HosseinNadimi, Faculty of Computer Engineering, Najafabad Branch, Islamic Azad University
اینکه کدام کاربران مجازند چه عملیاتی را روی اشیایی انجام دهند، تصمیمات سیاسی اند نه تکنیکی. بنابراین، خارج ار بحث DBMS هستند. DBMS می تواند این تصمیمات را اعمال کند. نتیجه می شود که :نتایج آن تصمیمات سیاسی باید الف) برای سیستم معلوم باشد (این کار با اعلان قید های امنیتی (Security Constraints) در زمان مناسب انجام می شود). ب) باید توسط سیستم به یاد آورده شود (این کار با ذخیره آن قید ها در کاتالوگ انجام می شود). Advance Database System lectures, Dr. Mohammad HosseinNadimi, Faculty of Computer Engineering, Najafabad Branch, Islamic Azad University
زیر سیستم احراز هویتAuthorization Subsystem • باید ابزارهایی برای بررسی درخواست های دستیابی در مقابل قید های قابل اعمال در کاتالوگ وجود داشته باشد. (منظور از درخواست های دستیابی، ترکیب عملیات درخواستی، به اضافه شیء درخواستی، به اضافه کاربر درخواست کننده است). این بررسی توسط زیر سیستم امنیتی(Security Subsystem) DBMS انجام می شود، که زیر سیستم احراز هویت (َAuthorization Subsystem) نامیده می شود. Advance Database System lectures, Dr. Mohammad HosseinNadimi, Faculty of Computer Engineering, Najafabad Branch, Islamic Azad University
احراز هویت ؟؟؟ • برای تعیین این که کدام قید ها به یک درخواست دستیابی قابل اعمال است، سیستم باید بتواند منبع(Source) آن درخواست را تشخیص دهد – یعنی باید کاربر درخواست کننده را تشخیص دهد. به همین دلیل وقتی کاربران وارد سیستم می شوند، باید ID کاربر و کلمه عبور را وارد کنند (ID کاربر مشخص می کند آن ها کی هستند و کلمه عبور اثبات می کند که ادعای آن ها درست است). • کلمه عبور را فقط سیستم و کاربران قانونی می دانند. فرآیند کنترل کلمه عبور – یعنی فرآیند شناسایی کاربر - احراز هویت نام دارد. احراز هویت حرفه ای که شامل دستگاه های زیست سنجی(Biometric) می باشند از قبیل : • اثر انگشت خوان، اسکنر های شبکیه چشم، تصویرگرهای هندسی دست، اعتبار سنج های صوتی، تشخیص دهنده های امضاء و ... Advance Database System lectures, Dr. Mohammad HosseinNadimi, Faculty of Computer Engineering, Najafabad Branch, Islamic Azad University
کنترل دستیابی محتاطانه • به زبانی نیاز داریم تا قیدهای امنیت (محتاطانه) را تعریف کنیم. • در عمل، تعیین چیزهای مجاز بهتر از تعیین چیزهای غیر مجاز است. بنابراین، زبان امنیتی، تعریف مجوزها را به جای تعریف قیدهای امنیتی پشتیبانی می کند، که در واقع، برعکس قیدهای امنیتی اند (اگر چیزی مجاز باشد، قید نیست).بنابراین ابتدا زبان فرضی را برای تعریف مجوزها توصیف می کنیم. • مثال: Advance Database System lectures, Dr. Mohammad HosseinNadimi, Faculty of Computer Engineering, Najafabad Branch, Islamic Azad University
نام مجوز مربوطه • مجموعه ای از امتیازات که با بخش GRANT مشخص می شود. • Relvar که مجوز به آن اعمال می شود، به وسیله ی بخش ON مشخص می شود. • مجموعه ای از کاربران (یا به بیان دقیق تر، ID کاربران) که باید امتیازات خاصی روی relvar معینی به آن ها داده شود و توسط بخش TO مشخص گردد. ALL به معنای تمام کاربران شناخته شده اند. Advance Database System lectures, Dr. Mohammad HosseinNadimi, Faculty of Computer Engineering, Najafabad Branch, Islamic Azad University
هر Privilege یکی از موارد زیر است • اگر لیست کامایی(Commalist) از صفات یا RETRIEVE مشخص شود، آنگاه امتیاز فقط به صفات مشخص شده اعمال می شود. • اگر کاربری سعی کند عملیاتی را روی شیءای انجام دهد که مجوز این کار را ندارد، چه اتفاقی می افتد؟؟؟ • ساده ترین گزینه این است که از این کار جلوگیری شود (و پیغام خطای مناسبی صادر گردد)=> پیش فرض • در وضعیت های ویژه تر، می توان برنامه را خاتمه داد یا صفحه کلید کاربر را قفل کرد همچنین ممکن است ثبت این تلاش ها در کارنامه ای خاص (نظارت بر خطر)، برای تحلیل بعدی درباره نقض های امنیتی، و همچنین عبرت گرفتن از نفوذ غیر قانونی، مطلوب باشد. Advance Database System lectures, Dr. Mohammad HosseinNadimi, Faculty of Computer Engineering, Najafabad Branch, Islamic Azad University
روش حذف مجوزها • برای سهولت فرض می کنیم با حذف یک متغییر رابطه ای، هر مجوزی که به آن متغییر رابطه ای اعمال می شود، به طور خودکار حذف خواهد شد. Advance Database System lectures, Dr. Mohammad HosseinNadimi, Faculty of Computer Engineering, Najafabad Branch, Islamic Azad University
مثال هایی از مجوز ها • کاربران ذکر شده می توانند «زیر مجموعه عمودی» از متغییر ربطه ای پایه P را ببینند. مثالی از مجوز مستقل از مقدار Value- Independent Advance Database System lectures, Dr. Mohammad HosseinNadimi, Faculty of Computer Engineering, Najafabad Branch, Islamic Azad University
متغییر رابطه ای LS برابر با دید «عرضه کنندگان لندن» • کاربران ذکر شده می توانند «زیر مجموعه افقی» از متغییر رابطه ای پایه S را ببینند.مثالی از مجوز وابسته به مقدار Value- Dependent. • همچنین توجه کنید گر چه این کاربران می توانند بعضی از چند تایی های عرضه کننده خاصی را حذف کنند (از طریق دید LS)، ولی نمی توانند آن ها را درج کنند و نمی توانند صفات S# و CITY را به هنگام کنند. Advance Database System lectures, Dr. Mohammad HosseinNadimi, Faculty of Computer Engineering, Najafabad Branch, Islamic Azad University
نمونه ای دیگر از مثال وابسته به مقدار : کاربرGiovanniمی تواند اطلاعات عرضه کننده را بازیابی کند، اما فقط برای عرضه کنندگانی که قطعاتی را در Romeتولید می کنند. • کاربر Fidel می تواند کل کمیت های حمل را به ازای هر عرضه کننده ببیند، اما هر یک از کمیت های حمل را نمی تواند ببیند. بنابراین کاربر Fidel خلاصه آماری داده ی پایه مورد نظر را می بیند. Advance Database System lectures, Dr. Mohammad HosseinNadimi, Faculty of Computer Engineering, Najafabad Branch, Islamic Azad University
در این مثال نحو(Syntax) AUTHORITY را بسط می دهیم تا شامل بخش WHEN «کنترل های متن Context Control» را مشخص نماید. • مجوز EX5 تضمین می کند که مقادیر وضعیت عرضه کننده می تواند توسط کاربر Purchasing (یعنی هر کاربر موجود در اداره حسابداری)، فقط در روزی از هفته و در ساعات کاری تغییر یابد. • بنابراین این مثال نمونه ای از مجوز وابسته به متن است، زیرا یک دستیابی خاص وابسته به متن که در آن صادر شد، مجاز یا غیر مجاز است – در اینجا ترکیبی از روز هفته و زمانی از روز. Advance Database System lectures, Dr. Mohammad HosseinNadimi, Faculty of Computer Engineering, Najafabad Branch, Islamic Azad University
مثال های دیگری از عملگرهای توکار(Built-In) که احتمالا سیستم باید پشتیبانی کند و می تواند برای مجوز های وابسته به متن مفید باشد عبارتند از: • احتمالا از نظر مفهومی پی بردید که تمام مجوزها با هم OR می شوند.به عبارت دیگر، یک درخواست دستیابی خاص (یعنی ترکیب عملیات درخواستی به اضافه شیء درخواستی به اضافه کاربر درخواستی) قابل قبول است اگر و فقط اگر حداقل یکی از مجوزها، این اجازه را بدهد. • اما، توجه کنید که اگر الف) یک مجوز به کاربر Nancy اجازه دهد رنگ قطعات را بازیابی کند و ب) مجوز دیگری به او اجازه دهد وزن قطعات را بازیابی کند نتیجه نمی شود که او می تواند رنگ قطعات و وزن قطعات را با هم بازیابی کند (برای این ترکیب به مجوز جداگانه ای نیاز است). Advance Database System lectures, Dr. Mohammad HosseinNadimi, Faculty of Computer Engineering, Najafabad Branch, Islamic Azad University
نتیجه گیری • کاربران فقط می توانند کاری را انجام دهند که صریحا اجازه دارند براساس مجوز های تعریف شده انجام دهند.هر چیزی که صریحا مجاز نباشد، به طور ضمنی غیر مجاز است. اصلاح درخواست • هر درخواست QUEL قبل از اجرا به طور خودکار اصلاح می شود، به طوری که احتمالا نمی تواند قید های امنیتی را نقض کند. Advance Database System lectures, Dr. Mohammad HosseinNadimi, Faculty of Computer Engineering, Najafabad Branch, Islamic Azad University
مثال: • فرض کنید کاربر U اجازه دارد فقط قطعات ذخیره شده در لندن را بازیابی کند. • اکنون فرض کنید کاربر U درخواست QUEL را صادر می کند. • با استفاده از «اجازه ی» مشخص شده برای متغییر رابطه ای P و کاربر U، آن طوری که در کاتالوگ ذخیره شده است، سیستم به طور خودکار این درخواست را اصلاح می کند، به طوری که شبیه درخواست زیر است: Advance Database System lectures, Dr. Mohammad HosseinNadimi, Faculty of Computer Engineering, Najafabad Branch, Islamic Azad University
مزایا و امتیازات اصلاح درخواست • این درخواست اصلاح شده احتمالا نمی تواند قید امنیتی را نقض کند. • فرآیند اصلاح «مخفی Silent» است: کاربر U خبر ندارد که سیستم در واقع دستوری را اجرا کرد که کمی متفاوت از درخواست اصلی اوست زیرا خود آن حقیقت ممکن است حساس باشد (ممکن است کاربر اجازه نداشته باشد که بداند قطعات غیر لندن وجود ندارند). • پیاده سازی آن آسان است زیرا اغلب کدهای مورد نیاز در سیستم موجود است. • کارآمد است زیرا تمام یا بخشی از سربار اعمال امنیت، به جای زمان اجرا، در زمان ترجمه وجود دارد. • در روش قبلی، وقتی کاربر برای بخش های مختلف یک متغییر رابطه ای به مجوز های متفاوتی نیاز داشت، مشکلاتی پیش می آمد، ولی در این روش این مشکلات پیش نمی آید و این یکی دیگر از امتیازاتش محسوب می شود. Advance Database System lectures, Dr. Mohammad HosseinNadimi, Faculty of Computer Engineering, Najafabad Branch, Islamic Azad University
معایب اصلاح درخواست • در این روش ساده، تمام قیدهای امنیتی نمی توانند اداره شوند. مثال:فرض کنید کاربر U اصلا اجازه ندارد به متغییر رابطه ای P دستیابی داشته باشد. در این صورت، هیچ شکل «اصلاح شده ی» ساده ای از RETRIEVE اصلی نمی تواند این توهم Illusion(تصویر غلط) را حفظ کند که متغییر رابطه ای P وجود ندارد. درعوض، ممکن است لازم باشد پیام خطای صریح مثل «اجازه ندارید به این متغییر رابطه ای دستیابی داشته باشید»، صادر گردد. یا سیستم می توانست بگوید که «چنین متغییر رابطه ای» وجود ندارد. یا بهتر از این می توانست بگوید که «چنین متغییری وجود ندارد یا شما اجازه ندارید به آن دستیابی داشته باشید». Advance Database System lectures, Dr. Mohammad HosseinNadimi, Faculty of Computer Engineering, Najafabad Branch, Islamic Azad University
نحو DEFINE PERMIT • این دستور از نظر مفهومی «ادراکی» شبیه دستور AUTHORITY است، با این تفاوت که از بخش WHERE پشتیبانی می کند (بخش های AT ، FROM و ON توسط بخش WHEN جمع می شوند. مثال: توجه APPEND و REPLACE در QUEL به ترتیب متناظر با INSERT و UPDATE هستند. Advance Database System lectures, Dr. Mohammad HosseinNadimi, Faculty of Computer Engineering, Najafabad Branch, Islamic Azad University
حسابرسیAudit Trail • حسابرسی، اساسا یک فایل یا بانک اطلاعاتی خاصی است که سیستم به طور خودکار عملیات های انجام شده توسط کاربر بر روی داده ها را ذخیره می کند. • در مواردی که داده ها بسیار حساس هستند، یا در مواردی که پردازش انجام شده روی داده ها بسیار حیاتی باشند، حسابرسی امر ضروری خواهد بود. مثال: اگر مغایرت ها (اختلاف ها) باعث شود که شک کنیم بانک اطلاعاتی دستبرد زده شد، حسابرسی می تواند بررسی کند که چه کارهایی انجام شده است و وارسی نماید که آن کارها تحت کنترل هستند. • در بعضی سیستم ها، حسابرسی ممکن است به طور فیزیکی با کارنامه ترمیم مجتمع شود، ولی در سیستم های دیگر ممکن است جدا از هم باشند. • در هر حال کاربران باید بتوانند حسابری را با استفاده از زبان تقاضا، بررسی کنند (البته به شرطی که اجازه چنین کاری را داشته باشند). Advance Database System lectures, Dr. Mohammad HosseinNadimi, Faculty of Computer Engineering, Najafabad Branch, Islamic Azad University
نمونه ای از رکورد حسابرسی ممکن است شامل اطلاعات زیر باشد: • درخواست (متن اصلی یا متن منبع). • پایانه ای که عملیات از آن فراخوانی شد. • کاربری که عملیاتی را فراخوانی کرد. • تاریخ و زمان عملیات. • متغیرهای رابطه ای، چندتایی ها، و صفاتی که تحت تاثیر قرار گرفتند. • تصاویر قبلی (مقادیر قدیمی). • تصاویر بعدی (مقادیر جدید). با نگهداری حسابرسی، در بعضی از موارد می توان از نفوذگرهای آینده جلوگیری کرد. Advance Database System lectures, Dr. Mohammad HosseinNadimi, Faculty of Computer Engineering, Najafabad Branch, Islamic Azad University
کنترل دستیابی الزامی • به بانک های اطلاعاتی قابل اعمال است که در آن ها داده ها دارای ساختار طبقه بندی ایستا و دقیقی هستند، و در محیط های دولتی و نظامی چنین هستند. • ایده اصلی این است که هر شیء داده دارای یک سطح طبقه بندی است (مثل فوق سرّی، سرّی، محرمانه، و غیره)، و هر کاربر دارای یک سطح مجوز (با همان موارد مربوط به سطوح طبقه بندی) است. • فرض می شود که این سطوح، ترتیب دقیقی را ایجاد می کنند (مثل غیره< محرمانگی< سرّی< فوق سرّی)، سپس قوانین مربوط به Bell و La Padula، قابل اجرا هستند: • کاربر i فقط در صورتی می تواند شیءj را بازیابی کند که سطح مجوز i بزرگتر یا مساوی سطح طبقه بندی j باشد (خاصیت امنیتی ساده). • کاربر i در صورتی می تواند شیء j را به هنگام کند که سطح مجوز i برابر با سطح طبقه بندی j باشد (خاصیت ستاره). Advance Database System lectures, Dr. Mohammad HosseinNadimi, Faculty of Computer Engineering, Najafabad Branch, Islamic Azad University
توضیح قانون دوم • طبق تعریف،هر چیزی که توسط کاربر i نوشته می شود به طور خودکارسطح طبقه بندی آن برابر با سطح مجوز i خواهد بود. • چنین قانونی لازم است تا این که مثلا کاربری با طبقه بندی «سرّی» نتواند داده ها را در فایلی با طبقه بندی پایین تر کپی کند، زیرا در این صورت طرح طبقه بندی نقض می شود. توجه: از دیدگاه فقط عملیات «نوشتن» (INSERT) ، برای قانون دوم کافی است بگوییم کهسطح مجوز i باید کمتر یا مساوی سطح طبقه بندی j باشد، و این قانون در متون به همین صورت بیان می شود. اما، کاربران می توانند چیزهایی را بنویسند که نمی توانند بخوانند (یعنی افراد می توانند چیزهایی را بنویسند ولی نمی توانند آنها را بخوانند، احتمالا، شکل ضعیف تر، این قدر غیر واقعی نیست). Advance Database System lectures, Dr. Mohammad HosseinNadimi, Faculty of Computer Engineering, Najafabad Branch, Islamic Azad University
تاریخچه کنترل الزامی • در دهه 1990 در دنیای بانک اطلاعاتی بسیار مورد توجه قرار گرفت، زیرا در آن زمان سازمان دفاع آمریکا می خواست هر سیستمی که می خرد از چنین کنترل هایی پشتیبانی کنند و در نتیجه فروشندگان DBMS، آن ها را پیاده سازی کردند. • کنترل های مورد نیاز در دو کتاب سازمان دفاع مستند سازی شدند: Orange Book و Lavender Book «تفسیری» از نیازمندی های TCB را برای سیستم های بانک اطلاعات تعریف کرد. • TCB (Trusted Computing Base) Advance Database System lectures, Dr. Mohammad HosseinNadimi, Faculty of Computer Engineering, Najafabad Branch, Islamic Azad University
بیان خلاصه طرح طبقه بندی امنیتی کلی تعریف شده در دو کتاب Orange Book و Lavender Book • کلاس های امنیتی (رده های امنیتی) A، B، Cو D تعریف شدند. • کلاس D کمترین امنیت را دارد، کلاس C دارای حفاظت محتاطانه است، کلاس B دارای حفاظت الزامی است، و کلاس A دارای حفاظت وارسی (Verified Protection) شده است. • حفاظت محتاطانه: کلاس C به زیر کلاس C1 و C2 تقسیم می شود (که C1 نسبت به C2 امنیت کمتری دارد) هر دو از کنترل محتاطانه پشتیبانی می کنند، یعنی دستیابی در اختیار مالک داده ها قرار می گیرد. • کلاس C1 بین مالکیت و دستیابی تمایز قائل می شود – یعنی از مفهوم داده مشترک پشتیبانی می کند، در حالی که اجازه می دهد کاربران، داده های اختصاصی خودشان را داشته باشند. • کلاس C2 نیازمند پشتیبانی از پاسخگویی، از طریق رویه های استخدام، حسابرسی، و تفکیک منابع است. Advance Database System lectures, Dr. Mohammad HosseinNadimi, Faculty of Computer Engineering, Najafabad Branch, Islamic Azad University
حفاظت الزامی • کلاس B، کلاسی است که با کنترل های الزامی سروکار دارد. به کلاس های B1،B2وB3 تقسیم می شود (که B1 کمترین امنیت و B3 بیشترین امنیت را دارد): • کلاس B1 نیازمند «حفاظت امنیت برچسب دار» است (یعنی، در آن لازم است هر شیء داده، با برچسب طبقه بندی خود، مشخص شود. سرّی، محرمانه و غیره مشخص شود).علاوه بر این نیازمند حکم غیر رسمی درباره سیاست امنیتی است. • کلاس B2 به حکم رسمی نیز نیاز دارد. همچنین در آن لازم است کانال های مطلوب مشخص شده و حذف شده باشند. نمونه هایی از کانال های مطلوب عبارتنداز: الف) احتمال استنباط پاسخ به تقاضای غیر مجاز از پاسخ به تقاضای مجاز ب) احتمال استنتاج اطلاعات حساس، از زمانی که طول می کشد تا محاسبات مجازانجام شود. 3. کلاس B3 علاوه بر سرپرست امنیت، نیازمند پشتیبانی حسابرسی و ترمیم است. Advance Database System lectures, Dr. Mohammad HosseinNadimi, Faculty of Computer Engineering, Najafabad Branch, Islamic Azad University
حفاظت وارسی شده • کلاس A که بیشترین امنیت را دارد، نیازمند یک اثبات ریاضی است که مشخص کند یک راهکار امنیتی سازگار است و برای پشتیبانی از سیاست امنیتی مشخص شده، کافی است. • چندین محصول DBMS، از کنترل های الزامی در سطح B1 پشتیبانی می کنند. علاوه بر این، کنترل های محتاطانه را در سطح C2 فراهم می کنند. • DBMS هایی که از کنترل های الزامی پشتیبانی می کنند، سیستم های امن چند سطحی نامیده می شوند. Advance Database System lectures, Dr. Mohammad HosseinNadimi, Faculty of Computer Engineering, Najafabad Branch, Islamic Azad University
امنیت چند سطحیاعمال کنترل دستیابی الزامی روی متغییر رابطه ای S • با فرض اینکه واحد داده ای که می خواهیم دستیابی به آن را کنترل کنیم، یک چندتایی در آن متغییر رابطه ای باشد. لازم است هر چندتایی با سطح طبقه بندی خود برچسب گذاری شود (فوق سرّی = 4 ، سرّی = 3 ، محرمانه = 2 ،و غیره). • اکنون فرض کنید کاربران U3 و U2 به ترتیب دارای سطح مجوز 3(سرّی) و 2(محرمانه) هستند. آنگاه U3 و U2 متغییر S را متفاوت می بینند. اگر درخواست بازیابی تمام عرضه کنندگان، توسط U3 صادر شود، چهار چندتایی (برای S1،S2،S3وS5) را برمی گرداند، اما اگر این درخواست توسط U2 انجام شود،دو چند تایی (S1 و S3) برگردانده می شود. علاوه بر این هیچ کاربری ، چند تایی مربوط به S4 را نمی بیند. Advance Database System lectures, Dr. Mohammad HosseinNadimi, Faculty of Computer Engineering, Najafabad Branch, Islamic Azad University
اصلاح درخواست • عرضه کنندگانی در لندن را بازیابی کنید. • درخواست بعد از اصلاح • همین ملاحظات درباره عملیات به هنگام سازی وجود دارند. برای مثال، کاربر U3 نمی داند که چندتایی برای S4 وجود دارد بنابر این برای آن کاربر INSERT زیر معقول به نظر می رسد. Advance Database System lectures, Dr. Mohammad HosseinNadimi, Faculty of Computer Engineering, Najafabad Branch, Islamic Azad University
سیستم نباید این INSERT را رد کند، زیرا این کار به کاربر U3 می گوید که عرضه کننده S4 وجود دارد. لذا، آن را می پذیرد، ولی آن را به صورت زیر اصلاح می کند. • نکته: کلید اولیه برای عرضه کنندگان فقط {S#} نیست، بلکه ترکیب {S#,CLASS} است. Advance Database System lectures, Dr. Mohammad HosseinNadimi, Faculty of Computer Engineering, Najafabad Branch, Islamic Azad University
متغییر رابطه ای عرضه کنندگان، مثالی از متغییر رابطه ای چندسطحی (Polyinstantiation) است. • این حقیقت که یک «داده» از نظر کاربران مختلف، متفاوت به نظر برسد، چند نمونه سازی نام دارد.با ردیابی INSERT که مورد بحث قرار گرفت. مثال:درخواست بازیابی عرضه کننده ی S4، یک نسخه را به کاربر U4 با مجوز فوق سرّی بر می گرداند، نتیجه دیگری را به کاربر U3 (با مجوز سرّی) بر می گرداند، و حتی نتیجه دیگری را به کاربر U2 (با مجوز محرمانه) بر می گرداند. Advance Database System lectures, Dr. Mohammad HosseinNadimi, Faculty of Computer Engineering, Najafabad Branch, Islamic Azad University
4-16)بانک های اطلاعات آماری STATISTICAL DATABASE 5-16 ) رمز گذاری داده ها (Data Encryption) مباحث قابل ارائه : 4-16 ) امکانات (SQL Facilities) SQL Advance Database System lectures, Dr. Mohammad HosseinNadimi, Faculty of Computer Engineering, Najafabad Branch, Islamic Azad University
4-16 ) بانک های اطلاعات آماری STATISTICAL DATABASE بانک اطلاعاتی آماری ، یک بانک اطلاعات است که مجوزهای دسترسی به تقاضاهای درخواست شده از بانک می دهد تعریف : مجاز نیست مجاز است تقاضاهای اطلاعات انفرادی مثال : حقوق شخصی برنامه نویس به نام احمد چقدر است تقاضاهای اطلاعات تجمیعی مانند مجموع – میانگین مثال : میانگین حقوق برنامه نویسان چقدر است مشکل اصلی این بانک ، این است که گاهی ممکن است با استنتاج(Deduction) از تقاضاهای مجاز ، پاسخ هایی غیر مجاز حدس زده شود. به این کار حدس زدن اطلاعات محمرمانه (Confidential) از طریق استنتاج می گویند. Advance Database System lectures, Dr. Mohammad HosseinNadimi, Faculty of Computer Engineering, Najafabad Branch, Islamic Azad University
4-16 ) بانک های اطلاعات آماری STATISTICAL DATABASE بیان مثالی از بانک های اطلاعات آماری: • فرض کنید بانک اطلاعات فقط شامل یک جدول رابطه ای STATES زیر است. • فرض کنید ، برای سهولت کار تمام صفات شامل رشته ای از کارکتر یا اعداد هستند. • فرض کنید کاربر U اجازه دارد فقط تقاضاهای آماری انجام دهد و هدفش این است که حقوق Alf را پیدا کند. • فرض کنید که کاربر U می داند که Alf یک مرد برنامه نویس است. تقاضاهای زیرا در نظر بگیرد : Advance Database System lectures, Dr. Mohammad HosseinNadimi, Faculty of Computer Engineering, Najafabad Branch, Islamic Azad University
4-16 ) بانک های اطلاعات آماری STATISTICAL DATABASE Advance Database System lectures, Dr. Mohammad HosseinNadimi, Faculty of Computer Engineering, Najafabad Branch, Islamic Azad University
4-16 ) بانک های اطلاعات آماری STATISTICAL DATABASE تقاضای (شماره 1) را در نظر بگیرید: Advance Database System lectures, Dr. Mohammad HosseinNadimi, Faculty of Computer Engineering, Najafabad Branch, Islamic Azad University
4-16 ) بانک های اطلاعات آماری STATISTICAL DATABASE تقاضای (شماره 2) را در نظر بگیرید: Advance Database System lectures, Dr. Mohammad HosseinNadimi, Faculty of Computer Engineering, Najafabad Branch, Islamic Azad University
4-16 ) بانک های اطلاعات آماری STATISTICAL DATABASE تقاضای (شماره 3) را در نظر بگیرید: Advance Database System lectures, Dr. Mohammad HosseinNadimi, Faculty of Computer Engineering, Najafabad Branch, Islamic Azad University
4-16 ) بانک های اطلاعات آماری STATISTICAL DATABASE کران بالا و پایین به صورت زیر بدست می آید: کران پایین B=N/4: مقدار 2 کران بالا N-B : مقدار 8=2-10 • بدیهی است که امنیت بانک اطلاعاتی به خطر خواهد افتاد ، گرچه کاربر U فقط تقاضای آماری صادر کرد. • همانطور که در مثال های بالا بیان شد ، اگر کاربر بتواند یک عبارت منطقی بیابد که فردی را مشخص نماید ، آنگاه اطلاعات مربوط به آن فرد ، دیگر امن نیست. • در تقاضای( شماره 1) این حقیقت را بیان می کند که سیستم نباید به تقاضایی پاسخ دهد که عدد اصلی بدست آمده از تقاضای درخواستی ، کمتر از کران پایین B باشد. • در تقاضاهای(شماره 2و3) این حقیقت را بیان می کند که سیستم نباید به تقاضایی پاسخ دهد که عدد اصلی بدست آمده از تقاضای درخواستی بزرگتر از کران N-Bباشد. (N عدد اصلی رابطه ی در برگیرنده است ). راه حل مشکل تقاضای (شماره 1) به صورت زیر است : اگر مقدار اصلی را برابر با C در نظر بگیریم : (C >= B)مقدار C باید از مقدار B بزرگتر باشد. راه حل مشکل تقاضای (شماره 2و3) به صورت زیر است : اگر مقدار اصلی را برابر با C در نظر بگیریم : (C<=N-B)مقدار C باید از مقدار N-B کوچکتر باشد. نتیجه : راه حل کلی برای تقاضاهای صورت گرفته ، استفاده از رابطه زیر می باشد: (8≥C≥2)(N-B≥C≥ (B متاُسفانه ، به آسانی می توان نشان داد که محدود کردن تقاضاها به تقاضاهایی که برای آنها ، عدد اصلی C باید در بازه ی (N-B ≥ C ≥ (B باشد که به طور کلی برای اجتناب از به خطر افتادن بانک اطلاعات کافی نیست. Advance Database System lectures, Dr. Mohammad HosseinNadimi, Faculty of Computer Engineering, Najafabad Branch, Islamic Azad University
4-16 ) بانک های اطلاعات آماری STATISTICAL DATABASE مثالی از کران پایین : با بیان رابطه دراسلاید قبل دیگر تقاضای زیر قابل قبول نخواهد شد. Advance Database System lectures, Dr. Mohammad HosseinNadimi, Faculty of Computer Engineering, Najafabad Branch, Islamic Azad University
4-16 ) بانک های اطلاعات آماری STATISTICAL DATABASE اما تقاضای زیر را در نظر بگیرید: تقاضای شماره 7 تقاضای شماره 8 Advance Database System lectures, Dr. Mohammad HosseinNadimi, Faculty of Computer Engineering, Najafabad Branch, Islamic Azad University
4-16 ) بانک های اطلاعات آماری STATISTICAL DATABASE با توجه به تقاضاهای 7و8 ، کاربر U می تواند حدس بزند که دقیقا یک مرد برنامه نویس وجود دارد و در نتیجه باید Alf باشد(به دلیل اینکه کاربر U می داند که این توصیف متناسب با Alf است). بنابراین می توان حقوق Alfرا به صورت زیر بدست آورد: تقاضای شماره 10 تقاضای شماره 9 Advance Database System lectures, Dr. Mohammad HosseinNadimi, Faculty of Computer Engineering, Najafabad Branch, Islamic Azad University
4-16 ) بانک های اطلاعات آماری STATISTICAL DATABASE ردیاب فردی (IndividualTracker) : اگر کاربر U عبارت بولی BE را بشناسد که فرد خاص I را مشخصکند. مثال:عبارت بولی زیر یک ردیاب فردی (individual tracker)برای Alf نامیده می شود ، زیرا به کاربر اجازه می دهد اطلاعات مربوط به خود Alf را ردیابی کند. حال اگر BE به صورتBE1ANDBE2 بیان شود مانند (تقاضاهای 1و2) آنگاه عبارت بولی به صورتBE1ANDNOTBE2 ردیابی برای I است مانند ( تقاضاهای 7و8 - 9و10) (به شرطی که هر دو عبارت قابل قبول باشند ، یعنی هر دو ، مجموعه های نتیجه با عدد اصلی C در بازه ی (N-B≥C≥(Bرامشخص کنند .) با توضیحات فوق عبارت زیر بر قرار است: { X : BE } = {X : BE1 AND BE2 } = { X : BE1 } MINUS { X : BE1 AND NOT BE2 } Advance Database System lectures, Dr. Mohammad HosseinNadimi, Faculty of Computer Engineering, Najafabad Branch, Islamic Azad University
4-16 ) بانک های اطلاعات آماری STATISTICAL DATABASE ردیاب کلی (GeneralTracker) : • ردیاب کلی (GeneralTracker) ، یک عبارت بولی است که می تواند برای یافتن پاسخ به هر تقاضای نامعتبر به کار رود(منظور تقاضای نامعتبر ، تقاضای حاوی عبارت نامعتبر است). • در حقیقت هر عبارتی که عدد اصلی C حاصل تقاضای مورد نظردر بازه ی • (N-2B ≥ C ≥ (2B • قرار دارد ، یک ردیاب کلی است (B باید کمتر از N/4 باشد). • توجه کنید که از تعریف فوق مشخص می شود که T ردیاب کلی است اگر و فقط اگر NOT ,Tنیز ردیابی کلی باشد. Advance Database System lectures, Dr. Mohammad HosseinNadimi, Faculty of Computer Engineering, Najafabad Branch, Islamic Azad University