امنيت در پايگاه دادههاي كامپيوتري

1 –امنيت در پايگاه دادههاي كامپيوتري
در طي سه دهه اخير تعداد پايگاه دادههاي كامپيوتري افزايش بسياري داشته است. حضور اينترنت به همراه توانائيهاي شبكه، دسترسي به داده و اطلاعات را آسانتر كرده است. به عنوان مثال، كاربران امروزه ميتوانند به حجم بالايي از اطلاعات در فاصلة زماني بسيار كوتاهي دسترسي پيدا كنند. به همين نسبتي كه ابزارها و تكنولوژي دسترسي و استفاده از اطلاعات توسعه مييابند، نياز به حفاظت اطلاعات هم بوجود ميآيد. بسياري دولتها و سازمانها صنعتي دادههاي مهم و طبقه بندي شدهاي دارند كه بايد حفاظت شوند. سازمانهاي بسيار ديگري هم مثل مؤسسات دانشگاهي نيز اطلاعات مهمي در مورد دانشجويان و كارمندانشان دارند. در نتيجه تكنيكهايي براي حفاظت داده هاي ذخيره شده در سيستمهاي مديريت پايگاه داده، DBMS اولويت بالايي پيدا كردهاند.
در طول سه دهه اخير، پيشرفتهاي بسياري در مورد امنيت پايگاه دادهها حاصل شده است. بسياري از كارهاي اوليه، روي امنيت پايگاه دادههاي آماري انجام شد. در دهه 70، همزمان با شروع تحقيقات روي پايگاه دادههاي رابطهاي، توجه مستقيماً به مسئله كنترل دسترسي Access Control بود و بيشتر از همه، كار روي مدلهاي كنترل دسترسي احتياطي Discretionary شروع شد. در حالي كه، در سالهاي پاياني دهه 70، كار بروي امنيت الزامي Mandatory ولي در واقع تا مطالعات نيروي هوايي در 1982، كه تلاش وسيعي براي DBMSهاي امن چند سطحي Multilevelبود، كار مهمي انجام نشد.
در هزارة جديد با حضور تكنولوژيهايي مثل كتابخانههاي ديجيتال، شبكه گستره جهاني و سيستمهاي محاسباتي اشتراكي، علاقه بسياري به امنيت نه تنها در بين سازمانهاي دولتي، بلكه بين سازمانهاي اقتصادي هم وجود دارد. اين مقاله مروري به پيشرفتها و محصولات در سيستمهاي پايگاه دادهاي امن در دو زمينة اجباري و احتياطي دارد.
2 – كنترل دسترسي (مفاهيم و سياستها)
دراين بخش مفاهيم پايه در كنترل دسترسي معرفي ميشوند. سپس در مورد سياستهاي كنترل دسترسي احتياطي و الزامي بحث ميشود و نهايتاً مروري داريم بر سياستهاي سرپرستي.
2ـ1 مفاهيم اساسي امنيت در پايگاه دادههاي كامپيوتري
كنترل دسترسي معمولاً در مقابل مجموعه اي از قوانين اعطاي مجوز كه توسط مديران امنيتي يا كاربران براساس بعضي سياستهاي خاص ارائه ميشوند، قرار دارد.
قانون اعطاي مجوز، در حالت كلي بيان ميكند كه فرد Subject اجازه دارد كه امتياز Privilege را بروي شيئي Object بكار ببرد.
اشياء مجاز Authorization Object: تركيبات غيرفعال سيستم هستند كه بايد در مقابل دسترسيهاي غيرمجاز محافظت شوند. اشيايي كه بايد به آنها متوجه شدند به مدل دادهاي مورد استفاده بستگي دارند. به عنوان مثال، در يك سيستم عامل فايلها و دايركتوريها اشياء هستند. در حاليكه، در يك DBMS منابعي كه بايد محافظت شوند رابطه ها، ديدها و صفات هستند.
اشخاص مجاز Authorization Subject: موجوديتهايي در سيستم هستند كه اجازة دسترسي به آنها داده ميشود. اشخاص به دستههاي زير تقسيم بندي ميشدند :
- كاربران : كه شخصيتهاي مجزا و مشخصي هستند كه با سيستم در ارتباطند.
- گروهها مجموعه اي از كاربران.
- نقشها Role: مجموعهاي نامدار از امتيازها كه احتياج دارند، فعاليت خاصي را در رابطه با سيستم انجام دهند.
- سلسله عمليات process : كه برنامههايي را براي كاربر اجراء ميكند. به طور كلي، سلسله عمليات به آدرسهاي حافظه، استفاده از CPU ، فراخواني برنامههاي ديگر و عمليات بروي داده اشاره ميكند.
امتيازهاي مجاز Authorization privilege: انواع عملياتي را كه يك فرد ميتواند روي يك شيئي در سيستم اجراء كند، بيان ميكند. مجموعة اين امتيازها به منابعي كه بايد محافظت شوند، بستگي دارد. به عنوان مثال، در يك سيستم عامل خواندن، نوشتن و اجراء از امتيازها هستند. ولي، دريك DBMS رابطهاي، انتخاب، درج، تغيير و حذف از جمله امتيازها به شمار ميروند.
2ـ2 سياستهاي كنترل دسترسي در امنيت در پايگاه دادههاي كامپيوتري :
سياستهاي كنترل دسترسي، معيارهايي هستند كه براساس آنها تعيين ميشود آيا يك درخواست دسترسي بايد مجاز شمرده شود يا نه. يك طبقه بندي كلي بين سياستهاي كنترل دسترسي احتياطي و الزامي است.
2ـ2ـ1 سياست كنترل دسترسي احتياطي :
سياستهاي كنترل دسترسي احتياطي (DAC) ، دسترسي افراد به اشياء را براساس شناسه افراد، قوانين و مجوزها كنترل ميكند. قوانين براي هر فرد، مجوزهايي را كه ميتواند براي انجام عمليات روي اشياء بكار برد، بيان ميكند. وقتي تقاضاي درخواستي به سيستم ميآيد، مكانيسم دسترسي مشخصي ميكند آيا قانوني براي تأييد اين درخواست وجود دارد يا نه. اگر قانوني وجود داشت درخواست مجاز شمرده ميشود، در غيراين صورت رد ميشود. چنين مكانيزمي احتياطي است و در آن به اشخاص اجازه داده ميشود كه مجوز دسترسي به دادههايشان را به ديگران بدهند.
سياستهاي دسترسي احتياطي انعطاف پذيري زيادي دارند. به طوري كه، اجازه تعريف محدوده وسيعي از قوانين كنترل دسترسي را با استفاده از انواع مختلف مجوزها را ميدهند. مثل مجوزهاي مثبت و منفي و مجوزهاي قوي و ضعيف. در زير توضيح مختصري از هر كدام ارائه ميشود.
- مجوزهاي مثبت و منفي :
در سيستمي كه مجوز مثبت دارد. هرگاه فردي بخواهد به شيئي خاصي دسترسي داشته باشد، سيستم چك ميكند آيا مجوزي وجود دارد و فقط در صورت وجود، به شخص اجازه دسترسي داده ميشود. عدم وجود مجوز به معني رد درخواست است. مشكل اين خط مشي اين است كه، عدم وجود مجوز به معناي جلوگيري از دسترسي شخص به شيئي در آينده نيست. اين مشكل توسط مجوزهاي منفي حل شد كه به معني رد قطعي مجوز در چنين مواردي است.
- مجوزهاي قوي و ضعيف :
بعضي مدلهايي كه هر دو مجوز مثبت و منفي را دارند به دو دسته مجوزهاي قوي و ضعيف نيز تقسيم ميشوند. مجوزهاي قوي (چه مثبت و چه منفي) باطل نميشوند. در حاليكه، مجوزهاي ضعيف براساس قوانين خاصي توسط مجوزهاي قوي يا ضعيف ديگري ميتوانند باطل شوند.
2ـ2ـ2 سياست كنترل دسترسي الزامي
سياستهاي كنترل دسترسي الزامي (MAC) بيان كننده دسترسي است كه افراد به اشياء براساس رده بندي شيئي و فرد دارند. اين نوع از امنيت تحت عنوان امنيت چند لايه Multilevel Security هم نام برده ميشود. سيستمهاي پايگاه دادهاي كه خصوصيات امنيت چند لايه را تأمين ميكنند، DBMS هاي امن چند لايه (MLS/DBMS) يا DBMS هاي مطمئن ناميده ميشوند. بيشتر MLS/DBMSها براساس سياست Bell و Lapadula ، طراحي و ساخته شدهاند. دراين خطمشيها، افراد به عنوان سطوح مجاز مطرح ميشوند و ميتوانند در سطح مجاز خود عمل كنند. اشياء به سطوح حساسيت ارجاع ميشوند. سطوح مجاز حساسيت را سطوح امنيت مينامند. آنچه در زير ميآيد، دو قانون مهم اين خط مشي است :
ـ ويژگي امنيتي ساده : يك فرد دسترسي خواندن يك شيئي را دارد اگر سطح امنيتي آن بر سطح امنيتي شيئي مسلط باشد.
ـ ويژگي ستاره : يك فرد دسترسي نوشتن يك شيئي را دارد اگر سطح امنيتي شيئي توسط سطح امنيتي فرد پوشانده شود.
شكل زير تفاوت بين سياستهاي الزامي و احتياطي را نشان ميدهد. تحت سياست احتياطي يك تقاضاي دسترسي مجاز شمرده ميشود اگر قانوني وجود داشته باشد كه دسترسي را مجاز بداند. در مقابل، در سياست الزامي يك دسترسي مجاز است، اگر رابطه خاصي بين سطح امنيتي شخصي كه تقاضاي دسترسي دارد و سطح امنيتي شيئي كه مورد تقاضاست، وجود داشته باشد.
2ـ3 سياستهاي سرپرستي Administration در امنيت در پايگاه دادههاي كامپيوتري
يكي ديگر از ابعادي كه مي تواند معياري براي مقايسه مدلهاي كنترل دسترسي باشد، سياستهاي سرپرستي است، كه حمايت ميكند. سرپرستي به عمليات اعطا و بازپس گرفتن مجوز اطلاق ميشود. ما سياستهاي سرپرستي را به صورت زير طبقه بندي ميكنيم.
سرپرستي DBA : تحت اين سياست، فقط DBA ميتواند حق دسترسي بدهد يا تقاضايي را برگرداند. اين سياست بسيار متمركز است و امروزه به ندرت در DBMSها بكار ميرود، مگر در ساده ترين آنها.
سرپرستي شيئي – مالك Object-Owner : براساس اين سياست كه عمدتاً توسط DBMSها و سيستم عاملها استفاده ميشود، بوجود آوردند شيئي مالك آن محسوب ميشود و تنها شخص مجاز براي سرپرستي شيئي است.
سرپرستي متصدي شيئي Object Curator : بر طبق اين سياست، يك شخص، نه الزاماً ايجاد كننده شيئي، مدير سرپرستي شيئي است. براساس اين سياست حتي ايجاد كنندة شيئي هم بايد مجوز دسترسي به شيئي را دريافت كند.
دومين و سومين سياست ميتوانند با وكالت سرپرستي و انتقال سرپرستي تركيب شوند. وكالت سرپرستي به اين معناست كه مدير يا سرپرست يك شيئي ميتواند اعمال سرپرستي بروي يك شيئي را به شخص ديگري واگذار كند. بيشتر DBMSها سياست سرپرستي براساس سرپرستي مالك با امكان واگذاري را حمايت ميكنند. بايد توجه داشت كه تحت خط مشي واگذاري، سرپرست اوليه شيئي امتياز سرپرستي خود را از دست نمي دهد.
انتقال سرپرستي مثل واگذاري، سرپرستي را به شخص ديگري ميدهد. با اين تفاوت كه سرپرست اوليه امتياز سرپرستي خود را از دست ميدهد. براي انتقال سرپرستي دو خط مشي زير وجود دارد.
ـ ارجاع بازگشتي Object Curator: تمام مجوزهايي كه توسط سرپرستي پيشين داده شده، به صورت بازگشتي ارجاع داده ميشود.
ـ انتقال واگذار كننده Grantor Tronsfer : تمام مجوزهاي كه توسط سرپرستي پيشين صادر شده نگه داشته ميشوند.
علاوه براين انتقال ميتواند با پذيرش acceptance يا بدون پذيرش باشد. پذيرش به معناي اين است كه شخصي كه سرپرستي به او واگذار ميشود بايد صريحاً اين مسؤوليت را بپذيرد. انتقال بدون پذيرش به معناي اين است كه چنين پذيرشي احتياج نيست.
3- سيستمها و مدلهاي كنترل دسترسي احتياطي در امنيت در پايگاه دادههاي كامپيوتري
دراين بخش به بحث در مورد مدلها و سيستمهاي DAC ميپردازيم. مدلهاي احتياطي براساس معيارهاي گوناگوني ميتواند طبقه بندي شود. اين بخش اين مدلها را براساس DBMSهايي كه تحت آن اين مدلها توسعه مييابند به سه گروه تقسيم بندي ميكند : مدلهاي اعطاي مجوز براي DBMSهاي رابطهاي، مدلهاي اعطاي مجوز براي DBMSهاي شيئي گرا و مدلهاي اعطاي مجوز براي DBMSهاي فعال.
3ـ1 مدلهاي اعطاي مجوز براي DBMSهاي رابطهاي
دراين بخش مروري داريم بر مدلهاي اعطاي مجوز كه براي DBMSهاي رابطهاي ساخته شدهاند و با شرح مدل System R شروع ميكنيم. مدل System R يك حادثه مهم در تاريخ مدلهاي اعطاي مجوز است. اهميت مدل سيستمهاي R از آنجايي است كه بسياري DBMSهاي تجاري مكانيزم اعطاي مجوز را براساس آن توسعه دادند.
دراين مدل اشيايي كه بايد محافظت شوند جدولها و ديدهايي هستند كه اشخاص، امتيازهاي گوناگون نسبت به آنها دارند. امتيازهايي كه اين مدل حمايت ميكند شامل، انتخاب براي انتخاب تاپلها از جدول، به روز رساني براي تغيير تاپلهاي يك جدول، درج و حذف براي افزودن يا حذف كردن تاپلهاي جدول، حذف جدول براي پاك كردن كل يك جدول. گروه و نقش دراين مدل حمايت نميشوند. اين مدل امكانات سرپرستي نامتمركز را حمايت ميكند. هرگاه شخصي جدولي را بوجود ميآورد،. امتيازي را نسبت به آن بدست ميآورد. مالك جدول ميتواند تمام امتيازها را بر جدول اعمال كند.
اين مدل ارجاع بازگشتي دارد، به اين معنا كه وقتي شخصي مجوز جدولي را از كاربر ديگري ميگيرد. تمام مجوزهايي كه قبلاً به او داده شده ارجاع ميشود.
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 دو خط مشي براي حفاظت از توابع مشتق شده دارد.
تحت خط مشي كه مجوز استاتيك ناميده ميشود، فردي كه تقاضاي اجراي يك تابع مشتق را دارد. فقط بايد اجازه فراخواني تابع مشتق را داشته باشد. در خط مشي ديگر، مجوز ديناميك، فرا خواننده هم بايد مجوز فراخواني تابع مشتق را داشته باشد و هم مجوز براي فراخواني تمام توابعي كه تابع مشتق آنها را اجراء ميكند. هنگام ايجاد يك تابع مشتق بايد مشخص كنيم كه از كداميك از اين دو خط مشي براي بررسي تقاضاهاي اجراء استفاده كنيم.
اين مدل همچنين دو مفهوم براي كنترل دسترسي تعريف ميكند: توابع نگهبان guard و توابع پراكسي proxy.
توابع نگهبان، ابزاري براي گذاشتن پيش شرط در فراخواني يك تابع و در نتيجه محدود كردن دسترسي به توابع هستند. تابعي كه تابع نگهبان به آن اشاره ميكند تابع هدف ناميده ميشود. يك تابع هدف اجراء ميشود، اگر تابع نگهبان مربوط به آن موفق ارزيابي شود. مهمترين مزيت تابع نگهبان اين است كه دسترسي به يك تابع محدود ميشود، بدون اينكه لازم باشد كد تابع تغيير كند. توابع پراكسي، پياده سازيهاي مختلفي از يك تابع مشخص را براي افراد مختلف، فرد يا گروه، تأمين ميكند. وقتي يك تابع مورد درخواست واقع ميشود، تابع پراكسي مناسب به جاي تابع اصلي اجراء ميشود.
3ـ3 مدلهاي اعطاي مجوز براي DBMSهاي فعال
پايگاه دادههاي فعال با يك سيستم قانونمند كه DBMS را قادر ميسازد با تريگر كردن قانونها نسبت به حوادث عكسالعمل نشان دهد، تعريف ميشوند. قوانين اعمالي را توصيف ميكند كه ميخواهيم به صورت خودكار در هنگام رخ دادن حادثه خاصي يا ارضاء شدن شرط خاصي در DB اجراء شوند. به عنوان يك مثال از اين مدل در ادامه امكانات سيستم Starbust را شرح ميدهيم.
Starbust يك نمونه از سيستم پايگاه دادهاي رابطهاي توسعه پذير است كه در مركز تحقيقاتي Almaden در IBM توليد شده است. Starbust بوسيلة يك زبان قانونمند توصيف ميشود. مدل اعطاي مجوز آن سلسله مراتبي است و از انواع امتيازها كه در DB ميتواند اعمال شود، حمايت ميكند. دراين سلسله مراتب عناصر بالاتر، انواع پائينتر را پوشش ميدهند. مثالي از انواع امتيازها، كنترل است كه تمام امتيازهاي ديگر يعني Write ، Alter و Attach را پوشش ميدهد. وقتي يك جدول ايجاد ميشود مالك آن امتياز كنترل آن را دريافت ميكند. ايجاد و تغيير قوانين توسط محدوديتهاي زير اداره ميشوند :
- ايجاد كننده يك قانون بر جدول T ، بايد هر دو امتياز Attach و Read را از جدول T داشته باشد.
- نحوة عمل و شرايط قانون ايجاد شده در برابر امتيازات ايجاد كننده چك ميشود. اگر قسمتي از شرايط يا نحوة عملكرد قانون شامل عباراتي شود كه ايجاد كننده اجازه اجراي آنها را نداشته، عمليات ايجاد شده مجاز شمرده نميشود.
- فردي كه متقاضي حذف يك قانون r بر روي جدول T است بايد امتياز كنترل و يا امتياز Attach و كنترل را روي جدول T داشته باشد.
- فرد متقاضي تغيير قانون بايد امتياز Alter را روي قانون داشته باشد.
3ـ4 كنترل دسترسي احتياطي در DBMSهاي تجاري
دراين بخش، توضيح ميدهيم كه چگونه DAC در سيستم شيئي رابطهاي اوراكل اعمال ميشود. در اوراكل، امتيازها به هر دو گروه كاربران و نقشها داده ميشود. نقشها در يك سلسه مراتب سازمان دهي شدهاند و يك نقش تمام امتيازات نقشهاي زير خود در سلسله مراتب را بدست ميآورد. يك كاربر ممكن است مجاز براي ايفاي چند نقش در يك فاصلة زماني باشد. با هر نقشي ممكن است يك كلمه عبور همراه شود. تا از استفاده غيرمجاز امتيازها جلوگيري كند.
مجموعهاي از پيش تعريف شده از امتيازها فراهم است كه ميتواند به هر كدام از نقشها در اوراكل تغيير داده شود. وقتي يك فرد نقشي را ايجاد ميكند، نقش به طور خودكار با اختيارات سرپرستي admin options به ايجاد كننده داده ميشود، كه به او اجازه مي دهد نقش را به نقشي ديگر بدهد يا از او بگيرد و اين كار را ميتواند با اختيارات سرپرستي يا بدون آن باشد. اوراكل همچنين گروه خاص، عمومي public را حمايت ميكند كه براي هر فردي قابل دسترسي است. امتيازها در پايگاه داده اوراكل به دو بخش تقسيم ميشوند:
امتيازات سيستم و امتيازات شيئي :
امتيازات سيستم به فرد اجازه مي دهد، اعمال سيستمي و يا عملي را روي داده خاصي انجام دهد. بيش از 60 محدود از امتيازات سيستمي مهياست. مثالي از اين امتيازها، امتياز حذف تاپل از هر جدولي در DB است. به علت اينكه امتيازات سيستمي قدرتمند هستند، اغلب فقط به DBA يا توليد كنندگان برنامههاي كاربردي داده ميشدند. مثل نقشها اين امتيازات ميتوانند با اختيارات سرپرستي داده ميشوند و اگر شخصي امتياز سيستمي با اختيارات سرپرستي را داشته باشد ميتواند اين امتياز را به افراد ديگر بدهد يا از آنها بگيرد.
امتيازات شيئي به فرد اجازه ميدهد، يك عمل خاص را روي شيئي مشخص در DB انجام دهد. امتيازات حذف يا درج تاپل در يك جدول مشخص، مثالي از اين امتيازهاست. وقتي فردي شيئي را در شماي خودش ايجاد ميكند، به طور اتوماتيك تمام امتيازات شيئي را در مورد آن شيئي مثل حق دادن اين امتياز به ديگران را دريافت ميكند. اگر اين اعطا امتياز همراه با اختيار اعطاء آن باشد، فرد دريافت كننده ميتواند اين امتياز را به ديگران دم بدهد. امتياز شيئي فقط توسط شخصي كه آن را اعطاء كرده بازگردانده ميشود. بازگشت و ارجاع اين امتياز بازگشتي است.
4 – امنيت چندلايه در سيستمهاي پايگاه دادهاي
دراين بخش به شرح جنبههاي امنيت چندلاية در امنيت دائمي براي سيستمهاي پايگاه دادهاي ميپردازيم. بخش اول به طور كلي بروي سيستمهاي رابطهاي متمركز است.
مسئلهاي كه بايد مورد توجه قرار بگيرد اين است كه محصولات قابل توجه ديگري هم براي امنيت چندلايه براي سيستمهاي توزيع شده Distributed ، نامتجانس hetrogeneous و يكپارچه Fedrated است. ما دراين بخش به بحث در مورد بعضي از اين پيشرفتها ميپردازيم.
4ـ1 مدل دادهاي رابطهاي چند لايه
دريك پايگاه دادة چند لايه، تمام دادهها به سطح امنيتي يكساني منسوب نميشوند. اگر چنين پايگاه دادهاي براساس مدل رابطهاي باشد، اشياء طبقه بندي شده ممكن است شامل كل DB، رابطهها، تاپلها، صفات و عناصر دادهاي باشد. دسترسي به چنين اشيايي توسط سياست الزامي كه در بخش 2 صحبت آن شد، اداره ميشود. يك DBMS چند لايه بايد DB چندلايه را از دسترسي غيرمجاز يا تغيير توسط افراد در سطح امنيتي ديگر محافظت كند. يك پايگاه داده رابطهاي چند لايه، DB چندلايه را به عنوان مجموعهاي از رابطهها تعريف ميكند و چنين مدلي، مدل دادهاي چندلايه رابطهاي ناميده ميشود.
هدف طراحان پايگاه دادههاي رابطهاي چند لايه، تعريف نسخههاي گوناگون از موجوديت، عمل يا حادثه يكسان در سطوح امنيتي مختلف بدون تعارض با قوانين امنيتي و جامعيتي است. يكي از مكانيزمهاي ارائه شده، چند نمونه اي بودن polyinstantiation است. اين مكانيزم اجازه ميدهد دو تاپل با كليد اوليه يكسان در يك DB در سطح مختلف امنيتي وجود داشته باشند. اگرچه، وجود دو تاپل با كليد اوليه يكسان متناقض خصوصيت جامعيت موجوديتي در مدل دادهاي رابطهاي استاندارد است. مثال زير را در نظر بگيريد :
EMP يك رابطه با صفات زير است :
دراين رابطه، SS كليد اوليه است فرض كنيم شخصي تاپل زير را ابتدا در EMP درج مي كند :
و سپس فرد ديگري نه از همان طبقه، تاپل زير را وارد كند.
اگر اين تاپل پذيرفته شود تاپل چند نمونه اي polyinstatiated است.
اخيراً بحثهاي بسياري در مورد چند نمونه اي بودن وجود دارد. عدهاي معتقدند چند نمونهاي بودن لازم است اگر ما قصد طراحي پايگاه داده هاي چندلايه با ضريب اطمينان بالا را داريم و عدهاي براين عقيدهاند كه جامعيت DB اهميت بيشتري دارد و چند نمونهاي بودن با آن در تناقض است. سيستمهايي كه در اينجا بحث ميكنيم انواع مختلفي از مدل دادهاي چند لايه را ارائه داده اند و همه خصوصيات امنيتي را كه دراين بخش در مورد آنها صحبت شد را ارضاء ميكنند و چند نمونهاي بودن هم در بسياري مدلها وجود دارد.
4ـ2 معماري
دراين بخش مدلهاي مختلف كنترل دسترسي كه براي MLS/DBMS ها توليد شدهاند، بررسي مي كنيم. در حاليكه DBMSها بايد با انواع مختلف موارد امنيتي به عنوان سيستم عاملهاي قابل اطمينان در تعامل باشند، خصوصيات DBMSهاست كه سطح امنيتي آنها را در مقابل آنچه سيستم عاملهاي سنتي انجام ميدهند. معرفي ميكند. به عنوان مثال اشياء در DBMSها تمايل دارند در سايزهاي چندگانه باشند و بتوانند دانه دانه باشند. اين با سيستمهايي كه در آنها دانه دانه بودن وجود ندارد در تناقض است (به عنوان مثال فايلها يا سگمنتها).
همچنين تفاوتهاي عملياتي آشكاري بين سيستم عاملها و DBMSها وجود دارد كه چگونگي برخورد با مسئله امنيت را تحت تأثير قرار ميدهد. سيستم عاملها تمايل به تعامل با افرادي دارند كه تلاش براي دسترسي به بعضي اشياء دارند DBMSها اشياء را بين كاربران تقسيم ميكنند و براي كاربران ابزار ارتباط با اشياء دادهاي گوناگون را فراهم ميكنند. همچنين به طور كلي DBMSها وابسته به سيستم عامل براي تأمين منابع هستند. بنابراين طراحي DBMSها بايد در راستاي چگونگي برخورد سيستم عامل با مسئله امنيت باشد.
تفاوت بين نحوة عملكرد و احتياجات امنيتي DBMSها و سيستم عاملها به اين معناست كه راه حلهاي سنتي كه براي تأمين امنيت سيستمهايي كه با اين سيستم عاملها بخوبي كار ميكردند، نياز دارند براي DBMSها تغيير داده شوند. در حال حاضر، هيچ معماري به تنهايي مورد قبول يا مورد استفاده در توليد MLS/DBMS ها نيست. گسترده وسيعي از خط مشيها براي طراحي و ساخت MLS/DBMS ارائه شده است. بعضي نظريهها دراين مورد عبارتند از :
- معماري Single-kernel
دراين مدل كنترل دسترسي تماماً به عهدة سيستم عامل است و DBMS نقشي در آن ندارد.
- معماري Distributed
بر طبق اين خطي مشي چندين ماشين انتهايي Back-end DBMS و يك ماشين ابتدايي Front-end مطمئن وجود دارد كه انتهايي از طريق آن با هم در ارتباطند.
- معماري Trusted-Subject
دراين خط مشي كه گاهي دو هستهاي Dual-kernel هم ناميده ميشود، براساس سيستم عامل عمل نمي كند و DBMS كنترل دسترسي را به عهده دارد.
- معماري Integrity-lock
دراين معماري يك انتهايي DBMS مطمئن با دسترسي به تمام دادهها DB و يك ابتدايي نامطمئن كه با كاربرها ارتباط برقرار ميكند و يك انتهايي نامطمئن كه استفاده از تكنولوژي پنهان سازي را فراهم ميكند. دراين خط مشي مهم است كه عناصر نامطمئن از هم جدا باشند. بنابراين مي توان مطمئن بود كه هيچ دو عنصر نامطمئن خارج از نظارت فيلتر مطمئن با هم ارتباط ندارند.
- معماري Extended-Kernel
گسترشي بر مدل اول است. دراين معماري سيستم عامل همچنان دو راه حل MAC و DAC را به كار ميبرد. دراين مدل TDBMS بعضي راهحلهاي مكمل براي فراهم كردن كنترل دسترسي را اضافه ميكند.
4ـ3 محصولات تجاري
از سال 1988 محصولات MLS/DBMS ها توليد شده اند. گرچه تعدادي از آنها هرگز به بازار نيامدند. دراين بخش مروري داريم بر بعضي محصولات تجاري بين سالهاي 1988 تا 1993.
- TRUDATA
نسخة اوليه TRUDATA در سالهاي آخر دهة 80، براساس معماري Integrity-lock به بازار آمد. TRUDATA از ماشين Britton lee به عنوان انتهايي نامطمئن و سيستم AT&T 3B2V/MLS به عنوان ابتدايي استفاده ميكند.
- Secure Sybase
Secure SQL Server كه متعلق به شركت Sybase است، سيستم مبتني بر معماري Trusted-Subject با معماري CIS Client/Server است. در موارد اوليه قسمت مشتري معماري بروي Ultrix، SE/VMS يا SUN MLS اجراء مي شد و قسمت خدمتگزار بروي Ultrix و چون Ultrix سيستم مطمئني نبود، بنابراين محيط سيستم عاملي امني به حساب نميآمد و در نتيجه كنترل دسترسي به DBMS داده شد.
- Trusted Oracle
تلاش DBMS اوراكل در بين كارهايي كه انجام شده يكتاست و به گونهاي است كه هر دو معماري Trusted-Subject,Single-kernel را ارضاء ميكند. Single-kernel در نسخههاي اوليه اوراكل توسط سيستم عاملها SE/VMS و HP/VX كه اين DB روي آنها اجراء ميشد، تأمين ميگرديد. اوراكل مطمئن چند نمونه اي بودن براي عمل درج را حمايت ميكند.
5 زمينههاي تحقيق
بسياري محيطهاي كاربردي پيشرفته مثل كتابخانههاي ديجيتال توزيع شده، سيستمهاي اطلاعاتي ناهمگون heterogeneous ، سيستمهاي همكار Cooprative ، برنامههاي كاربردي Work flow و غيره احتياجات كنترل دسترسي بسيار زيادي دارند، به طوري كه مكانيزمهاي كنترل دسترسي امروزه نميتوانند پاسخگوي اين نيازها باشد. در بسياري موارد يا سازمان مجبور به بكارگيري سياست خاصي براي كنترل دسترسي به صورت دستي است يا بايد اين سياستها توسط برنامه كاربردي پياده سازي شوند، كه هر دو موقعيت آشكارا غير قابل قبول است. در اين بخش احتياجات كنترل دسترسي در سه زمينه مهم امروزي مطرح ميشود :
- كتابخانه هاي ديجيتال :
ـ مكانيزم تشخيص انعطاف پذير افراد.
ـ كنترل دسترسي Content-base به مولتي مديا و دادههاي ساختار نيافته.
ـ دسترسيهاي از راه دور و دسترسي به كتابخانههاي توزيع شده.
ـ كپي كردن و استفاده كردن از اطلاعات.
- سيستمهاي مديريتي Work flow
ـ كنترل دسترسي Role-base
ـ محدوديتهاي اعطاي مجوز بروي نقشها و كاربران.
- شبكه جهاني WWW
ـ استراتژي مفيد براي ذخيره سازي مجوزها.
ـ عمليات سرپرستي.
ـ مدلهاي اعطاي مجوز براي XML
6ـ جمع بندي
دراين مقاله مروري داشتيم بر امنيت در پايگاه دادههاي كامپيوتري. مفاهيم اساسي در كنترل دسترسي همچنين سياستهاي MAL و DAC معرفي شدند. مروري داشتيم بر سياستهاي سرپرستي ارائه شده و امنيت الزامي، مدلهاي دادهاي، معماريها، محصولات تجاري و صحبت كوتاهي شد در مورد محصولات و تمايلات امروزي.
محصولاتي دراين مقاله معرفي شدند. در مورد ساختار آنها صحبت مختصري شد، اين محصولات هرساله بهبود مييابند. بنابراين براي اطلاعات به روزتر خواننده بايد به كاتالوگ فروشندگان يا توليد كنندگان اين محصولات مراجعه كند.
جهت سيستمهاي پايگاه دادهاي به سوي محصولات تحت وب پيش مي رود و سيستمهاي پايگاه داده ديگر سيستمهاي مستقل نخواهد بود. آنها درحال يكي شدن با كاربردهاي مختلفي مثل مولتي مديا، تجارت الكترونيكي ، سيستمهاي كامپيوتري سيار و كتابخانه هاي ديجيتال هستند. موارد امنيتي براي چنين سيستمهاي بسيار مهم است. علاوه بر اين امنيت در سيستمهاي work folw موضوع تحقيق بسياري از افراد است. و رقابت شديدي براي فرموله كردن سياستها در چنين سيستمهاي وجود دارد. تكنولوژيهاي جديد مثل داده كاوي Data Mining به حل مشكل امنيتي كمك خواهند كرد و به طور كلي DB همچنان در تكاپو خواهد بود و پيشرفت خواهد كرد و مسئله امنيت آن نمي تواند فراموش شود.
– مراجع
[1] Mario Piattini , and Oscar Diaz, Advance Data base Technology and Design, Briston: Artech House, 2000.
[2] E. Bertino, and E. Ferrari, “Adiminstration Policies in a Ualtipolicy Authorization System,” Proc . 10th IFIP Working conf. Data base Security, Lake Tahoe, CA, Aug. 1997.
[3] D. Bell, and L. Lapadula, “Secure Computer systems,” ESD-TR-75-306, Hanscom Air Force Base, Bedford, MA, 1975.
دسته بندی نوشته ها
جدیدترین نوشته ها
- آغاز فرآیند اخراج کارکنان پس از تصاحب VMware توسط برودکام آبان 9, 1402
- تراشهی Dimensity 9300 قدرتمندترین پردازنده موبایل جهان آبان 9, 1402
- احتمال اضافه شدن هوش مصنوعی کوپایلت به فایرفاکس آبان 9, 1402
- نسخه جدید Tiny11 با ۲۰ درصد کاهش حجم به بازار آمده است. آبان 9, 1402
- یوتیوب پریمیوم گام جدیدی به سوی تفریح گیمرها برمیدارد آبان 9, 1402
دیدگاهتان را بنویسید