380 likes | 701 Views
مروري بر مدلهاي کنترل دسترسي مشبک-مبنا. جعفرهادي جعفريان jafarian@ce.sharif.edu. مقدمه. محرمانگي، جلوگيري از افشاي غيرمجاز اطلاعات صحت، جلوگيري از تغيير غيرمجاز اطلاعات دسترس پذيري، جلوگيري از با منع دسترسي ( DoS ) هدف مدلهاي کنترل دسترسي مشبک- مبنا، کنترل جريان اطلاعات است
E N D
مروري بر مدلهاي کنترل دسترسي مشبک-مبنا جعفرهادي جعفريان jafarian@ce.sharif.edu
مقدمه • محرمانگي، جلوگيري از افشاي غيرمجاز اطلاعات • صحت، جلوگيري از تغيير غيرمجاز اطلاعات • دسترس پذيري، جلوگيري از با منع دسترسي (DoS) • هدف مدلهاي کنترل دسترسي مشبک-مبنا، کنترل جريان اطلاعات است • در کنترل جريان اطلاعات • محرمانگي هدف مرکزي است • صحت تا حدي مورد نظر است • دسترس پذيري اهميت چنداني ندارد
کنترل جريان اطلاعات • تعيين مسيرهاي مجاز و جلوگيري از جريانهاي غيرمجاز با هدف • حفظ محرمانگي • جلوگيري از جاريشدن اطلاعات به سوي موجوديتهاي غيرمجاز • حفظ صحت • جلوگيري از جاريشدن اطلاعات به سوي موجوديتهاي با صحت پايين
کنترل جريان اطلاعات: رويکردها • دو رويکرد کلي • بيان خصوصيات مورد انتظار امنيتي در فرايند توليد با رويههاي مهندسي نرمافزار • استفاده از مدلهاي کنترل دسترسي مشبکمبنا • انتزاعي از خطمشيهاي مشبکمبنا • نوع خاصي از خطمشيهاي جريان اطلاعات
خط مشي هاي جريان اطلاعات • هدف: کنترل جريان اطلاعات بين کلاسهاي امنيتي • به هر شيء يک کلاس امنيتي تخصيص داده مي شود • تعريف خط مشي جريان اطلاعات (Denning): • يک سه تايي <SC,→, > که در آن SC مجموعه اي از کلاسهاي امنيتي است، →SC*SC يک رابطه دوتايي به نام can-flow روي SC است و :SC * SC → SC يک عملگر پيوند روي SC است، • َA B = C : اشيائي که شامل اطلاعاتي از کلاسهاي امنيتي A و B هستند باکلاس امنيتي C بايد برچسب گذاري شوند
کلاسهاي مجزا (Isolated Classes) • يک مثال بديهي از يک خط مشي جريان اطلاعات • هيچ جريان اطلاعاتي بين کلاسهاي امنيتي مختلف وجود ندارد • SC = {A1…,An} • براي i=1...n داريم • Ai →Ai و AiAi=Ai • براي i,j=1..n و i j داريم: • Ai →/ Aj و AiAjتعريف نشده است
خط مشي بالا - پايين • تنها دو کلاس امنيتي بالا (H) و پايين (L) وجود دارد • تنها جريان اطلاعات غير مجاز از H به L است. • SC = {H,L} و → = {(H,H),(L,L),(L,H)} • عمليات به صورت زير تعريف شده است • L H = H • L L = L • H L = H دياگرام هاس
خطمشي مشبکمبنا • خطمشي جريان اطلاعات متضمن عدم وجود جريان غيرمجاز نيست • اگر a c و b c آنگاه a b c e c a b يک مدل آگاه از زمينهي کنترل جريان اطلاعات - جعفرهادي جعفريان
خطمشي مشبکمبنا (ادامه) • مشبکبودن، شرط کافي براي تضمين عدم وجود جريان غيرمجاز • شرط مشبکبودن يک خطمشي (اصول موضوعه دنينگ): • متناهي بودن مجموعهي کلاسهاي SC • جزئاً مرتب بودن رابطه قابل جريان () روي SC • دارا بودن کران پايين نسبت به رابطهي • کوچکترين کران بالاي کاملاً تعريفشده براي عملگر • خطمشي بالا-پايين مشبکمبناست يک مدل آگاه از زمينهي کنترل جريان اطلاعات - جعفرهادي جعفريان
اصل موضوعه اول Denning • محدود بودن تعداد کلاسهاي امنيتي موجود در SC • تعداد کلاسهاي امنيتي موجود در SC ثابت است • اما تعداد اشياء مي تواند بصورت پويا تغيير کند • اصول موضوعه مربوط به کلاسهاي امنيتي است نه اشياء
اصل موضوعه دوم Denning • → يک رابطه ترتيب جزئي روي SC است • تعدي بدين معناست که اگر A → B و B → C آنگاه A → C • اگر يک جريان غير مسقتيم از A به C وجود داشته باشد، آنگاه يک جريان مستقيم از A به C مفروض است • در برخي سيستمها، چنين فرضي درست نيست • مثلا در يک سيستم جريان از H به L تنها در صورت وجود يک دستگاه سنکرون کننده امکان پذير است، يعني: H → San و San → L اما H → / L • با توجه به خاصيت بازتابي و تعدي، خاصيت عدم تقارن به معناي حذف کلاسهاي امنيتي تکراري است • A →B و B → A آنگاه A = B
اصل موضوعه سوم Denning • وجود کران پايين L براي SC، يعني L → A • اين اصل موضوعه به معناي وجود اطلاعات عمومي در سيستم است • به عنوان مثال، اطلاعات درباره ثابت ها بايد اجازه جريان يافتن به هر شيء ديگري را داشته باشد
اصل موضوعه چهارم Denning • کاملا تعريف شده: A B براي هر جفت کلاس امنيتي متعلق به SC تعريف شده باشد • عملگر پيوند يک کوچکترين کران بالاست • خاصيت اول: A → A B، B → A B • خاصيت دوم: اگر A → C و B → C آنگاه A B → C • کوچکترين کران بالا يک عملگر انجمني و جابجايي پذير است • عملگر پيوند مي تواند به هر تعداد کلاس امنيتي اعمال شود، • A1 A2 … An
مدلهاي کنترل دسترسي مشبکمبنا • انتزاعي از خطمشيهاي مشبکمبنا • مشکل کانالهاي پنهان • دستهي بزرگي از مدلهاي کنترل دسترسي اجباري، مشبکمبنا هستند. • مدلهاي بللاپادولا، بيبا، دايون • خطمشي ديوار چيني يکمدلآگاهاززمينهيکنترلجرياناطلاعات - جعفرهاديجعفريان
مشبک نظامي • ساده ترين شکل خط مشي جريان اطلاعات وقتي رخ مي دهد که رابطه can-flow يک ترتيب کلي يا خطي از کلاسهاي امنيتي باشد. • هيچ دو کلاس غير قابل مقايسه اي وجود ندارد • اين کلاسهاي امنيتي در سيستمهاي نظامي عبارتند از: • TS (فوق سري)، • S(سري) • C(محرمانه) • U(طبقه بندي نشده)
مشبک نظامي (ادامه) • شکل مقابل يک مشبک زيرمجموعه (subset lattice) را نشان مي دهد • رابطه can-flow همان رابطه زير مجموعه است • عملگر پيوند همان عملگر اجتماع است • A و B طبقه (category) ناميده مي شوند
مشبک نظامي (ادامه) • در محيطهاي نظامي، مشبک کاملا مرتب و مشبک زير مجموعه با هم ادغام مي شوند • هر کلاس امنيتي دو مولفه دارد: • يک مولفه از مشبک کاملا مرتب • يک مولفه از مشبک زير مجموعه • يک برچسب بر برچسب ديگر تفوق دارد اگر مولفه هاي برچسب اول بر مولفه هاي برچسب دوم تفوق داشته باشند • حاصل پيوند دو برچسب، حاصل پيوند مولفه هاي مرتبط آنهاست
مدل Bell-LaPadula • ايده اصلي BLP افزودن خط مشهاي اجباري به مدل کنترل دسترسي اختياري در جهت حصول خط مشي هاي جريان اطلاعات مي باشد • در مدل BLP کنترل يک دسترسي دو مرحله دارد: • ابتدا مجازشناسي درخواست دسترسي بر اساس يک ماتريس دسترسي اختياري D • و سپس، مجازشناسي درخواست بر اساس خط مشي هاي اجباري
مدل Bell-LaPadula(ادامه) • به هريک از موجوديت هاي سيستم يک برچسب امنيتي تخصيص داده مي شود • برچسبهاي اشياء طبقه بندي امنيتي (security classification) ناميده مي شود • برچسب کاربر، مجوز امنيتي (security clearance)ناميده مي شود • يک کاربر مي تواند با عاملهايي با سطح امنيتي پائين تر از سطح امنيتي خودش وارد سيستم شود
مدل Bell-LaPadula(ادامه) • اگر λ نشانگر برچسبهاي امنيتي منتسب به عاملها يا اشياء باشد، قوانين BLP عبارتند از: • خاصيت امنيتي ساده (ss-property): عامل s مي تواند شيء o را بخواند اگر λ(s)≥ λ(o) • خاصيت ستاره (*-property): عامل s مي توان در شيء o بنويسد اگر λ(s) ≤ λ(o) • اين دو قاعده از ديدگاه جريان اطلاعات قابل توجيهند • در عمل خواندن، جريان اطلاعات از شي به عامل است • در عمل نوشتن، جريان اطلاعات از عامل به شيء است • رابطه → عکس رابطه تفوق است • A → B B ≥ A
مدل Bell-LaPadula(ادامه) • ديگر عملياتها • بر اساس مدل BLP، همه عملياتهاي سيستم ماهيتي خواندني يا نوشتني دارند (alteration vs. observation) • به عنوان مثال عمليات از بين بردن شيء (destroy object)، از نوع نوشتني است، چراکه منجر به تغيير حالت شيء مي شود • قوانين BLP ماهيت ”اگر“ (only if) دارند، چون تنها شرط لازمند • ss-property در مورد کاربران و برنامه ها مورد استفاده قرار مي گيرد • اما *-property فقط در مورد برنامه هاست • کاربري با برچسب امنيتي سري براي نوشتن در يک مستند طبقه بندي نشده مي تواند به عنوان يک عامل طبقه بندي نشده وارد سيستم شود
مدل Bell-LaPadula(ادامه) • يک ايراد *-property اين است که يک عامل طبقه بندي نشده مي تواند در يک فايل سري بنويسد • براي جلوگيري از اين مشکل صحت، خاصيت ستاره اصلاح شده (modified *-property) ارائه شده است که در آن λ(s) = λ(o)
مدل Bell-LaPadula(ادامه) • مدلهاي کنترل دسترسي اجباري، مشکل کانالهاي پنهان (covert channels) را حل نمي کنند • يک عامل سري، مي تواند مقدار زيادي حافظه در سيستم استفاده کند و يک عامل طبقه بندي نشده، مي تواند با بررسي حافظه موجود، از اين قضيه مطلع شود • کانالهاي پنهان يکي از مشکلات اساسي در خط مشي هاي جريان اطلاعات هستند • مدلهاي مشبک – مبنا مشکل کانال پنهان را مورد توجه قرار نداده اند • اين مدلها به دنبال کنترل جريان اطلاعات بين اشيائي هستند که صريحا به منظور به اشتراک گذاري و ردوبدل اطلاعات طراحي شده اند • مشکل جلوگيري از کانالهاي پنهان، يک مساله مهندسي محسوب مي گردد
مدل Biba • مفهوم اصلي در مدل Biba اين است که اطلاعات با صحت پائين نبايد به اشياء با صحت بالا جريان يابند در حالي که عکس آن امکان پذير است
مدل Biba • اگر ω برچسبهاي صحتي اشياء و عاملها را نشان دهد، قوانين صحتي مدل Biba عبارتند از: • خاصيت صحتي ساده (simple-integrity property): عامل s مي تواند شيء o را بخواند اگر ω(s) ≤ ω(o) • خاصيت ستاره صحتي (integrity *-property): عامل s مي تواند در شيء o بنويسد اگر ω(s) ≥ ω(o) • رابطه → معادل رابطه تفوق است • A → B B ≤ A • اين دو خصيصه همزاد خصيصه هاي معادل در BLP هستند
ادغام مدلهاي Biba و BLP • تفاوت عمده اي بين مدلهاي BLP و Biba وجود ندارد • هر دو سعي در کنترل جريان در مشبکي از کلاسهاي امنيتي دارند که در آن جريان اطلاعات در مشبک تنها در يک جهت مجاز است
ادغام مدلهاي Biba و BLP (ادامه) • در محيطهايي که محرمانگي و صحت هردو مورد نظرند مي توان مدلهاي Biba و BLP را ادغام نمود • اگر براي نمايش سطح صحت و امنيتي موجوديتها تنها از يک برچسب استفاده شود • يک عامل تنها اجازه خواندن يا نوشتن در اشيائي را دارد که برچسبي برابر برچسب خود عامل دارند • خط مشي کلاسهاي مجزا • بنابراين از دو برچسب امنيتي و صحتي استفاده مي کنيم
ادغام مدلهاي Biba و BLP (ادامه) • اگر ω نشان دهنده برچسبهاي صحتي و λ نشان دهنده برچسبهاي امنيتي باشد، آنگاه: • عامل s مي تواند شيء o را بخواند، اگر λ(s) ≥ λ(o) و ω(s) ≤ ω(o) • عامل s مي تواند در شي o بنويسد λ(s) ≤ λ(o) و ω(s) ≥ ω(o) • اين مدل عملا استفاده همزمان از دو مشبک است که در آن اطلاعات در دو جهت متضاد حرکت مي کند • در مشبک محرمانه به سمت بالا و در مشبک صحت به سمت پايين • مي توان با برعکس کردن مشبک صحت و ضرب اين دو مشبک، به يک مشبک واحد رسيد • خط مشي هاي جريان اطلاعات مشبک – مبنايي که چندين مشبک را ترکيب مي کنند مي توانند تبديل به يک مشبک گردند
ادغام مدلهاي Biba و BLP (ادامه) • يک سه تايي SC,→, • SC مجموعهي کلاسهاي امنيتي به شکل c,i که در آن • c ConfLvl = n,.., 1 و i IntegLvl = m,.. 1 • تعداد کلاسهاي امنيتي: تعداد سطوح محرمانگي تعداد سطوح صحتي • r, s p, q اگر • r = p-1 و q=s • در سطوح محرمانگي، جريان اطلاعات از پايينترين به بالاترين سطح • يا s = q+1 و r=p • در سطوح صحتي، جريان اطلاعات از بالاترين به پايينترين سطح • x, y z, w = max(x,z), min(y,w) • n, 1 بالاترين سطح
ادغام مدلهاي Biba و BLP (ادامه) مفاهيم اوليه نيازهاي امنيتي محيطهاي جديد مدل CAMAC گويايي مدل CAMAC CAMAC به عنوان يک مدل مشبکمبنا ارزيابي جمعبندي • نمودار هاس خطمشي ترکيبي براي m = n = 3 31 21 32 22 11 33 22 23 13
ادغام مدلهاي Biba و BLP (ادامه) • مشبکمبنا بودن خطمشي ترکيبي ثابت بودن مجموعه کلاسهاي امنيتي جزئاً مرتب بودن رابطهي دارا بودن کوچکترين کران پايين نسبت به رابطهي • کلاس 1, m کوچکترين کران بالاي کاملاً تعريفشده براي عملگر • خطمشي ترکيبي ضرب دو مشبک بللاپادولا و بيبا • ضرب دو مشبک خود يک مشبک است
منابع • Ravi S. Sandhu, “Lattice-Based Access Control Models”, IEEE Computer Society Press, 1993 • Indrakshi Ray, Mahendra Kumar, “Towards a location-based mandatory access control model”, Computer & Security, 2006 • D. Bell and L. LaPadula, “Secure Computer Systems: Mathematical Foundations”, Technical Report MTR-2547, Vol. I, MITRE Corporation, 1973.