Exploring software security approaches and their limitations in software development lifecycle

Exploring software security approaches and their limitations in software development lifecycle. Masters thesis, King Fahd University of Petroleum and Minerals.

[img]
Preview
PDF
Exploring_software_security_approaches_and_their_limitations_in_software_development_lifecycle.pdf

Download (2MB) | Preview

Arabic Abstract

تقليديا, يُهتم بأمن البرمجيات فقط في المراحل المتأخرة من تطوير البرمجيات مع دمج نشاطات وممارسات الأمن في المراحل اللاحقة . ونتيجة لذالك, فإن مخاطر إدخال الثغرات الأمنية الجديدة في مختلف مراحل تطوير البرمجيات في ازدياد. الادلة البحثية أثبتت أن الاساليب لمعالجة أمن البرمجيات في المراحل اللاحقه في دورة تطوير البرمجيات(Software development lifecycle) غير فعالة ويمكن على الارجح ان تسبب في اعادة صياغه أو مراجعة مكلفة ,بالاضافة الى عواقب غير ملموسة الناجمه عن الخرق الامني. لتجنب هذه الاخطاء المكلفة والثغرات الامنية , المخـاوف الأمنية (security concerns) ينبغى معالجتها من بداية تطوير البرمجيات ابتداء من مرحلة جمع المتطلبات والتصميم وصولا الى كتابة الأكواد والصيانة والنشر. هناك العديد من الاساليب تم اقتراحها في البحوث السابقة لدمج أمن البرمجيات الى دورة تطوير البرمجيات ابتداء من مرحلة جمع المتطلبات وصولا الى الصيانة والنشر , جنبا الى جنب مع الادوات الموصى بها لدعم دورة تطوير البرمجيات. على الرغم من اهمية هذه الاساليب والمناهج , قليل من البحث تم تنفيذه لتحديد واستكشاف هذه المناهج وتحدياتها بطريقة ممنهجة. في هذه الاطروحة , نقوم باستكشاف وتحديد اساليب ومناهج أمن البرمجيات وتحدياتها في دورة حياة تطوير البرمجيات. طريقة البحث المستخدمة هي المراجعه الممنهجه للادب (SLR) و السنوبولنج (Snowballing), والذين يقومان بتوجيهينا في العثور على إجابة سؤال البحث لدينا .في المجموع, تم اختيار وتصنيف 165 مقالا. العديد من مناهج واساليب أمن البرمجيات التي تقدم الفحص والتحقيق الامني في دور حياة تطوير البرمجيات تم ايجادها واستكشافها ابتداء من مرحلة جمع المتطلبات مرورا بتصميمها وكتابة الاكواد. بالاضافه الى ذالك , نتائج هذه الدراسه أظهرت ان التحليل الثابت(static analysis) والتحليل الديناميكي(Dynamic analysis) اكثر ذكرا ودراسة في البحوث المنشورة في هذا الموضوع. ومن ناحية اخرى اظهرت هذه الدراسة , ان عدد كبير من الدراسات اهتمت بتقديم الفحص الامني خلال مرحلة كتابة الاكواد في دورة حياة تطوير البرمجيات. بالاضافة الى ذالك ,تم تحديد تحديات وعوائق مناهج واساليب تطوير أمن البرمجيات –سواء في الاساليب الموجوده او العوائق العامة لتطوير برمجيات أمنه - في دورة حياة تطوير البرمجيات. هذا العمل يساعد منظمات تطوير البرمجيات في فهم مناهج واساليب تطوير أمن البرمجيات خلال دورة حياة تطوير البرمجيات وتحدياتها. وكذالك هذه الدراسة تزود الباحثين والممارسين اساسا متينا لتطوير اساليب ومناهج جديدة لدعم تطوير برمجيات امنه وكذالك اقتراح حلول للعوائق والتحديات في الاساليب والمناهج المنشورة مسبقا. نأمل أن هذه الرسالة ستسهل اي عمل في المستقبل في تحسين مناهج واساليب تطوير أمن البرمجيات وحل عوائقها وتحدياتها.

English Abstract

Software security is only considered in the later stages of software development with the incorporation of security concerns as an afterthought. As a consequence, the risk of introducing new security vulnerabilities into various stages of software development lifecycles increases. Research evidence has proven that approaches to address security-related concerns are insufficient and could likely cause costly reworks in addition to all the intangible consequences caused by a security breach. To avoid these costly mistakes, security concerns need to be addressed from the beginning of software development lifecycles all the way through to deployment and maintenance. Several approaches have been proposed in the literature for incorporating security into the SDLC from the requirements gathering phase until the maintenance and deployment, along with recommended tools to support a security-centric software development lifecycle. Despite the importance of these approaches, little research has been carried out to investigate these approaches and their limitations in a systematic manner. In this thesis, we propose to explore and identify software security approaches and their limitations in the software development lifecycle. Systematic Literature Review (SLR) and Snowballing are the research methodology used to guide us in finding the answer of our research questions. In total, we selected and categorized 165 articles. Several software security approaches have been identified that provided security checks in various software development phases, such as requirements, design, and coding. Also, the results show that the most frequently cited approaches are static analysis and dynamic analysis that provide security checks in the coding phase. Furthermore, this study shows that the significant number of studies in this review considered security checks around the coding stage of software development. Finally, the limitations of existing software security approaches of incorporating security check in to software development- whether for identified existing software security approaches or general challenges and limitations - are identified. This work assists software development organizations in better understanding the existing software security approaches used in the software development lifecycle and their limitations. It can also provide other researchers with a firm basis on which to develop new software security approaches and address any of the identified limitations. We hope that our research will facilitate any future research on enhance the identified software security approaches and address their limitations.

Item Type: Thesis (Masters)
Subjects: Computer
Department: College of Computing and Mathematics > Information and Computer Science
Committee Advisor: Niaz, Mahmoud
Committee Members: ALSHAYEB, MOHAMMAD and MAHMOOD, SAJJAD
Depositing User: MOHAMMED N MOHAMMED ABDO (g200905310)
Date Deposited: 17 Nov 2015 05:13
Last Modified: 01 Nov 2019 16:30
URI: http://eprints.kfupm.edu.sa/id/eprint/139667