عنصر اصلی در كدنویسی امن با زبان های مختلف برنامه نویسی، مستند سازی خوب و استفاده از استانداردهای قابل اجرا است. استانداردهای كدنویسی، برنامه نویسان را ترغیب به پیروی از مجموعه ای متحدالشكل از قوانین و راهنماییها می كند كه بر اساس نیازمندی های پروژه و سازمان تعیین شده است، نه بر اساس سلایق و مهارت های مختلف برنامه نویسان. به محض تعیین استانداردهای مذكور، می توان از آن به عنوان معیاری برای ارزیابی كدهای منبع، چه به صورت دستی و چه به صورت اتوماتیك استفاده كرد.

از استانداردهای معروف در این زمینه می توان به استانداردCERT برای كدنویسی امن اشاره كرد كه یك سری از قوانین و پیشنهادات را برای كد نویسی امن با زبان های برنامه نویسی C، C++ و جاوا ارائه می دهد. هدف از این قوانین و پیشنهادات، حذف عادت های كدنویسی ناامن و رفتارهای تعریف نشده است كه منجر به آسیب پذیری های قابل سوءاستفاده می شود. به كارگیری استانداردهای مذكور منجر به تولید سیستم های با كیفیت بالاتر می شود كه در برابر حملات بالقوه، پایدارتر و مقاوم تر هستند.


قوانین در برابر پیشنهادات

استانداردهای CERT برای كدنویسی امن شامل یك سری قوانین و پیشنهادات می شوند. در زیر تعریف هر كدام از آنها آورده شده است.

قوانین


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

پیروی از روش فوق را بتوان توسط تحلیل اتوماتیك، راهكارهای رسمی یا تكنیك های بازرسی دستی تشخیص داد.


ادامه متن در ادامه مطلب...