بایگانی ماهیانه: خرداد ۱۳۸۴

ارزیابی مخاطرات

فرآیند Risk Assessment یا ارزیابی ریسک اولین فاز از مجموعه فعالیتهای مدیریت ریسک است. این فرآیند حیاتی جایگاه ویژه ای در سیستم مدیریت امنیت اطلاعات (ISMS) دارد. در واقع تست نفوذ پذیری (Penetration Testing) که از فعالیتهای مهم نفوذ گران است، جزیی از فرآیند ارزیابی ریسک به شمار می­آید.

ارزیابی ریسک برای پاسخ به سوالات زیر انجام می­شود:

الف: اگر یک ریسک خاص اتفاق بیافتد چقدر آسیب در پی خواهد داشت؟

ب: احتمال وقوع هر ریسک چقدر است؟

ج: کنترل هر ریسک چقدر هزینه دارد، آیا مقرون به صرفه است یا نه؟

طبق استاندارد BS7799 فعالیتهای زیر برای ارزیابی ریسکهای امنیتی انجام می­گیرد:

الف: تعیین داراییهای اطلاعاتی (Information Assets) و تخصیص ارزش به آنها.

ب: تعیین تهدیدها (Threats) و احتمال رخداد آنها.

ج: تعیین آسیب پذیریها (vulnerabilities) که می­تواند به بروز تهدید منجر شود.

د: ارزیابی مکانیزمهای امنیتی فعلی (وضع موجود)

ه: برآورد کمی (معمولا عددی) ریسکهای به دست آمده.

بسته به مورد، فرمولهای مختلفی برای تعیین عدد فوق وجود دارد. البته گاهی از طبقه بندیهای غیر عددی مثل critical، high، medium و low هم استفاده می­شود.

مهمترین فایده ارزیابی ریسک، کمک به تصمیم گیری صحیح برای انتخاب راه حلهای امنیتی است. طبعا مدیران وقت و حوصله ورود به جزئیات فوق را ندارند، لذا خروجی ارائه شده به آنها توسط ما که معمولا مسئول انجام ارزیابی هستیم اعداد و ارقام و نمودارهاییست که به تصمیم گیری آنها کمک می­کند.

فواید دیگر فرآیند ارزیابی ریسک عبارت است از:

الف: معمولا راه حلهای امنیتی نه تنها مستقیما درآمدی برای سازمان ندارند، بلکه هزینه بر هم هستند. ارزیابی ریسک می­تواند لزوم هزینه کردن برای امنیت را به تصمیم گیران سازمان اثبات می­کند.

ب: نتایج ارزیابی ریسک به جهت گیری صحیح در انتخاب راه حلها (که همانا دفع تهدیدهای اصلی است) کمک می­کند.

ج: نتایج ارزیابی می­تواند در تولید و اصلاح خط مشی های امنیت سازمان (Security Policy) استفاده شود.   

مقاله ای برای اطلاعات بیشتر

این مطلب در وبلاگ WhiteHat Nomads

 

اشتراک گذاری

چهره جدید security focus

سایت securityfocus به تازگی تغییر چهره داده. طراحی جدید خیلی مفید تر به نظر می رسه٬ چون نسبت به قبل طبقه بندی مطالب بهتر شده٬‌ و مهمتر از همه اینکه منوی افقی سایت که قبلا تا سه ردیف پر بود خلوت شده…

 

اشتراک گذاری

ابزاری برای پیشگیری از حملات سرریز بافر

حملات سر ریز بافر (buffer overflow) بخش عمده ای از مشکلات موجود در برنامه های مختلف هستند. این نوع حمله مبتنی بر ضعف برنامه نویس در کنترل و مدیریت حافظه می باشد٬ به همین دلیل یافتن نقطه ضعف برنامه ها در این زمینه کار چندان ساده ای نیست. اغلب زبانهای برنامه نویسی به خصوص زبان C که بین برنامه نویسها بسیار رایج است٬ امکانات مناسبی برای کنترل دسترسیهای غیر مجاز به حافظه ندارند. بنابراین برای پیشگیری از این حمله باید یا به کد برنامه دسترسی داشت و نقاط ضعف آن را بر طرف کرد٬ و یا سیستم عامل را طوری تغییر داد که در برابر این نوع حمله مقاوم شود. در هر دو حالت کار بسیار مشکل و گاه غیر ممکن است. اما راه حل دیگری هم هست و آن استفاده از ابزارها یا کتابخانه های واسطی است که دسترسی به stack را کنترل و از تغییر آدرس بازگشت و … که اساس این نوع حمله است جلوگیری می کند. یکی از این ابزارها libsafe است که به صورت یکی ماجول قابل اتصال به هسته لینوکس کار می کند. اطلاعات بیشتر در این مورد را در اینجا ببینید.

 

