بخشی از مقاله


ارزيابي امنيت سيستم عامل ها

چکيده
در جامع اطلاعاتي امروز، امنيت اطلاعات بيش از پيش مورد توجه قرار گرفته است ، که عمدتا به پنج قسمت امنيت فيزيکي ، امنيت شبکه ، امنيـت host ، نرم افزار امنيتي و امنيت داده ها تقسيم شده اند. با اين وجود، امنيت يک سيستم کامپيوتري با کاربردهاي خاص و مهم وابسته به سيستم عامل (OS) است ، آنچه مشخص است اين است که امنيت OS است پيش شرط اساسي و پايه هاي امنيت کل سيسـتم اطلاعـاتي يـک کـامپيوتر است . در اين مقاله ، ابتدا، اهميت امنيت سيستم عامل را مورد بحث قرار مي دهيم و سپس به معرفي مکانيزم هاي امنيتي سيستم عامـل ، تقاضـاي امنيت ، سياست هاي امنيتي و مدل هاي امنيتي و در نهايت ، به ارزيابي ضعف ها و آسيب پذيري هاي سيستم عامل مي پردازيم .
کلمات کليدي
سيستم عامل ، امنيت ، کنترل دسترسي ، رمزنگاري
١- مقدمه
يک سيستم عامل بخشي بنيادي از سيستم هاي کامپيوتري امروزي است . سيستم عامل ها نزديک به سخت افزار هستند و پيچيدگي هاي آنرا از کاربر پنهان مي کنند. همچنين پايين ترين لايه نرمافزاري را براي کاربر فراهم مي نمايند. از سوي ديگر سيستم عامل ها، در کنار مديريت منابع وظيفه کنترل دسترسي به حافظه کاربردي و زمانبندي پردازنده را بر عهده دارند. برنامه هاي کاربردي مي بايست مانند سرويس هاي سطح سيستم عامل اجرا گردند. توسعه دهندگان اين برنامه هاي کاربردي چيز زيادي از جزئيات مورد نياز براي ساخت برنامه هاي امن نمي دانند. بنابراين اين وظيفه بر عهده سيستم عامل (يا OS) است ، از اين رو OS محلي کاملاً منطقي براي اعمال و پشتيباني از امنيت است . در ادامه به معيارهاي متداول و مکانيزمهاي امنيتي در OS مي پردازيم ، همچنين ضعف هاي رايج OSها را بررسي مي کنيم .
مبحث امنيت سيستم عامل حول چهار عنصر اصلي مي گردد :
١. محرمانه بودن
٢. تماميت
٣. دسترسي ٣ (فراهم بودن )
٤. سنديت
محرمانه بودن، از دسترسي بدون اجازه و فاش کـردن داده و اطلاعـات جلوگيري مي کند و يا آنرا بـه حـداقل مـي رسـاند. تماميـت ، از صـحّت اطلاعاتي که با آنها کار مي کنيم اطمينان حاصل مي کند. دسترسي (يـا فراهم بودن) (بر طبق تعريف «٢٨٢٨ RFG») خاصيت يک سيستم يـا منابع سيستم اسـت کـه از طريـق يـک موجوديـت داراي مجـوز قابـل استفاده و در دسترس بوده و بـا مشخصـات کـارايي سيسـتم مطابقـت داشته باشد. اصل فراهم بودن با دارايي هاي سيستم کامپيوتري از قبيل سخت افزار، نرمافزار و داده در ارتباط است .
سخت افزار کامپيوتر بيشترين آسيب پذيري را در برابـر حمـلات را دارد (صدمات تصادفي يا عمدي و همچنين ربوده شدن). تهديد اصلي بـراي نرمافزار حمله به دسترسي و فراهم بودن آن است (مديريت پيکربندي، تغيير نرمافزار و غيره).
محرمانه بودن و تماميت با سه نقش مهم در ارتباط هستند:
١. مدلهاي حفاظت
٢. صلاحيت
٣. ضمانت
يکــي از مهمتــرين فاکتورهــاي محرمانــه بــودن و تماميــت اطلاعــات مدلهاي حفاظتي است . مدل يکي از مهمترين جنبه هاي امنيت است ، حتي اگر تمامي امور ديگر در سيستم بدون نقص باشد باز هم با وجـود استفاده از يک مـدل ضـعيف راه سـوءاسـتفاده بـاز اسـت . هـر يـک از مدلهاي حفاظت بايد اثبـات شـود کـه حتـي الامکـان بسـته هسـتند.
مدلهاي حفاظتي معروف شامل مدلهاي حفاظتي (محرمانه ) کنتـرل دسترسي اجباري سلسله مراتبي Lapadula –Bell و مـدل تماميـت سلسله مراتبي Biba، مي شوند. مطلب بعدي در مورد صلاحيت اسـت .
صلاحيت ها، ابزار و وظايفي (قابليت هايي ) است که سيستم عامل بکـار مي برد تا يک مدل داده شده را پيـادهسـازي کـرده و چيزهـايي ماننـد کنترل دسترسي ها يا اينکـه چـه امتيـازاتي موجـود هسـتند و چگونـه تعريف مي شوند را شامل مي شود.
مثالها ي رايج در اين زمينه شامل گروهها، اينکه چگونه تنظيم زمـان سيستم کنترل مي شود، يـا از کـار انـداختن سيسـتم در هنگـامي کـه رخداد معيني را نمي تـوان بازرسـي کـرد، مـي شـوند. آخـرين قسـمت محرمانه بودن و تماميت دادهها، ضمانت ٤ است . ضمانت ها راهـي بـراي تعيين اين هستند که آيا مدلهاي مورد نظر بـه درسـتي پيـادهسـازي شدهاند و امکان دور زدن آنها وجود دارد يا خير، ضمناً ضمانت ها تقريباً تمامي جنبه هـاي سيسـتم را در بـر مـي گيرنـد، از سـطح بلـوغ، تـيم توسعه دهنده تا کيفيت و قابل فهم بودن مستندسازي ٥ معمـاري خـود سيستم عامل . براي مثـال اسـتفاده از معمـاري ريـز کرنـل ٦ موجبـات ضمانت هاي خيلي بالاتري را فراهم مـي کنـد زيـرا تمـامي جنبـه هـاي مدلهاي حفاظتي مي تواند در يکجا که بعنوان "مبصر (ناظر) ارجاع ٧ "
" شناخته مي شود پيادهسازي شود.
۱-۱- مکانيزم هاي حفاظت
مفهوم چند برنامگي ٨ اشتراک منابع بين کاربرها را معرفي مي کند، اين اين اشتراک شامل حافظه ، دستگاههاي I.O ، برنامه ها و دادهها است .
قابليت اشتراک بين اين منابع بر نياز به حفاظت صحّه مي گـذارد. يـک OS ممکن است حفاظت را در طيفي از موارد ذيل ارائه کند:
بدون حفاظت ٩: اين رويکرد زماني مناسب است که روالهـاي حسـاس در زمانهاي مجزا اجرا شوند. جداسازي ١٠: اين رويکرد اشاره مي کند که هر پروسه (پردازه) بـه طـور مجزا از ساير پردازهها عمل مي کند، بدون آنکه اشتراکي در کـار باشـد.
هر پردازه فضاي آدرس، فايل ها و ساير اشياء خود را در اختيار دارد.
اشتراک همه چيز يا هيچ چيز١١: در ايـن متـد مالـک يـک شـي ء، آن را عمومي يا خصوصي ١٢ اعلان مي کند به عبارت ديگـر تنهـا پـردازههـاي مالک مي توانند به شي ء دسترسي داشته باشند.
اشتراک از طريق صلاحيت هـاي دينـاميکي : ايـن متـد مفهـوم کنتـرل دسترسي را براي ايجاد حقوق بـه اشـتراک گذاشـته شـده (مشـترک) اشياء، بسط مي دهد.
محدود کـردن اسـتفاده از يـک شـي ء: ايـن فـرم از حفاظـت نـه تنهـا دسترسي به يک شي ء را محدود مي کند بلکه کاربردي را که آن شـي ء ممکن است در آن واقع شود را نيز محدود مي کند.
۱-۲- حفاظت از حافظه
در محــيط چنــد برنــامگي حفاظــت از حافظــه اصــلي امــري اســت اجتنابناپذير. زيرا اين مسأله نه تنها براي حفاظت بلکه بـراي عملکـرد صحيح سيستم لازم است . جداسازي فضاي حافظه پروسه هاي گوناگون به سادگي از طريق طرح حافظه مجازي حاصل مي شود.
قطعه بندي و صفحه بندي، يا ترکيب آنها روش مناسـب بـراي مـديريت حافظه اصلي هستند و ابزار قدرتمندي را در اختيار ما قرار مـي دهنـد. اگر جداسازي کامل مد نظر ماست کافي است OS هر لحظه چک کند که هيچ قطعه يا صفحه اي به دو پروسه به طور همزمان اختصاص نيابد.
براي اين کار کافي است کـه در هـيچ لحظـه اي در جـدول صـفحات . قطعات دو درايه به صورت تکراري موجود نباشـند. اگـر اشـتراک يـک قطعه يا يک صفحه مد نظرباشد آنگاه آن قطعه يـا صـفحه در بـيش از يک جدول ظاهر مي شود، قطعه بنـدي بـه ويـژه مرهـون پيـادهسـازي حفاظت و سياست هاي اشتراک است . از آنرو کـه هـر درايـه از جـدول قطعه بغير از آدرس مبدأ داراي يک طول است ، يک برنامه نمي تواند به [unknown error.خطای ناشناخته]حافظه اصلي ، فراتر از حدود يک قطعه دسترسي داشته باشد. بـراي بـه اشتراک گذاشتن يک قطعه مي تواند از طريق جدول قطعات به بيش از يک پروسه ارجاع داده شود. در سيستم صفحه بندي، سـاختار صـفحه برنامه ها و دادهها براي برنامه نويس قابل رويت نيست .
معيارهاي در نظر گرفته شده براي کنترل دسترسـي در يـک سيسـتم پردازش داده به ٢ دسته تقسيم مي شود.
- کاربرگرا
- دادهگرا
۱-۲-۱- کنترل دسترسي کاربر – گرا
از کنترل دسترسي کـاربر برخـي اوقـات بـه عنـوان احـراز هويـت يـاد مي شود. يکي از تکنيکهاي رايج کنترل دسترسـي کـابر بـر روي يـک
3 سيستم اشتراکي ، استفاده از لوگ کاربر اسـت ، کـه نيازمنـد ID (نـام کاربر) و رمز عبور است . کنترل دسترسي کاربر در يـک محـيط توزيـع شده، به صورت متمرکز و غير متمرکـز انجـام مـي شـود. در رويکـرد متمرکز شبکه يک سرويس لوگ آن ٦ را فراهم مي کنـد، کـه توسـط آن معين مي شود که چه کسي حق استفاده از شبکه را دارد وآن شخص به چه کسي مي تواند متصل شود. در رويکرد غيـر متمرکـز بـا شـبکه بـه عنوان يک اتصال ارتباطات ترابري ٧ رفتار مي شود. و ميزبان مقصد روال روال معمول log on را اجرا مي کند. در بسياري از شبکه ها ممکن است از دو سطح کنترل دسترسي استفاده شود.
۱-۲-۲- کنترل دسترسي داده – گرا
بعد از يک log on موفق ، کاربر مي تواند به يک يا چند ميزبان و برنامـه کاربردي دسترسي داشته باشد. در اين مرحله نياز به کنترل دسترسـي داده داريم .
در اين مورد، مدلهاي حفاظتي سيستم عامل هاي واقعـي موجـود در دنيا بر دو دسته ابتدايي زير قرار مي گيرند.
١. کنترل دسترسي اجباري ٨
٢. کنترل دسترسي احتياطي ٩
در امنيت کامپيوتر منابع غير فعال، اشياء و موجوديـت هـاي فعـال کـه منابع را به کار مي برند فاعل ناميده مي شوند اشـياء نـوعي عبارتنـد از:
l
فايل ها، دايرکتوريها، حافظه ، پرينترها (چاپگرها) ... و فاعل هاي نـوعي شامل : کاربران، پروسه ها ... مي شوند. نقش هـا وابسـته بـه موقعيـت هـا هستند. براي مثال، يک پروسه مي تواند دسترسي به بعضي از منـابع را درخواست کند (به عنوان فاعل ظاهر شود)و سـپس خـود هـدف يـک درخواست دسترسي قرار بگيرد (به عنوان يک شي ء ظاهر شود).
۱-۳- کنترل دسترسي اجباري (MAC)
در کنترل دسترسي اجباري، که با نام کنترل دسترسي چنـد سـطحي نيز شناخته مي شود، اشياء (اطلاعـات) در سـطوح سلسـله مراتبـي بـر اساس حساسيت امنيتي دسته بندي مي شـوند (معمـولي ، فـوق سـرّي، سرّي، محرمانه ) به فاعل ها (کاربران) نيز گواهي نامه امنيتـي اختصـاص داده مي شود. بر اساس ارتباط بـين گـواهي نامـه فاعـل و دسـته بنـدي امنيتي شي ء يا اجازه دسترسي فاعل ها به اشياء داده مي شود و يا از آن جلوگيري مي شود. مدل لايتس ١٠ (شبکه ) و Lapadula –Bell مبتني بر MAC هستند.
۱-۴- کنترل دسترسي احتياطي (DAC)
هر شي ء يک مالک يکتـا دارد. ايـن مالـک نظـر خـود را بـا تخصـيص مجوزهاي دسترسي اعمال مي کند. لمپسون( Lampson )مدل کنترل دسترسي ماتريسي را براي DAC معرفي کرد. هسته ايـن روش بـدين صورت است که فاعل ها توسط سطرها انديس دهـي مـي شـوند و اشـياء توسط ستون ها.

