چکیده
سیستمهای نرمافزاری در هر حوزهای از جامعه بشری بیش از پیش مهم میشوند. این سیستمها نه تنها توسط دولتها و شرکتها بلکه همچنین توسط افراد و در طول شبکههایی از سازمانها نیز مورد استفاده قرار میگیرند. استفاده گسترده از سیستمهای نرمافزاری منجر به نیاز به شامل کردن مقادیر زیادی از اطلاعات و فرایندهای مهم شده است که قطعا لازم است ایمن باقی بمانند. در نتیجه، لازم است اطمینان حاصل شود که سیستمها با ملاحظه الزامات امنیتی در مراحل اولیه چرخه عمر توسعه نرمافزاری، ایمن هستند. در این مقاله، الزامات امنیتی را به عنوان الزامات کارکردی در نظر میگیریم و چارچوب مهندسی الزامات امنیتی مدل-محور را به عنوان راهحلی سیستماتیک برای استخراج الزامات امنیتی برای سیستمهای نرمافزاری حاکمیتی الکترونیک اعمال میکنیم. در نتیجه، سطح بالایی از امنیت را میتوان به وسیله پوشش بیشتر داراییها و تهدیدها و شناسایی اثرات بیشتر آسیبپذیریها در مراحل اولیه مهندسی الزامات حاصل کرد. این امر به نوبه خود به استخراج الزامات امنیتی کارامد به عنوان اقدامات متقابل با الزامات کسب و کار کمک خواهد کرد.
1. پیشگفتار
به منظور توسعه سیستمهای نرمافزازی ایمن، لازم است که الزامات امنیتی همراه با الزامات کسب و کار ملاحظه شوند، اما به لحاظ سنتی، یکی از بیاهمیتترین جنبههای چرخه عمر توسعه نرمافزار (SDLC)، فرایند مهندسی الزامات امنیتی (SRE) است. بسیاری از محققان روی حوزه SER فعالیت دارند؛ با این حال، با کمبود فرایند استخرج و مشخصهبندی الزامات امنیتی مواجه هستیم. دلیل اصلی این امر این است که امنیت به عنوان مسالهای فنی در نظر گرفته میشود و بنابراین، به بهترین نحو میتوان در طول مراحل بعدی SDLC به آن پرداخت.
از آنجایی که ایده ادغام امنیت در نرمافزارها از ابتدای توسعه مورد پذیرش قرار گرفته است، روشهای مختلف SRE پیشنهاد شدند. با این حال، به دنبال مدلها یا فرایندهای متعارف SDLC، نرمافزارها همچنان در حال توسعه هستند، و تجزیه و تحلیل امنیتی در مرحله اجرا به عنوان دلیلی برای متناسب ساختن توسعه دهندگان انجام میشود.
Abstract
Software systems are becoming more and more critical in every domain of human society. These systems are used not only by corporates and governments, but also by individuals and across networks of organizations. The wide use of software systems has resulted in the need to contain a large amount of critical information and processes, which certainly need to remain secure. As a consequence, it is important to ensure that the systems are secure by considering security requirements at the early phases of software development life cycle. In this paper, we propose to consider security requirements as functional requirements and apply model-oriented security requirements engineering framework as a systematic solution to elicit security requirements for e-governance software systems. As the result, high level of security can be achieved by more coverage of assets and threats, and identifying more traces of vulnerabilities in the early stages of requirements engineering. This in turn will help to elicit effective security requirements as countermeasures with business requirements.
1 Introduction
To develop secure software systems, it is essential to capture the security requirements with business requirements, but traditionally, one of the most ignored aspects of Software Development Life Cycle (SDLC) is the Security Requirements Engineering (SRE) process. Many researchers are working on SRE area; however, there is a lack in security requirements elicitation and specification process. The primary reason for this is that security is assumed to be a technical issue and therefore best handled during the later phases of SDLC.
As the idea of incorporating security into software from the very beginning of development has gained acceptance, various SRE methods were suggested. However, software is still being developed by following the conventional SDLC models or processes, and security analysis is done in the implementation phase as a reason to fit the developers.
چکیده
1. پیشگفتار
2. کارهای مربوطه
2.1. روشهای مهندسی الزامات امنیتی
2.2. سیستم رایگیری الکترونیک و حاکمیت الکترونیک
3. استخراج الزامات امنیتی برای سیستم رایگیری الکترونیک
3.1. گام 1. شناسایی هدف سیستم رایگیری الکترونیک
3.2. گام 2. شناسایی ذینفعان
3.3. گام 3. شناسایی داراییها
3.4. گام 4. انتخاب یک تکنیک استخراج
3.5. گام 5. به دست آوردن سطح بالایی از نمودار معماری سیستم رایگیری الکترونیک
3.6. گام 6. شناسایی اهداف و الزامات غیر امنیتی
3.7. گام 7. ایجاد نمودار موارد استفاده
3.8. گام 8. شناسایی اهداف امنیتی
3.9. گام 9. شناسایی تهدیدها و آسیبپذیریها
3.10. گام 10. انجام ارزیابی ریسک
3.11. گام 11. ردهبندی و اولویتبندی تهدیدها و آسیبپذیریها برای کاهش
3.12. گام 12. تولید نمودار موارد سوء استفاده برای سیستم رایگیری الکترونیک
3.13. گام 13. ناسایی الزامات امنیتی
3.14. گام 14. تولید نمودار موارد استفاده با در نظر گرفتن الزامات امنیتی
3.15. گام 15. تولید مدلهای تجزیه و تحلیل ساختاری
3.16. گام 16. توسعه نمودارهای UML
4. ارزیابی و بحث
4.1. راهانداز آزمایشی
4.2. تجزیه و تحلیل نتیجه
5. نتیجهگیری
Abstract
1 Introduction
2 Related works
2.1 Security requirements engineering methods
2.2 E-voting system and e-governance
3 Eliciting security requirements for an e-voting system
3.1 Step 1: Identify the objective of the e-voting system
3.2 Step 2: Identify the stakeholders
3.3 Step 3: Identify the assets
3.4 Step 4: Select an elicitation technique
3.5 Step 5: Obtain high level of architecture diagram of e-voting system
3.6 Step 6: Elicit non-security goals and requirements
3.7 Step 7: Generate use cases diagram
3.8 Step 8: Identify the security goals/security objectives
3.9 Step 9: Identify threats and vulnerabilities
3.10 Step 10: Perform risk assessment
3.11 Step 11: Categorize and prioritize the threats and vulnerabilities for mitigation
3.12 Step 12: Generate misuse case diagram for the e-voting system
3.13 Step 13: Identify security requirements
3.14 Step 14: Generate use cases diagram considering security requirements
3.15 Step 15: Generate structural analysis models
3.16 Step 16: Develop UML diagrams
4 Evaluation and discussion
4.1 Experimental setup
4.2 Result analysis
5 Conclusion