چکیده
در 10 سال گذشته، جامعه پژوهشی تعداد قابل توجهی نمادهای طراحی برای بیان ویژگی های امنیتی و مفاهیم مصنوعات طراحی ایجاد کرده است. این نمادها، مستندسازی و تحلیل امنیت در یک مدل طراحی نرم افزار را هدف قرار می دهند. با این حال، تقسیم بندی فضای تحقیقاتی منجر به پیچیدگی روشهای مختلف شده است. بنابراین، متخصصان با وظیفه چالش برانگیز جستجوی رویکرد صحیح بسیاری از طرح های پیشنهادی مواجه هستند. به همین ترتیب، برای محققان دشوار است تا هم افزایی بین نمادهای موجود را مورد توجه قرار دهند، تا فرصتهای موجود را برای مشارکتهای اصلی شناسایی کنند. این مقاله، یک بررسی ادبیات سیستماتیک را بیان می کند که نمادهای موجود را ایجاد می کند و یک تحلیل مقایسه ای جامع را برای هر کدام ارائه می کند.
1. مقدمه
از ابتدای یک پروژه توسعه نرم افزار، سرو کار داشتن با عنوان امنیت، می تواند مانع از هزینه های بالاتر مرتبط با رفع نواقص امنیتی شود. در حالت ایده آل، نگرانی های امنیتی باید در مرحله اولیه طراحی نرم افزار حل شود. این مورد، اصل ضروری امنیت با طراحی است، که توسط صنعت و دانشگاه از آن حمایت می شود.
برای اطمینان از اینکه ملاحظات امنیتی یک طرح در سر طراح باقی نمی مانند و در نتیجه با گذشت زمان از بین می روند، و همچنین وظایف تحلیل و تایید را می توان در سطح طراحی اجرا کرد، جنبه های امنیتی باید به وضوح در طراحی سیستم نرم افزار نمایش داده شود. این موضوع بدان معنی است که نیازهای یک طراح باید به یک روش واقعی دسترسی داشته باشند که از ثبت اطلاعات مربوط به امنیت در رابطه با طرح پشتیبانی می کنند. این مقاله بر رویکردهایی تمرکز دارد که این امر را با ارائه پشتیبانی برای نمایش صریح و/یا تحلیل مفاهیم و ویژگی های امنیتی در یک مدل طراحی نرم افزار ممکن می سازد، که ما از این پس آن را بعنوان نمادهایی برای امنیت ذکر می کنیم. بعنوان مثال، رویکردی که شامل یک قرارداد گرافیکی برای طراح با هدف نشان دادن بخش های سیستم نرم افزاری باشد، موضوع کنترل دسترسی است که بعنوان یک نماد در نظر گرفته می شود. واضح است، که نمادها تنها یک جنبه از امنیت توسط طراح هستند. ما تایید می کنیم که علاوه بر نمادها، متدلوژی های پشتیبانی ابزار ارائه می شود یا خیر و آیا نماد مخصوص یک سبک طراحی خاص است یا خیر (بعنوان مثال، معماری های سرویس گرا، بجای سیستم های داده محور). دوما، چندین جنبه امنیتی وجود دارد، مانند محرمانه بود، صداقت، قابلیت شنیداری و غیره، ما می خواهیم نقشه ای از آن نمادی ایجاد کنیم که برای هر یک از نگرانی امنیتی ذکر شده مناسب است. سوما، می خواهیم ارزیابی کنیم که نمادها (و روش های مرتبط) در شرایط واقع بینانه تا چه حدی تایید می شوند، که یک معیار قابلیت اطمینان از یک روش است.
Abstract
In the past 10 years, the research community has produced a significant number of design notations to represent security properties and concepts in a design artifact. These notations are aimed at documenting and analyzing security in a software design model. The fragmentation of the research space, however, has resulted in a complex tangle of different techniques. Hence, practitioners are confronted with the challenging task of scouting the right approach from a multitude of proposals. Similarly, it is hard for researchers to keep track of the synergies among the existing notations, in order to identify the existing opportunities for original contributions. This paper presents a systematic literature review that inventorizes the existing notations and provides an in-depth, comparative analysis for each.
1 Introduction
Dealing with security right from the start in a software development project has the potential of avoiding higher costs related to fixing security flaws later on. Ideally, security concerns should be tackled as early as the software design phase. This is the central tenet of security by design, which is advocated by both industry and academia.
To ensure that the security considerations of a design do not remain in the head of the designer, thereby evaporating over time, and also that analysis and verification tasks can be performed at the design level, the security aspects need to be explicitly represented within the design of the software system. This implies that a designer needs to have access to a concrete technique that supports the recording of security-relevant information in relation to the design. This paper focuses on approaches that enable this, by offering support for explicitly representing and/or analyzing security concepts and properties in a software design model, which we will henceforth refer to as notations for security. For example, an approach that includes a graphical convention for the designer with the purpose of indicating which parts of the software system are subject to access control is considered as a notation. Clearly, notations are only one aspect of security by design. We acknowledge that, besides notations, design methodologies are equally important, as well as design support tools, such as security patterns and the like. However, these are outside the scope of our work.
چکیده
1. مقدمه
2. سواالت تحقیق
3. روش شناسی
1.3 جمع آوری مقالات
2.3 تحلیل مقاالت
2.3 کنترل کیفیت
4.کاربرد نمادها (RQ1)
5.پوشش مسائل امنیتی (RQ2)
1.5 هدف نمادهای طراحی
2.5 پشتیبان بازنمایی
3.5 پشتیبان تحلیل امنیتی
6. اعتبارسنجی نمادها (RQ3)
7. بحث
8. محدودیت های مطالعه
9. مطالعه مربوطه
10. نتیجه گیری
منابع
Abstract
1 Introduction
2 Research questions
3 Methodology
3.1 Collection of the papers
3.2 Analysis of the papers
3.3 Quality control
4 Applicability of the notations (RQ1
5 Coverage of security concerns (RQ2)
5.1 Purpose of the design notations
5.2 Representation support
5.3 Security analysis support
6 Validation of the notations (RQ3)
7 Discussion
8 Limitations of the study
9 Related work
10 Conclusion
References