استفاده از روش برنامه نویسی پدافندی جهت افزایش امنیت نرم افزار در زبان #C

نویسندگان

1 دانشگاه جامع امام حسین(ع)

2 دانشگاه جامع امام حسین(ع)

3 دانشگاه رازی کرمانشاه

doi
چکیده

با توجه به اهمیت امنیت نرم‌افزارهای رایانه ای در سازمان‌های نظامی، برنامه­ نویسان و طراحان این سیستم‌ها ملزم به رعایت مسائل امنیتی در برنامه‌نویسی هستند. این مقاله بر روی مرحله کدنویسی در چرخه تولید نرم‌افزار تمرکز دارد. هدف کدنویسی پدافندی، جلوگیری از بروز حوادث ناشی از کدنویسی نامناسب است. این حوادث شامل ازکارافتادن برنامه، دسترسی به کد منبع، استفاده بیش‌ازحد از منابع سخت‌افزاری و افزایش زمان نیاز جهت به‌روزرسانی برنامه هستند. در ادامه استفاده از آرگومان‌های نامی در فراخوانی تابع معرفی گردید که این عوامل منجر به افزایش خوانایی و درنتیجه کاهش زمان به‌روزرسانی برنامه می‌شود. جهت مدیریت خطاهای حین اجرا، روش شکست سریع استثناءها و نحوه مدیریت مناسب آن‌ها ارائه ‌شده است. این اقدامات موجب افزایش امنیت برنامه و عدم ازکارافتادن برنامه به­دلیل کدنویسی نامناسب گردیده و از طرفی موجب افزایش تعداد توابع، کلاس‌ها و درنتیجه افزایش تعداد خط کد می‌شود. این مسئله ممکن است موجب نگرانی درباره افزایش زمان اجرای برنامه و هزینه پردازشی شود. این مقاله به پیاده‌سازی یک برنامه در دو حالت کدنویسی پدافندی و غیرپدافندی پرداخته است. نتایج نشان می­دهد که میانگین عمر نخ‌ها در حالت پدافندی 23/8 ثانیه است، درحالی‌که این مقدار برای حالت غیرپدافندی، 80/8 ثانیه بود. از طرفی، میزان درصد استفاده از پردازنده در حالت‌های پدافندی و غیرپدافندی به ترتیب 32/54% و 70/54%، از طرف دیگر برای هزینه پردازشی کاربر نیز به­ترتیب 23/24% و 41/24% بود. این اعداد حاکی از هزینه پردازشی و زمان اجرای یکسان برنامه در دو حالت پدافندی و غیرپدافندی است.