صفحه اصلي| هشدار هاي مهم سوالات متداول | آمار و گزارشات | منابع و مراجع | پیوندهای مفید | معرفي | تماس با ما   Language:

نقص‏های شیوه تدافعی پرمنفذ در برنامه نویسی
(1388/04/03)

 
لیست 25 خطای برنامه نویسی خطرناک که در سال 2009 توسط موسسه CWE/Sans منتشر شده است، در واقع لیستی شامل برجسته ترین و مهمترین ضعف‏های برنامه نویسی می‏باشد که می‏توانند باعث بوجود آمدن آسیب پذیری‏های نرم‏افزاری جدی شوند. این خطاها بسیار خطرناک هستند، چون اغلب به مهاجمان اجازه می‏دهند کنترل کاملی روی نرم‏افزار داشته باشند، داده‏ها را سرقت کنند یا بطورکامل نرم‏افزار را از کار بیاندازند . این لیست حاصل همکاری موسسات Sans، Mitre و بسیاری از کارشناسان امنیت نرم‏افزار در آمریکا و اروپا می‏باشد. Mitre با همکاری اداره آمریکایی امنیت فضای سایبر، وظیفه نگهداری از وب سایت CWE را برعهده دارد. در این وب سایت، توصیف کاملی از این 25 ضعف برنامه نویسی بهمراه روش‏های معتبری برای کاهش و یا بطور کلی اجتناب از این ضعف‏ها آورده شده است. این لیست می‏تواند بعنوان یک ابزار خوب برای آموزش و آگاهی رسانی به برنامه نویسان، مشتریان و مدیران نرم‏افزار و به هدف جلوگیری از انواع آسیب پذیری‏های آزار دهنده صنعت نرم‏افزار بکار رود.
 

      معرفی
لیست 25 گانه ضعف‏های نرم‏افزاری به سه دسته کلی و سطح بالا تقسیم می‏شود و هر ضعف در یکی از این سه دسته قرار می‏گیرد. این سه دسته عبارتند از:
1- تعامل ناامن بین اجزا
2- مدیریت مخاطره آمیز منابع
3- روش‏های تدافعی پرمنفذ
در این مقاله ضعف‏های نرم‏افزاری دسته سوم، مورد بررسی قرار می‏گیرند. برای بیان هر ضعف، مشخصات و فیلدهایی فراهم شده است که در ذیل معرفی می‏شوند.
1- شماره شناسه و نام ضعف
2- فیلدهای داده ای پشتیبان: اطلاعات خلاصه و مکمل در رابطه با ضعف
• درجه شیوع: کثرت وقوع ضعف در نرم‏افزاری که هیچ مکانیزم امنیتی در آن گنجانده نشده است.
• نتایج: نتایج واقعی سوءاستفاده از یک ضعف مانند اجرای کد ، حمله رد سرویس و یا فقدان داده
• بسامد حمله: تعداد دفعات وقوع ضعف در آسیب پذیری‏های که مورد سوء استفاده مهاجم قرار می‏گیرد.
• سهولت کشف: تا چه حد کشف ضعف برای مهاجم ساده است.
• هزینه بازیابی: برای رفع ضعف چقدر تلاش و هزینه لازم است.
• آگاهی مهاجم: احتمال اینکه مهاجم از یک ضعف خاص، متدهای کشف و روش‏های سوءاستفاده از آن آگاه باشد چقدر است.
3- شرح: توصیفی کوتاه از ضعف و نتایج آن
4- پیشگیری و ممانعت : تکنیک‏هایی در جهت کاهش و یا حذف ضعفگاهی چند ضعف با هم ترکیب می‏شوند تا دفاع عمقی تری را فراهم کنند.
5- ضعف‏های مرتبط: ضعف‏های مرتبط با یک ضعف خاص
6- الگوهای حمله مرتبط: شماره Capec حملاتی که ممکن است بر علیه ضعف با موفقیت انجام شوند. این لیست الزاما کامل نیست.
مدیریت مخاطره آمیز منابع :
همانطور که گفته شد در این مقاله فقط ضعف‏هایی که در دسته سوم قرار می‏گیرند، بررسی می‏شوند.
کنترل دسترسی نامناسب(اعطای مجوز ) :CWE-285
CWE-327 : استفاده از الگوریتم‏های رمزنگاری پرمخاطره یا شکسته شده
CWE-259 : کلمه عبور کد شده
CWE-732 : واگذار کردن مجوز نا امن برای منابع مهم
CWE-330 : استفاده از مقدار‏های تصادفی نامناسب
CWE-250 : اجرا با حقوق دسترسی بیش از حد لزوم
CWE-602 : Client-Side Enforcement of Server-Side Security

