بررسی اصول امنیتی پایگاه های داده بخش پنجم
2-4-3-3-2 سیاست اجباری
در جاهایی که حجم بزرگی از اطلاعات نیاز به امنیت شدید دارد از این سیاست استفاده میشود. نام دیگر این سیاست ، سیاست کنترل انتشار است زیرا مانع از انتشار اطلاعات از منابع سطح بالا به منابع سطح پایین میشود. دسترسی به دادهها از طریق کلاسهای امنیتی تعریف شده برای منابع و درخواستکنندهها صورت میگیرد و به هر كاربر و منبع موجود در سيستم ، سطحي از امنيت داده ميشود. سطح امنیت متناظر با یک درخواستکننده نشان دهندۀ درجۀ اعتمادی است که به او وجود دارد و سطح کلاس بندی متناظر با یک منبع نشان دهنده درجۀ اهمیت اطلاعات موجود در آن منبع است و یا به عبارت دیگر نشان دهنده پتانسیل آسیبرسی به سیستم در صورت فاش شدن غیر مجاز اطلاعات آن منبع است. در ساده ترين حالت ، سطوح امنيت به صورت سلسله مراتبي تعريف ميشود.
دو مولفه مهم در کلاس بندی منابع وجود دارد :
سطح کلاس بندی : که منعکس کننده سطح اطلاعاتی که آن منبع دارد. این سطوح عبارنتد از :
- 0 = غیر محرمانه(U)
- 1 = محرمانه(C)
- 2 = سری(S)
- 3 = فوق سری(TS)
طبقه : که منعکس کننده دپارتمانهای یک سازمان و یا حوزههای سیستمی است. برای مثال در محیطهای نظامی این حوزهها میتوانند شامل هستهای – ناتو – جاسوسی و در محیطهای صنعتی شامل تولید – مهندسی – پرسنل – مدیریت باشد. تعداد طبقههای قابل استنتاج برای m حوزه ، 2m میباشد. برای این کلاسهای امنیت رابطههایی بصورت زوج مرتب تعریف میشود که مولفه اول نشان دهنده سطح کلاس و مولفه دوم نشان دهنده طبقه است. دو زوج مرتب SC1=(A1,C1) و SC2(A2,C2) را در نظر بگیرید. رابطۀ SC1≤SC2 در صورتی برقرار است که A1≤A2 و C2 C1 باشد. بنابراین رابطۀ ((ناتو ، هستهای) ، 3) ≥ (ناتو ، 2) برقرار است و رابطۀ (ناتو ، 3) ≥ ((ناتو، هستهای) ،2) برقرار نیست.
البته این طبقه بندی(فوق سري ، سري ، محرمانه و غير محرمانه) در مورد درخواستکنندهها نیز وجود دارد. رابطه "فوق سري > سري<محرمانه<غير محرمانه" در بين این طبقات صادق است. هر سطح امنيت ، حق دسترسي به گروه خود و گروههاي زيرين خود را دارد. دسترسي به يك منبع به وسيله يك درخواست كننده ، تنها در صورتي مجاز است كه سطوح امنيت ، هم در منبع و هم در درخواست كننده برقرار باشد. به طور كلي دو قانون زير بايد برقرار باشد.
شکل2-8 : کنترل انتشار اطلاعات برای تامین محرمانگی
• قانون خواندن : سطح امنيت درخواست كننده بايد از سطح امنيت منبعي با قابليت خوانده شدن ، بالاتر باشد.
• قانون نوشتن: سطح دسترسي درخواست كننده بايد از سطح دسترسي منبعي با قابليت نوشته شدن ، پايينتر باشد.
ارضا اين دو قانون از انتقال اطلاعات موجود در منابع سطح بالا به منابع سطح پايين جلوگيري ميكند. اثر اين قوانين در شكل1-8 توضيح داده شده است. در چنين سيستمي اطلاعات موجود در يک سطح يا در آن سطح منتقل ميشوند يا به سطوح بالاتر انتقال ميیابند.
در اين بخش ضروري است كه تفاوت بين درخواست كننده و كاربر را دريابيم. فرض كنيد كاربري با سطح امنيت سري موجود باشد واين كاربر هميشه به سيستم تحت عنوان درخواست كننده سري وارد شود. اين درخواست كننده بر اساس قانون خواندن نميتواند اطلاعات از نوع فوق سري را بخواند. قانون نوشتن دو نتيجه دارد كه در نگاه اول ممكن است در تناقض با هم بنظر آيند: درخواستكننده سري ميتواند يك منبع نوشتني ايجاد كند(اگرچه قادر به خواندن آن نيست).در واقع اين درخواست كننده ميتواند بر روي منابع نوشته و آنها را تغيير داده و يا آنها را خراب كند. به همين دليل بسياري از سيستمها اجازه نوشتن در سطوح بالا را به درخواستكنندههاي سطوح پايين نميدهند و آنها تنها مجاز به نوشتن ، در منابع هم سطح با سطح خود ميباشند كه اين نوشتن نيز داراي محدوديتهايي است. از طرفي اين درخواستکنندههای سطح سري ميتواند به درخواستكنندههاي سطح فوق سري پيغام داده ، با آنها ارتباط برقرار کرده و درخواستهای خود را به آنها ابلاغ کنند و از مزاياي اين كار بهره گيرد.
درخواست كننده سري ، نميتواند بر روي دادههاي سطوح محرمانه و غير محرمانه بنويسد ، به اين معني كه اين درخواست كننده نميتواند هيچ پيغامي به كاربران سطح محرمانه و غير محرمانه بدهد و اين يك تناقض است و بصورتي كه در زير توضيح داده شده است حل ميشود. به درخواستكننده سري اجازه داده ميشود تا به سيستم تحت عنوان كاربر محرمانه و غير محرمانه وصل شود و به كاربران سطح محرمانه و غير محرمانه پيغام دهد. به عبارت ديگر كاربر ميتواند به سيستم تحت عنوان كاربراني كه سطح امنيت پايينتري دارند وصل شود.
پس علت استفاده از قانون نوشتن چيست؟ دليل اصلي اين است كه مانع نفوذ اطلاعات توسط نرمافزارها از سطوح بالايي امنيت به سطوح پايين و نتيجتا فاش شدن آنها شود. به كاربران اعتماد شده است تا اطلاعات را فاش نكنند ولي نرمافزارهاي تحت فرمان آنها ممكن است مورد سوء استفاده قرار گيرند و شايستگي چنين اعتمادي را ندارند. به عنوان مثال كاربري با نام ياشار با سطحي به سيستم وصل ميشود كه قادر به خواندن اطلاعات نيست. در نتیجه ، نميتواند اطلاعات را از سطح سري به سطوح پايين تر انتقال دهد. قانون نوشتن مانع انتقال تصادفي اطلاعات از سطوح بالا به پايين ميشود.