در سيستم هاي واقعي ، مـاتريس هـاي کنتـرل دسترسـي زيـاد کـاربرد ندارند،زيرا افزونگي و پراکنـدگي مـاتريس هـا زيـاد اسـت و همچنـين فاعل ها و اشياء جديد نمي توانند به راحتي حـذف يـا اضـافه شـوند، و ماتريس متمرکز گلوگاه ١١مي شود. اگر ماتريس هـا بـه صـورت سـتوني تجزيه شوند تبديل به ليست کنترل دسترسي ١٢ مي شـوند. (شـکل ٢) بنابراين براي هر شي ء، يک ليست کنترل دسترسي ، کاربران و حقـوق دسترسي مجاز آنها را به تفصيل شرح مي دهد.ليست کنترل دسترسـي ممکن است يک درايه عمومي يا يک مقدار پيش فـرض داشـته باشـد.

تجزيه سطري بليط هاي صلاحيت ١ را بـه دسـت مـي دهـد. يـک بلـيط صلاحيت (يا قابليت ) اشياء و عمليات مجاز براي يک کاربر را مشـخص مي کند. هر کاربر يک تعداد از بليط ها را در اختيـار دارد کـه مـي توانـد آنها را به ديگران بدهد. از آنجايي کـه ممکـن اسـت بلـيط هـا در تمـام سيستم پخش شوند، آنها مشکل امنيتي بزرگتري را نسبت بـه ليسـت هاي کنترل دسترسي معرفي مي کنند. براي آنکه اين مسأله حل شـود، OS بجاي کاربران از بليط ها نگهداري مي کند. اين بليط ها مي بايسـت در ناحيه اي از حافظه که بـراي بقيـه کـاربران قابـل دسترسـي نيسـت نگهداري شوند.


شکل (١) : دياگرام ACL


محافظت شوند (در مد کرنل ). اين سطح کنترل در مد کـاربر ضـروري نيست .

در متن اصلی مقاله به هم ریختگی وجود ندارد. برای مطالعه بیشتر مقاله آن را خریداری کنید