کنترل دسترسی نامناسب(اعطای مجوز ) :CWE-285
بالا درجه شیوع
عبور امنیتی نتایج
پایین تا متوسط هزینه بازیابی
متوسط سهولت کشف
اغلب بسامدحمله
بالا آگاهی مهاجم









شرح
فرض کنید که شما میزبان یک تعدادی از دوستان ومیهمانان هستید همه را به اتاق نشیمن دعوت کرده و زمانی که در حال رسیدگی به دوستان خود هستید یکی از مهمانان ناگهان به قسمت‏های خصوصی منزل شما می‏رود و مثلا به بررسی آنچه را که شما در اتاق خواب پنهان کرده اید می‏پردازد نرم‏افزارها با مشکلات اعطای مجوز مشابه مواجه می‏شوند که می‏تواند به نتایج وخیم منجر شود اگر شما مطمئن نباشید که کاربران نرم‏افزار شما فقط به قسمت‏های مجاز دسترسی دارند نفوذگران تلاش می‏کنند از اعطای مجوز‏های بیجای شما استفاده کرده و به قابلیت‏هایی که شما فقط برای کاربران محدودی در نظر داشته اید دسترسی پیدا کنند.
پیشگیری وممانعت
زمان طراحی
 اثر حمله با نگاشت دقیق رل‏ها با داده‏ها و قابلیت کاهش پیدا می‏کند برنامه‏های کاربردیتان را به نواحی بی نام ،معمولی ، ممتاز و اجرایی تقسیم کنید.از RBAC برای اجرای رل‏هادر مرز‏های مناسب استفاده کنید.
توجه داشته باشید که این متد ممکن است در برابر اعطای مجوز افقی محافظت نکند و هم چنین یک کاربر را از حملات دیگر با رل‏های مشابه محافظت نخواهد کرد
 مطمئن باشید که شما بررسی‏های کنترل دسترسی که وابسته به منطق تجاریتان است را انجام می‏دهید این ممکن است از بررسی‏های کنترل دسترسی که شما برای منابعی که منطق تجاریتان راحمایت می‏کنند به کار می‏برید متفاوت باشد.
 از چهارچوب ‏های اعطای مجوز مثل چهارچوب اعطای مجوز JAAS و کنترل دسترسی OWASP ESAPI
استفاده کنید.
 برای برنامه‏های کاربردی تحت وب مطمئن باشید که که مکانیزم‏های کنترل دسترسی به طور صحیح در طرف سرور روی هر صفحه اجرا شده است.کاربران نباید بتوانند به اطلاعاتی که مجاز به دسترسی مستقیم و راحت به آن صفحه نیستند دسترسی داشته باشند. یک روش برای انجام این کار این است که مطمئن باشیم همه ی صفحات شامل اطلاعات حساس ذخیره نشده اند و دسترسی همه آن صفحات محدود است به درخواست‏هایی که از طرف کاربرانی که مجوز دسترسی دارند و همراه با توکن نشت احراز هویت شده هستند.
زمان پیکربندی سیستم
 ازتوانایی کنترل دسترسی سیستم عاملتان و محیط سروراستفاده کنید. لیست‏های کنترل دسترسیتان را معیین کنید
و همچنین از سیاست انکار پیش فرض در موقع تعریف این ACL‏ها استفاده کنید.
ضعف‏های مرتبط
.....

مشاهده ضميمه

ارسال کننده :محمد آراسته - مركز آپاي دانشگاه يزد

کلمات کليدي : کنترل دسترسی نامناسب(اعطای مجوز ) , استفاده از الگوریتم‏های رمزنگاری پرمخاطره یا شکسته شده , کلمه عبور کد شده , واگذار کردن مجوز نا امن برای منابع مهم, استفاده از مقدار‏های تصادفی نامناسب, اجرا با حقوق دسترسی بیش از حد لزوم, Client,Side Enforcement of Server,Side Security

مطالب مرتبط
معرفی ابزارهای راه اندازی حملات DoS (قسمت دوم: TFN2K)
معرفی ابزارهای راه اندازی حملات DoS (قسمت اول: Trinoo & Stacheldraht)
معرفی چند راه‌کار برای مقابله با حملات SYN Flooding
مشاهده آسيب‌پذيری در نرم‌افزار Lemon-CMS
روش های کشف شناسه سیستم در پایگاه داده اوراکل قسمت اول
مقایسه MySQL و PostgreSQL
مشاهده‌ی آسیب‌پذیری Cross-Site Scripting در نرم افزار TemaTres

 

نظرات کاربران
نام :
پست الکترونيک:  
پيام:

     ( حداکثر تعداد کاراکتر ها:2000)                       

CopyRight © 2006 Iran Telecommunication Research Center-IRCert(APA) . All rights reserved تمام حقوق اين سايت محفوظ مي باشد