امنیت کامپیوتر چیست؟
حمیدرضا شهریاری - دانشجوی دکترای کامپیوتر، نرم افزار
http://mehr.sharif.edu/~shahriari
امنیت کامپیوتر و شبکه یا امنیت فضای تبادل اطلاعات مقولههای مهمی هستند. ولی به ندرت میزان حفاظت از دادهها و داراییهای اطلاعاتی شهروندان، شرکتها یا حکومت کافی و وافی است. زیرساخت شبکه، مسیریابها، کارگزاران نام و سوئیچهایی که این سیستمها را به هم متصل میکنند، نباید از کار بیفتند و گرنه کامپیوترها نمیتوانند دقیق و مطمئن با هم ارتباط برقرار کنند. در اینجا پرسشهای متعددی مطرح میشوند: دقیقاً زیرساخت چیست، در برابر چه تهدیدهایی باید ایمن شود و چگونه میتوان حفاظت را با هزینه بهینه فراهم کرد. ولی مبنای همه این پرسشها این است که چگونه سیستم امن را تعریف کنیم.
امنیت چیست؟ واضح است که امنیت چیز خوبی است، و همه این
را تأیید میکنند ولی افراد کمی آن را دقیق و یا حتّی نادقیق تعریف میکنند. این مقاله سعی دارد به این مهم بپردازد.
نیازمندیهای امنیت
تفاوتهای میان نیازمندیهای یک دانشگاه و یک سازمان نظامی که کارهای رمزنگاری انجام میدهد را در نظر بگیرید. تفاوت اصلی در نحوه به اشتراک گذاردن اطلاعات است. دانشگاه نتایج پژوهشها ( مقاله، گزارش و ...) را در اختیار عموم قرار میدهد. از طرف دیگر سازمان نظامی به محرمانگی اهمیت ویژهای میدهد. نه تنها سازمان مایل به افشای نحوه شکستن الگوریتمهای رمز نیست، بلکه حتی نمیخواهد دیگران از شکسته شدن الگوریتم رمز آگاه شوند. بنابراین امنیت معنای ثابتی ندارد و این نیاز به تعریف امنیت را گوشزد میکند.
هنگامی که سازمانی بخواهد سیستمهای خود را امن کند باید نخست نیازمندیها را مشخص کند. دانشگاه نیاز به حفاظت از سلامت دادهها و تا حدی محرمانگی آنها- مانند نمرات- دارد. ضمناً ممکن است نیاز به دسترسپذیر بودن سیستم از طریق اینترنت برای دانشجویان و استادان داشته باشد. در مقابل سازمان نظامی به محرمانگی کلیه کارهای خود تأکید دارد. سیستمهای آن نباید از طریق شبکه در دسترس باشند. سلامت دادهها نیز مهم است ولی نه به اندازه محرمانگی آنها، یک سازمان نظامی ترجیح میدهد دادهها از بین بروند تا اینکه افشا شوند.
سیاست امنیتی1
نیازمندیهای امنیتی مجاز بودن برخی اعمال ( و حالتهای سیستم) را دیکته کرده و بقیه را غیرمجاز میدانند. یک سیاست امنیتی بیان خاصی است از آنچه که مجاز است و آنچه که مجاز نیست. اگر همیشه سیستم در حالتهای مجاز باقی بماند و کاربران تنها اعمالی را که مجاز هستند بتوانند انجام دهند، آنگاه سیستم امن است. اگر سیستم بتواند به یک حالت غیرمجاز وارد شود یا کاربر بتواند عمل غیرمجازی را با موفقیت انجام دهد سیستم ناامن است.
راهکارهای امنیتی2
راهکارهای امنیتی سیاست امنیتی را اجرا میکنند: هدف آنها این است که از ورود سیستم به حالتهای غیرمجاز جلوگیری کنند. راهکارها ممکن است فنی یا عملیاتی ( یا رویهای) باشند. به عنوان مثال فرض کنید سازمان نظامی سندهای طبقهبندی نشده و سندهای فوق سری دارند. کاربرانی که حق دسترسی به اسناد فوق سری را ندارند، نمیتوانند به آنها دسترسی پیدا کنند.
راهکارهای فنی برای برخی سیاستها مناسب نیستند. برای مثال دانشگاه میخواهد دانشجویان را از داشتن فایلهای موزیک روی کامپیوترشان منع نماید. جهت انجام اینکار راهبران سیستم قادرند کامپیوترها را برای یافتن موزیک جستجو نمایند ولی دانشجویان باهوش میتوانند فایلهای موزیک را به صورت متنی کدگذاری نمایند. ولی راهکار عملیاتی که دانشجویان را از قراردادن فایل موزیک منع میکند در کنار تنبیه در صورت تخلف، خیلی مناسبتر و مؤثرتر از راهکار فنی میتواند باشد.
این که کل راهکارهای اتخاذ شده به درستی سیاست امنیتی را پیادهسازی میکنند، پرسشی مربوط به اطمینان یا تضمین3 است. برای مثال فایروالها سیستمهایی هستند که واسطه اتصال سیستم یا شبکه داخلی به اینترنت هستند. فایروال میتواند تلاشهای اتصال به شبکه داخلی از اینترنت را بلوکه کند. با این حال اگر نرمافزار فایروال به درستی نوشته نشده باشد، ممکن است برخی اتصالها که سیاست امنیتی اجازه نداده را بلوکه نکند.
در ادامه دو مثال این مورد را بیشتر توضیح میدهند. اول فرض کنید سیاست سازمان آن است که از شبکههای خارجی نقطه به نقطه4 استفاده نشود. سادهترین راه آن است که فایروال به گونهای پیکربندی شود که پیامهای خارجی درگاه مربوطه را نپذیرد. با این حال اگر فایروال به خوبی پیکربندی نشده باشد، ممکن است پیامی حتّی اگر چه سیاست امنیتی آن را منع کرده باشد، بپذیرد. بنابراین راهکار مورد نظر برای اجرای سیاست امنیتی شکست میخورد.
دوم فرض کنید دانشگاه یک وبگاه برای اسنادی که قرار است در دسترس پژوهشگران بیرونی باشند، دارد. سیاست امنیتی سیستم آن است که فایلهای موجود در دایرکتوریهای کارگزار وب برای اجرای این سیاست پیکربندی شوند. متأسفانه کارگزار یک خطای نرمافزاری دارد که با فرستادن یک URL خاص میتوان به هر فایل روی سیستم دسترسی پیدا کرد. در این جا راهکار نه به علت پیکربندی نادرست، بلکه به علت خطای نرمافزاری شکست میخورد.
تضمینهای امنیتی
این که چقدر سیاستهای امنیتی نیازمندیها را میپوشانند و راهکارها سیاستها را پیادهسازی میکنند در قلمرو بحث تضمین امنیتی قرار میگیرد. متدولوژیهای مختلفی برای اندازهگیری تضمین یا اطمینان امنیتی وجود دارند. متدولوژی میتواند به عنوان بخشی از فرآیند مهندسی نرمافزار باشد، با این حال هیچ متدولوژی نمیتواند به طور مطلق امن بودن سیستم را تضمین کند، ولی متدولوژیهای مختلف درجههای مختلفی از امنیت را فراهم میکنند. روشهای مختلف ارزیابی میزان تضمین امنیت نه تنها به سیستم، بلکه به محیط ارزیابی و فرآیند تولید سیستم نیز بستگی دارند.
تضمین حتّی به نیروهای انسانی نیز بستگی دارد: راهبران فنی چقدر از سیاست امنیتی را درک کردهاند؟ آیا سیاستگذاران افراد را برای پرسش موارد مبهم تشویق میکنند؟ آیا پاسخها گویا و مفید است؟ و بسیاری موارد دیگر.
این پرسشها اهمیت آموزش افراد متخصص امنیت را یادآور میشوند. آموزش خود در دو جایگاه میتواند متجلی شود: آموزش دانشگاهی و آموزش حرفهای که هر یک اهداف خاص خود را دارند. بحث مفصلی در این باره در شماره قبل بولتن شده است که خواننده علاقمند را به آن ارجاع میدهیم.
مؤلفههای امنیت
امنیت سه مؤلفه دارد: نیازمندیها، سیاست و راهکارها.
نیازمندیها اهداف امنیت را تعریف میکنند. آنها به این پرسش که " از امنیت چه انتظاری دارید؟" پاسخ میدهند. سیاست معنای امنیت را تعریف میکند و به پرسش "چه گامهایی برای رسیدن به اهداف بالا برمیدارید؟" پاسخ میدهد. راهکارها سیاست را اعمال میکنند. به این پرسش پاسخ میدهند که آنها "از چه ابزارها، و روالهایی برای اطمینان از طی شدن این گامها استفاده میکنند؟" از یک دید، امنیت دو مقداری است: یا سیستم امن است یا نیست. با این حال ارزیابی امنیت با این روش مفید نیست. به طور کلی میزان امنیت یک سایت با میزان پوشش دادن نیازمندیها سنجیده میشود. بنابراین اگر بخواهیم یک سازمان که از قابلیتهای امنیتی فعال شده بسیاری استفاده میکند، ممکن از سازمان مشابه دیگری که از امکانات امنیتی کمتری استفاده میکند، امنیت کمتری داشته باشد.
مرجع:
1.Matt Bishop,"What is Computer Security", IEEE Security&Privacy, Jan 2003.
1.security policy
2.security mechanisms