ورود کاربران

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

رمز عبور خود را فراموش کرده اید؟

ایمیل (نام کاربری):     کلمه عبور به ایمیل شما ارسال خواهد شد.
  گزارش ارزیابی سایت

امنیت سایت: ده روش برتر برنامه نویسی امن- Secure Coding

بازگشت به لیست
خلاصه ای از دستورالعمل
نـوع عملیـات : امنیت
اولویت انجـام : بالا
سختی اجراء : زیاد
متوسط امتیاز : 100
مرور دستورالعمل بعنوان یکی از مزیت های شیوه برنامه نویسی امن می توان به تعریف نیازمندی های امنیتی وتشخیص شیوه های تهدید اشاره کرد.
شرح جزئیات
fiogf49gjkf0d


  1. اعتبار ورودی ها را کنترل کنید.

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

     
  2. .به هشدار های کامپایلر توجه کنید.
    از بالاترین سطح هشدار در دسترس برای کامپایلر خود را استفاده کنید  و  هشدارها را  با تغییر کد از بین ببرید. از ابزار تجزیه و تحلیل استاتیک و دینامیک برای تشخیص و از بین بردن نقص های امنیتی اضافی استفاده  کنید.


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

     
  4. ساده طراحی کنید.
    طراحی را تا آنجایی که ممکن است ساده و کوچک ببینید.طراحی های پیچیده احتمال بروز خطا را در پیاده سازی، پیکربندی و استفاده از  نرم افزار را افزایش می دهد. علاوه بر این، تلاش مورد نیاز برای رسیدن به سطح مطلوب از اطمینان را افزایش می دهد .

     
  5. دسترسی داده ای به طور پیش فرض را رد کنید.
    تصمیم گیری دسترسی بر اساس مجوز و نه جلوگیری از آن.این به این معنی است ورودی ها اجازه دسترسی ندارند مگر مجوزش را بگیرند.
     
  6. پایبندی به اصل حداقل امتیاز
    فرایندهای بسیاری باید با اجرای حداقل مجموعه ای از امتیازات لازم  کار خود را تکمیل کنند.هر حق دسترسی بالاتری باید برای حداقل زمان برگزار  شود. این رویکرد  فرصت های مهاجم را برای اجرای کد دلخواه با دسترسی بالا را کاهش می دهد.

     
  7. داده ارسالی به سیستم های دیگر را پاکسازی کنید.
    دادهای پاکسازی شده را به زیر سیستم های پیچیده منتقل کنید مانند : پوسته فرمان و اطلاعات پایگاه داده .مهاجمان با استناد به منابع استفاده نشده در اینگونه اجزاء به دیتابیس دسترسی پیدا کنند.این نه لزوما یک مشکل اعتبار سنجی ورودی است به این دلیل که زیرسیستم های پیچیده قادر به تشخیص زمینه که در آن تماس ساخته شده است را ندلرند. قبل از آنکه داده ای را به زیر سیستمس منتقل کنید پاک سازی کنید و منابع اطلاغاتی استفاده نشده را حذف کنید .

     
  8. ممارست در دفاع در عمق
    ریسک و خطر را با استراتژی های دفاعی متعددمدیریت کنید.به طوری که اگر یکی از لایه های دفاعی  ناکافی باشد.لایه دفاعی دیگری می تواند یک نقص امنیتی را از تبدیل شدن به یک آسیب پذیری  جلوگیری نماید  و / یادسترسی به  نتایج موفق بهره برداری را محدود کند.به عنوان مثال، ترکیب تکنیک های برنامه نویسی امن با محیط اجرای امن احتمال این که از آسیب پذیری های باقی مانده در کد در زمان استقرار  را  در محیط عملیاتی مورد سوء استفاده  کاهش دهد.
     
  9. استفاده از روش های موثر تضمین کیفیت
    تکنیک های تضمین کیفیت خوب می تواند در شناسایی و حذف آسیب پذیری موثر باشد.تست  FUZZ، تست نفوذ، و منبع ممیزی کد همه باید به عنوان بخشی از برنامه تضمین کیفیت موثر گنجانیده شوند.بررسی مستقل امنیتی می تواند به سیستم امن تر منجر شود.داوران خارجی به عنوان یک بازرس مستقل؛ می توانند  به عنوان مثال، در شناسایی و اصلاح فرضیات نامعتبر کمک کنند.

     
  10. اتخاذ یک استاندارد برنامه نویسی امن.
    توسعه و / یا درخواست یک استاندارد برنامه نویسی امن  برای  زبان برنامه نویسی هدف خود  و پلت فرم مربوطه را در نظر بگیرید.



     

 



نظرات و پیشنهادات لطفا دیدگاه های خود را در ارتباط با مطلب فوق با ما در میان بگذارید.
ایمیل شما
 
موضوع
نظر / پیشنهاد
 
لطفاً کد موجود در تصویر راوارد کنید

 
نکات مهم
fiogf49gjkf0d


مزیت شیوه برنامه نویسی امن
1- تعریف نیازمندی های امنیتی
شناسایی وسند نیازهای امنیتیرا  در اوایل چرخه عمر توسعه نرم افزارایجاد کنید و مطمئن شوید که تولیدات نرم افزار پس از آن با این شرایط ارزیابی منطبق باشد.هنگامی که نیازمندی های امنیتی تعریف شده نیست، در نتیجه نمی تواند امنیت سیستم را به طور موثر مورد بررسی قرار دهد.
2-مدل سازی تهدید ها
استفاده از مدل سازی تهدید ، تهدیداتی که نرم افزار در معرض آن خواهد شد را  پیش بینی می کند.مدل سازی تهدید شامل شناسایی دارایی های کلیدی، تجزیه نرم افزار، شناسایی و طبقه بندی تهدیدات برای هر یک از دارایی و یا اجزء، رتبه بندی تهدیدات بر اساس رتبه بندی ریسک، و پس از آن   توسعه استراتژی های کاهش خطرات تهدید که در طرح ها، کد اجرا، و موارد آزمون پیاده سازی شده است.

آخرین مطالب کلیک تولز را در Linked in دنبال کنید




عضویت در خبرنامه