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

Publish Year: 1396
نوع سند: مقاله ژورنالی
زبان: Persian
View: 497

This Paper With 12 Page And PDF Format Ready To Download

  • Certificate
  • من نویسنده این مقاله هستم

استخراج به نرم افزارهای پژوهشی:

لینک ثابت به این Paper:

شناسه ملی سند علمی:

JR_SAPD-8-3_003

تاریخ نمایه سازی: 1 مهر 1398

Abstract:

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

Authors

سامان کشوری

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

محمدرضا حسنی آهنگر

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

ساناز کشوری

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

مراجع و منابع این Paper:

لیست زیر مراجع و منابع استفاده شده در این Paper را نمایش می دهد. این مراجع به صورت کاملا ماشینی و بر اساس هوش مصنوعی استخراج شده اند و لذا ممکن است دارای اشکالاتی باشند که به مرور زمان دقت استخراج این محتوا افزایش می یابد. مراجعی که مقالات مربوط به آنها در سیویلیکا نمایه شده و پیدا شده اند، به خود Paper لینک شده اند :
  • جرجم، سلیمان، دهقانی، مهدی، امن سازی نرم افزار مبتنی بر ...
  • کشوری، سامان، جوادزاده، محمدعلی، عباسی، مصطفی، بررسی انواع آزمون نرم ...
  • P. S. Gilmour, Defensive programming, Embedded Syst. Program. vol. 3, ...
  • D. Y. Cheng, J. T. Deutsch, and R. W. Dutton, ...
  • A. A. J. Zumalde, J. M. Secall, and J. B. ...
  • K. W. Collier and J. S. Collofello, Issues in software ...
  • P. Chul Su, L. Jae Hee, S. C. Seo, and ...
  • N. Davis, W. Humphrey, S. T. Redwine, G. Zibulski, and ...
  • S. Velmourougan, P. Dhavachelvan, R. Baskaran, and B. Ravikumar, Software ...
  • P. Avgeriou, P. Kruchten, R. L. Nord, I. Ozkaya, and ...
  • B. Boehm and V. R. Basili, Software Defect Reduction Top ...
  • M. K. Gupta, M. C. Govil, and G. Singh, Static ...
  • R. Chen, Y. Liu, Z. Jia, and J. Gao, Isolating ...
  • J. A. Jones and M. J. Harrold, Empirical evaluation of ...
  • C. Liu, X. Yan, L. Fei, J. Han, and S. ...
  • H. Cleve and A. Zeller, Locating causes of program failures, ...
  • G. K. Baah, A. Podgurski, and M. J. Harrold, The ...
  • R. Kumar, S. K. Pandey, and S. I. Ahson, Security ...
  • B. Taylor and S. Kaza, Security Injections@Towson: Integrating Secure Coding ...
  • M. Zaidman, Teaching defensive programming in Java, J. Comput. Sci. ...
  • A. Khalili, A. Sami, M. Azimi, and ET. Al, Employing ...
  • P. R. Dominguez, 10 Principles for Keeping Your Programming Code ...
  • D. M. Selfa, M. Carrillo, and M. D. R. Boone, ...
  • R. C. Martin, The Clean Coder: A Code of Conduct ...
  • L. Hunt, C# Coding Standards for .NET, Document Version 1.15, ...
  • R. C. Martin, Clean Code: A Handbook of Agile Software ...
  • M. Aderhold, G. Alexander, and M. Heiko, Choosing a Formalism ...
  • A. Hunt and D. Thomas, Pragmatic Unit Testing in C# ...
  • G. Meszaros, xUnit Test Patterns: Refactoring Test Code Addison-Wesley, Addison-Wesley ...
  • L. Williams, G. Kudrjavets, and N. Nagappan, On the Effectiveness ...
  • J. Shore, Fail fast [software debugging], IEEE Software, vol. 21, ...
  • نمایش کامل مراجع