چکیده : پایگاه داده مجموعهای از داده های بهم مرتبط است که توسط برنامهای که DBMS نامیده میشود، سازماندهی میشود.
پایگاه دادهها اطلاعات مهمی را برای کاربراشان مهیا میکنند.
بنابراین امنیت و حفاظت از آنها از اهمیت بسیار زیادی برخوردار است.
امنیت پایگاه دادهها به حفاظت اطلاعات و کنترل دسترسی کاربران توجه دارد.
این مقاله به اصول امنیت و سیاستهای مهم دراین مورد و احتیاجات امنیتی سیستمها میپردازد.
همچنین راههایی را برای کنترل دسترسی که از مهمترین احتیاجات هر سیستم پایگاه دادهای است، ارائه میکند.
دراین مقاله با معرفی چند زمینه پیشرفته مطالعاتی امروزی بعضی مشکلات حل نشده دراین زمینه را نیز به خوانند معرفی میکند.
مقدمه : در طی سه دهه اخیر تعداد پایگاه داده های کامپیوتری افزایش بسیاری داشته است.
حضور اینترنت به همراه توانائیهای شبکه، دسترسی به داده و اطلاعات را آسانتر کرده است.
به عنوان مثال، کاربران امروزه میتوانند به حجم بالایی از اطلاعات در فاصله زمانی بسیار کوتاهی دسترسی پیدا کنند.
به همین نسبتی که ابزارها و تکنولوژی دسترسی و استفاده از اطلاعات توسعه مییابند، نیاز به حفاظت اطلاعات هم بوجود میآید.
بسیاری دولتها و سازمانها صنعتی دادههای مهم و طبقه بندی شدهای دارند که باید حفاظت شوند.
سازمانهای بسیار دیگری هم مثل مؤسسات دانشگاهی نیز اطلاعات مهمی در مورد دانشجویان و کارمندانشان دارند.
در نتیجه تکنیکهایی برای حفاظت داده های ذخیره شده در سیستمهای مدیریت پایگاه داده،[1] اولویت بالایی پیدا کردهاند.
در طول سه دهه اخیر، پیشرفتهای بسیاری در مورد امنیت پایگاه دادهها حاصل شده است.
بسیاری از کارهای اولیه روی امنیت پایگاه دادههای آماری انجام شد.
در دهه 70، همزمان با شروع تحقیقات روی پایگاه دادههای رابطهای، توجه مستقیماً به سمئله کنترل دسترسی[2] بود و بیشتر از همه، کار روی مدلهای کنترل دسترسی احتیاطی[3] شروع شد؛ ولی در واقع تا مطالعات نیروی هوایی در 1982، که تلاش وسیعی برای DBMSهای امن چند سطحی[4] بود، کار مهمی انجام نشد.
در هزاره جدید با حضور تکنولوژیهای مثل کتابخانههای دیجیتال، شبکه گستره جهانی و سیستمهای محاسباتی اشتراکی، علاقه بسیاری به امنیت نه تنها در بین سازمانهای دولتی، بلکه بین سازمانهای اقتصادی هم وجود دارد.
این مقاله مروری به پیشرفتها و محصولات در سیستمهای پایگاه دادهای امن در بر دو زمینه اجباری و احتیاطی دارد.
2 کنترل دسترسی (مفاهیم و سیاستها) : دراین بخش مفاهیم پایه در کنترل دسترسی معرفی میشوند.
سپس در مورد سیاستهای کنترل دسترسی احتیاطی و الزامی بحث میشود و نهایتاً مروری داریم بر سیاستهای سرپرستی.
21 مفاهیم اساسی : کنترل دسترسی معمولاً در مقابل، مجموعه ای از قوانین اعطای مجوز که توسط مدیران امنیتی یا کاربران براساس بعضی سیاستهای خاص ارائه میشوند، قرار دارد.
قانون اعطای مجوز، در حالت کلی بیان میکند که فرد (Subject) S اجازه دارد که امتیاز P (Priuilege) را بروی شیئی (Object) O بکار ببرد.
اشیاء مجاز[5] : ترکیبات غیرفعال سیستم هستند که باید در مقابل دسترسیهای غیرمجاز محافظت شوند.
اشیایی که باید به آنها متوجه شدند به مدل دادهای مورد استفاده بستگی دارند.
به عنوان مثال، در یک سیستم عامل فایلها و دایرکتوریها اشیاء هستند.
در حالیکه، در یک DBMS منابعی که باید محافظت شوند رابطه ها، دیدها و صفات هستند.
اشخاص مجاز[6] : موجودیتهایی در سیستم هستند که اجازه دسترسی به آنها داده میشود.
اشخاص به دستههای زیر تقسیم بندی میشدند : کاربران : که شخصیتهای مجزا و مشخصی هستند که با سیستم در ارتباطند.
گروهها مجموعه ای از کاربران.
نقشها[7] : مجموعهای نامدار از امتیازها که احتیاج دارند، فعالیت خاصی را در رابطه با سیستم انجام دهند.
سلسله عملیات[8] : که برنامههایی را برای کاربر اجراء میکند.
به طور کلی، سلسله عملیات به آدرسهای حافظه، استفاده از CPU ، فراخوانی برنامههای دیگر و عملیات بروی داده اشاره میکند.
امتیازهای مجاز[9] : انواع عملیاتی را که یک فرد میتواند روی یک شیئی در سیستم اجراء کند، بیان میکند.
مجموعه این امتیازها به منابعی که باید محافظت شوند، بستگی دارد.
به عنوان مثال، در یک سیستم عامل خواندن، نوشتن و اجراء از امتیازها هستند.
ولی، دریک DBMS رابطهای، انتخاب، درج، تغییر و حذف از جمله امتیازها به شمار میروند.
22 سیاستهای کنترل دسترسی : سیاستهای کنترل دسترسی، معیارهایی هستند که براساس آنها تعیین میشود آیا یک درخواست دسترسی باید مجاز شمرده شود یا نه.
یک طبقه بندی کلی بین سیاستهای کنترل دسترسی احتیاطی و الزامی است.
221 سیاستهای کنترل دستری احتیاطی : سیاستهای کنترل دسترسی احتیاطی (DAC) ، دسترسی افراد به اشیاء را براساس شناسه افراد و قوانین و مجوزها کنترل میکند.
و قوانین برای هر فرد مجوزهایی را که میتواند برای انجام عملیات روی اشیاء بکار برد، بیان میکند.
وقتی تقاضای درخواستی به سیستم میآید، مکانیسم دسترسی مشخصی میکند آیا قانونی برای تأیید این درخواست وجود دارد یا نه.
اگر قانونی وجود داشت درخواست مجاز شمرده میشود در غیراین صورت رد میشود.
چنین مکانیزمی احتیاطی است و در آن به اشخاص اجازه داده میشود که مجوز دسترسی به دادههایشان را به دیگران بدهند.
سیاستهای دسترسی احتیاطی انعطاف پذیری زیادی دارند.
به طوری که، اجازه تعریف محدوده وسیعی از قوانین کنترل دسترسی را با استفاده از انواع مختلف مجوزها را میدهند.
مثل مجوزهای مثبت و منفی و مجوزهای قوی و ضعیف.
در زیر توضیح مختصری از هر کدام ارائه میشود.
مجوزهای مثبت و منفی : در سیستمی که مجوز مثبت دارد.
هرگاه فردی بخواهد به شیئی خاصی دسترسی داشته باشد، سیستم چک میکند آیا مجوزی وجود دارد و فقط در صورت وجود، به شخص اجازه دسترسی داده میشود.
عدم وجود مجوز به معنی رو درخواست است.
مشکل این خط مشی این است که، عدم وجود مجوزهای منفی حل شد که به معنی رد قطعی مجوز در چنین مواردی است.
مجوزهای قوی و ضعیف : بعضی مدلهایی که هر دو مجوز مثبت و منفی را دارند به دو دسته مجوزهای قوی و ضعیف نیز تقسیم میشوند.
مجوزهای قوی (چه مثبت و چه منفی) باطل نمیشوند.
در حالیکه، مجوزهای ضعیف براساس قوانین خاصی توسط مجوزهای قوی یا ضعیف دیگری میتوانند باطل شوند.
222 سیاستهای کنترل و دسترسی الزامی : سیاستهای کنترل دسترسی الزامی (MAC) بیان کننده دسترسی است که افراد به اشیاء براساس رده بندی شیئی و فرد، دارند.
این نوع از امنیت تحت عنوان امنیت[10] چند لایه هم نام برده میشود.
سیستمهای پایگاه دادهای که خصوصیات امنیت چند لایه را تأمین میکنند.
DBMS های این چند لایه (MLS/DBMS) یا DBMS های مطمئن نامیده میشوند.
بیشتر MLS/DBMSها براساس سیاست Bell و Lapadula ، طراحی و ساخته شدهاند.
دراین خطمشیها، افراد به عنوان سطوح مجاز مطرح میشوند و میتوانند در سطح مجاز خود عمل کنند.
اشیاء به سطوح مجاز مطرح میشوند و میتوانند در سطوح مجاز خود عمل کنند.
اشیاء به سطوح حساسیت ارجاع میشوند.
سطوح مجاز حساسیت را سطوح امنیت مینامند.
آنچه در زیر میآید، دو قانون مهم این خط مشی است : ویژگی امنیتی ساده : یک فرد دسترسی خواندن یک شیئی را دارد اگر سطح امنیتی آن بر سطح امنیتی شیئی مسلط باشد.
ویژگی ستاره : یک فرد دسترسی نوشتن یک شیئی را دارد اگر سطح امنیتی شیئی توسط سطح امنیتی فرد پوشانده شود.
شکل زیر تفاوت بین سیاستهای الزامی و احتیاطی را نشان میدهد.
تحت سیاست احتیاطی یک تقاضای دسترسی مجاز شمرده میشود اگر قانونی وجود داشته باشد که دسترسی را مجاز بداند.
در مقابل، دو سیاست الزامی یک دسترسی مجاز است، اگر رابطه خاصی بین سطح امنیتی شخصی که تقاضای دسترسی دارد و سطح امنیتی شیئی که مورد تقاضاست، وجود داشته باشد.
23 سیاستهای سرپرستی[11] : یکی دیگر از ابعادی که می تواند معیاری برای مقایسه مدلهای کنترل دسترسی باشد، سیاستهای سرپرستی است، که حمایت میکند.
سرپرستی است.
که حمایت میکند.
سرپرستی به عملیات اعطا و بازپس گرفتن مجوز اطلاق میشود.
ما سیاستهای سرپرستی را به صورت زیر طبقه بندی میکنیم.
(5) سرپرستی DBA : تحت این سیاست، فقط DBA میتواند حق دسترسی بدهد یا تقاضای را برگرداند.
این سیاست بسیار متمرکز است و امروزه به ندرت در DBMSها بکار میرود، مگر در ساده ترین آنها.
سرپرستی DBA : تحت این سیاست، فقط DBA میتواند حق دسترسی بدهد یا تقاضای را برگرداند.
سرپرستی شیئی - مالک : براساس این سیاست که عمدتاً توسط DBMSها و سیستم عاملها استفاده میشود، بوجود آوردند شیئی مالک آن محسوب میشود و تنها شخص مجاز برای سرپرستی شیئی است.
سرپرستی متصدی شیئی ک بر طبق این سیاست، یک شخص، نه الزاماً ایجاد کننده شیئی، مدیر سرپرستی شیئی است.
براساس این سیاست حتی ایجاد کننده شیئی هم باید مجوز دسترسی به شیئی را دریافت کند.
دومین و سومین سیاست میتوانند با وکالت سرپرستی و انتقال سرپرستی ترکیب شوند.
وکالت سرپرستی به این معناست که مدیر یا سرپرست یک شیئی میتواند اعمال سرپرستی بروی یک شیئی را به شخص دیگری واگذار کند.
بیشتر DBMSها سیاست سرپرستی براساس سرپرستی مالک با امکان واگذاری را حمایت میکنند.
باید توچه داشت که تحت خط مشی واگذاری سرپرست اولیه شیئی امتیاز سرپرستی خود را از دست نمی دهد.
انتقال سرپرستی مثل واگذاری، سرپرستی را به شخص دیگری میدهد.
با این تفاوت که، سرپرست اولیه امتیاز سرپرستی خود را از دست میدهد.
برای انتقال سرپرستی دو خط مشی زیر وجو دارد.
ـ ارجاع بازگشتی : تمام مجوزهایی که در توسط سرپرستی پیشین داده شده، به صورت بازگشتی ارجاع داده میشود.
ـ انتقال واگذار کننده : تمام مجوزهای که توسط سرپرستی پیشین صادر شده نگه داشته میشوند علاوه براین انتقال میتواند با پذیرش یا بدون پذیرش به معنای این است که چنین پذیرشی احتیاج نیست.
شکل زیر طبقه بندی سیاستهای سرپرستی که دراین بخش در مورد آن بحث شد را نشان میدهد.
3ـ سیستمها و مدلهای کنترل دسترسی احتیاطی : دراین بخش به بحث در مورد مدلها و سیستمهای DAC میپردازیم.
مدلهای احتیاطی براساس معیارهای گوناگونی میتواند طبقه بندی شود.
این بخش این مدلها را براساس DBMSهایی که تحت آن این مدلها توسعه مییابند به سه گروه تقسیم بندی میکند : مدلهای اعطای مجوز برای DBMSهای رابطهای، مدلهای اعطای مجوز برای DBMSهای شیئی گرا و مدلهای اعطای مجوز برای DBMSهای فعال.
3ـ1ـ مدلهای اعطای مجوز برای DBMSهای رابطهای : دراین بخش مروری داریم بر مدلهای اعطای مجوز که برای DBMSهای رابطهای ساخته شدهاند و با شرح مدل System R شروع میکنیم.
مدل System R یک حادثه مهم در تاریخ مدلهای اعطای مجوز است.
اهمیت مدل سیستمهای R از آنجایی است که بسیاری DBMSهای تجاری مکانیزم اعطای مجوز را براساس آن توسعه دادند.
دراین مدل اشیایی که باید محافظت شوند جدولها و دیدهایی هستند که اشخاص، امتیازهای گوناگون نسبت به آنها دارند.
امتیازهایی که این مدل حمایت میکند شامل، انتخاب (Select) برای انتخاب تاپلها از جدول، به روز رسانی (Update) برای تغییر تاپلهای یک جدول، درج و حذف (Delete,insert) برای افزودن یا حذف کردن تاپلهای جدول، حذف جدول (drip) برای پاک کردن کل یک جدول.
گروه و نقش دراین مدل حمایت نمیشوند.
این مدل امکانات سرپرستی تامتمرکز را حمایت میکند.
هرگاه شخصی جدولی را بوجود میآورد.
امتیازی را نسبت به آن بدست میآورد.
مالک جدول میتواند تمام امتیازها را بر جدول اعمال کند.
این مدل ارجاع بازگشتی دارد، به این معنا که وقتی شخصی مجوز جدولی را از کاربر دیگری میگیرد.
تمام مجوزهایی که قبلاً به او داده شده ارجاع میشود.
3ـ2ـ مدلهای اعطای مجوز برای DBMSهای شیئی گرا : امروزه DBMSهای شیئیگرا و شیئی – رابطهای از مهمترین زمینه های تحقیق در موزه DB هستند.
دلیل این اهمیت این است که آنها بسیار مناسب برای کاربردهای پیشرفته مثل CAD/CAM، مولتی مدیا و کاربردهای نقشهکشی هستند.
چون این برنامهها احتیاج به مدلهای دادهای غنیتری نسبت به مدلهای رابطهای دارند.
احتیاجات سیستمهای DBMSها هم متفاوت از سیستمهای رابطه ای است و این باعث میشود مدلهای سنتی برای DBMSهای رابطهای، برای سیستمهای شیئیگرا کافی نباشد.
با وجود رشد علاقه و توجه به ODBMSها، تحقیقات برای مدلهای اعطای مجوز برای ODBMSها هنوز در مراحل اولیه است.
اگرچه طرحهای بسیاری وجود دارد.
تنها مدلهای Orion و Iris مدلهای قابل مقایسه با مدلهای RDBMSها دارند.
3ـ2ـ1ـ مدل Orion : مدل اعطای مجوز Orion، مجوزهای مثبت و منفی و همچنین قوی و ضعیف را حمایت میکند.
مجوز قوی همیشه اولویت بیشتری نسبت به مجوز ضعیف دارد.
مجوزها به جای کاربران تکی به نقشها داده میشوند و یک کاربر مجاز است عملی را روی یک شیئی انجام دهد، اگر نفشی وجود داشته باشد که اجازه این کار را داشهژته باشد.
نقشها، اشیاء و امتیازها تحت یک سلسله مراتب سازماندهی میشوند و یکسری قوانین انتشار یا تکثیر اعمال میشود : اگر یک نقش مجوز دسترسی به یک شیئی را داشته باشد تمام نقشهای بالاتر از آن در سلسه مراتب همان مجوز را دارند.
اگر یک نقش مجوز منفی برای دسترسی به یک شیئی را داشته باشد تمام نقشهای بعداز آن همان مجوز منفی را خواهند داشت.
قوانین انتشار یکسانی برای امتیازها هم تعریف میشدند.
نهایتاً قوانین انتشار بر یک شیئی اجازه مجوزهایی را میدهد که از مجوزهای شیئی که، منقطاً با آن در ارتباط است، مشتق شده باشد.
به عنوان مثال مجوز خواندن یک کلاس، مجوز خواندن تمام نمونههای آن را صادر میکند.
3ـ2ـ2ـ مدل Iris : در مدل Iris ، صفات و متددها هر دو به عنوان تابع تعریف میشدند و تنها امتیازی که توسط مدل حمایت میشود، فراخوانی تابع است.
یک فرد که امتیاز فراخوانی یک تابع را دارد مجاز برای فراخواندن آن تابع است.
فردی که ایجاد کننده یک تابع است، مالک آن محسوب میشود و به طور خودکار امتیاز فراخوانی آن را دریافت میکند.
علاوه براین مالک یک تابع میتواند امتیاز فراخوانی تابع را به افراد دیگر هم بدهد.
این اعطای امتیاز میتواند شامل شرایط هم باشد، که به شخصی که امتیاز را میگیرد اجازه میدهد که آن را به دیگران هم بدهد.
این مدل اجازه میدهد که یک امتیاز هم به گروه و هم به کاربر داده شود یا گرفته شود.
یک کاربر میتواند متعلق به چندین گروه باشد.
توابع مشتق شده تحت عنوان توابع دیگر تعریف میشوند.
علاوه براین، گروهها میتوانند تو در تو باشند.
مدل Iris دو خط مشی برای حفاظت از توابع مشتق شده دارد.
تحت خط مشی که مجوز استاتیک نامیده میشود، فردی که تقاضای اجرای یک تابع مشتق را دارد.
فقط باید اجازه فراخوانی تابع مشتق را داشته باشد.
در خط مشی دیگر، مجوز دینامیک، فرا خواننده هم باید مجوز فراخوانی تابع مشتق را داشته باشد و هم مجوز برای فراخوانی تمام توابعی که تابع مشتق آنها را اجراء میکند.
هنگام ایجاد یک تابع مشتق باید مشخص کنیم که از کدامیک از این دو خط مشی برای بررسی تقاضاهای اجراء استفاده کنیم.
این مدل همچنین دو مفهوم برای کنترل دسترسی تعریف میکند: توابع نگهبان و توابع پراکسی .
توابع نگهبان، ابزاری برای گذاشتن پیش شرط در فراخوانی یک تابع و در نتیجه محدود کردن دسترسی به توابع هستند.
تابعی که تابع نگهبان به آن اشاره میکند تابع هدف نامیده میشود.
یک تابع هدف اجراء میشود.
اگر تابع نگهبان مربوط به آن موفق ارزیابی شود.
مهمترین مزیت تابع نگهبان این است که دسترسی به یک تابع محدود میشود، بدون اینکه لازم باشد کد تابع تغییر کند.
توابع پراکسی، پیاده سازیهای مختلفی از یک تابع مشخص را برای افراد مختلف، فرد یا گروه، تأمین مکند.
وقتی یک تابع مورد درخواست واقع میشود، تابع پراکسی مناسب به جای تابع اصلی اجراء میشود.
3ـ3ـ مدلهای اعطای مجوز برای DBNSهای فعال : پایگاه دادههای فعال با یک سیستم قانونمند که DBMS را قادر میسازد با تریگر کردن قانونها نسبت به حوادث عکسالعمل نشان دهد، تعریف میشوند.
قوانین اعمالی را توصیف میکند که میخواهیم به صورت خودکار در هنگام رخ دادن حادثه خاصی یا ارضاء شدت شرط خاصی در DB اجراء شوند.
به عنوان یک مثال از این مدل در ادامه امکانات سیستم Starbust را شرح میدهیم.
Starbust یک نمونه از سیستم پایگاه دادهای رابطهای توسعه پذیر است که در مرکز تحقیقاتی Almaden در IBM تولید شده است.
Starbust بوسیله یک زبان قانونمند توصیف میشود.
مدل اعطای مجوز آن سلسله مراتبی و از نوع امتیازها را که در DB میتواند اعمال شود، حمایت میکند.
دراین سلسله مراتب عناصر بالاتر، انواع پائینتر را پوشش میدهند.
مثالهایی از انواع امتیازها، کنترل است که تمام امتیازهای دیگر یعنی Write ، Alter و Attach را پوشش قوانین توسط محدودیتهای زیر اداره میشوند.
ایجاد کننده یک قانون بر جدول T ، باید هر دو امتیاز Attach و Read را از جدول T داشته باشد.
عوامل عمل و شرایط قانون ایجاد شده در برابر امتیازات ایجاد کننده چک میشود.
اگر قسمتی از شرایط یا نحوه عملکرد قانون شامل عباراتی شود که ایجاد کننده اجازه اجرای آنها را نداشته، عملیات ایجاد شده مجاز شمرده نمیشود.
فردی که متقاضی حذف یک قانون r بر روی جدول T است باید امتیاز کنترل و یا امتیاز Attach و کنترل را روی جدول T داشته باشد.
فرد متقاضی تغییر قانون باید امتیاز Alter را روی قانون داشته باشد.
3ـ4ـ کنترل دسترسی احتیاطی در DBMSهای تجاری : دراین بخش، توضیح میدهیم که چگونه DAC در سیستم شیئی رابطهای اوراکل اعمال میشود.
در اوراکل، امتیازها به هر دو گروه کاربران و نقشها داده میشود.
نقشها در یک سلسه مراتب سازمان دهی شدهاند و یک نقش تمام امتیازات نقشهای زیر خود در سلسله مراتب را بدست میآورد.
یک کاربر ممکن است مجاز برای ایفای چند نقش در یک فاصله زمانی باشد.
با هر نقشی ممکن است یک کلمه عبور همراه شود.
تا از استفاده غیرمجاز امتیازها جلوگیری کند.
مجموعهای از پیش تعریف شده از امتیازها فراهم است که میتواند به هر کدام از نقشها در اوراکل تغییر داده شود.
وقتی یک فرد نقشی را ایجاد میکند، نقش به طور خودکار با اختیارات سرپرستی به ایجاد کننده داده میشود، که به او اجازه می دهد نقش را به نقشی دیگر بدهد یا از او بگیرد و این کار را میتوان با اختیارات سرپرستی یا بدون آن باشد.
ارواکل همچنین گروه خاص، عمومی را حمایت میکند که برای هر فردی قابل دسترسی است.
امتیازها در پایگاه داده اوراکل به دو بخش تقسیم میشوند: امتیازات سیستم و امتیازات شیئی.
امتیازات سیستم به فرد اجازه می دهد، اعمال سیستمی و یا عملی را روی داده خاصی انجام دهد.
بیش از 60 محدود از امتیازات سیستمی مهیاست.
مثالی از این امتیازها، امتیاز حذف تاپل از هر جدولی در DB است.
به علت اینکه امتیازات سیستمی قدرتمند هستند، اغلب فقط به DBA یا تولید کنندگان برنامههای کاربردی داده میشدند.
مثل نقشها این امتیازات میتوانند با اختیارات سرپرستی داده شوند و اگر شخصی امتیاز سیستمی با اختیارات سرپرستی را داشته باشد میتواند این امتیاز را به افراد دیگر بدهد یا از آنها بگیرد.
امتیازات شیئی به فرد اجازه میدهد.
یک عمل خاص را روی شیئی مشخص در DB انجام دهد.
امتیازات حذف یا درج تاپل در یک جدول مشخص، مثالی از این امتیازهاست.
وقتی فردی شیئی را در شمای خودش ایجاد میکند، به طور اتوماتیک تمام امتیازات شیئی را در مورد آن شیئی مثل حق دادن این امتیاز به دیگران را دریافت میکند.
اگر این اعطا امتیاز آن باشد، مزد دریافت کننده میتواند این امتیاز را به دیگران دم بدهد.
امتیاز شیئی فقط توسط شخصی که آن را اعطاء کرده بازگردانده میشود.
بازگشت و ارجاع این امتیاز بازگشتی است.
4ـ امنیت چندلایه در سیستمهای پایگتاه دادهای : دراین بخش به شرح جنبههای امنیت چندلایه در امنیت دائمی برای سیستمهای پایگاه دادهای میپردازیم.
بخش اول به طور کلی بروی سیستمهای رابطهای متمرکز است.
مسئلهای که باید مورد توجه قرار بگیرد این است که محصولات قابل توجه دیگری هم برای امنیت چندلایه برای سیستمهای توزیع شده ، نامتجانس و یکپارچه است.
ما دراین بخش به بحث در مورد بعضی از این پیشرفتها میپردازیم.
4ـ1ـ مدل دادهای رابطهای چند لایه : دریک پایگاه دادخ چند لایه، تمام دادهها به سطح امنیتی یکسانی منسوب نمیشوند.
اگر چنین پایگاه دادهای براساس مدل رابطهای باشد، اشیاء طبقه بندی شده ممکن است شامل کل DB، رابطهها، تاپلها، صفات و عناصر دادها میباشد.
دسترسی به چنین اشیایی توسط سیاست الزامی که در بخش 2 صحبت آن شد، اداره میشود.
یک DBMS چند لایه باید DB چندلایه را از دسترسی غیرمجاز یا تغییر توسط افراد در سطح امنیتی دیگر محافظت کند.
یک پایگاه داده رابطهای چند لایه، DB چندلایه را به عنوان مجموعهای از رابطهها تعریف میکند و چنین مدلی، مدل دادهای چندلایه رابطهای نامیده میشود.
هدف طراحان پایگاه دادههای رابطهای چند لایه تعریف نسخههای گوناگون از موجودیتع، عمل یا حادثه یکسان در سطوح امنیتی مختلف بدوت تعارض با قوانین امنیتی و جامعیتی است.
یکی از مکانیزمهای ارائه شده، چند نمونه ای بودن است.
این مکانیزم اجازه میدهد دو تاپل با کلید اولیه یکسان در یک DB در سطح مختلف امنیتی وجود داشته باشند.
اگرچه، وجود دو تاپل با کلید اولیه یکسان متناقض خصوصیت جامعیت موجودیتی در مدل دادهای رابطهای استاندارد است.
مثال زیر را در نظر بگیرید : EMP یک رابطه با صفات زیر است : دراین رابطه، SS کلید اولیه است فرض کنیم شخصی تاپل زیر را ابتدا در EMP درج می کند : و سپس فرد دیگری نه از همان طبقه، تاپل زیر را وارد کند.
اگر این تاپل پذیرفته شود تاپل چند نمونه ای است.
اخیراً بحثهای بسیاری در مورد چند نمونه ای بودن وجود دارد.
عدهای معتقدند چند نمونهای بودن لازم است اگر ما قصد طراحی پایگاه داده های چندلایه با ضریب اطمینان بالا را داریم و عدهای براین عقیدهاند که جامعیت DB اهمیت بیشتری دارد و چند نمونهای بودن با آن در تناقض است.
سیستمهایی که در اینجا بحث میکنیم انواع مختلفی از مدل دادهای چند لایه را ارائه داده اند و همه خصوصیات امنیتی را که دراین بخش در مورد آنها صحبت شد را ارضاء میکنند و چند نمونهای بودن هم در بسیاری مدلها وجود دارد.
4ـ2ـ معماری : دراین بخش مدلهای مختلف کنترل دسترسی که برای MLS/DBMS ها تولید شدهاند، بررسی می کنیم.
در حالیکه DBMSها باید با انواع مختلف موارد امنیتی به عنوان سیستم عاملهای قابل اطمینان در تعامل باشند، خصوصیات DBMSهاست که سطح امنیتی آنها را در مقابل آنچه سیستم عاملهای سنتی انجام میدهند.
معرفی میکند.
به عنوان مثال اشیاء در DBMSها تمایل دارند در سایزهای چندگانه باشند و بتوانند دانه دانه باشند.
این با سیستمهایی که در آنها دانه دانه بودن وجود ندارد در تناقض است (به عنوان مثال فایلها یا سگمنتها).
همچنین تفاوتهای عملیاتی آشکاری بین سیستم عاملها و DBMSها وجود دارد که چگونگی برخورد با مسئله امنیت را تحت تأثیر قرار میدهد.
سیستم عاملها تمایل به تعامل با افرادی دارند که تلاش برای دسترسی به بعضی اشیاء دارند DBMSها اشیاء را بین کاربران تقسیم میکنند و برای کاربران ابزار ارتباط با اشیاء دادهای گوناگون را فراهم میکنند.
همچنین به طور کلی DBMSها وابسته به سیستم عامل برای تأمین منابع هستند.
بنابراین طراحی DBMSها باید در راستای چگونگی برخورد سیستم عامل با مسئله امنیت باشد.
تفاوت بین نحوه عملکرد و احتیاجات امنیتی DBMSها و سیستم عاملها به این معناست که راه حلهای سنتی که برای تأمین امنیت سیستمهایی که با این سیستم عاملها بخوبی کار میکردند، نیاز دارند برای DBMSها تغییر داده شدند.
در حال حاضر هیچ معماری به تنهایی مورد قبول یا مورد استفاده در تولید DBMS/MLS ها نیست.
گسترده وسیعی از خط مشیها برای طراحی و ساخت DBMS/MLS ارائه شده است.
بعضی نظریهها دراین مورد عبارتند از : معماری Single-kernel دراین مدل کنترل دسترسی تماماً به عهده سیستم عامل است و DBMS نقشی در آن ندارد.
معماری Distributed بر طبق این خطی مشی چندین ماشین انتهای DBMS و یک ماشین ابتدایی مطمئن وجود دارد که انتهایها از طریق آن با هم در ارتباطند.
معماری Trusted-Subject دراین خط مشی که گاهی دو هستهای هم نامیده میشود، براساس سیستم عامل عمل نمی کند و DBMS کنترل دسترسی را به عهده دارد.
معماری Integrity-lock دراین معماری یک انتهای DBMS مطمئن با دسترسی به تمام دادهها DB و یک ابتدایی نامطمئن که با کاربرها ارتباط برقرار میکند و یک انتهایی نامطمئن که استفاده از تکنولوژی پنهان سازی را فراهم میکند.
دراین خط مشی مهم است که عناصر نامطمئن از هم جدا باشند.
بنابراین می توان مطمئن بود که هیچ دو عنصر نامطمئن خارج از نظارت فیلتر مطمئن با هم ارتباط ندارند.
معماری Extended-Kernel گسترشی بر مدل اول است.
دراین معماری سیستم عامل همچنان دو راه حل MAC و DAC را به کار میبیرد.
دراین مدل TDBMS بعضی راهحلهای مکمل برای فراهم کردن کنترل دسترسی را اضافه میکند.
4ـ3ـ محصولات تجاری : از سال 1988 محصولات DBMS/MLS ها تولید شده اند.
گرچه تعدادی از آنها هرگز به بازار نیامدند.
دراین بخش مروری داریم بر بعضی محصولات تجاری بین سالهای 1988 تا 1993.
TRUDATA نسخه اولیه TRUDATA در سالهای آخر دهه 80 براساس معماری Integrity-lock به بازار آمد.
TRUDATA از ماشین Britton lee به عنوان انتهایی نامطمئن و سیستم AT7T 3B2V/MLS به عنوان ابتدایی استفاده میکند.
Secure Sybase Secure SQL Server که متعلق به شرکت Sybase است، سیستم مبتنی بر معماری Trusted-Subject با معماری CIS است.
در موارد اولیه قسمت مشتری معماری بروی Ultrix، SE/VMS یا SUN MLS اجرائ می شد و قسمت خدمتگزار بروی Ultrix و چون Ultrix سیستم مطمئنی نبود، بنابراین محیط سیستم عاملی امنی به حساب نمیآمد و در نتیجه کنترل دسترسی به DBMS داده شد.
Trusted Oracle تلاش DBMS اوراکل در بین کارهایی که انجام شده یکتاست و به گونهای است که هر دو معماری Trusted-Subject,Single-kernl را ارضاء میکند.
Single-lernel در نسخههای اولیه اوراکل توسط سیستم عاملها SE/VMS و HP/VX که این DB روی آنها اجراء میشد، تأمین میگردید.
اوراکل مطمئن چند نمونه ای بودن برای عمل درج را حمایت میکند.
5ـ زمینههای تحقیق : بسیاری محیطهای کاربردی پیشرفته مثل کتابخانههای دیجیتال توزیع شده، سیستمهای اطلاعاتی ناهمگون ، سیستمهای همکار ، برنامههای کاربردی Work flow 3 وعده احتیاجات کنترل دسترسی بسیار زیادی دارند، به طوری که مکانیزمهای کنترل دسترسی امروزه نمیتوانند پاسخگوی این نیازها باشد.
در بسیاری موارد یا سازمان مجبور به بکارگیری سیاست خاصی برای کنترل دسترسی به صورت دستی است یا باید این سیاستها توسط برنامه کاربردی پیاده سازی شوند، که هر دو موقعیت آشکارا غیر قابل قبول است.
در این بخش احتیاجات کنترل دسترسی در سه زمینه مهم امروزی مطرح میشود : کتابخانه های دیجیتال : ـ مکانیزم تشخیص انعطاف پذیر افراد.
ـ کنترل دسترسی Content-base به مولتی مدیا و دادههای ساختار نیافته.
ـ دسترسیهای از راه دور و دسترسی به کتابخانههای توزیع شده.
ـ کپی کردن و استفاده کردن از اطلاعات.
سیستمهای مدیریتی Work flow ـ کنترل دسترسی Role-base ـ محدودیتهای اعطای مجوز بروی نقشها و کاربران.
شبکه جهانی WWW ـ استراتژی مفید برای ذخیره سازی مجوزها.
ـ عملیات سرپرستی.
ـ مدلهای اعطای مجوز برای XML 6ـ جمع بندی دراین مقاله مروری داشتیم بر سیستمهای پایگاه داده ایمن.
مفاهیم اساسی در کنترل دسترسی همچنین سیاستهای MAL و DAC معرفی شدند.
مروری داشتیم بر سیاستهای سرپرستی ارائه شده و امنیت الزامیؤ مدلهای دادهای، معماریها، محصولات تجاری و صحبت کوتاهی شد در مورد محصولات و تمایلات امروزی.
محصولاتی دراین مقاله معرفی شدند.
در مورد ساختار آنها صحبت مختصری شد، این محصولات هرساله بهبود مییابند.
بنابراین برای اطلاعات به روزتر خواننده باید به کاتالوگ فروشندگان با تولید کنندگان این محصولات مراجعه کند.
جهت سیستمهای پایگاه داده ای به سوی محصولات تحت وب پیش می رود و سیستمهای پایگاه داده دیگر سیستمهای مستقل نخواهد بود.
آنها در حال یکی شدن با کاربردهای مختلفی مثل مولتی مدیا، تجارت الکترونیکی ، سیستمهای کامپیوتری سیار و کتابخانه های دیجیتال هستند.
موارد امنیتی برای چنین سیستمهای بسیار مهم است.
علاوه بر این امنیت در سیستمهای work folw موضوع تحقیق بسیاری از افراد است.
و رقابت شدیدی برای فرموله کردن سیاستها در چنین سیستمهای وجود دارد.
تکنولوژیهای جدید مثل داده کاوی به حل مشکل امنیتی کمک خواهند کرد و به طور کلی DB همچنان در تکاپو خواهد بود و پیشرفت خواهد کرد و مسئله امنیت آن نمی تواند فراموش شود.
7- مراجع [1] Mario Piattini , and oscar Diaz, Advance Data base Technology A and Design, Briston: Artech House, 2000.
[2] Bertino, E., and E., Ferrari, “Adiminstration Policies in a Ualtipolicy Authorization System,” Proc .
10th IFIP Working conf.
On Data base Security, Lake Tahoe, CA, Aug.
1997.
[3] Bell, D., and L.Lapadula, “Secure Computer systems,” ESD-TR-75-306, Hanscom Air Force Base, Bedford, MA, 1975.