اشتراک گذاری

کنترل دسترسی (بخش اول)

کنترل دسترسی مکانیزمی جهت اطمینان از دسترسی انحصاری کاربر مجاز [۱] به اشیائ مختلف است. منظور از شیئ در سیستم عامل هرگونه برنامه، فایل، دایرکتوری و … می­باشد. همچنین کاربر در این تعریف عبارت است ازuser یا برنامه ای که (با استفاده از یک user مشخص) از یک شیئ استفاده می­کند.

 

 روشهای کنترل دسترسی:

۱٫       Discretionary Access Control [2] :

این روش در اغلب سیستم عاملها از جمله لینوکس به عنوان پیش فرض به کار می­رود. ایده آن مبتنی بر سه اصل است:

·         هویت[۳] کاربر

·         مالکیت[۴] یک شیئ

·         اجازه[۵] دسترسی داده شده به کاربر

سیستم دارای سه نوع کاربر است:

·         مالک: کاربری که مالک شیئ است.

·         گروه: مجموعه کاربران همگروه با مالک شیئ.

·         دیگران: مابقی کاربران که در دو دسته قبل قرار نمی­گیرند.

سه نوع اجازه در این روش مرسوم است، که توسط مالک شیئ به دیگران داده می­شود:

·         خواندن: خواندن فایل یا لیست کردن محتویات دایرکتوری

·         نوشتن: نوشتن در فایل یا اضافه کردن یک فایل به دایرکتوری

·         اجرا: اجرای یک فایل یا جستجو در یک دایرکتوری

بنا به پیش فرض دو سطح دسترسی در سیستم عامل وجود دارد: کاربر عادی و su [6] . اجازه مربوط به هر شیئ توسط مالک آن قابل تنظیم است، و su مالک کل سیستم بوده و می­تواند کلیه تنظیمات کاربر عادی را تغییر دهد. به عبارت دیگر، su دارای اجازه خواندن، نوشتن و اجرا روی کلیه فایلها، دایرکتوریها و برنامه هاست.

بنا بر این در این روش معیار تصمیم گیری سیستم عامل درباره حق دسترسی، بر اساس مالکیت ها می­باشد، و Role کاربر یا کاربرد برنامه مربوطه در آن دخیل نیست. بزرگترین نقطه ضعف این روش زیر سئوال رفتن امنیت کل سیستم در صورت از دست رفتن su است. این مساله در سیستم عاملهای حساس به خصوص در محصولات امنیتی بسیار حیاتی است، و لذا نباید امنیت کل سیستم را وابسته به su نمود.

از طرف دیگر هر برنامه کاربردی کلیه حقوق دسترسی کاربر اجراکننده خود را به ارث می­برد و این نقطه شروع بسیاری از حملات علیه سیستم است.  

 

۲٫       Mandatory Access Control [7] :

در سیستم عاملهای با حساسیت امنیتی بالا وجود بسیاری از حق دسترسی ها حتی برای su اصولا لزومی ندارد. این حقوق دسترسی تنها هنگام ساختن سیستم مورد نیاز است، و وقتی سیستم به مشتری تحویل شد، حتی کاربر su هم نباید به آنها دسترسی داشته باشد.

در این روش کلیه اجزای سیستم به دو دسته subject و object تقسیم می­شود. منظور از Subject کاربر یا برنامه ایست که می­خواهد به object ای دسترسی داشته باشد. وقتی مالک سیستم سیاست های مربوط به دسترسی به هر object را اعمال کرد، این سیاست ها غیر قابل تغییر خواهند بود، حتی su یا root هم قادر به تغییر آن نخواهد بود. یکی از نتایج این ایده از بین بردن تلویحی کاربر root است.



[۱] Authorized User

[۲] DAC

[۳] Identity

[۴] Ownership

[۵] Permission

[۶] Super user

[۷] MAC

اشتراک گذاری