استفاده از روش برنامه نویسی پدافندی جهت افزایش امنیت نرم افزار در زبان #C
Publish place: Inactive Defense Magazine، Vol: 8، Issue: 3
Publish Year: 1396
نوع سند: مقاله ژورنالی
زبان: Persian
View: 563
This Paper With 12 Page And PDF Format Ready To Download
- Certificate
- من نویسنده این مقاله هستم
استخراج به نرم افزارهای پژوهشی:
شناسه ملی سند علمی:
JR_SAPD-8-3_003
تاریخ نمایه سازی: 1 مهر 1398
Abstract:
با توجه به اهمیت امنیت نرم افزارهای رایانه ای در سازمان های نظامی، برنامه نویسان و طراحان این سیستم ها ملزم به رعایت مسائل امنیتی در برنامه نویسی هستند. این مقاله بر روی مرحله کدنویسی در چرخه تولید نرم افزار تمرکز دارد. هدف کدنویسی پدافندی، جلوگیری از بروز حوادث ناشی از کدنویسی نامناسب است. این حوادث شامل ازکارافتادن برنامه، دسترسی به کد منبع، استفاده بیش ازحد از منابع سخت افزاری و افزایش زمان نیاز جهت به روزرسانی برنامه هستند. در ادامه استفاده از آرگومان های نامی در فراخوانی تابع معرفی گردید که این عوامل منجر به افزایش خوانایی و درنتیجه کاهش زمان به روزرسانی برنامه می شود. جهت مدیریت خطاهای حین اجرا، روش شکست سریع استثناءها و نحوه مدیریت مناسب آن ها ارائه شده است. این اقدامات موجب افزایش امنیت برنامه و عدم ازکارافتادن برنامه بهدلیل کدنویسی نامناسب گردیده و از طرفی موجب افزایش تعداد توابع، کلاس ها و درنتیجه افزایش تعداد خط کد می شود. این مسئله ممکن است موجب نگرانی درباره افزایش زمان اجرای برنامه و هزینه پردازشی شود. این مقاله به پیاده سازی یک برنامه در دو حالت کدنویسی پدافندی و غیرپدافندی پرداخته است. نتایج نشان میدهد که میانگین عمر نخ ها در حالت پدافندی 23/8 ثانیه است، درحالی که این مقدار برای حالت غیرپدافندی، 80/8 ثانیه بود. از طرفی، میزان درصد استفاده از پردازنده در حالت های پدافندی و غیرپدافندی به ترتیب 32/54% و 70/54%، از طرف دیگر برای هزینه پردازشی کاربر نیز بهترتیب 23/24% و 41/24% بود. این اعداد حاکی از هزینه پردازشی و زمان اجرای یکسان برنامه در دو حالت پدافندی و غیرپدافندی است.
Keywords:
Authors
سامان کشوری
دانشگاه جامع امام حسین(ع)
محمدرضا حسنی آهنگر
دانشگاه جامع امام حسین(ع)
ساناز کشوری
دانشگاه رازی کرمانشاه
مراجع و منابع این Paper:
لیست زیر مراجع و منابع استفاده شده در این Paper را نمایش می دهد. این مراجع به صورت کاملا ماشینی و بر اساس هوش مصنوعی استخراج شده اند و لذا ممکن است دارای اشکالاتی باشند که به مرور زمان دقت استخراج این محتوا افزایش می یابد. مراجعی که مقالات مربوط به آنها در سیویلیکا نمایه شده و پیدا شده اند، به خود Paper لینک شده اند :