+ All Categories
Home > Documents > A Framework for Security Requirements Elicitation830754/FULLTEXT01.pdf · A Framework for Security...

A Framework for Security Requirements Elicitation830754/FULLTEXT01.pdf · A Framework for Security...

Date post: 25-Aug-2018
Category:
Upload: dangdan
View: 226 times
Download: 0 times
Share this document with a friend
106
Master Thesis Software Engineering Thesis no: MSE-2012-95 May 2012 School of Computing Blekinge Institute of Technology SE-371 79 Karlskrona Sweden A Framework for Security Requirements Elicitation Gibrail Islam and Murtaza Ali Qureshi
Transcript

Master Thesis Software Engineering Thesis no: MSE-2012-95 May 2012

School of Computing Blekinge Institute of Technology SE-371 79 Karlskrona Sweden

A Framework for Security Requirements Elicitation

Gibrail Islam and Murtaza Ali Qureshi

ii

This thesis is submitted to the School of Engineering at Blekinge Institute of Technology inpartial fulfillment of the requirements for the degree of Master of Science in SoftwareEngineering. The thesis is equivalent to 26 weeks of full time studies.

Contact Information: Authors: Gibrail Islam E-mail: [email protected] Murtaza Ali Qureshi E-mail: [email protected]

University advisor: DR. JÜRGEN BÖRSTLER Department of Software Engineering and Computer Science

School of Computing Blekinge Institute of Technology SE-371 79 Karlskrona Sweden

Internet : www.bth.se/com Phone : +46 455 38 50 00 Fax : +46 455 38 50 57

ABSTRACT    

  

Context. Security considerations are typically incorporated in the later stages of development as an afterthought. Security in software system is put under the category of non‐functional requirements by the researchers. Understanding the security needs of a system requires considerable knowledge of  assets,  data  security,  integrity,  confidentiality  and  availability  of  services.  Counter  measures against software attacks are also a security need of a software system. To incorporate security in the earliest stages, i.e. requirement gathering, helps building secure software systems from the start. For that  purpose  researchers  have  proposed  different  requirements  elicitation  techniques.  These techniques are categorized into formal and informal techniques on the basis of finiteness and clarity in activities of the techniques.  Objectives. Limitations of formal methods and  lack of systematic approaches  in  informal elicitation techniques  make  it  difficult  to  rely  on  a  single  technique  for  security  requirements  elicitation. Therefore we decided  to utilize  the  strengths of  formal  and  informal  technique  to mitigate  their weaknesses  by  combining  widely  used  formal  and  informal  security  requirements  elicitation techniques.   The basic  idea of our  research was  to  integrate an  informal  technique with a  formal technique and propose a flexible framework with some level of formality in the steps. Methods. We conducted a systematic  literature review to see “which are the widely used security requirement elicitation techniques?” as a pre‐study for our thesis? We searched online databases i.e. ISI,  IEEE Xplore, ACM, Springer,  Inspec and compendeX. We also conducted a  literature review  for different  frameworks that are used  in  industry,  for security requirement elicitation. We conducted an  experiment  after  proposing  a  security  requirements  elicitation  Framework  and  compared  the result from the Framework with that of CLASP and Misuse cases. Results. Two types of analysis were conducted on results from the experiment: Vulnerability analysis and Requirements analysis with respect to a security baseline. Vulnerability analysis shows that the proposed  framework mitigates more  vulnerabilities  than  CLASP  and Misuse  Cases.  Requirements analysis with respect to the security baseline shows that the proposed framework, unlike CLASP and Misuse cases, covers all the security baseline features. Conclusions.  The  framework  we  have  proposed  by  combining  CLASP, Misuse  cases  and  Secure TROPOS contains  the strengths of  three security  requirements elicitation  techniques. To make  the proposed framework even more effective, we also included the security requirements categorization by Bogale  and Ahmed  [11]. The  framework  is  flexible  and  contains  fifteen  steps  to elicit  security requirements. In addition it also allows iterations to improve security in a system.  

 Keywords:  Security  Requirement  Elicitation Framework,  Security  Requirement  Engineering, Software Security               

ii

ACKNOWLEDGEMENTS  

We are thankful to Almighty God for giving us courage and strength to complete our thesis within six months of time. We would also like to thank our Parents, Family and Friends for their constant support and prayers. We would  like  to  thank Dr.  JÜRGEN BÖRSTLER  for helping us  throughout  the  thesis. We  are  grateful  to  him  for  his  guidance  and  never  ending  willingness  to  transfer  the knowledge he has. In  the  end we would  also  like  to  thank  each  other  for working  as  a  team  and  solving conflicts during the study with patience. 

iii

CONTENTS ABSTRACT ...................................................................................................................................... I 

ACKNOWLEDGEMENTS .................................................................................................................. II 

CONTENTS .................................................................................................................................... III 

1  LIST OF FIGURES ................................................................................................................... VI 

2  LIST OF TABLES .................................................................................................................... VII 

1  CHAPTER 1 – INTRODUCTION ................................................................................................ 1 

1.1  BACKGROUND ........................................................................................................................... 1 1.1.1  Security in software .......................................................................................................... 1 1.1.2  How is security neglected? ................................................................................................ 2 1.1.3  How is security addressed? ............................................................................................... 2 1.1.4  Secure Software Engineering ............................................................................................ 2 

1.2  OUR IDEA ................................................................................................................................. 3 1.3  PRE‐STUDY FOR THESIS ............................................................................................................... 4 

1.3.1  Selection Criteria for techniques ....................................................................................... 4 1.3.2  Systematic Literature Review for Security Requirement Elicitation Techniques (Pre‐work for Thesis) ....................................................................................................................................... 4 

1.3.2.1  Search Strategy ...................................................................................................................... 4 1.3.2.2  Research Questions for SLR .................................................................................................... 5 1.3.2.3  Search Terms .......................................................................................................................... 5 1.3.2.4  Databases and data collection source .................................................................................... 6 1.3.2.5  Inclusion/ Exclusion Criteria ................................................................................................... 7 

1.3.2.5.1  Exclusion Criteria ............................................................................................................... 7 1.3.2.6  Kappa Coefficient ................................................................................................................... 7 To increase the level of agreement among the authors, we tried to resolve our conflicts through mutual understanding and discussions between us. ............................................................................................. 8 1.3.2.7  Study Quality Assessment ...................................................................................................... 8 1.3.2.8  Data Extraction Criteria .......................................................................................................... 9 1.3.2.9  Synthesis of Articles ............................................................................................................. 12 1.3.2.10  Conclusion ............................................................................................................................ 13 1.3.2.11  Limitations ............................................................................................................................ 13 

1.3.3  Quick comparison of Security Requirement Elicitation techniques ................................. 13 1.3.4  Why did we choose two formal techniques? .................................................................. 15 1.3.5  Why Misuse cases? ......................................................................................................... 15 

1.4  AIMS AND OBJECTIVES ............................................................................................................... 16 1.5  RESEARCH QUESTIONS FOR OUR THESIS ........................................................................................ 16 1.6  EXPECTED OUTCOMES ............................................................................................................... 17 

2  CHAPTER 2 – ANALYSIS OF AVAILABLE FRAMEWORKS – DO WE REALLY NEED A NEW FRAMEWORK? ............................................................................................................................. 18 

2.1  CONCEPT BEHIND SECURITY REQUIREMENT ELICITATION TECHNIQUES ................................................ 18 2.2  SECURITY REQUIREMENT FRAMEWORKS IN INDUSTRY ...................................................................... 19 2.3  LITERATURE REVIEW FOR EXISTING FRAMEWORKS FOR SECURITY REQUIREMENT ELICITATION ................. 20 

2.3.1  Search Strategy ............................................................................................................... 20 2.3.2  Research Questions for Literature .................................................................................. 20 2.3.3  Search Terms ................................................................................................................... 20 2.3.4  Databases and data collection source ............................................................................ 21 2.3.5  Inclusion/ Exclusion Criteria ............................................................................................ 21 2.3.6  Search Results ................................................................................................................. 21 

2.4  RESULTS AND CONCLUSIONS ...................................................................................................... 22 

iv

3  UNDERSTANDING SECURE TROPOS, MISUSE CASES AND CLASP ........................................... 23 

3.1  SECURE TROPOS .................................................................................................................... 23 3.2  MISUSE CASE .......................................................................................................................... 27 

3.2.1  Misuse Cases Template ................................................................................................... 28 3.3  CLASP ................................................................................................................................... 29 3.4  SUMMARY .............................................................................................................................. 34 

4  PROPOSED FRAMEWORK .................................................................................................... 35 

4.1  OVERLAPPING ACTIVITIES OF CLASP AND SECURE TROPOS ............................................................ 35 4.2  BEST PRACTICE SELECTION ......................................................................................................... 35 4.3  ACTIVITY SELECTION ................................................................................................................. 36 4.4  ADDITIONAL FIELDS IN MISUSE CASES TEMPLATE ............................................................................ 37 4.5  SEQUENCING THE STEPS ............................................................................................................ 37 4.6  ANALYSIS OF SELECTED STEPS: ACTIVITY REVISIT ............................................................................. 37 4.7  USING SECURITY REQUIREMENT CATEGORIZATION ......................................................................... 38 4.8  PROPOSED FRAMEWORK ........................................................................................................... 38 

4.8.1  How to conduct each step of Framework ....................................................................... 38 4.8.1.1  Specify Operational environment ........................................................................................ 39 4.8.1.2  Identify global security policy ............................................................................................... 39 4.8.1.3  Identify resources and trust boundaries .............................................................................. 40 4.8.1.4  Identify user roles and resource capabilities ........................................................................ 40 4.8.1.5  Identify in‐depth user roles, secure capabilities and security constraints for each actor .... 41 4.8.1.6  Identify attack surface .......................................................................................................... 41 4.8.1.7  Research and assess security posture .................................................................................. 42 4.8.1.8  Detail misuse case ................................................................................................................ 42 4.8.1.9  Document security relevant requirements .......................................................................... 43 4.8.1.10  Perform security analysis of system requirements and design. ........................................... 44 4.8.1.11  Update security requirements document ............................................................................ 45 4.8.1.12  Identify resources, entry points, functionalities, assets, services and actors for the system 45 4.8.1.13  Suppose all the threats mentioned in the categorization are true for all resources, entry points, functionalities, assets, services and actors for the system .......................................................... 45 4.8.1.14  Validate threats for each resource, entry point, functionality, asset, service and actors for the system 45 4.8.1.15  Update the document .......................................................................................................... 46 

5  EXPERIMENT ....................................................................................................................... 47 

5.1  EXPERIMENT DEFINITION ........................................................................................................... 47 5.1.1  Objective ......................................................................................................................... 47 5.1.2  Context ............................................................................................................................ 47 5.1.3  Sample Space .................................................................................................................. 48 

5.2  EXPERIMENT PLANNING ............................................................................................................. 48 5.2.1  Purpose ........................................................................................................................... 48 5.2.2  Quality focus ................................................................................................................... 48 5.2.3  Perspective ...................................................................................................................... 48 5.2.4  Context selection ............................................................................................................. 48 5.2.5  Hypothesis formulation ................................................................................................... 48 5.2.6  Variable selection ............................................................................................................ 48 5.2.7  Subject selection ............................................................................................................. 49 

5.3  EXPERIMENT DESIGN ................................................................................................................. 49 5.3.1  Design principle ............................................................................................................... 49 5.3.2  Design type ..................................................................................................................... 49 5.3.3  Instrumentation .............................................................................................................. 50 5.3.4  Validity evaluation .......................................................................................................... 50 

5.4  EXPERIMENT OPERATION ........................................................................................................... 51 5.4.1  Software System for Experiment ..................................................................................... 51 

5.4.1.1  Monolithic Mainframe ......................................................................................................... 51 5.4.1.1.1  Glossary ........................................................................................................................... 51 5.4.1.1.2  System Description .......................................................................................................... 52 

v

5.4.2  Experiment execution ..................................................................................................... 52 5.4.2.1  Output during each activity of Framework .......................................................................... 53 

5.4.2.1.1  Specify Operational Environment (Implementation scenario) ........................................ 54 5.4.2.1.2  Identify Global Security Policy ......................................................................................... 54 5.4.2.1.3  Identify resources and trust boundaries ......................................................................... 54 5.4.2.1.4  Identify user roles and resource capabilities ................................................................... 56 5.4.2.1.5  Identify in‐depth user roles, secure capabilities and security constraints for each actor 57 5.4.2.1.6  Identify attack surface ..................................................................................................... 57 5.4.2.1.7  Research and assess security posture ............................................................................. 57 5.4.2.1.8  Detail Misuse Case .......................................................................................................... 58 5.4.2.1.9  Document security relevant requirements ..................................................................... 59 5.4.2.1.10  Perform security analysis of system requirements and design...................................... 59 5.4.2.1.11  Update Security Requirements Document: ................................................................... 61 5.4.2.1.12  Identify Resources, Entry Points, Functionalities, Assets, Capabilities, Resources, Services And Actors. ........................................................................................................................... 61 5.4.2.1.13  Suppose All The Threats Mentioned In The Categorization Are True For All Resources, Entry Points, Functionalities, Assets, Services And Actors For The System. ....................................... 62 5.4.2.1.14  Validate threats for each resource, entry point, functionality, asset, service and actors for the system ..................................................................................................................................... 62 5.4.2.1.15  Update Security Requirements Document: ................................................................... 62 

6  ANALYSIS AND INTERPRETATION: ........................................................................................ 63 

6.1  DATA SET REDUCTION ............................................................................................................... 63 6.2  DESCRIPTIVE STATISTICS ............................................................................................................. 63 

6.2.1  Vulnerability Comparison ................................................................................................ 63 6.2.2  Requirement Types with Respect to System’s security baseline ..................................... 65 

6.3  RESULTS AND DISCUSSIONS ........................................................................................................ 68 6.4  RETURN OF INVESTMENT FOR EACH TECHNIQUE. ............................................................................. 69 6.5  VALIDITY THREATS .................................................................................................................... 69 

6.5.1  Limitations ...................................................................................................................... 70 6.6  ANSWERS TO RESEARCH QUESTIONS ............................................................................................ 71 6.7  CONCLUSION AND LESSON LEARNED ............................................................................................ 72 6.8  FUTURE WORK ........................................................................................................................ 73 

7  REFERENCES ........................................................................................................................ 74 

8  APPENDIX ........................................................................................................................... 81 

8.1  APPENDIX A ......................................................................................................................... 81 8.2  APPENDIX B ......................................................................................................................... 81 8.3  APPENDIX C (THREATS CATEGORIZATION) .................................................................................. 81 8.4  APPENDIX D (CLASP AND FRAMEWORK SECURITY RELEVANT REQUIREMENTS) ................................. 85 8.5  APPENDIX E (CLASP AND FRAMEWORK SECURITY ANALYSIS REQUIREMENTS) .................................. 88 8.6  APPENDIX F (FRAMEWORK’S FINAL UPDATE REQUIREMENTS) ......................................................... 89 8.7  APPENDIX G (MISUSE CASE REQUIREMENTS) ............................................................................. 90 8.8  APPENDIX H (QUESTIONNAIRE) ................................................................................................ 92 8.9  APPENDIX I (FEEDBACK FORM) ................................................................................................ 93 8.10  APPENDIX J MISUSE CASE TEMPLATE ........................................................................................ 95 8.11  APPENDIX K SEQUENCE DIAGRAM SHOWING ACTIVITY FLOW ........................................................ 96 8.12  APPENDIX L USE CASE DIAGRAM FOR MONOLITHIC SYSTEM .......................................................... 97 8.13  APPENDIX M SEARCH STRINGS ..................................................... ERROR! BOOKMARK NOT DEFINED. 

 

vi

1 LIST OF FIGURES Figure 1: Overall Research Overview ____________________________________________ 1 Figure 2: Search Strategy  _____________________________________________________ 5 Figure 3: Study Selection Criteria _______________________________________________ 9 Figure 4: Search Strategy  ____________________________________________________ 20 Figure 5: Secure TROPOS example _____________________________________________ 27 Figure 6: Misuse Cases example _______________________________________________ 27 Figure 7: Component Architecture Diagram  _____________________________________ 55 Figure 8: Threat Tree ________________________________________________________ 61 Figure 9: Percentage comparison with known vulnerabilities ________________________ 64 Figure 10: Authorization requirements _________________________________________ 66 Figure 11: Authentication Requirements ________________________________________ 66 Figure 12: Confidentiality Requirements ________________________________________ 66 Figure 13: Data integrity Requirements _________________________________________ 67 Figure 14: Availability Requirements ___________________________________________ 67 Figure 15: Non Repudiation Requirement _______________________________________ 68 Figure 16: Accountability Requirements  ________________________________________ 68 Figure 17: Requirement Analysis w.r.t Security Baseline ____________________________ 69    

vii

2 LIST OF TABLES Table 1: Two Phase Inclusion Criteria ____________________________________________ 7 Table 2: Kappa Coefficient  ____________________________________________________ 8 Table 3: Relevance of Papers with Research Questions  _____________________________ 9 Table 4: Categorization by research methods ____________________________________ 11 Table 5: Data Extraction Criteria _______________________________________________ 11 Table 6: Synthesis of Articles  _________________________________________________ 12 Table 7: Star Ratings of Different Security Requirement Elicitation Techniques (reproduced 

from Romero‐Mariona et al. [69]). _________________________________________ 13 Table 8: Description for Star Rating (reproduced from Romero‐Mariona et al. [69]). _____ 14 Table 9: Two Phase Inclusion Criteria ___________________________________________ 21 Table 10: Search Result ______________________________________________________ 21 Table 11: Four Phases of Secure TROPOS ________________________________________ 23 Table 12: Implementation Steps of Secure TROPOS  _______________________________ 25 Table 13: Misuse Cases Implementation Steps ___________________________________ 28 Table 14: Misuse Case Template  ______________________________________________ 28 Table 15: CLASP Views  ______________________________________________________ 29 Table 16: CLASP Activities ____________________________________________________ 29 Table 17: CLASP Best Practices ________________________________________________ 33 Table 18: Overlapping Activities of CLASP and Secure TROPOS  ______________________ 35 Table 19: Selected Best Practices for CLASP ______________________________________ 36 Table 20: Selected Activities from CLASP ________________________________________ 36 Table 21: Selected Activities from Secure TROPOS ________________________________ 37 Table 22: Additional fields in Misuse Case Template _______________________________ 37 Table 23: Sequence of CLASP Activities _________________________________________ 37 Table 24: Merged activities from techniques _____________________________________ 37 Table 25: Framework Steps  __________________________________________________ 38 Table 26: Experiment design type  _____________________________________________ 49 Table 27: Activity flow _______________________________________________________ 52 Table 28: Plan for Day1 of Experiment __________________________________________ 52 Table 29: Plan for Day2 of Experiment __________________________________________ 53 Table 30: Security Baseline ___________________________________________________ 54 Table 31: Component Architecture  ____________________________________________ 55 Table 32: System resources and capabilities _____________________________________ 56 Table 33: User's capabilities __________________________________________________ 56 Table 34: Application's capabilities  ____________________________________________ 56 Table 35: Access method capabilities ___________________________________________ 57 Table 36: Technologies and problems __________________________________________ 58 Table 37: Misuse Case _______________________________________________________ 58 Table 38: Misuse Case _______________________________________________________ 58 Table 39: Correlation Matrix __________________________________________________ 59 Table 40: Threats on Assets __________________________________________________ 60 Table 41: Threats on Capabilities ______________________________________________ 60 Table 42: System's resources/assets  ___________________________________________ 62 Table 43: Valid Threats ______________________________________________________ 62 Table 44: Vulnerability and Security requirement comparison _______________________ 64 Table 45: Requirement analysis with respect to Security baseline ____________________ 65 

1

1 CHAPTER 1 – INTRODUCTION The purpose of this chapter is to give an introduction about security in software, 

the  way  security  is  addressed  in  software  and  to  present  an  overall  idea  of  our research.  We  have  explained  our  research  plan  and  the  basic  idea  behind  our research in this chapter. 

Figure 1: Overall Research Overview 

 

1.1 Background  

1.1.1 Security in software As assets got connected  to software, security concerns  for software grew more 

and  more.  Over  the  years,  the  level  of  threats  to  software  systems  has  varied depending upon the environments in which software systems are used and the data these software systems process [54,81]. Internet and connectivity was considered as a social and commercial breakthrough but it has increased the opportunities for those who want to electronically exploit others [81]. Software attacks and hacking incidents actuated  the  software world  to  concentrate on  security of  the  software produced. 

2

Constant and successful attack stories make it clear that yet softwares are developed with vulnerabilities inside [30,90]. 

 

1.1.2 How is security neglected? Traditionally,  software  development  is  focused  on  functional  requirements  of 

software  system  from  the  start  of  software  development  [3,15,64].  Security  is incorporated  in the  later stages of development as an afterthought  [41]. Security  in software  system  is  put  under  the  category  of  non‐functional  requirements  by  the researchers  [3,16,27]  and  hence  taken  as  a  complimentary  feature  by  software developers [7,15,74]. According to syllabus provided by REQB1 [82]  in‐depth security requirements  are  not  focused  due  to  time  pressure,  exclusive  fixation  of  cost  and orientation  towards  fast  results.  In  addition,  functional  security  features  are  often confused  with  actual  security  needs  throughout  the  system  [3].  Understanding security needs of a system  requires considerable knowledge of asset, data security, integrity,  confidentiality  and  availability  of  service  [64].  Counter measures  against software attacks is also a security need of a software system. 

 

1.1.3 How is security addressed? A number of  approaches  have  evolved  to  address  software  security.  Following 

three major approaches are used to address security in software [30]. 1. Penetrate and Patch 2. Secure Operational Environment 3. Secure Software Engineering In  penetrate  and  patch  approach,  software  product  is  released  in  public  after 

completion. Any vulnerability  found  is  fixed by applying patches. Although  it  is  the most  common  approach  but  to  apply  patch  after  finding  vulnerability  is  hundred times [10,30,41] more expensive than if it was fixed during development. Most of the time, more vulnerabilities are introduced while applying patches [30,41,86]. 

Securing operational  environment  [30,37]  relies on  the devices  external  to  the software  systems  such  as  firewalls  and  protection  mechanisms.    It  can  provide external  security  to  the  software  but  helps  very  little  against  design  and implementation attacks. Moreover, operational environment security is only possible after launching the operational product [30]. 

Idea  behind  secure  software  engineering  is  to  implement  well  structured processes  and  mechanisms  from  early  phases  of  software  development  i.e. requirement elicitation  [30].  Secure  software engineering  starts  from  requirements phase and reflected in all the phases of software development lifecycle [29,69,70,78]. 

1.1.4 Secure Software Engineering Focus  of  security  requirement  engineering  is  on  early  stages  of  software 

development  lifecycle  which  proves  to  be  cost  effective  and  brings  about  robust design [42,54]. In order to gather security requirement of a software system, number of security requirement elicitation techniques are used [69]. 

Security  requirement  elicitation  techniques  are divided  into  two  categories  i.e. formal  and  informal.  Formal  security  requirement  elicitation  techniques  follow  a systematic procedure  and definite number of  steps  [35,69].   Besides  following  the standard steps,  there exists a definite order  to  follow  these steps. Lack of  flexibility and  limitation  in  defining  scope  of  (formal)  security  requirement  elicitation techniques limits the use and efficiency of technique. Due to limitations in scalability 

1 REQB = Requirement Engineering Qualifications Board (REQB), Poland

3

of  the method,  formal  techniques  are hard  to use  for big projects  [69].  There  are predefined  roles  and  repetition  of  process  in  formal  techniques  to  conduct  the requirement specification. 

On the other hand, informal techniques are more flexible and it becomes easy to define the steps according to the nature of the system under consideration. Despite the flexibility of  informal techniques, they  lack a systematic approach. Repetition of the process in informal techniques is not easy as compared to formal methods. Since there  are  no  pre‐defined  steps  in  informal  security  requirement  elicitation techniques,  most  of  the  software  professionals  avoid  [41]  using  them.  Informal security  requirements  elicitation  techniques  lack  a  proper  structure  and  normally leave  few  security  problems  un‐addressed.  In  addition,  particular  roles  are  not defined  for  the  stakeholders  in  order  to  conduct  the  specification  [69].  These  are some  of  the main  reasons  that  informal  techniques  are  normally  avoided  by  the security requirement engineers. 

Main idea behind security requirement elicitation was to use elicitation methods, which  are  used  to  gather  functional  requirements,  for  non‐functional  requirement (e.g. security) [3]. Since elicitation techniques are focused on functional requirements [2,3,14,23,63],  it  is difficult  to use  the  same  technique  for capturing non‐functional requirements.  For  this  purpose, many  of  the  elicitation  techniques were  extended and  were  used  in  an  extended  form  [2,14,23,63]    to  capture  non‐functional requirement  (e.g.  security).  Some  researchers have proposed new  frameworks and techniques  especially  for  security  requirement  elicitation  [4,48,49,51,92]. Whereas some of  the  techniques were  combined with other  elicitation  techniques  [2,84]  to produce  better  results. All  this,  ongoing  and  past, work  [3,8,45,46,65,69]  is  aimed upon developing attack resistant and secure software systems. 

1.2 Our Idea Different  researchers  have  rated  security  requirement  elicitation  techniques 

differently  [3,69,85]. This makes  it very difficult  to compare  the  results and various ratings of security requirement elicitation techniques. Limitations of formal methods and lack of systematic approaches in informal elicitation techniques makes it difficult to rely on a single technique for security requirement elicitation. 

As  it  is mentioned  above,  that  formal  techniques  lack  flexibility  and  in‐formal techniques  lack systematic approach, we decided  to combine  the strengths of both formal and  informal  techniques  to mitigate  the problems  in both  techniques, when used  separately.  The  basic  idea  of  our  research  was  to  integrate  an  informal technique with formal technique and propose a flexible framework with some level of formality  in  the steps. Following were  some questions which we needed  to answer before we start our research 

1. Which informal technique are we going to choose for integration? 2. Which formal techniques are integrate‐able with an informal technique? 3. What  is going  to be our selection criteria  for selecting security  requirement 

elicitation techniques? 4. Are the frameworks proposed by other researchers not good enough? 5. Do we need another framework?  To answer point number 3 above i.e. Selection Criteria, we conducted a literature 

review.  After  deciding  a  selection  criteria  (see  next  section),  we  conducted  a Systematic literature review as a Pre‐study for our research. Following were the aims of our systematic literature review. 

4

1. Identify  the  best  informal  security  requirement  elicitation  techniques according to the selection criteria. 

2. Identify the best formal security requirement elicitation techniques according to the selection criteria. 

We  also  conducted  a  literature  review  to  identify  problems  and  challenges  in available security requirement elicitation frameworks (see Chapter 2). 

1.3 Pre‐Study for Thesis 1.3.1 Selection Criteria for techniques 

As said earlier, many researchers have compared security requirement elicitation techniques  according  to  their  self  selected  criteria.  Each  one  of  them [3,17,18,22,40,41,49,50,69,70‐72,75,85]  have  rated  the  techniques  differently. Variety of criteria and different ratings hinders the selection of security requirement elicitation  techniques.  So  we  conducted  a  literature  review  and  selected  quality criteria for evaluating security requirement elicitation techniques. Our quality criteria were based upon those quality criteria that were common in most of the papers we selected for understanding evaluation [17,41,49,50,69,70‐72,75] of techniques. i.e. 

− Easy to  Implement: Steps and activities  involved  in  the method are not too complex and can be executed easily [49]. 

− Flexibility:  Technique is modifiable for use [49,75]. − Adaptability: The method can be used in multiple environments [49]. − Learnability:  Technique  is  learnable  in definite  and  acceptable  time period 

[17,49,72]. − Understandability: Clarity of steps and activities of the technique along with 

the capability of technique to understand requirement specification [70,71]. − Scalability:  Technique serves for projects of different sizes [49,69,71]. − Visual output: Technique produces understandable graphical output [49]. 

   We  shall  evaluate  security  requirement  elicitation  techniques  using  above 

mentioned criteria.  

1.3.2 Systematic Literature Review for Security Requirement Elicitation Techniques (Pre‐work for Thesis) 

1.3.2.1 Search Strategy This  section  is  an  explanation  of  search  strategy  implementation  using 

Kitchenham Guidelines [43].  1. We  identified  keywords  and  important  search  terms  from  research 

questions. 2. We  also  used  synonyms  of  important  search  terms  to  improve  our 

search. 3. We  formed search strings by using AND and OR Boolean operators  (see 

section 1.2.2.3). Our search strategy is partially iterative. It means that while searching Databases, 

we  changed  and  refined  keywords  and  search  terms  to  improve  our  search. We gathered a large set of initial studies after exhausting all the search terms and search strings (mentioned in section 1.2.2.3). It is shown below in figure1. 

5

Figure 2: Search Strategy 

  

1.3.2.2 Research Questions for SLR 1. What are the software security requirements elicitation techniques that are 

widely used? 2. What are the two widely used techniques for security requirement elicitation 

i.e.  which  satisfies  these  evaluation  criteria  (mentioned  and  explained  in section 1.3.1); 

− Easy to Implement − Flexibility  − Adaptability  − Learnability  − Understandability  − Scalability − Visual output 

3. Which informal technique for security requirement elicitation has the highest rating for following evaluation criteria;  

− Easy to Implement − Flexibility  − Adaptability  − Learnability  − Understandability  − Scalability − Visual output 

These  research questions help us  in  evaluating  security  requirement  elicitation techniques according to above mentioned criteria.  

In order to have better understanding of RQ2 i.e. “why did we select two formal techniques”, refer to section 1.3.4. 

1.3.2.3 Search Terms To  find papers  in databases we used  two Boolean operators  i.e.  ‘AND’ &  ‘OR’. 

Firstly, we  search papers with keywords and  then we combined  the keywords with the Boolean operators to get the desired output.  

1. Software Requirements 2. Requirements Elicitation  3. Requirements Elicitation Process 4. Techniques used to elicit Security Requirements 5. Requirements Elicitation Technique 

6

6. Formal Requirements Elicitation Methods 7. Requirements Gathering  8. Formal Requirements Elicitation Technique  9. Software requirement elicitation 10. Software requirement elicitation technique 11. Software requirement elicitation methods 12. Formal Elicitation Technique 13. Informal Elicitation Technique 14. Software security 15. Security Requirement Elicitation Technique 16. Software security requirements 17. Software security requirements elicitation 18. Software security requirements formal elicitation technique 19. Software security requirements formal elicitation methods 20. 1 OR 2 OR 3 21. 6 OR 7 OR 8 22. “Formal Elicitation” AND “Elicitation process” AND “Elicitation methods” 23. “Formal Elicitation Technique” AND “Software  requirement elicitation” AND 

“Software requirement elicitation technique” 24. “Elicitation Methods” AND 5 AND  6 25. “Elicitation Methods” AND 14 26. “Software Security” AND 11 AND 12 27. “Software Security” AND 11AND 13 28. “Software security”  AND 15 AND 16 29. 16 AND 17 AND 18 30. “Elicitation Technique” AND 7 AND 8 31. “Elicitation Technique” AND 19 32. (Software  Requirements  OR  Requirements  Elicitation  OR  Requirements 

Elicitation  Process  OR  Formal  Requirements  Elicitation  Methods  OR Requirements Gathering OR Formal Requirements Elicitation Techniques) AND (Formal Elicitation OR Elicitation Process OR Elicitation Methods OR  Formal Elicitation  Technique  OR  Software  Requirements  Elicitation  OR  Software Requirement  Elicitation  Technique)  AND  (“Software  Security”  OR  Formal Elicitation  Technique  OR  Informal  Elicitation  Technique  OR  Security Requirements Elicitation Technique)                            

 

1.3.2.4 Databases and data collection source We  used  BTH  Library  to  search  the  relevant material. We  also  searched  the 

databases using the keywords which were used in the initial search to make sure that there  is no Formal or  Informal Security Requirement Elicitation Techniques which  is left un‐touched. We  searched online databases  i.e.  ISI,  IEEE Xplore, ACM, Springer, Inspec and compendeX. 

 

7

1.3.2.5 Inclusion/ Exclusion Criteria In  abstract  level  we  selected  papers  based  on  their  title,  abstract,  keywords, 

language etc to check whether papers are relevant to our field.  In detailed  level we further analyzed papers whether the detail  level  information (mentioned  in Table 1) exist in the selected papers. 

 Table 1: Two Phase Inclusion Criteria 

 Abstract Level 

• Papers and journals in English language. • Articles that looked relevant by keywords. • Search for recent papers from last 8‐9 years. • Availability of paper through BTH library. • Papers that are published in journals and conferences are included. • Articles were included with relevance to metadata. • Articles were included with relevance to metadata and Full text. • Articles were included relevance to title and abstract. • Articles were selected related to the software security and formal elicitation techniques. • Articles were selected related to software security and Informal elicitation techniques. • Relationship with RQ (Research Questions): The paper selection was focused on our RQs. 

Detailed Level • Articles were selected that compare software requirement elicitation techniques. • Articles were selected that evaluate software requirement elicitation techniques. • Articles were selected based on Evaluation Criteria mentioned in RQ2 and RQ3. 

 

1.3.2.5.1 Exclusion Criteria • There were number of articles and papers which were repeated  in number of 

databases. We  removed  duplicates  automatically  with  the  help  of  software called EndNote. Literature with same reference type  is taken as a duplicate by EndNote. For example if journal article, author, year, title fields are identical for two or more papers, Endnote will consider such articles as duplicates and keep only one reference for such articles. Other  identical articles with difference  in reference type, can be removed manually. 

• Papers were discarded which did not fulfill the criteria of inclusion. • Studies  were  excluded  if  its  main  focus  was  not  on  security  requirement 

elicitation techniques i.e. some papers focused only on requirement elicitation techniques e.g. brainstorming, interviews etc were excluded. 

• Articles were excluded which were not having  information about  informal and formal security requirement elicitation techniques. 

1.3.2.6 Kappa Coefficient We randomly selected 25 studies while applying  inclusion criteria to check  level 

of agreement and disagreement between two authors. To check  level of agreement between two authors we used kappa coefficient. The value of kappa coefficient [43] in table is 0.40 which is a fair agreement between authors. 

                                                    K  =   P (o) ‐ P (E)                                                                   1‐ P (E) 

P(o) =  Probability of Observed agreement between authors. P(E)=  Probability of Expected agreement between authors. N = Number of studies randomly selected K =  [‐1, 1] K= 1: Perfect agreement K=0:  Agreement is equal to chance 

8

K= ‐1: Perfect disagreement. P(o) = (No of studies both researcher says Yes + No of studies both 

Researcher says no) / N (In order to calculate observed agreement we calculated number of studies  in  which  both  researchers  agreed  that  they  must  be included  and  added  with  the  number  of  studies  on  which  both researchers disagreed. Result of  this was divided with number of studies randomly selected i.e. 25 here)  P(o) = 11 + 6/ 25  P(E) =  [No of Studies Researcher 1 says yes/ N       *   No of studies 

Researcher 2 say yes/ N]  + [ No of studies Researcher 1 say No / N     * No of Studies Researcher 2 say No / N] 

 (In  order  to  calculate  expected  agreement  we  first  calculated number of  studies  separately  in which  researcher 1  and 2  agree. Then  we  divided  separately  research  1  studies  and  research  2 studies with  the  number  of  studies  randomly  selected.  Then we calculated  separate  studies  in which  researcher 1 and 2 disagree. We divided separately Researcher 1 and researcher 2 studies with the number of studies randomly selected.)  P(E) = [16/25 * 14/25] + [ 9/25 * 11/ 25]  

Table 2: Kappa Coefficient Studies  Papers Selected     

Randomly P(A) P(E) K 

Inclusion Exclusion Criteria 

25  0.70 0.50 0.40 

To increase the level of agreement among the authors, we tried to resolve our conflicts through mutual understanding and discussions between us. 

1.3.2.7 Study Quality Assessment In order to search different relevant articles in the databases, we proposed some 

checklist points. A  list of papers was  selected after applying an  inclusion/ exclusion criteria.  Information extracted  from studies was analyzed on  the basis of approach, techniques, methods  and  results.  The main  objective  was  to  find  answer  to  our research  questions.  So  the  relevancy  of  problems  addressed  in  the  papers was  of significant importance. 

The  search  was  basically  focused  on  different  available  security  requirement elicitation  techniques and  their effectiveness of use  in different scenarios.  Inclusion and Exclusion criteria were also taken into account to search material. In order to find authentic  articles,  we  used  checklist  points  for  quality  assessment.  We  applied checklist points by manually by reading the articles. Following are the quality criteria which were taken into consideration:  

• The research methodology is understood by the reader.  • Limitations of the study are reported. 

9

• Primary studies were selected based on empirical evidence i.e. data must be available in qualitative or in quantitative form.   

Figure 3: Study Selection Criteria 

  

1.3.2.8 Data Extraction Criteria After  the  inclusion  and  exclusion  criteria  we  choose  24  articles 

[1,5,6,9,17,19,20,31,32,36,41,49,50,52‐55,57,70‐72,76,78,83] which are more related to  our  research  area with  respect  to  process,  techniques,  approaches,  gap,  future work, advantages and disadvantages of security requirements elicitation techniques. Found  articles  are  related  to  the  various  important  techniques  for  security requirements engineering. Papers include both formal and informal techniques. 

 Table 3: Relevance of Papers with Research Questions 

Papers  Title of the paper Paper  related to  Research question 

                 [52] 

Security  Requirements  Engineering  for software systems: Case studies in support of software engineering 

                          RQ:2 

10

                 [55] 

Successful  requirement  elicitation  by combining  requirement  engineering techniques 

                          RQ:1 

                 [76] 

Security  Requirements  Elicitation  Using Method Weaving and Common Criteria 

                    RQ:1, RQ:2 

                 [9] 

Injecting  security  as  aspectable NFR  into Software Architecture 

                          RQ:2 

                 [32] 

Security  Requirements  Engineering:  A Framework  for  Representation  and Analysis 

                          RQ:2 

                 [36] 

MOQARE:  misuse‐oriented  quality requirements engineering 

                          RQ:2 

                 [20] 

An  Ontological  Interface for  Software Developers to Select Security Patterns 

                          RQ:2 

                 [54] 

A  systematic  review  of  security requirements engineering 

                    RQ:1,RQ:2 

                 [53] 

Security  Requirements Variability  for Software Product Lines 

                          RQ:1 

                 [78] 

Eliciting Security Requirements by Misuse Cases  

                          RQ:2 

                 [19] 

Analysis  for  Understanding  Software Security Requirement Methodologies  

                          RQ:1 

                 [1] 

Security  Requirements  Elicitation  Using View Points for Online System 

                          RQ:1 

                 [31] 

Security  requirements  engineering;  state of the art and research challenges 

                    RQ:1,RQ:2 

                 [57] 

Extending  tropos  methodology  to accommodate security 

                          RQ:2 

                 [83] 

Security‐aware  Software  Development Life Cycle (SDLC) 

                          RQ:2 

[17]  A  comparative  Evaluation  of  three approaches  to  specifying  security Requirements 

RQ:3

[41]  A  Survey  on  requirements  and  design methods  for  secure  software development. 

RQ:2,RQ:3

[50]  Experiences in  Eliciting  Security Requirements 

RQ3

[72]  Formality  of  the  security  specification process: Benefits Beyond Requirements 

RQ2

[49]  How  to  compare  the  security  quality requirements  engineering(SQUARE) Method with other Methods 

RQ3

[71]   Security  Requirements  Engineering—A survey  

RQ2, RQ3

[70]  SRRS:  A  Recommendation  System  for security Requirements 

RQ2,RQ3

[6]  Initial  Industrial  Experience  of  Misuse Cases in Trade Off Analysis 

RQ3

[5]  Misuse Cases Help to elicit non functional requirements. 

RQ3

Relevant Papers were extracted based on the research questions as shown in the above  table.  Based  on  the  selected  papers  above  we  categorized  the  papers according  to  the  research methodology used  in each paper. One article was  found 

11

which adopted experiment as a  research methodology whereas other articles used case study, survey, Interviews and literature reviews. 

  

Table 4: Categorization by research methods Articles  Methodology 

[50]  Experiment[17][9][36][50][52][54][53][49][5][31][76] Case Study[9][19][55][57][41][72][71][70][78][6] Survey[19][1]  Literature Review[54]  SLR[55]  Interviews[32],[20][31],[83] Others

 Following information was recorded for each paper.  

Table 5: Data Extraction Criteria Article Title Journal/Conference/Conference ProceedingsDate of Publication Study Context(Academia/Industrial)Research Method(Experiment/Case Study/Survey/Literature Review etc.)External/Internal ValidityRetrieval Search QueryEvaluation/Metrics (RQ2, RQ3)Abstract 

 Article Title: Relevant titles were selected based on our study.   Journal/conference/Conference proceedings: We  included papers from Journals, 

conferences and conference proceedings.  Date  of  publication:  Date  of  publication  was  taken  into  consideration  when 

selecting the paper. We selected recent papers from past 8‐9 years.  Study Context (Academia/Industrial): In our study we considered both academia 

and industrial study.  Research Method (Experiment/case study/survey/Literature Review etc): Based 

on  the  selected papers above we  categorize  the papers according  to  their  research methodology.  

 External/Internal  validity: We  recorded  the  validity measures  of  the  results  of 

each paper.  Evaluation/Metrics  (RQ2,  RQ3):  Evaluation  criteria  are mentioned  in  research 

question 2 and 3. Evaluation criteria (see Section 1.2.1) for the papers evaluating the techniques  was  recorded  and  looked  into  with  respect  to  evaluation  criteria mentioned in our research questions. 

 Abstract: In abstract summary of the paper is presented. Based on the abstract of 

the paper we can have a general  idea whether the paper  is relevant to our study or not. 

  

12

1.3.2.9 Synthesis of Articles In  synthesis  of  articles,  we  synthesize  the  articles  on  the  basis  of  research 

methods,  and  the  way  the  articles  are  related  to  our  research  area  of  software security requirements. Articles are summarized below to show that what exactly we have found and what is the result of our study regarding our chosen research area for systematic review. 

Table 6: Synthesis of Articles Articles  Summary Results 

[54][78][17][50][71][52] [55][76][9][53][19][1][31] 

These  papers  explain  the  benefits  of  applying security in early requirement phase with the help of security  requirement  elicitation  techniques.  It results in detecting security vulnerabilities, decrease cost  of  software maintenance  and  helps  in  finding complex  components  in  software  architecture. Furthermore we  get  to  know  different  techniques and  the  benefits  of  combined  requirement elicitation  techniques  in different applications  from these papers. 

By  analyzing  these  articles  we understood  different  security requirement  elicitation techniques  and  their  benefits. Secondly  we  analyze  the application  of  combined requirements  engineering techniques  for  efficient  and successful  requirements engineering  process  for  real  life complex  project. We  cannot  say that one technique  is better than the others.  There  are number of security  requirement  elicitation techniques  which  facilitates  in detecting  different  security vulnerabilities. 

[41][54][78][70][49][50][72][71][5][6][1][83][57][31] 

In  these  papers,  detail  analysis  is  presented  of formal  and  informal  approaches.  Some  of  the papers explain threat modeling based on formal and informal  elicitation  technique.  Furthermore  it discusses  the  challenges    and  benefits  of  different security  elicitation  techniques  based  on  evaluation criteria mentioned in RQ2 and RQ3: 

− Easy to Implement − Flexibility  − Adaptability  − Learnability  − Understandability  − Scalability − Visual output 

Different  research  methods  are used  in  found  articles  to  elicit security  requirements.  These papers  evaluate  different techniques  based  upon  some criteria.  We  evaluated  the techniques  on  the  basis  of  our own  criteria. We  came  to  know that  CLASP  and  Secure  TROPOS are  widely  used  techniques  in formal  techniques.    Whereas  in informal  techniques, Misuse case is  mostly  understandable  and used. 

[32],[36],[20],[53]  These papers propose a framework for requirement elicitation  and  analysis.  These  frameworks  were proposed to elicit quality requirement. Applicability of frameworks was checked in industry. 

Models  are  proposed  by  using some  standards  to  gather requirements  in  the  early  stages of  the  product.  It  is  used  as  a reference  models  in  decision making. Reason behind analyzing different techniques is to see that which  techniques  and frameworks  are  suitable  in practical world.  

 We have narrow down our research area to three research questions, and these 

posed research questions are answered in following ways.  We searched out in available databases using different search strings and search 

criteria to find the techniques to elicit software security requirements which give the answer of the first research question. After reviewing the found research articles we analyzed  all  techniques  to  find  out  widely  used  formal  and  informal  security requirements elicitation  technique on  the basis of evaluation  criteria mentioned  in research  questions.  We  analyzed  the  widely  used  technique  based  on  its implementation and application. After the inclusion/exclusion criteria we choose the 24 articles [1,5,6,9,17,19,20,31,32,36,41,49,50,52‐55,57,70‐72,76,78,83]. 

 

13

1.3.2.10 Conclusion There are a number of security requirement elicitation  techniques. The security 

requirement elicitation techniques fall under two categories  i.e. formal and  informal security  requirement  elicitation  techniques.  Formal  techniques  follow  certain methods which  are understandable  and  explainable. After  reviewing  and  analyzing the formal and informal security requirements elicitation techniques we selected two widely  used  formal  techniques  (CLASP  and  Secure  TROPOS)  and  one  informal technique(Misuse  cases)  based  on  the  evaluation  criteria.  The  reason  to  choose formal  security  requirements  elicitation  techniques  is  that  they  follow  a  formal process that  includes standard steps to develop security requirements specifications and also there is a defined order in which such standard steps are to be followed, and roles are defined for system’s stakeholders [72]. After reviewing different articles we came  to  know  that  CLASP  and  Secure  TROPOS  are  the most widely  used  security requirements elicitation techniques in industry and academia on the basis of articles [31,41,57,71,72].  Though  the  informal  technique  does  not  follow  any  predefined steps,  reason  to  choose  the  informal  technique  (Misuse  cases)  is  that  it  is used  to analyze a situation from different aspects and capture security requirements in order to  remove  threats  in  early phases of  requirements  engineering. Misuse  cases  as  a solution  for  security  requirement  elicitation  is  accepted  by  different  researchers because of its simplicity and effectiveness of use. Based on the evaluation criteria we selected  informal technique [5,6,31,41,49,50,70,71]. Unfortunately, we did not have access to industry and we had to draw conclusions from published material alone. If we  had  access  to  industry,  we  would  be  able  to  gather  more  evidence  for  the conclusions drawn from the SLR here.  

After reviewing and analyzing the comparison of the formal techniques with the help of  literature review, we concluded  that CLASP and Secure TROPOS are easy  to understand and  implement, more scalable and have more usage history for security critical systems.  

1.3.2.11 Limitations  After  reviewing and analyzing all  the  found articles  from available and possible 

databases  for  the  systematic  review, we  found  some  limitations  in  our  systematic literature review. Some search terms or strings were not working properly to find the articles from databases related to security requirements elicitation. We tried our best to find the articles which are available in last 8‐9 years so that we can find the latest research gaps  in this area but yet we may have missed some articles that were not available to us. 

 

1.3.3 Quick comparison of Security Requirement Elicitation techniques 

We  used  researches  by  different  researchers  to  understand  the  comparison between  different  security  requirement  elicitation  techniques  in  our  systematic literature review. Following table is a better and simple example in this regard which gives  a  quick  and  brief  overview  of  famous  security  requirement  elicitation techniques. 

 Table 7: Star Ratings of Different Security Requirement Elicitation Techniques (reproduced 

from Romero‐Mariona et al. [69]).   Resulting 

System Security 

Scalability  Integration of security 

Requirements 

Constraint Consideration 

Benefits of testing 

Other Requirements Integration 

14

Misuse cases (Informal)  **  *  None  None  ***  * Abuser Stories (Informal)  *  *  None  I**  *  None Secure TROPOS (Formal)  **  ****  ** 

A** D**  **  *** 

Security Problem Frames (Informal)  **  ***  None  A****  None  None Anti Models (Formal)  **  ****  None  None  *  None I* (Formal)  ****  **  * 

D**I***  *  * 

Common Criteria (Formal)  ****  ****  * 

D** I*  *  * 

SQUARE (Informal)  ***  ****  None  A*  *  None OCTAVE (Formal)  **  ****  *  None  **  None Attack Trees (Informal)  *  *  None  D**  ***  None USer Method (Formal)  **  **  * 

D**I**  None  * 

CLASP (Formal) 

****  ****  ** 

A*D** I* M*  ****  * 

 Romero‐Mariona  et  al.  [69]  compare  5  informal  and  7  formal  security 

requirement elicitation techniques according to 6 different quality criteria (see Table 3).  Their  survey  explored  constraints  at  later  stages  of  development.    These constraints  are  the  factors  that  can  benefit  other  stages  of  development.  These constraints include Architectural (A), Design (D), Implementation (I) and Maintenance (M). The criteria for star rating is as follows 

 Table 8: Description for Star Rating (reproduced from Romero‐Mariona et al. [69]). Notation  Translated As  Description

None  Not specified  There is no information regarding any aspects/concepts about the question at hand in any of the sources describing the approach. 

*  Low  Aspects/concepts related to the question at hand are suggested (but not in detail) OR there  is  enough  information  to  suggest  that  any  support would  be  possible  by  the approach. 

**  Moderate Aspects/concepts related to the question at hand are explicitly mentioned  in some of the  sources  describing  the  approach,  but  it  is  not  a  critical  component.  Support  is described, but no specific measures to operationalize that support are given. 

***  Moderate‐High  Aspects/concepts related to the question at hand are explicitly mentioned in a majority of  the sources describing  the approach;  they are  important aspects  to  the approach. Support is described and some measures to operationalize that support are described. 

****  High  Aspects/concepts related to the question at hand are critical to the approach. Support for  the  specific  question  is  described  across  the majority  of  sources  describing  the approach.  There  is  evident  and  extensive  support  for  the  question  at  hand,  and measures for achieving this support are described. 

 

We  can  see  that  Romero‐Mariona  et  al.  [69]  rated  CLASP  and  Secure  TROPOS higher  than  other  security  requirement  elicitation  techniques.  There  is  another research  conducted  by  Khan  and  Zulkernine  [41]  which  also  draws  the  same conclusion as Romero‐Mariona et al.[69]. They  [41] have compared Secure TROPOS and  CLASP with  all  other  formal/Informal  techniques  and  the  results were  almost similar  to  that  of  Romero‐Mariona  et  al.[69].  Khan  and  Zulkernine  [41]  compared different  security  specification  languages  according  to  properties  like  Security 

15

constraints,  Easy  to  implement,  Usability  (Usage  scenarios),  low  level  security requirements and software specification language etc. According to them [41], Secure TROPOS  covers  all  these  properties  as  compared  to  other  specification  languages. They [41] have also compared CLASP with SQUARE, Haley, SREP and concluded that CLASP  covered  most  of  the  properties  related  to  Flexibility,  resources,  potential attackers,  Easy  to  implement,  attackers  capabilities  and  high  level  security requirements.  In  another  study  Romero  et.al  [70],  in  their  research,  conducted comparison  of  different  security  requirement  elicitation  techniques  based  on  the different  criteria  which  also  includes  Scalability  and  Understandability.  They  [70] conducted Survey to conclude their results and used likert scale to rate the technique according  to criteria.  In  their rating matrix, Secure TROPOS and CLASP have highest rating in Scalability whereas for understandability, they have rated CLASP and Secure TROPOS  as  good  [70].  Similar  conclusions  were  drawn  by  some  other  [29,85,87] researchers. Better and concise way of presenting the comparison without a lengthy preface, motivated  us  to  refer  to  a  piece  of  research  from Romero‐Mariona  et  al. [69]. 

 

1.3.4 Why did we choose two formal techniques? The reason for choosing two formal techniques i.e. CLASP and Secure TROPOS out 

of several formal techniques was that they cover the security aspects of the system not in the requirement phase only but also in the design and the implementation part [41]. So by using these techniques together, we can get useful result, which  is more likely  to elicit  the security  requirements, keeping  in view, all software development phases.  These  techniques  also  consider  low  and  basic  level  security  requirements which include integrity, availability and confidentiality of the system [41]. We ignored others  formal  techniques  because  constraints  and  approaches  defined  in  formal techniques  follow  strict  systematic  procedures  [41] which  are  difficult  to  integrate with other techniques. Integrating two widely used techniques and generalizing their steps is easy as compare to combine more than two techniques which will result in a mess and thus require more knowledge  in understanding the notations which might be unfit for our framework analysis [25].  Integrating two widely used techniques can have  the  benefit  of  using  the  different  style  and meaning  of  both  the methods. Moreover,  considering  two  techniques  will  provide  us  with  more  options  and freedom in order to propose a framework. 

1.3.5 Why Misuse cases? In addition  to our  systematic  literature  review and  its  results, we would  like  to 

mention some main reason behind selecting Misuse cases as an  informal technique for  our  framework.  Misuse  cases  are  used  to  analyze  a  situation  from  different aspects and capture security requirements in order to remove threats in early phases of  requirements engineering  [68]. Alexander  [5]  indicated  that Misuse cases can be used  for  capturing  non‐functional  requirements  other  than  security  like  reliability, availability and maintainability. This informal (Misuse Cases) method is very useful in analyzing  security  threats  and  requirements  [78].  Misuse  cases  as  a  solution  for security  requirement  elicitation  is  accepted by different  researchers because of  its simplicity  and  effectiveness  of  use.  It  has  a  graphical  and  a  textual  form  of representation  [6,44‐46,65,79,84,89].  In  graphical  representations,  we  can  use different notations to show the security threats. Textual templates are used to gather detailed  use  cases  descriptions  which  will  benefit  the  requirement  engineers  to analyze the system. 

16

1.4 Aims and objectives The main aim of this thesis  is to propose a concrete,  implementable framework 

for security requirement elicitation. • To  understand  common  software  requirement  elicitation mistakes  that 

cause security problems in a system, at later stages. • Study  formal  and  informal  techniques  for  security  requirement 

elicitation. • Develop  an  implementable  systematic  procedure  for  security 

requirement elicitation by integrating Misuse cases with two widely used formal techniques for security requirement elicitation. 

• To evaluate our proposed framework. • Understanding  the validity of attack scenarios  i.e.  there are possibilities 

of  getting  results  some  of which may  not  be  applicable  in  case  of  the system under consideration. In that case we shall have to validate every attack scenario. 

1.5 Research Questions for Our thesis We  formulated  three  research  questions  for  our  research.  The  first  research 

question will be answered by literature review and analysis of available and ongoing research. We  shall  also  conduct  an  experiment  to  conclude  RQ1.  The  second  and third  research questions will be validated  through experiments or case  studies. For this, we  have  created  two  hypothesis  null  (H0)  and  alternative  (H1)  hypothesis  in RQ3. We gave special attention to the answer‐ability of each research question. Every research question has  an  elaboration under  the  research question which discusses motivation  of  the  research  question  and  in  what  way  the  research  question  is answer‐able. 

It  should  be  noted  that  we  used  CLASP  and  Misuse  Cases  to  elicit  security requirements  (as  mentioned  in  elaboration  of  RQ1).  We  did  not  elicit  security requirements  from  Secure  TROPOS  because  later  analysis  (see  Chapter  3)  showed that  Secure  TROPOS  uses  strict  diagrammatical  notations  (see  Figure  4) which  are difficult to integrate with textual form. Moreover most of the steps of Secure TROPOS overlap with  some of  the  activities of CLASP.  Therefore, we decided  to use CLASP from the formal techniques for comparison. 

 RQ1. Do formal approaches produce better results when integrated with informal 

approach i.e. Misuse case? Elaboration:  Generalizing  the steps of  the  two widely used  formal security  requirement 

elicitation techniques CLASP and Secure TROPOS and  integrating them with Misuse cases will be the first step to answer RQ1. In a second step we shall conduct an experiment and use CLASP and Misuse cases separately to elicit security  requirements.  Then we will  use  our  framework  to  elicit  security requirements  and  compare  results of our  framework with  the  result  from CLASP and Misuse case  respectively.   During  the comparison, we  shall  see that which one from CLASP, Misuse and Framework, produces more number of security requirements. • H0:  Formal  approaches  do  not  produce  better  results when  integrated 

with informal approach i.e. Misuse case. • H1:  Formal  approaches  produce  better  results  when  integrated  with 

informal approach i.e. Misuse case.  

17

RQ2. What  is  the practicality of  the proposed  framework,  i.e. up  to what extent and for which types of software systems the framework is suitable? 

Elaboration:   We  focus  on  delivering  an  implementable  system  which  is  useful  for software  industry. After proposing  the  framework we need  to validate our framework  in terms of  its  implementation. Usability of the outcome will be tested with  the  help  of  an  experiment  or  case  study  defined  in  Research Methodology section.   

 RQ3. On  what  basis  and  for  which  type  of  software  systems,  is  the  proposed 

framework better than other widely known security requirement elicitation techniques? 

Elaboration:  We  need  to  compare  our  framework  with  several  well‐known  security requirement  elicitation  techniques.  It  will  help  us  in  determining  if  the proposed  framework captures more security requirements  in number  than other  security  requirement  elicitation  techniques.  By  answering  this research question we will find out limitations and ranking of our framework as compared to the other security requirement elicitation techniques.  • H0:  The  proposed  framework  is  not  better  than  other  security 

requirement elicitation techniques. • H1:  Proposed  framework  is  significantly  better  than  the  other 

requirement elicitation techniques. 

1.6 Expected Outcomes • A workable model  and  framework  by  integrating  Secure  TROPOS  and 

CLASP  with Misuse  cases  that  can  be  used  for  security  requirement elicitation of any software system. 

• Knowledge about the systems, for which our model is suitable. 

18

2 CHAPTER 2 – ANALYSIS OF AVAILABLE FRAMEWORKS – DO WE REALLY NEED A NEW FRAMEWORK? Purpose  of  this  chapter  is  to  discuss  the  overall  concept  behind  security 

requirement  elicitation  techniques  and  available  frameworks  for  security requirement elicitation in industry.  

This  chapter  is  divided  into  three  main  parts,  Concept  behind  Security Requirement  Elicitation  Techniques,  Security  Requirement  Frameworks  in  industry and literature review for existing frameworks for security requirement. 

Different  requirement  elicitation  techniques  and  frameworks  address  security from different angles and perspectives  in order to provide maximum benefit to user of  the  technique or  framework. To understand  the  concept behind  the  creation of these techniques, we need to look into various definitions of security by researchers and  try  to  establish  their  relationship with  requirement  elicitation  techniques  and frameworks. 

2.1 Concept behind Security Requirement Elicitation Techniques Rushby  [73]  describes  the  concept  of  security  as  something  “which must  not 

happen”.  This  description  of  security  is  quite  vague  but  it  is  used  by  Sindre  and Opdahl  to  create an  informal  security  requirement elicitation  technique  [78].  If we take  inverse of  this description  i.e. what  “must happen”, we  touch use  cases. Use cases technique is a pictorial and textual representation of functional requirements of a  software  system.  In  other words  a  representation  of what  “must  happen”  in  a software system. Misuse cases is said to be inverse of Use cases [78]. In other words, we can  say Misuse  cases  represent “what must not happen”  in a  software  system. This description of Misuse cases technique is vague and ambiguous which is same as the concept of security described in Rushby’s [73] paper. Misuse cases is an informal security  requirement  elicitation  technique  which  is  an  extension  of  Use  case requirement elicitation technique [61]. Input for Misuse cases is at‐least one Use case [46,78,84].  There  can  be  one  or many misuse  cases  for  a  single  use  case. Misuse creation  depends  upon  the  creativity  of  the  person  creating  misuse  cases [45,65,6,79]. It means that there is no measurement of how many maximum misuse cases  can  be  created  for  a particular  use  case.  This  vague  concept of misuse  case creation establishes its relationship with Rushby’s [73] description. It may be said that Misuse cases is a realization of what “must not happen” during a software operation.     

According to Mouratidis [58], a system’s security requirements are defined by a system’s security constraints. Same concept of security is presented by others [56,59] who define security to as a system’s constraint. This concept of security  is seen in i* which is an informal requirement elicitation technique.  I* uses the concept of goals, actors  and  dependencies  to  gather  system’s  requirements.  The  concept  of dependencies used in I* can be defined as “obligations [58] on the actors”. I* is used for capturing functional requirements of a system but using the concept of system’s constraint,  I*  is also used  for  capturing  security  requirements  [16,23,57]. Tropos, a formal  technique  for  requirement  elicitation  is  based  upon  I* modeling.  Although Tropos was not developed with security on mind [58], set of security constraints was proposed  in order  to enable Tropos  to  consider  security aspects  [23,58,59]. Secure TROPOS,  an  extension  of  Tropos methodology,  emerge  as  a  formal  technique  for security requirement elicitation [2,41,59].  Secure TROPOS lacks in clear definition of 

19

system assets. Moreover, the idea behind Secure TROPOS methodology does not talk about  what  system  services  are  being  constrained  and  its  effect  on  system’s functionality [33].  

If we look at CLASP, it consists of five views which contain twenty four activities, in  total  [66]. Each of  the  twenty  four activities of CLASP  is  further divided  [66]  into discrete process component and  linked to one or more specific project roles. Detail working of CLASP will be explained in an upcoming section (see Chapter 3). CLASP is a formal  technique  it  focuses  on  removing  vulnerabilities  in  software  environment. CLASP emphasizes more on white box  testing  [29]. Therefore, despite  the detail  in different views and activities of CLASP, it lacks in determining the types of bugs to be fixed. CLASP activities usually focus on the architectural and the technical weaknesses [29]. These activities ignore the business level threats [29]. CLASP does not have any clear  methodology  how  to  realize  or  understand  its  activities  [29,49,67,87]. Moreover, CLASP lacks tool support [29]. 

We  see  that  not  one  description  of  software  security  encompasses  the whole problem area i.e. security issues in software. It is because of the variety of resources involved  in  software.  Different  natures  of  software  systems,  type  of  resources involved, different architectural styles and  life cycle models are some of the reasons of varying efficiency of security requirement elicitation techniques and frameworks. 

Some researchers confine security to authorization,  integrity, confidentiality and availability of services [30,78,81] , whereas some [4,65,92] focus on assets, activities, goals  and  restrictions.  Security  requirement  elicitation  techniques  and  frameworks are  constructed  on  the  concept  of  security.  The  way  security  is  presented  by predecessors,  in research,  is reflected  later  in the realization of the concepts by the successors  in  the  form  of methods  and  techniques.  Every  requirement  elicitation technique  and  framework  is  a  realization  of  a  concept  and  the  way  security  is presented by one or more researchers [4,32,33].  It has become clear, after  in depth study  of  security  concepts,  that  a  flaw  or  shortcoming  in  a  concept  of  security  is reflected in the realization of the concept later. It means that if a security concept has flaws,  almost  same  flaws  are  reflected  in  realization  of  the  concept whether  the concept is realized by the same or different researcher(s).  

2.2 Security Requirement Frameworks in Industry While  studying  existing  techniques  and  frameworks, we  saw  that  frameworks 

proposed in academia are seldom used in industry at large. Most organizations have their  own  set  of  steps  or  framework  to  address  security  needs  of  a  system.  To understand the actual use of security requirement elicitation frameworks in industry, we  searched  for  security  requirement  frameworks  used  in  software  industry. We selected  literature  available  from  two  organizations  i.e.  IBM  and  CISCO. We were surprised  to  know  that  these organizations have  their own  frameworks  and  set of defined  rules  to  address  security  in  their  systems.    For  example  CISCO  [39]  uses standards like ISO17799 and NISTSP800. CISCO is using integrated approach in which they have integrated standards like ISO17799 and NISTSP800 with different steps and procedures to be able to  implement security  in all phases of software development. IBM  [13]  created  a  framework  using  the  holistic  approach  to  business  security. Security  framework  consists  of  5  steps  that  enable  the  organization  to  secure  the solutions  and  the  services.  Framework  used  by  IBM  characterized  security requirements  with  respect  to  business  policies  which  is  again  a  customized framework.  

Frameworks  proposed  by  researchers  [4,12,21,24,32,33,38,52,58,77]  are  based on  different  research methods.  Researchers  conducted  detail  studies  in  order  to 

20

address security requirements and to make software work better. There is not much literature available which shows that different frameworks proposed by researchers are actually used in the industry on wide scale. 

Before proposing a new framework,  it was  important to  look  into the published material regarding different frameworks proposed by researchers. In order to have a clear  understanding  of  the  existing  frameworks  and  to  know  whether  we  need another framework or not, we conducted a literature review. 

2.3 Literature Review for Existing Frameworks for Security Requirement Elicitation 

2.3.1 Search Strategy In this section we explain the search strategy for our literature review. 

1. We  identified  keywords  and  important  search  terms  from  research questions. 

2. We  also  used  synonyms  of  important  search  terms  to  improve  our search. 

3. We  formed search strings by using AND and OR Boolean operators  (see section 2.3.3). 

Our search strategy is partially iterative. It means that while searching Databases, we  changed  and  refined  keywords  and  search  terms  to  improve  our  search. We gathered a large set of initial studies after exhausting all the search terms and search strings (mentioned in section 2.3.3). It is shown below in figure3. 

Figure 4: Search Strategy  

 

2.3.2 Research Questions for Literature  

RQ1. Which  are  the  available  frameworks  for  security  requirement elicitation  that  came  into  being  by  integrating  formal  and  Informal security requirement elicitation techniques? 

 RQ2. What are the problems in the Resulting frameworks from (RQ1)? 

 

2.3.3 Search Terms • Formal Technique Security Requirement Elicitation Framework • Informal Technique Security Requirement Elicitation Framework • CLASP Security Requirement Elicitation Framework • Misuse Case Security Requirement Elicitation Framework • Secure TROPOS Security Requirement Elicitation Framework • Security requirement elicitation framework • 1 AND 2 

21

• 1 OR 2 • Framework for Security Requirement Elicitation • Formal informal techniques frameworks • General framework for formal informal techniques • Secure TROPOS Framework • Misuse case frameworks • Modeling security requirements with misuse cases • Semi formal framework elicitation techniques 

 

2.3.4 Databases and data collection source We  used  BTH  Library  to  search  the  relevant material. We  also  searched  the 

databases using the keywords which were used in the initial search to make sure that there is no Security Requirement Elicitation Framework which is left un‐touched. We searched  online  databases  like  ISI,  IEEE  Xplore,  ACM,  Springer,  Inspec  and compendeX. 

 

2.3.5 Inclusion/ Exclusion Criteria Table 9: Two Phase Inclusion Criteria 

Abstract Level 

• Papers and journals in English language. • Articles that looked relevant by keywords. • Availability of paper through BTH library. • Papers that are published in journals and conferences are included. • Articles were included with relevance to metadata. • Articles were included with relevance to metadata and Full text. • Articles were included relevance to title and abstract. • Articles were selected related to the software security frameworks. • Relationship with RQ (Research Questions): The paper selection was focused on our RQs. 

Detailed Level 

• Papers related to Integration of formal and informal security requirement elicitation techniques were included 

• Articles were selected that evaluate and discuss problems in security requirement elicitation frameworks. 

• We  excluded  papers  which  propose  a  security  elicitation  framework  without integrating formal and informal techniques. 

• There  were  number  of  articles  and  papers  which  were  repeated  in  number  of databases. We removed duplicates automatically with  the help of software called EndNote. 

2.3.6 Search Results Table 10: Search Result 

DBs Title,Abstract,fulltext, Metadata, Topic Total Search Result  

Google scholar  FullText 144983

IEEE Full text and metadata 22,714

ISI  Topic  194

ACM Title, abstract, review 9323

Eng. Village  All fields 2904

Total All  180,118

Above are the search results from different databases.   

22

2.4 Results and Conclusions We would like to mention here that we were not able to find any paper in which 

the author(s) have proposed a framework by combining Formal and Informal security requirement  elicitation  techniques.   We  found  few papers  in which  author(s) have combined  two  informal  techniques  [47,84]  but  we  did  not  find  any  paper  which combines formal and informal security requirement elicitation technique. As we have mentioned  earlier,  many  frameworks  are  available  [24,33,47,77]  for  security requirement  elicitation. We  only  looked  for  the  papers  in which  researchers  have combined  formal  and  informal  technique  i.e.  the  context  and  basic  idea  of  our research. After our  literature  review  for  frameworks,  in which we did not  find any helpful material, a question was raised i.e. “May be it  is not a good idea to combine formal and informal technique for security requirement elicitation!”  

We  have  to  answer  the  above  question  in  our  research  (See  RQ1).  The  idea behind our  research  is  to propose  a  framework by  combining  formal  and  informal security  requirement  elicitation  techniques.  In  this  way  we  can  use  strengths  in formal and informal techniques to mitigate the problems in the usage of both formal and informal techniques.

 

23

3 UNDERSTANDING SECURE TROPOS, MISUSE CASES AND CLASP In this chapter, we have done implementation analysis of Secure TROPOS, Misuse 

case and CLASP. We have list down implementation steps of techniques. There were some  steps  in  these  techniques,  which  needed  to  be  further  broken  down  to understand  actual  implementation  e.g.  (see  Table  12).  Following  aspects  were considered during implementation analysis of techniques 

− ID:  An  identification  number  is  assigned  to  identify  and  differentiate  a particular activity. 

− Description: Description and title of the activity. − Input: Input and pre‐requirements for the activity. − Participants: People involved in carrying out the activity. − Output: Result of the activity − Purpose: Reason to carry out the activity. − Risk in Omission: Threats if the activity is not carried out. 

Analysis and steps extraction was carried out after careful  literature review. We combined points mentioned in several papers in tabular form for easy understanding.  

3.1 Secure TROPOS Secure  TROPOS was  initiated  as  a  PhD project  in  2000  [61].  Secure  TROPOS  is 

extension  of  Tropos  methodology  to  model  security  features  throughout  the development process. Purpose of this extension is to propose security constraints in a well  defined  manner.  Secure  TROPOS  methodology  was  proposed  to  fulfill  the limitations  of  Tropos  [26,62].  Secure  TROPOS  Process  includes  early    requirement analysis    ,late  requirement  analysis,  architectural  design    and  detail  design  stage. Early  Requirement  phase  starts  from  actor modeling.  Early  requirements  and  late requirements  have  the  same  activities  like  actor modeling,  dependency modeling, trust  modeling,  delegation,  security  constraint  modeling  and  goal  modeling. Difference is that early requirements model the environment of the system whereas late  requirements  model  the  system  to  be  [26].  Architectural  phase  defines  the relationships  of  actors with  external  actors.  Last  phase  is  the  detail  design  phase where  the  components  identified,  in  the  previous  phases,  are modeled  using  the agent unified modeling language [26].  

Below is the phase wise explanation of Secure TROPOS (see Table 11). In order to have an in depth understanding of Secure TROPOS activities, please refer to Table 12. 

 Table 11: Four Phases of Secure TROPOS 

Phase  Phase Description Input  Participants Output Purpose Risk in Omission

24

1. Early Requirement analysis stage. 

In this stage developers understand the problem by studying the organization environment and their settings. Stakeholders are identified and developers model the stake holders as actors to identify the goals, dependencies between the actors. Actors goals are decompose into more precise goal through goal oriented analysis in order to achieve the goals [59][60]. 

Organization Environment and their settings. 

Stakeholders (Actors), Developers 

Output will be organizational model which include the actors, Security entities and the dependencies between them [59][60]. 

The purpose is to identify the actors, security entities and to understand the problem of the organization [59][60]. 

Security constraints are identified for the stakeholders who are further analyzed in the later steps. For each actor corresponding secure goals are introduced in order to satisfy them. By omitting this step security constraints will be ignored for each actor and we cannot further analyze the security goals for the corresponding actors [59][60]. 

2. Late Requirement Analysis Stage 

First stage was to analyze the actors. In this stage system is analyzed in operational environment along with the functions and the qualities. In the late requirement stage one or more actors are also introduced because sometimes the existing actors defined in the first stage cannot the satisfy the goals and the dependencies between them [59][60]. 

Operational environment, System, Early Requirement analysis stage. 

Actors, Developers, analyst 

System functional and non functional requirement are defined. Furthermore entities are assigned to the actors in order to satisfy the security goals [59][60]. 

The purpose is to describe the model of the system as an actor which are defined in the previous stage. 

Most of the actors defined in the first step could not satisfy their corresponding intentions goals or their relationships between them. By omitting this step we could not add more actors in the system which can lead to failure in satisfying the goals of the system. Secondly we will be unable to define the functional and non functional requirements of the system [59][60]. 

3. Architectural design Stage 

• Definition of the overall organization. 

• Identification of the capabilities. 

• Identification of agent Types. 

In this stage architecture of the system is defined in terms of: • Subsystems. • These subsystems are interconnected through data and dependencies. Furthermore this stage is divided into three steps as listed in steps section. Architecture of the organization is defined by identifying the new actors and corresponding goals are assigned to them. Second step explains the resources or capability needed by the actor to achieve their goals. Third step identify the agent types [59][60]. 

Actors, Goals, Early Requirement analysis stage. 

Architect, Designer, Developer 

Set of software agents are identified corresponding to the actors [59][60]. 

The purpose of this step[59][60]: • Involve new actors that they can interact with the external actors. • Decomposition of the actor so that every actor defined must be analyzed in detail with respect to their goals. • Set of agent types are defined and their corresponding capabilities. 

By defining new actors in this stage we define security constraints and when we further decompose actors we identify security sub constraints and their entities. By omitting this step some security constrains and sub constraints will be neglected which can lead the system insecure. Furthermore we cannot move to the next step which is detail design stage [59][60]. 

25

4. Detail Design Stage. 

In this stage architectural component defined in the previous stage are discussed in details in terms of [59][60]: • Inputs • Outputs • Security  • Control 

Architectural Design Stage, Early requirement analysis, late requirement analysis [59][60]. 

Architect, Designer, Developer 

Capabilities of the software agents are identified and their interaction through the system is modeled. Agents are derived from the actors defined in the previous stage [59][60]. 

Purpose is to identify the software agent capabilities by introducing the security rules and to further analyze the architectural component [59][60]. 

In this stage security aspects are taken into account from the previous steps. By omitting this step we cannot trace back to early requirement phase [59][60]. 

 Secure TROPOS  is  implemented  in a number of  sequential  steps.  Input of each 

step is dependent upon output of the preceding step. Detail implementation steps of Secure TROPOS are mentioned below  in Table 12. Purpose of each  step along with the risk if that particular step is omitted, is mentioned. This Table (12) can be used for analysis in the later section in which we are going to propose a framework. We have used ST with a digit,  in  ID  field,  in order  to be able  to uniquely  identify activities of Secure TROPOS from activities of other techniques. 

 Table 12: Implementation Steps of Secure TROPOS 

ID  Step Description 

Input Participants Output Purpose Risk in Omission

ST1  Construction  of Security reference diagram 

Security Features  Stakeholders (Actors), Developers  

Security Reference Model/diagram 

The  security reference modeling  involves  the identification  of  security needs  of  the  system‐to‐be,  problems  related  to the  security  of  the system,  such  as  threats and  vulnerabilities,  and also  possible  solutions (usually  these  solutions are identified in terms of a security policy that the organization might have) to the security problems. 

We  lose  track  of  the security  features  we have to take care of. 

ST2  Modeling Stakeholders along with their goals, dependencies, and  security constraints. 

Stakeholders, dependencies, security constraints, Security Reference Model 

Stakeholders (Actors), Developers, Requirement analyst 

(Partial) Stakeholder/Actor diagram 

It  allows  developers  to perform  an  analysis  by introducing  relationships between  stakeholders and  security  constraints and its context. 

We  have  no  idea  of  the stakeholders  and  their relationship  with  each other.  We  cannot describe  the  relation between  stakeholders and security constraints. 

ST3  Analyze  In depth  each actor’s  goals and  security constraints imposed  to them. 

(Partial) Stakeholder/Actor diagram 

Stakeholders (Actors), Developers, Requirement analyst 

Detail  actor diagram  for each actor 

Identification  of relationships  and constraints  related  to each actor 

In‐depth  vulnerabilities are neglected 

ST4  Introduce Secure entities 

Detail  actor diagram  for  each actor 

Stakeholders (Actors), Developers, Requirement analyst 

Detail  actor diagram  for each actor.  (Steps  3 and  4  are performed simultaneously) 

To  help  towards  the satisfaction  of  imposed security constraints. 

We  cannot  check  if  the security  goal  has  been achieved or not 

26

ST5  Analysis  of system  under development within  its operational environment along  with relevant functions  and qualities 

Complete  actor analysis  from  step 3 and 4 

Actors, Developers, Requirement analyst 

System  (partial) analysis (diagram) 

The system is introduced as  one  more  actors,  to which  existing  actors delegate  responsibilities for  some  of  the  goals and  the  dependencies that  they  cannot  satisfy. The  delegated dependencies  define  all the  functional  and  non‐functional  requirements of the system. 

Relationship  between security  constraints  and operational  environment cannot be understood 

ST6  Addition of new actors 

System  (partial) analysis (diagram) 

Architect, Designer, Developer, Requirement Analyst, Actors 

System  (partial) analysis (diagram) 

To  make  the  system interact  with  external actors 

Development  of  Secure communication methods between  internal  and external  actors  is neglected 

ST7  Actor Decomposition 

Output  from  step 6 

Architect, Designer, Developer, Requirement Analyst, Actors 

System  (partial) analysis (diagram) 

Each actor is described in detail  with  respect  to their goals and tasks 

Goal associated with  the actors  might  be misunderstood 

ST8  Identify  secure capabilities  for each actor 

Output  from  step 7 

Architect, Designer, Developer, Requirement Analyst, Actors 

System  (partial) analysis (diagram) 

Capabilities  needed  by the  actors  to  fulfill  their goals are identified 

Lose  track  of  resources needed by actors. 

ST9  Agent Assignment 

Output  from  step 8 

Architect, Designer, Developer 

Architectural design 

Set  of  agent  types  is defined  and  each  agent is  assigned  one  or more capabilities. 

In‐ability  to  define  trust between actors 

ST10  Specify  agent capabilities  and interactions taking  into account  the security aspects derived  from previous  steps of analysis. 

Architecture design 

Architect, Designer, Developer 

Detail Design Consists  of  identifying  a design  that  satisfies  the security  requirements of the system, as well as its functional requirements. 

Cannot  trace  leftover problems 

ST11  Validation  Detail Design  Stakeholders, Architect, Designer, Developer 

Final  security model 

Validate  the  relationship between  threats  and security features.  To  check  consistency between  different security models. 

Lack of consensus among stakeholders. System  might  not  work with  some  components or other systems. 

27

Figure 5: Secure TROPOS example 

 Figure  4  is  an  example  of  Secure  TROPOS  which  shows  the  security  of  eSAP 

System. eSAP is electronic single assessment process system which is an agent based health  and  social  care  for  older  people.  This  diagram  illustrates  modeling stakeholders  along with  their  goals, dependencies  and  security  constraints. As  you can see from diagram each node is an actor and the links between each node shows that they are dependent on each other to accomplish goal. For example older person depends upon benefit agency(Actor) so that older person can have financial support. In  order  to  keep  their  financial  information  private,  older  person  impose  security constraints  to  the  benefit  agency.  Likewise  R&D  Agency  is  dependent  upon professional so that they can obtain clinical  information to conduct research. As you can  see  from  figure  professional  imposed  a  constraint  to  keep  patient  anonymity from department of health [59]. 

3.2 Misuse Case Misuse cases are actions that are performed by actor (Person)  in order to harm 

system. Purpose of misuse  cases elements  is  to  threat use  case  to hinder  them  in achieving the goal [6]. 

Figure 6: Misuse Cases example 

 Above diagram (Figure 5) is an example which shows use and misuse case of car 

security requirements. As it is shown in figure driver the car, lock the car and lock the transmission are use case elements. Where as  in  the  right  side of picture  steal  the 

28

car, short the ignition are misuse case elements. In order to mitigate threat (Steal the car)  driver must  lock  the  car.  To mitigate  short  the  ignition  driver must  lock  the transmission [6]. 

As discussed earlier, Misuse  cases  is an  informal  technique proposed by Sindre and  Opdahl.  Normally,  informal  techniques  lack  definition  of  discrete  and  clear number of  steps  [41].  If we  look at  the  Implementation  steps of Misuse  cases, we clearly  see  that  there  is  no  pre‐defined  end  state  and  creation  of  Misuse  case depends upon the creativity of the person using Misuse cases technique [6,45,65,79]. We have used MC with  a digit  in  ID  field,  in order  to be  able  to uniquely  identify activities of Misuse cases from activities of other techniques. 

 Table 13: Misuse Cases Implementation Steps 

Step Number 

Step Description 

Input  Participants Output Purpose Risk in Omission

MC1 

Concentrate  on normal  actors and use‐cases 

Use Cases 

Stakeholders, Analyst 

Use  case    with preliminary Identification  of weak points 

To  understand  the services  user  wants. Simple motivation for this step is: if there is nothing  to use,  there is nothing to misuse. 

Misuse  case  is created  on  the basis  of  Use  Case. Omitting  this  step will  stop  further progress  with misuse  case technique [80].  

MC2 

Introduce  major Misuse Cases 

Output from step 2 

Analyst Major  Misuse case identification, Misuse  case diagram 

To  express  the intentions  of  mis‐actors who  intend  to harm the system. 

By  omitting  this step,  mis‐user’s intentions  towards the  system  are skipped [80]. 

MC3 

Investigate Potential Relation between Misuse cases  and  Use cases 

Misuse case 

Analyst Detail  Misuse case 

To  identify  the nature  of  threat. Many  threats  to  a system  can  be achieved  through normal  functionality e.g. Denial of Service  

We have no clue of the  nature  of attacks [80]. 

 

3.2.1 Misuse Cases Template Since Misuse  cases  is  an  extension  of Use  case  [80],  there  are  common  fields 

between Use case and Misuse cases templates such as Name, Date, and Author etc.  There  are  some  additional  fields  that  are  specific  for  Misuse  cases  Template. Following are the fields included in Misuse cases template [80]. 

 Table 14: Misuse Case Template 

Field  DescriptionName  Misuse Case Name/TitleSummary  Explanation of Misuse caseDate  Date of creation of Misuse caseAuthor  Creator of Misuse caseBasic Path  Steps which a misuser is going to take before reaching the goal Alternative Path  Other paths through which the same goal can be reachedCapture Point Options for how misuse can be detected and prevented [61]. Extension Point  Optional paths taken by misuseTriggers  Condition that can initiate misuse casePre‐conditions This condition describes those states of the system which make misuse 

possible Assumptions This  condition  describes  those  states  of  the  system’s  environment 

which make misuse possible Post‐conditions  State of the system after successful misuse caseWorst Case Threat  Maximum  damage  possible  in  case  of  a  successful  misuse  case. 

Optional paths are also included. Prevention guarantee  “Prevention Guarantee describes  the  result  that would be obtained by 

following  the  “Basic”  or  “Alternate”  path  if  the  threat were  detected and minimum threat mitigation occurs.”[34] 

29

Detection guarantee  “The “Detection Guarantee” describes the result that would be obtained if the misuse were detected, but not mitigated.”[34] 

Related Business Rule  “Related Business Rules are use case business rules that are broken by the misuse case”[34] 

Potential Misuser Profile  Level of skills and intentions of the misuse must be assessed in order to be aware of the severity of threat 

Stakeholders The people who have  concern  about what  should not happen  in  the system 

Scope  “The  scope  of modeling,  e.g.,  the  entire  business  or  just  the  planned computerized information system” [80] 

Abstraction Level  What is the level of abstraction for the misuse case e.g. summary, sub function etc. 

Technology  and  Data Variations 

Which  various  ways  and  technologies  can  be  used  to  achieve  the misuse 

 

3.3 CLASP CLASP  is  an  application  security  process which  focuses  on  security  throughout 

software  development  life  cycle.  CLASP  has  five  views  (see  Table  15),  twenty  four activities (see Table 16) which are grouped in seven best practices (see Table 17).  

Table 15: CLASP Views View  DescriptionConcepts View Purpose  of  this  view  is  to  gain  an  overview  of  all  the  CLASP 

processes  and  activities.  Special  attention  is  given  to  all  the concepts, activities and processes of CLASP [28,88,66]. 

Role Based‐View  This Section Gives an  idea  to  the project manager how he and his  project  members  will  deal  or  interact  with  the  security problems. Role based also  introduces  the basic  responsibilities for the team members. Role based is used as initial point for the team  members  in  order  to  address  the  security  of  software [88,28,66]. 

Activity assessment view  CLASP Includes 24 activities. It  is not necessary to  include all of them. In assessment view, those activities are considered which are  appropriate  for  the  software  and which  benefit  the  cost. Focus of this view is on two things i.e. risks and implementation cost.  Those  activities  which  have  low  risk  and  high implementation cost may be deleted in this view [28,88,66]. 

Activity Implementation View  CLASP  activities  are  translated  into  software  development processes. Subset of these activities are assessed and accepted in this phase [28,88,66]. 

Vulnerability View  In this view all the security problems are categorized [88,66]. 

 Following  twenty  four activities  [66,88] are performed  in CLASP. Some of  these 

activities can be performed  independently whereas  to carry out some activities, we need outputs of other activities. We have used CL with a digit, in ID field, in order to be able  to uniquely  identify activities of CLASP  from activities of other  techniques. Relative  impact  of  CLASP  on  several  key  traditional  software  engineering  activities such  as  requirements  specification  is mentioned  in  Description  field.  Steps within such  activities  are  not  “materially  changed”  by  CLASP  [66,88].  Instead,  CLASP “recommends extensions to common artifacts and provides implementation guidance for  security‐specific  content”  [66]. Owner  in  Participant  field  is  the  person(s) who initiate and perform the activity. Key contributors provide significant support to the activity. 

 Table 16: CLASP Activities 

Step Number 

Step Description  Input  Participants Output Purpose Risk in Omission

30

CL1 

Institute security awareness program (Relative Impact: High) 

Trainings,  Concepts 

Project manager, Team Members 

Security awareness 

Trainings are conducted in order to ensure that  project managers and the whole development team knows about the importance of the security in the software 

Team members will not understand the concept and importance of security. 

CL2 

Monitor Security Metrics (Relative Impact: High) 

Organization, Application 

Project manager 

Critical Vulnerabilities are assessed to know the level of improvement in security. 

To  identify  part  of software  that requires  more attention.  By identifying  those areas, security can be improved. To  identify  the frequency  of  the defects. 

By omitting this step there will be no concrete base to measure security effort. 

CL3 

Specify Operational environment (Relative Impact: Medium) 

Operating Environment 

Owner : Requirement Specifier,   Key Contributor:  Architect ,  

Operational environment specification 

Operation environment is identified in order to assess the security impact. Assumptions can be made in order to identify the operational environment or through the requirements of the systems 

By not properly identifying the operational environment we will not be able to communicate to users the impact of security in design decisions.  

CL4 

Identify global security policy (Relative Impact: Medium) 

Organization  Requirement specifier 

Security business requirements, Comparison of products in organizations in order to capture security posture. 

By  identifying  the global  security  policy a  comparison  can  be made  of  the  security procedure  of  the products  related  to the  different organizations.  By  this we can have a default base  line  for  security business requirements 

It  might  create  an hindrance  in comparing  different security  procedure with  different organizations 

CL5 

Identify Resources and trust boundaries. (Relative Impact: Low) 

System  Owner:Architect ,  Key contributors: Requirement Specifier 

Security requirements 

The system is introduced as one more actors, to which existing actors delegate responsibilities for some of the goals and the dependencies that they cannot satisfy. The delegated dependencies define all the functional and non‐functional requirements of the system. 

Relationship between security constraints and operational environment cannot be understood 

31

CL6 

Identify user roles and resource capabilities (Relative Impact: Medium) 

System  Owner : Architect , Key contributor: Requirement specifier 

System roles, resources 

System roles and the resources these roles can access are identified. 

By not identifying the roles  according  to the  resources available  might create  hindrance  in the  protection mechanism  on resources.  Secondly by  not  specifying roles  according  to resources  available will  create  confusion regarding  the  access control mechanisms. 

CL7 

Document Security Relevant Requirements (Relative Impact: High) 

Application, Security 

Owner: Requirement Specifier, Key contributor 

Functional and Business requirements for security 

Functional Requirements for security are documented 

System  services  for security  can  be ignored easily. 

CL8 

Detail Misuse cases (Relative Impact: Low) 

System, organization 

Owner: Requirements specifier, Key contributors: Stake holders. 

Risks are  identified which can be communicated to stakeholders 

To  communicate potential  risks  to  the stakeholder. 

Customer  will  not understand  the threats  and  the  risks related  to  the system. 

CL9 

Identify Attack Surface (Relative Impact: High) 

Application Design 

Owner: Designer 

Potential entry points for attack. 

By  identifying  the attack  surface  one can  identify  the maximum  entry points for an attack to the  system.  This  can be  measured  by identifying  the number  of  inputs  to the program. 

Failure  to  consider important  entry points. There  can  be  a chance of duplication of  work  in  other activities. 

CL10 

Apply security principle to design (Relative Impact: High) 

Application  Owner: Designer 

Implementation strategies, Design principles 

Determine implementation strategy for security. 

Not applying security principles  earlier  in design  phase  will result  in  revisit  the design  phase  in  case some  security problem  arise  in  the implementation part.  

CL11 

Research  and assess  security posture  of technology solutions (Relative  Impact: High) 

Third party components, Technology 

Owner: Designer, Key Contributor: Component Vendor 

Security Risks in technologies. 

It will assess risks in third party components.  Determine how effectively a technology reduces risks. 

Security  problems  in third  party components  can potentially compromise system’s security. 

CL12 

Annotate class designs with security properties (Relative Impact: Low) 

Data fields, Class design 

Owner: Designer 

Detail explanation of security policies. 

Security  policies  are defined  for  data fields. 

Error  in implementing  access control policy. 

CL13 

Specify Database security configuration (Relative Impact: Medium to High) 

Database resources 

Owner: Database Designer. 

Default configuration in order to secure database resources. 

Default  security configurations  are identified  for  the databases  that  are associated  with implementation. Identify recommended security  configuration for  database resources  for databases  that  are deployed  by  a  third party.  

By  omitting  this activity  will  have security  Errors  in database configuration. 

32

CL14 

Perform Security analysis of system requirements and design (Relative Impact: High) 

System  Owner : Security Auditor, Key contributor: Architect and designer 

System threats,System risks, Security impact 

System  risks  are analyzed by analyzing the requirements and the  design  of  the system.  It  identifies the  high  level  system threats which are not properly  documented in  requirements section.  Security impact  of  non security  requirements are  assessed  in  this phase. 

System  threats  and risks will be ignored. 

CL15 

Integrate security analysis into source management process (Relative Impact: Medium) 

Management process 

Owner: Integrator. 

Regular metrics data, implementation review. 

Automatic  Metric collection  and implementation security level analysis. 

Omitting  this  activity will  lead  to  manual labor which can have negative  impact  on project scheduling.  Implementation reviews can be easily skipped. 

CL16 

Implement Interface contracts (Relative Impact: High) 

Program Interface. 

Owner:Implementer. 

Reliability Errors are identified. 

It  is  used  for validation  of  inputs. Reliability  Errors  are identified. 

Critical data related to security will be not identified. Input validation will not be complete.  

CL17 

Implement and elaborate resource policies and security technologies (Relative Impact: Very High) 

Specification  Owner: Implementer. 

Security functionalities  

Security Functionalities related  to  the specification  will  be implemented  by  the implementer. 

Will increase risks

CL18 

Address reported security Issues (Relative Impact: High) 

Software  Owner: Designer, Key contributor: Fault Reporter 

Security Riski .e. to check whether the security risks identified are addressed or not. 

It  is  used  to  check whether  the  risks identified  in  the design  phase  are addressed properly  in implementation phase 

Risks not addressed in implementation will lead to more threats in the software. 

CL19 

Perform Source Level security review Relative Impact:(Very High) 

Software, System 

Owner: Security Auditor, Key contributors: Implementer, Designer. 

Measurement of health of secure software development effort. 

Vulnerabilities related to security are identified in implementation.  

Those risks which are ignored or skipped in the design phase can be reflected in the implementation phase. 

CL20 

Identify , implement and perform security Tests Relative Impact:(Medium) 

Design review, Operational environment 

Owner: Test analysts. 

Security Problems, Security Risks. 

Security Problems are found  which  are  not identified  in  the implementation  part. Failures  can  be identified  in  design, specification  and implementation. 

Security risks will be reflected in deployment.  

CL21 

Verify Security attributes of Resources (Relative Impact: Medium). 

Software operational environment. 

Owner: Tester Confirmation of previously defined security policies. 

Confirm  previously defined  security policies. 

Attackers  have  a direct  access  to  the resources  of  the software.  

CL22 

Perform Code Signing (Relative Impact: Low). 

Software  Owner: Integrator. 

Malware are omitted 

Provide the stakeholder with a means of validating the origin and integrity of software  

Customer  may receive  illegitimate software  with malwares. 

33

CL23 

Build Operational Guide (Relative Impact: Medium). 

Security functionality, Software. 

Owner: Integrator, Key Contributors: Designer, Architect, Implementer 

Operational security measures document. 

Documentation is provided to stakeholder related to operational security measures. 

User may  install  the software  without recommended security configurations 

CL24 

Manage security issue disclosure process (Relative Impact: Low) 

Security Researchers 

Owner: Project Manager, Key Contributor: Designer 

Effective communication. 

Communication  with customers  and security  researchers from  outside  when issues  are  found  in released software.  

Damage  business reputation 

 All the 24 activities defined above are grouped  in seven best practices  in CLASP. 

Related activities of CLASP are grouped into seven best practices, 1. Institute awareness program: Purpose of  this activity  is  to  educate  everyone 

involved about security concepts and techniques used  in organizations through trainings and accountability. 

2. Perform application assessment: The purpose of  this practice  is  to assess  the application  by  identifying  security  problems  and  security  risks  introduced  in operational environment. 

3. Capture  Security  Requirements:  In  order  to  capture  security  requirements followings factors must be considered: 

• Understand  the  application  in  context  of  usage  and  attack scenarios. 

• Assets are identified in order to find the level of access they provide. • Overall architecture of the application. 

4. Implement secure development practices: Goal of this practice is to achieve secure development practices in organization. It guides project team when applying security principles to design and elaborating resource policies. 

5. Build  vulnerability  remediation  procedures:  Role  of  this  activity  is  to  reduce risks  by  defining  roles,  responsibilities,  prioritize  steps  and  remediate vulnerabilities. 

6. Define  and monitor metrics:  This  practice  is  critical  in  analyzing  the  security posture  of  an  organization,  security  effort  and  monitors  the  overall performance. 

7. Publish  operational  security  guidelines:  Documentation  is  provided  to stakeholder related to operational security measures. Tasks defined above must be communicated to different researchers. 

Following  Table  is  inspired  from  [28]  for  better  understanding  of  CLASP  best practices. 

Table 17: CLASP Best Practices CLASP Best Practices  ID  CLASP Activities Related Project Roles 1. Institute security 

awareness program CL1  Institute security awareness program Project Manager 

2. Perform Application Assessment 

CL14  Perform Security analysis of system requirements and design 

Security Auditor 

CL19  Perform Source Level security review Owner: Security Auditor Key Contributor: Implementer, designer 

CL20  Identify , implement and perform security Tests 

Test analyst 

CL21  Verify Security attributes of Resources TesterCL11  Research and assess security posture of 

technology solutions Owner: Designer Key Contributor: Component Vendor 

3. Capture Security  CL4  Identify global security policy Requirement Specifier 

34

Requirements  CL5  Identify Resources and trust boundaries Owner: Architect Key Contributor: Requirement Specifier 

CL6  Identify user roles and resource capabilities 

Owner: Architect Key Contributor: Requirement Specifier 

CL3  Specify Operational environment Owner: Requirement SpecifierKey Contributor: Architect 

CL8  Detail Misuse cases(Relative Impact: Low) 

Owner: Requirement SpecifierKey Contributor: Stakeholder 

CL9  Identify Attack Surface Designer CL7  Document Security Relevant 

Requirements Owner: Requirement SpecifierKey Contributor: Architect 

4. Implement Secure development practices 

CL10  Apply security principle to design Designer CL12  Annotate class designs with security 

properties Designer 

CL17  Implement and elaborate resource policies and security technologies 

Implementer 

CL16  Implement Interface contracts Implementer CL15  Integrate security analysis into source 

management process Integrator 

CL22  Perform Code Signing Integrator 5. Build vulnerability 

remediation procedures CL24  Manage security issue disclosure process Owner: Project manager 

Key Contributor: Designer CL18  Address reported security Issues Owner: Designer, 

Fault Reporter 6. Define and monitor 

metrics CL2  Monitor Security Metrics Project Manager 

7. Publish Operational Security guidelines 

CL13  Specify Database security configuration Database Designer 

CL23  Build Operational Guide Owner: Integrator Key Contributor: Designer, Architect, Implementer 

   

3.4 Summary As far as Secure TROPOS is concerned, it uses strict notations and diagrams which 

are really difficult to integrate with textual form of activity description (see Figure 4). The  notations  like  depender,  node,  constraints,  dependee,  dependum  etc  used  in Secure TROPOS are extension of Tropos methodology. Without these notations one cannot carry out activities of Secure TROPOS. Focus of Secure TROPOS  is  to  secure the system. 

Misuse cases have both  textual and pictorial  form of representation  (see Figure 5). Misuse  cases  represent attacks on a  system. Unlike CLASP and Secure TROPOS, Misuse cases focus on threats to a system. 

All the 24 activities of CLASP have textual explanation. It means that activities of CLASP  are  explained  in  simple  and  plain  language.  CLASP’s  activities  and  best practices focus on securing the system throughout software development lifecycle. 

35

4 PROPOSED FRAMEWORK We went  through a number of activities  for proposing a  framework  for security 

requirement elicitation using CLASP, Secure TROPOS and Misuse cases. All of  these activities are mentioned clearly  in this chapter.  It should be kept  in mind that there were many places where we removed some constraints  in the activities which were specific  for  the  technique.  These  constraints  were  removed  to make  the  activity integrate‐able with  other  activities.  For  example:  Activities  in  Secure  TROPOS  are sequential  and  Secure  TROPOS  uses  special  notations  and  diagrams  for  security constraints and  requirements which makes  integration of  Secure TROPOS with any other  technique  very  difficult. We  used  the  basic  idea  behind  such  activities  and proposed  new  activities  in  our  framework.  We  proposed  this  framework  by integrating activities from CLASP, Secure TROPOS and Misuse Cases. 

4.1 Overlapping Activities of CLASP and Secure TROPOS We  compared  activities of CLASP  and  Secure  TROPOS  and  found  similarities  in 

some  of  the  activities  on  the  basis  of  concept  behind  the  activities.  To  check similarities we looked into actual steps of the techniques. As discussed earlier, Secure TROPOS  uses  graphical  notations  which  are  difficult  to  integrate  with  techniques having  textual  form of representation. Therefore we used  the basic concept behind Secure TROPOS activities. 

Some  of  activities  of  CLASP  use  similar  concept  as  some  activities  in  Secure TROPOS.  For  example  Activity  CL3  says  that  one  must  specify  operational environment in order to assess security impact. Using the same concept ST5 in Secure TROPOS says that “to analyze system one should specify operational environment in which system works”. Same is the case with CL10 and ST6, ST7, ST8 which are related to architectural design. We have  listed down  the overlapping activities  to eliminate repetition of  activities  (see  Table 18). Activities of  Secure  TROPOS  are based upon language notations and diagrams. We have taken the basic idea behind each activity of Secure TROPOS and ignored notations and diagrammatical representations. 

 Table 18: Overlapping Activities of CLASP and Secure TROPOS 

CLASP Activity ID  Description 

Secure TROPOS Activity ID 

Description 

CL2  Monitor Security Metrics ST1 Construction of Security reference diagram 

CL3 Specify  Operational environment  ST5 

Analysis  of  system  under  development  within  its operational  environment  along  with  relevant functions and qualities 

CL10 Apply security principle to design 

ST6,ST7, ST8, 

These  activities  are  performed  to  produce  an architectural design 

CL5  Identify  Resources  and  trust boundaries  ST9  Agent Assignment

CL14 Perform  Security  analysis  of system  requirements  and design 

ST10 Specify  agent  capabilities  and  interactions  taking into  account  the  security  aspects  derived  from previous steps of analysis 

CL21  Verify  Security  attributes  of Resources  ST11  Validation

4.2 Best Practice Selection Theme of our  thesis  is  to propose a  framework,  through which you are able  to 

elicit  security  requirements. After analyzing CLASP practices we  realized  that  these practices are related  to different phases of Software Development Lifecycle such as 

36

implementation  and  testing  whereas  focus  of  our  research  was  on  requirement elicitation.  So we  selected  two  best  practices  of  CLASP  that    contain  the  activities related to requirement gathering phase (see Table 19). 

 Table 19: Selected Best Practices for CLASP 

CLASP Best Practices  ID  CLASP Activities Related Project Roles Perform Application Assessment 

CL14  Perform Security analysis of system requirements and design 

Security Auditor 

CL19  Perform Source Level security review Owner: Security Auditor Key Contributor: Implementer, designer 

CL20  Identify , implement and perform security Tests 

Test analyst 

CL21  Verify Security attributes of Resources Tester CL11  Research and assess security posture of 

technology solutions Owner: Designer Key Contributor: Component Vendor 

Capture Security Requirements 

CL4  Identify global security policy Requirement Specifier CL5  Identify Resources and trust boundaries Owner: Architect 

Key Contributor: Requirement Specifier 

CL6  Identify user roles and resource capabilities Owner: Architect Key Contributor: Requirement Specifier 

CL3  Specify Operational environment Owner: Requirement SpecifierKey Contributor: Architect 

CL8  Detail Misuse cases(Relative Impact: Low) 

Owner: Requirement SpecifierKey Contributor: Stakeholder 

CL9  Identify Attack Surface Designer CL7  Document Security Relevant Requirements Owner: Requirement Specifier

Key Contributor: Architect 

4.3 Activity Selection We  further analyzed activities of  the  two selected best practices and  found out 

that  there  are  some  activities  which  focus  on  other  than  requirement  phase  of Software Development Lifecycle. We deleted activities which were out of context for us  and  kept  only  those which  focus  on  security  requirement  capturing  phase. We then  revisited  the  table  in which we  listed over  lapping activities(see Table 18) and listed  down  the  overlapping  activities  of  CLASP  and  Secure  TROPOS  for  our  finally selected  activities. Our  final  activities  are  listed below  (see  Table  20).  It  should be kept  in mind that those activities of CLASP and Secure TROPOS which are related to phases other than requirement elicitation are equally important in order to secure a system but we only focused on the activities that address requirement elicitation to stay in the scope of the thesis. 

Activity number CL19, CL20 and CL21 were deleted because  they are related  to implementation and Testing phases of the Software development Lifecycle. 

Table 20: Selected Activities from CLASP CLASP Best Practices 

ID  CLASP Activities Overlapping activitiesfrom Secure TROPOS 

Perform Application Assessment 

CL14  Perform Security analysis of system requirements and design  ST10 

CL11  Research and assess security posture of technology solutions   

Capture Security Requirements 

CL4  Identify global security policy  CL5  Identify Resources and trust boundaries ST9 CL6  Identify user roles and resource capabilities  CL3  Specify Operational environment ST5 CL8  Detail Misuse cases

(Relative Impact: Low)   

CL9  Identify Attack Surface  CL7  Document Security Relevant Requirements  

37

Table 21: Selected Activities from Secure TROPOS 

Secure TROPOS Activity ID  Description ST2  Modeling Stakeholders along with their goals, dependencies, and security constraints. ST3  Analyze In depth each actor’s goals and security constraints imposed to them. ST4  Introduce Secure entities.ST8  Identify secure capabilities for each actor.

4.4 Additional fields in Misuse Cases Template In  this  step  we  considered  those  activities  of  Secure  TROPOS  that  have  no 

overlapping with any of the activity of CLASP i.e. ST2, ST3, ST4 and ST8. We  intend to make a separate activity using ST3, ST4 and ST8 because they are 

related. Purpose of ST2  is  to record Stakeholder  information along with  their goals, dependencies, and security constraints. It seems feasible to add these fields in Misuse Cases Template (see Table14) and record this information in the added fields. So we added three more fields in Misuse cases template i.e. (see Table 21) 

Table 22: Additional fields in Misuse Case Template Field  DescriptionGoal  Which goal of the stakeholder is hinderedDependencies(Relationship): Relationship of Stakeholder with other Stakeholder(s) Security Constraints  Information about Security constraints on Stakeholder(s) 

4.5 Sequencing the Steps After  finalizing  the  activities  that  are  to  be  included  in  the  framework,  we 

sequenced the activities on the basis of what shall be done  first  (see Table 22). For example: CL14  is dependent upon the output of other activities [66] so  it should be kept at last. 

 Table 23: Sequence of CLASP Activities 

ID  Activity DescriptionCL3  Specify Operational environmentCL4  Identify global security policyCL5  Identify resources and trust boundariesCL6  Identify user roles and resource capabilitiesCL9  Identify attack surfaceCL11  Research and assess security postureCL8  Detail misuse caseCL7  Document security‐relevant requirementsCL14  Perform security analysis of system requirements and design.

 

4.6 Analysis of Selected Steps: Activity revisit Sequenced CLASP activities were then merged with the activities of Misuse case 

and Secure TROPOS (see Table23).  

Table 24: Merged activities from techniques ID  Activity DescriptionCL3  Specify Operational environmentCL4  Identify global security policyCL5  Identify resources and trust boundariesCL6  Identify user roles and resource capabilitiesST3, ST4, ST8  Identify in‐depth user roles, secure capabilities and security constraints for each actor CL9  Identify attack surfaceCL11  Research and assess security postureMC1  Concentrate on normal actors and use‐casesMC2  Introduce major Misuse CasesMC3  Investigate Potential Relation between Misuse cases and Use casesCL7  Document security‐relevant requirements

38

CL14  Perform security analysis of system requirements and design.

4.7 Using Security Requirement Categorization When we looked at Misuse Case activities, we still face the problem that “Misuse 

creation  depends  upon  the  creativity  of  the  person  creating Misuse  case”.  So we decided  to  use  Security  Requirement  Categorization  by  Bogale  and Ahmed  [11]  in which they have categorized all the known security requirements and validated their categorization from Swedish Armed Forces (see Appendix C). 

In  order  to make  sure  that maximum  security  requirements  are  captured, we initially  assume  that  all  security  requirements mentioned  in  Security  Requirement Categorization  [11]  are  true  for  all  identified  entry  points,  functionalities,  assets, services and actors. There are going to be many requirements which are not valid for an entry point, functionality, asset, service or actor. We delete  invalid requirements one by one  for each entry point,  functionality, asset, service or actor. The  left over security  requirements  will  be  valid  security  requirements  for  each  entry  point, functionality, asset, service or actor.  

4.8 Proposed Framework Following  steps  are  proposed  after  analysis  of  activities mentioned  in  earlier 

sections in this chapter. It should be noted that Detail Misuse Case activity i.e. Step8 and 11 are comprised of three sub‐activities mentioned in Table 13 and Table23. 

 Table 25: Framework Steps 

Step Number  Description 

Activity ID from CLASP, Secure TROPOS or Misuses Cases 

1  Specify Operational environment CL3 2  Identify global security policy CL4 3  Identify resources and trust boundaries CL5 4  Identify user roles and resource capabilities CL6 

5  Identify in‐depth user roles, secure capabilities and security constraints for each actor 

ST3, ST4, ST8 

6  Identify attack surface  CL9 7  Research and assess security posture CL11 8  Detail misuse case  MC1, MC2, MC3 9  Document security‐relevant requirements CL7 10  Perform security analysis of system requirements and design. CL14 11   Update security requirements document

12  Identify resources, entry points, functionalities, assets, services and actors for the system 

13 Suppose all the threats mentioned in the categorization are true for all resources, entry points, functionalities, assets, services and actors for the system 

14  Validate threats for each resource, entry point, functionality, asset, service and actors for the system 

15  Update the document. 

Further analysis of the framework showed that there can be iteration from Step8 to  Step15.  Step  11  and onwards do not belong  to  any  technique.  These  steps  are included to facilitate the use of Security Categorization (see section 4.7) 

 

4.8.1 How to conduct each step of Framework Most part of the section 4.8.1 contains text from [66] and [88]. Most of the text 

written  in before mentioned section also belongs  to  [66] because  there were many things which were better explained in original text from [66]. 

It should be noted  that  first nine activities are decomposition of  the system  for “Perform security analysis” activity of the system. We break down the application to 

39

understand user roles, entry points, exit points and dataflow in first nine activities of the framework.  These activities act as an input for security analysis of system. 

4.8.1.1 Specify Operational environment This activity helps the team members in understanding the operational context of 

the system. Consideration of operational context facilitates the team  in establishing security guidelines and principles [66]. 

An operational worksheet  is provided  in Appendix A  for  this activity.  Following important  aspects of  this  activity  should  also be  looked  into while performing  this activity. 

• Identify requirements and assumptions related to individual hosts User rights and authorization related to software system is the focus of this sub‐

activity  [66].  Security  policies  defined  by  the  organization  regarding  the  use  of particular software are  listed here. Moreover risks related to the platform on which the software  is  installed must also be highlighted. For example: there may be some components of OS that pose risk to the usage policy of a software. 

In addition, all optional functionalities and their  impact on security must also be considered in this sub‐activity [66]. 

• Identify requirements and assumptions related to network architecture Network resources, network topologies, existence and configuration of  firewalls 

are  identified  in  this  sub‐activity.  Those  things  and  factors which  have  any  impact (negative or positive), on security, must be taken into account [66]. 

4.8.1.2 Identify global security policy Baseline  security  requirements  act  as  a  reference  for  security  requirement 

specifiers. Organization’s  security policies and basic  security  services are defined  in order to have clear understanding of internal security procedures [66].  Sample list of global security requirements is presented in Appendix B. 

Every global  security  requirement  should be  checked  for  its applicability  in  the system.  If  a  requirement  is  not  relevant  to  the  project,  it  should  be  explicitly documented.  Baseline  for  global  security  policy  is  created  for  protecting  data resources. These resources are further divided into categories or technologies which provide  guidance  about when  to  apply  these  technologies  and how  to  apply  them when they are used in a project. Global security policy is valuable since it provides the concrete documentation of  internal or external procedures  that  the documentation team should follow. In large organizations it is useful to have a set of baseline security requirements  for different projects which ease  the  job  for  requirement  specifier  in long  term  and  provides  a  path  to  compare  the  security  posture  of  different application in organization. 

For each security policy following three checks must be performed [66]. • Is  the  global  requirement  already  addressed by one or more other  system requirements? 

• If the global requirement contradicts any explicit or  implicit requirement for project. 

• The  global  requirement  does  not  contradict  any  requirement  but  has  not been addressed yet. 

 

40

4.8.1.3 Identify resources and trust boundaries This  activity  “provides  a  structured  foundation  for  understanding  the  security 

requirements  of  a  system”  [66].  This  activity  includes  following  important  sub‐activities. 

• Identify network level design Describe network architecture of  the  system and  identify any  components  that 

are  located  on  different  logical  platform  such  as  client  software, middleware  and databases. A middleware and a database, which both can possibly live on a separate machine, should be identified as logically separate.  

After  describing  network  components  and  architecture,  trust  boundaries  are identified  e.g.  firewall  and  Individual  hosts.  For  example,  Client machines  on  the outside  are  less  trustworthy whereas many multi‐user  systems  can  have multiple trust boundaries internally. "Trust boundaries should be mapped to system roles that can be granted level of trust” [66]. In this activity protection mechanism is identified for  resources  and  data  links  in  the  architecture  diagram. Moreover,  the  diagram should be annotated with these mechanisms. 

• Identify Data resources Data resources that may be used by a program are identified. In the next activity, 

individual  capabilities  related  to  each  resource  are  identified  e.g.  identifying individual database  tables,  instead of  simply  the database as a whole. Outcome of this  activity  should  be  documented  separately  to  facilitate  security  analysis.  The information may be included into business requirements. 

Sample resources include [66]:  Databases and database tables  Configuration files  Cryptographic key stores  ACLs (Access control Lists)  Registry keys  Web pages (static and dynamic)  Audit logs  Network sockets / network media  IPC  (Inter  Process  Communication),  Services,  and  RPC  (Remote  procedure 

call)resources  Any other files and directories  Any other memory resource 

"Network media is a resource of its own” [66]. We need to specify how to protect that data when  it traverses the media. All  the components connected  to the media are also considered such as disks and memories. 

 

4.8.1.4 Identify user roles and resource capabilities Purpose  of  this  activity  is  to  identify  system  roles  and  capabilities/resources  a 

particular role can access. The word capability here means the things user(s) may be able to do. Following main sub‐activities are involved in this activity. 

• Identify distinct capabilities “Capabilities are interesting operations on resources that should be mediated via 

an authorization/access control mechanism”. Capabilities are  set of operations  that are  applied  on  resources.  Capabilities  are  defined  so  that  system  users  can  have proper understanding of  the system and can perform  these operations. To perform 

41

these operations different  roles are  identified on  the basis of authorization/Control mechanism.    All  the  access  control  mechanisms  for  operations,  user  rights  and authorities are defined in this sub‐activity. 

• Map system roles to capabilities System  roles  and  set  of  capabilities  are mapped  in  this  sub‐activity.  This  step 

helps in understanding which set of capabilities are assigned to which users. Most of the  time  system  itself  is  a  set  of  roles which  includes  capabilities  and  can  access them. Example of this is client server application. 

• Identify Attacker profile (attacker roles and resources) One must have a clear picture of  the origin of  threat. By knowing  the origin of 

threat,  one  can  predict  the  resources  attacker may  use.  Attacker  profile must  be documented. 

Examples of different types of attackers are as follows − Insiders  –  People  from  inside  the  organization  or  have  access  to  the 

infrastructure. − Script  Kiddies‐  People  who  uses  software  or  existing  scripts  to  exploit 

weaknesses. − Competitor‐ Who may have a reasonable budget. − Governments‐ May have an extra ordinary budget and resources. − Organized Crime Units‐ Choose few targets for financial gain normally. − Activists‐ who  target organizations which are not  liked  (by  community or a 

group of people).  

4.8.1.5 Identify in‐depth user roles, secure capabilities and security constraints for each actor Each user’s abilities to  interact with the system and resources a user can access 

are  identified.  Secure  capabilities  are  separated  from  insecure  capabilities  and explicitly  mentioned.  Security  constraints  on  each  actor  with  their  impact  are identified. Security constraints are also checked for their successful implementation. 

 

4.8.1.6 Identify attack surface Identify all  the entry points  to  facilitate  the analysis. Define all  the components 

attacker  can  interact with. Define mechanism  through which  any  one  can  interact with the system regardless of his/her role  in the system. Document all the following [66] 

− network ports opened,  − places where the file system is touched − any local User Interface elements,  − any inter‐procedural communication points − Any  public  methods  that  can  be  called  externally  while  the  program  is running After  identifying  entry  points, map  roles  to  entry  points. Next  step  is  to map 

resources to the entry points. In mapping roles all roles that can possibly access entry points are identified. After that document the resources that are accessible from that entry point. 

 

42

4.8.1.7 Research and assess security posture Generally,  it  is  very  hard  to  get  technology  assessment  from  vendors  because 

they are rarely cooperative in this regard. Still, you need to know the risk associated with  the software components you are using  in your system. Self‐assessment sheet based on  interaction with the vendor, which can be filled  in by you or the vendor  is included in Appendix A. Worksheet is filled by conducting structured interviews with vendors. 

Worksheet should be able to answer following points in this activity [66]. • At  a  high  level, what  are  the  trust  boundaries,  resources,  and  roles  in  the 

system? • Has an independent assessment been performed by a respected third‐party? 

And if so, what business risks did it identify, and what has changed since the assessment? 

• What are the security qualifications of the development team? • What are the major areas of risk in the product? • What  were  the  security  requirements  that  were  used  for  development 

(implicit and explicit)? In addition to above mentioned points, you must collect data from customers and 

user  reviews.  If  possible  perform  security  testing  on  the  component.    Above mentioned steps will help you in deciding whether to proceed with the technology or not.  

4.8.1.8 Detail misuse case Misuse cases technique is similar to use case except the aim where Misuse case is 

“meant to detail common attempted abuses of the system” [66]. Determining Misuse case  is a brainstorming activity and there are three good points for structured brain storming [66] i.e. 

• The person performing the activity should describe how the attacker will take advantage  of  a  problem  using  pre‐existing  knowledge  of  common  security problems. 

• The  person,  performing  the  activity  shall  construct misuse  cases  for  each system resource by brainstorming for each of the basic security services e.g. authentication, confidentiality, access control, integrity, and availability. 

• The person, performing the activity shall create misuse cases on the basis of a set of existing use cases  to ensure  that  the  first  two steps did not overlook any obvious threats.  

Misuse cases  should be described visually and  should be documented. Defense mechanism  is  identified  for every Misuse  case. Results are  then  reviewed with  the stakeholders. 

A Misuse case is created using following steps • Concentrate on normal actors and use‐cases by preliminary  Identification of 

weak points in Use cases • Introduce major Misuse Cases  to  express  the  intentions  of mis‐actors who 

intend to harm the system • Investigate Potential Relation between Misuse cases and Use cases to identify 

the  nature  of  threat. Many  threats  to  a  system  can  be  achieved  through exploiting normal functionality e.g. Denial of Service 

43

To have a quick understanding of Misuse Cases activities, please refer to Table 13. Misuse Cases template which is necessary for this activity is included in Appendix J 

4.8.1.9 Document security relevant requirements All  the  business  level  and  functionality  related  security  requirements  are 

documented  in  this  activity.  All  the  requirements  must  have  following  basic properties 

• Specific:   There must be are no ambiguities  in  the  requirement. Consistent terminologies should be used between requirements. 

• Measurable: It should be possible to determine whether the requirement has been met, through testing. 

• Reasonable:  One  should  conduct  some  validation  to  determine  whether meeting  the  requirement  is physically possible  keeping  in mind  the project constraints. 

• Traceable:  Requirements  should  also  be  isolated  to  make  them  easy  to track/validate throughout the development lifecycle. 

• Document explicit business requirements Issues must be  communicated  to  customers earlier  in order  to  avoid problems 

after  deployment  as  customers  are  not  always  aware  of  the  security  problems. [66,88]: 

• Recommended authentication solutions • Personal data must be kept Private (Privacy Concerns). • Recommended Confidentiality solutions for network traffic. • Confidentiality solutions for long term storage of key data. 

 • Develop functional security requirements 

Specify protection requirements related to the basic security services like • Authorization (access control): What privileges on data should be granted to 

the various roles at various times and what measure shall be taken to enforce the policy [66,88]. 

• Consider  operating  environment  resources which  need  to  be  protected — such as administrative privileges on a host machine [66,88]. 

• Authentication and  integrity: How Identity determined to gain of access to a resource?  Is,  the  resource  strongly  bound  to  an  identity?  For  example  do individual  messages  need  to  have  their  origin  identified,  or  can  data  be anonymous on communication channels [66]?  

• “Confidentiality  (including  privacy):  Confidentiality  mechanisms  such  as encryption are used to enforce authorization. When a resource is exposed to a user, what exactly  is exposed: the actual resource or some transformation?” [66] 

• Availability: Requirements should take into account how available a resource should be for authorized users [66,88]. 

• Accountability (Including non repudiation): Log files need to be specified and protected. [66,88]. 

 • Explicitly label requirements that denote dependencies 

44

• All  external  dependencies  should  be  discovered  in  requirements  to reasonable degree [66,88].  

• All  third‐party  components  and  required  functionality  in  the  operational environment specification should be specified [66,88].  

• Any  requirements  denoting  external  dependencies  should  be  explicitly labeled to facilitate subsequent analysis [66,88] . 

 • Determine risk mitigations (compensating controls) for each resource 

Business level resources are identified that need to be protected — i.e., what are the risks to individual resources and how the risks need to be addressed [66,88]. 

 • Resolve deficiencies and conflicts between requirement sets  In order to determine omissions and conflicts, set of requirements are mapped to other sets of requirements [66,88]. 

4.8.1.10 Perform security analysis of system requirements and design. In order to perform security analysis of a system, following outputs from previous 

activities are needed as an input for this activity • “A specification of the operational environment; • A high‐level architectural diagram indicating trust boundaries; • A specification of resources and capabilities on those resources; this may 

be incorporated into the requirements; • A  specification  of  system  users  and  a  mapping  of  users  to  resource 

capabilities; this also may be incorporated into the requirements; • An attack surface specification, to whatever degree elaborated; • Data flow diagrams, if available; • An attacker profile (again, this may be part of the requirements); and • Misuse cases, if any.”[66] 

Security analysis consists of set of sub‐activities i.e. • Develop an understanding of the system 

To develop an understanding of the system before security analysis is important. Documentation shall be reviewed for existing high level system. It is generally best to have a project overview from a customer‐centric perspective on the project. • Determine and Validate security relevant assumptions 

Any  assumptions  that  are made  about  the  attacker  and  environment  in which system  is  deployed  should  be  validated  and  then  incorporated  into  project documentation [66,88]. • Review Non‐security security requirements 

Find out any security implications that are not properly addressed in the security requirements. Also  look  into  requirements  that are not explicitly aimed at  security. Through data flow diagram we can assess the  impact on each security service while tracing resources that are relevant to a requirement [66,88]. • Assess completeness of Security requirements 

For  each  resource  and  capability,  security  services  must  be  addressed  with security requirements. This is done through a correlation matrix, where requirements are on one axis and security services on capabilities (or resources) are on another axis [66]. Appropriate boxes for each security requirement, where requirements have an impact,  are  marked  in  the  matrix.  This  matrix  assesses  the  completeness  of requirements, i.e. if the security service is adequately addressed. 

45

• Identify Threats on Assets/Capabilities All  potential  security  threats  should  be  identified  and  documented  for  each 

security service on each capability by iterating through assets and capabilities [66,88]. • Determine level of risks 

Decision making process of an attacker can be modeled using threat trees. Look particularly  for  ways  that  multiple  conditions  can  be  used  together  to  create additional threats [66]. • Determine risk mitigations for each resource 

Mitigation  steps  for  each  threat  indentified  in  the  previous  activity  should  be explicitly mentioned  along  with  any  possibility  of  reproducibility  of  the  particular threat. • Evaluate findings 

Security  auditor  should  report  any  security  risks  that  may  not  have  been adequately addressed  in  the  requirements. Auditor  should  recommend a preferred strategy  for  implementing  risk mitigation  and  should  discuss  any  alternatives  that could  be  considered.  If  any  conflicts  or  omissions  are  brought  to  light  during requirement  review,  security  auditor  should  make  recommendations  that  are consistent with project requirements. 

4.8.1.11 Update security requirements document Based  on  the  evaluation  of  findings  of  Security  analysis  phase,  security 

requirement document is updated. All requirements must be mentioned with all the traceability information. 

4.8.1.12 Identify resources, entry points, functionalities, assets, services and actors for the system All  

• resources,  • entry points,  • functionalities,  • assets,  • capabilities, • resources,  • services and  • actors  

shall be explicitly documented 

4.8.1.13 Suppose all the threats mentioned in the categorization are true for all resources, entry points, functionalities, assets, services and actors for the system All threats mentioned in security requirements categorization (see Appendix C) 

should be supposed true for every point in the list mentioned in last activity.  

4.8.1.14 Validate threats for each resource, entry point, functionality, asset, service and actors for the system For each  resource, entry point etc.  threats which were  supposed  true are now 

validated.  For  example,  threat  that  is  not  applicable  to  a  particular  resource  is omitted for that particular resource. Each threat shall be considered as a Misuse case and documented by filling Misuse case template for each threat separately. 

Above  mentioned  step  is  performed  in  iteration  until  all  the  threats  are adequately  validated. Threats  that are not omitted  in  the process will be  the  valid threats to the system.  

46

4.8.1.15 Update the document Security requirements for mitigation of every threat/Misuse case in previous 

activity must be documented with traceability information.  

47

5 EXPERIMENT We have followed Wohlin et. al [91] guideline for experiment. In this Section, we 

have explained  the detail description of experiment performed for this research. We have explained Experiment definition, plan, Design and execution of our experiment. 

This experiment is performed to measure the applicability of our frameworks. We intend  to  suggest  improvements  in  the  framework  on  the  basis  of  feedback  and results from the experiment. 

5.1 Experiment definition 5.1.1 Objective 

Objective  of  this  experiment  is  to  check  whether    by  combining  formal  and informal  security  requirement  elicitation  techniques  we  yield  better  results  than using formal or informal security requirement elicitation technique alone. 

 

5.1.2 Context This experiment was completed in two days and involved six students who were 

divided  in  three groups  i.e.  two members per group. All six students were software engineering students who have studied requirement engineering course and have at least two years of industrial experience. All six students were supposed to conduct a set of activities in a specific amount of time. These activities were selected from the activities of our framework, CLASP and Misuse case technique. After the experiment, all the six students were asked to fill a feedback form (see Appendix I).  

We conducted the experiment with CLASP (a formal technique), Misuse Cases (an informal  technique)  and  Framework.  We  did  not  Include  Secure  TROPOS  in  the experiment due to three main reasons. 1. Purpose of  the experiment was  to  compare  the proposed  Framework with  a 

formal and an Informal technique. CLASP being a formal technique and Misuse Cases being an informal technique, fulfill the purpose of the experiment. 

2. Secure  TROPOS,  as  mentioned  earlier,  has  sequential  activities  which  are strictly connected to each other. 

3. In  addition,  many  activities  of  Secure  TROPOS  focus  on  phases  other  than requirement  gathering of  software development  life  cycle whereas our  focus was only on requirement elicitation. 

Therefore we did not include Secure TROPOS in the Experiment. Limited availability of students  (subjects) compelled us to select a small system. 

We sent two documents  i.e. System’s detail description and Activities description to subjects via email two days before conducting the experiment. Purpose to send the document  was  to  give  brief  overview  of  activities  and  software  system  before experiment.  Later we  had  discussions with  our  subjects  via  video  conferencing  in order to clarify the doubts and questions regarding system and activities.   

Keeping  in  mind  the  lack  of  practice  of  students  (subjects)  to  perform  the activities, we conducted one hour pilot exercise before conducting  the experiment. Each activity was assigned a specific amount of time. 

On  first  day  of  experiment  i.e.  2012‐March‐29,  the  students  were  randomly divided  in groups of  two  to perform  the activities.  It  took  total 6 hours  to perform first part of the experiment. 

48

5.1.3 Sample Space Our sample space consists of software engineering students in BTH. 

5.2 Experiment planning  5.2.1 Purpose 

Purpose  of  study  is  to  observe  effectiveness  of  our  security  requirement elicitation  framework  with  respect  to  widely  used  formal  and  informal  security requirement elicitation techniques i.e. CLASP and Misuse Cases. 

5.2.2 Quality focus Our  study  is  focused  on  improving  the  quality  of  software  by  highlighting 

importance of security in early phase of software development life cycle. 

5.2.3 Perspective This study is beneficial for small and medium size software organizations. 

Software companies can benefit from the result of this study. Attacker’s perspective towards software provides detail understanding of vulnerabilities in software. Developing secure software can improve business reputation and public confidence in software. 

5.2.4 Context selection Experiment  was  conducted  in  controlled  environment  with  the  help  of  six 

students who were divided in three groups i.e. two members per group. To perform the  experiment  we  provided  detail  of  a  software  system  and  activities  of  our framework. Software system and  its description were selected  from paper  [66]. We also provided them Misuse case template. 

5.2.5 Hypothesis formulation NULL HYPOTHESIS (H0): Formal approaches do not produce better results when integrated with informal approach i.e. Misuse cases. ALTERNATIVE HYPOTHESIS (H1): Formal approaches produce better results when integrated with informal approach i.e. Misuse cases.  NULL  HYPOTHESIS  (H0):  The  proposed  framework  is  not  better  than  other security requirement elicitation techniques. ALTERNATIVE HYPOTHSIS  (H1): Proposed  framework  is significantly better  than the other requirement elicitation techniques. 

 

5.2.6 Variable selection Independent variables in this experiment are as following: 

• Framework Activities • Framework Activities Guidelines. • Software System • Misuse case template • Misuse case guidelines. • Clasp Activities • Clasp Guidelines 

Dependent Variables in this experiment are as following: • Resources • Trust boundaries 

49

• User roles and Resource capabilities • Security Constraint of each actor • Attack Surface • Detail misuse case • Security Requirements • Security Analysis 

As  shown above;  independent variables are  the  inputs  to experiment where as dependent variables are the output of experiment. As experiment is conducted in a  controlled  environment,  dependent  variables  vary  according  to  inputs  of experiment (Independent variables).  

5.2.7 Subject selection We  selected  academic  Subjects  for  our  experiment  as  a  population. We  have 

conducted probability sampling for our experiment. Population was the students who have  studied  requirement  engineering  course  at  BTH  and  have  some  industrial experience.  Subjects  were  selected  randomly  from  population.  Six  students  were divided in three groups i.e. two members per group. One Group performed activities of CLASP and  the other  two groups performed activities of Framework and Misuse cases, respectively. 

5.3 Experiment design 5.3.1 Design principle 

We  have  used  three  basic  design  principles  Randomization,  Balancing  and Blocking in our experiment.  

It  was  not  possible  to  recruit  professionals  for  this  experiment  due  to  time constraints  and  the  availability  of  professionals.  Therefore  we  decided  to  include software  engineering  students  that  have  formal  trainings  in  security  requirements engineering  and  have  some  industry  experience.Randomization  is  achieved  by random  selection of  software  engineering  students who have  studied  requirement engineering Course at BTH. Same number of persons in each group and same amount of  total  time  for  each  technique  justifies  balancing  i.e.  two  members  per  group working for approximately 10 hours. To cover the blocking design principle we made sure that out of three groups, no group should consist of only  inexperienced people i.e.  one  out  of  two  students  in  each  group  must  have  2‐3  years  of  industrial experience. 

5.3.2 Design type Design type of our experiment is one factor with three treatments. 

Table 26: Experiment design type SUBJECT  TREATMENT 1 TREATMENT 2 TREATMENT 32                     X2                    X2                        X

 

According to our Experiment, Treatment 1 is Framework activities, Treatment 2 is CLASP activities and Treatment 3  is Misuse case activities. Factor for the Experiment is Security Requirements. 

50

5.3.3 Instrumentation In our experiment we have used objects, guidelines as instrument to monitor and 

guide involved participants.  Object were 

• Documentation  of  software  system  on  which  activities  were  to  be performed  

• Misuse cases template.  Guidelines were how to perform activities in allocated time.  

• Description  of each activity of framework, CLASP and Misuse case  • At the end of experiment asked them to fill a questionnaire. 

Instruments used in our Experiment were: • Students from BTH • Library rooms • Documents of software system • Misuse case template • Guidelines of each activities • Questionnaire • Trainings 

Measurement • Number of Security Requirements 

5.3.4 Validity evaluation Before performing the experiment we conducted pilot study with two students to 

have a basic idea about time to conduct the experiment and feasibility of techniques. During  the  pilot  study,  we  observed  that  the  participants  must  have  time  to understand  the  tasks  and  ask questions. Moreover; minimum  time  to  conduct  the experiment with a small system is 11 hours. We designed our experiment on the basis of observations during pilot studies.  

Before executing the experiment there were two things, we had to take care of two things i.e. 

1. In our experiment, framework activities take more time as compared to other techniques. One  could  argue  that  since  framework  is  taking more  time,  so one can elicit more requirements from framework.  

2. We are dealing with human beings who have varying  level of competencies. So what is the guarantee that people working with framework, CLASP, Misuse Case have the same  level of competency to work with requirements? There may be a possibility that people working with CLASP have less understanding than people working with  framework. Therefore we are going  to get more output from activities of framework.  

 In order  to ensure  transparency and  justice with all  the  three methods  i.e. Our 

Framework, CLASP and Misuse case, we took two steps i.e.  1. Assign same amount of time to the techniques i.e. We assigned the same 

amount of total time to all the three methods. It is because by looking 15 activities  of  framework,  one  can  easily  tell  that  it  requires more  time whereas CLASP with 10 and Misuse case with three activities would take far  less  time.  Since  we  are  concerned  with  the  number  of  security requirements  and  not  time  so  we  assign  equal  amount  of  time  to Framework,  CLASP  and  Misuse  case.  Each  group  using  one  of  these methods has equal amount of  time  to elicit  security  requirements  (See Table 30 and Table 31). 

51

2. Combine  input  from  Team1  and  Team2  and  provide  it  to  Team2  for security analysis using CLASP technique (explained in next section). 

 

5.4 Experiment operation Total  subjects on  first day of our experiment are  six people which are assigned 

Treatments. On  the  first  day,  experiment  was  conducted  in  university  (BTH)  group  rooms 

H2016,  H206C  and  H206D  on  2012 March  29th.    Two  person  i.e.  each  group was assigned a separate group room. We provided them description of a software system and  activities. One  group  performed  activities  of  framework  and  the  other  groups performed activities  related  to CLASP and Misuse case. All  the groups were given a total time of 5 hours and 15 minutes to perform the activities.  

Group  performing  framework  activities were  supposed  to  perform  6  activities. For  first 2 hours  they performed 4 activities. Duration of  first  four activities was 30 minutes each. After  the  lunch break  they were  suppose  to perform  remaining  two activities. Duration of the remaining two activities was 1 hour.  

Group performing CLASP activities, had to perform five activities and the duration was same as for group performing framework activities. Group with Misuse case was given the same amount of time also (See Table 30 and Table 31). We provided them Misuse  case  template  and  the  description  of  activities.  There  were  total  three activities  of Misuse  case.  Team1’s  first  task  was  to  understand  the  case  and  the activities. Based on their understanding they filled Misuse case template. 

On  the  second  day  of  experiment,  we  conducted  the  second  part  of  the experiment with the same six people again. The only difference was that Team2 and Team3  i.e. group working with activities with CLASP and Misuse  case were  free  to iterate  and  repeat  the  procedure  of  the  activities  they  have  performed. Whereas Team1  i.e. the group working with framework performed the remaining activities of the framework. On the second day i.e. 2012 March 30th experiment was conducted in university  (BTH) group rooms H2016, H206C and H206D. Team1, Team2 and Team3 were  sat  in  different  rooms.  In  order  to  neutralize  the  threat  of  different  level  of competency of students, we decided to give maximum benefit to CLASP.  

We have already discussed that outputs of the activities performed during Day1 of experiment are input for security analysis in CLASP and in framework. So we gave maximum advantage to CLASP by providing output of activities performed by Team1 and Team2, during first day of the experiment, for security analysis in CLASP. 

The  group  working  with  framework  continued  with  what  they  got  after performing the activities on Day1.  

 

5.4.1 Software System for Experiment Due to  limitations  in access to  industrial resources, we had to select a software 

system  by  using  which  we  can  conduct  an  experiment  in  a  short  time.  For  that purpose, we considered many software systems and choice was difficult. We decided to select a system on which a security study is already conducted which will also help us  in  comparing  our  results  with  the  results  from  the  study.  We  considered  an example from [66] i.e.  

5.4.1.1 Monolithic Mainframe 

5.4.1.1.1 Glossary 

52

CICS: Customer Information Control System – A transaction server which runs on IBM mainframe under z/OS. z/OS: 64 bit operating system for mainframe produced by IBM. RAFC: Resource Access Control facility: An IBM software product for system’s security that provides auditing functionality and access control.  VSAM: Virtual Storage Access Method: An IBM files disk storage method. 3270 terminals: IBM display devices used to communicate with the mainframe. 

5.4.1.1.2 System Description A  leading  insurance  company  has  applications  which  process  claims  by  its customers.  Application  users  are  customer  service  representatives who  either create or update claims information based on telephone conversations with their customers. All incoming claims are processed by the applications on a single IBM mainframe machine. 

 Table 27: Activity flow 

Step:  Description: 

1   The user performs an initial logon and is prompted for user ID and password.

2  If the user ID and password are successfully entered, a CICS session with the IBM mainframe is initiated 

3  The application user invokes the desired CICS transaction.

4  To obtain authorization to run the transaction, the CICS determines permission for the invoking user 

5  The application user (i.e., customer service representative) requests account information for an existing customer 

6  The application reads account record(s) for the specified customer. In the process of reading the data, the operating system determines whether the user is permitted to read the relevant VSAM file. 

7  If RACF authorizations allow it, the record is returned to the application from VSAM. 

8  The customer data is returned to the application user and is displayed on the 3270 terminal 

9  The application user enters required information – either creating a new claim or adding further information (as instructed by the customer, specifically relating to the insurance claim). 

10  The application updates account record(s) for the specified customer. In the process of updating the data, the operating system determines whether the user is permitted to update the relevant VSAM file. 

11  If RACF authorizations allow it, the record is updated in the VSAM file.

12  The application satisfies the request for updating the customer claim data and displays confirmation of the update on the 3270 terminal. 

Also see Appendix K and Appendix L to see Sequence diagram and Use Case diagram of the system. 

5.4.2 Experiment execution Following activities with the sequence described  in Table 30 and Table 31, were 

performed by the groups named as Team1 (performing Framework activities), Team2 (CLASP activities) and Team3 (Misuse case activities). 

Detail schedule for two days of experiment is provided in Table 30 and Table 31. Duration of experiment during first day was 5 hours and 15 minutes. Activities during second day took 4 hours and 50 minutes of time. 

 Table 28: Plan for Day1 of Experiment 

  Duration Duration Pilot Exercise  50 Minutes Pilot Exercise 50 MinutesQuestion and Answers  10 Minutes Question and Answers 10 MinutesTeam1 & Team2 

Task  Team3 Task  Specify Operational Environment  20 Minutes Misuse Case Activity 1  20 MinutesIdentify Global Security Policy  15 Minutes Misuse Case Activity 2  55 Minutes

53

Identify Resources and Trust Boundaries 60 Minutes Misuse Case Activity 3  20 MinutesTotal  155 Minutes Total  155 Minutes

Lunch Break  Lunch Break Identify user roles and resource capabilities 20 minutes Fill Misuse case 

Template 150 Minutes

Identify in‐depth user roles, secure capabilities and security constraints for each actor (Only performed by Team1) 

20 Minutes Total 150 Minutes

Identify attack surface  20 MinutesResearch and assess security posture  30 MinutesDetail misuse case  60 MinutesDocument security relevant requirements 60 minutesTotal  150 Minutes

 

Table 29: Plan for Day2 of Experiment Team1  Task  Duration  Team2 Task Duration Team 3 Task  Duration

Perform security analysis  of system requirements and design. 

120 Minutes 

Perform security analysis  of system requirements and design. 

120 Minutes 

Iterate all the activities of Misuse Case  

160 Minutes 

Update security requirements document. 

30 Minutes 

Update security requirements document. 

30 Minutes

Total  150 Minutes 

Total 160 Minutes 

Total   160 Minutes 

Lunch Break  Lunch Break Lunch Break 

Suppose all  the threats mentioned  in the categorization are  true  for  all resources, entry  points, functionalities, assets,  services and  actors  for the system. 

30 min  Iterate all or any activity of CLASP 

100 Minutes 

Iterate all or any activity of Misuse Case 

100 Minutes 

Validate threats  for each  resources, entry  points, functionalities, assets,  services and  actors  for the system. 

70 min 

Update  the document. 

30min  Update  the document. 

30min Update  the document. 

30min

Fill Questionnaire  

10 Minutes 

Fill Questionnaire 

10 Minutes Fill Questionnaire  

10 Minutes 

Total  140 Minutes 

Total 140 Minutes 

Total  140 Minutes 

 To see Output from Misuse cases technique alone, refer to Appendix G. 

5.4.2.1 Output during each activity of Framework We have listed output of the activities, in document, in such a way that this 

section covers output from all the techniques. 

54

Since first 10 activities of the framework are taken from CLASP (except 5.4.2.1.5) it is useless to repeat the output of 9 activities of CLASP in the document. The reader can assume that the output 5.4.2.1.1 up to 5.4.2.1.10 is same for CLASP and Framework. Final output from CLASP is included in Appendix D and Appendix E whereas output of Misuse Cases is mentioned in Appendix G.  

Output mentioned in section 5.4.2.1.11 to 5.4.2.1.15 is the output only from Framework.  Final output from Framework alone is mentioned in Appendix F. 

5.4.2.1.1 Specify Operational Environment (Implementation scenario) The  IT organization of  the  insurance  company develops  its own  applications  in 

order  to  gain  an  advantage  in  a  highly  competitive  and  quickly  changing  business environment. The applications in question are developed in COBOL to run under CICS on  a  z/OS  IBM mainframe machine.  These  custom‐written  applications  enable  the insurance  company  to  respond  rapidly  to  the  time‐critical  needs  of  its  client.  The users utilize 3270 terminals from where they log on directly to CICS. 

It should be kept in mind that data on the disc is not encrypted. 

5.4.2.1.2 Identify Global Security Policy Customer’s data is valuable to the company so only authorized people should be 

able view and edit customer’s data. Security baseline and its description are mentioned in Table 32.  

  

Table 30: Security Baseline Authorization  Authorization also called access control. Authorizations are given to users to access the system on the 

basis of identity and are generally policy driven. Policies are enforced by access control mechanism to perform operations on resources. Policies depend upon the individual actions performed on resources. For example access control decision is generally taken on the basis of user specific policy. 

Authentication  Authentication is used to establish identity of communication partners, owner, creator etc of data. Authentication must be performed at login time for network connections but one must also perform ongoing authentications for lifetime of connection. Different categories of  authentication are as follows: 

Things which are known such as passwords or pass phrases. Things you have such as credit card or RSA Secure ID(Authentication tokens). Things you are such as finger prints, voice print and retinal scans. 

Confidentiality  Purpose of confidentiality is to keep data secret to all unauthorized parties. Data must be kept secret or encrypted in both ways like when data is being transmitted on a network and when it is being stored, long term or short term. 

Integrity  Data integrity means to keep the data as in form as it was intended to be. For example in physical link layer on trusted media where error occurs but not related to security errors. 

Availability  Delay of data can cause the availability problem or if problem is due to maliciously is known as denial of service attack. 

Accountability  System should log information about the operations performed by the system user in order to review this information when required. System users must be accountable for the actions they perform. 

Non repudiation  When there is two party communications, either sides can prove to themselves whether data comes from authentic source. Problem occurs when third party involves. For this message can be established from original sender to third parties which is called non repudiatable. 

 

5.4.2.1.3 Identify resources and trust boundaries Trust Boundaries 

• User i.e. customer service representative connects to sever through 3270 terminal by entering valid id and password. 

55

• User  can  view  customer’s  information only  if  the user has  authority  to view customer’s  information. RACF performs authorization check before letting the user view the information. 

• User can update customer’s information only if the user has authority to update  customer’s  information.    RACF  performs  authorization  check before letting the user update the information. 

• Authorization  is  called  access  control  and  Authentication  is  used  to establish  identity  of  communication  partners.  Both  authorization  and authentication checks are performed by RACF. 

• There  is no remote access to server. All users access the server through 3270 terminals within system boundary. 

            

• Identify network level design Figure 7: Component Architecture Diagram 

 Business  applications,  security  system  and  database  are  located  on  one 

mainframe server. Mainframe server is accessed by customer service representatives using 3270 terminals. This shows that the system is implemented using star topology. 

 Table 31: Component Architecture 

56

Component  Description of Component User  The application users are customer service representatives of the insurance company who log on to CICS 

running under z/OS on a single IBM mainframe. The users are located within a facility of the organization — i.e., no remote access is required. 

Application  This is a custom application developed within the organization — i.e., it is not a package application. Data  The application data in question is located in VSAM file cluster on the single IBM mainframe machine. Security System 

The elements of the security system are:• RACF sign‐on security; • RACF authorization to execute CICS transactions; • RACF authorization to read/update VSAM files data. 

• Identify Data resources System’s resources along with the capabilities are mentioned  in the table below 

(see Table 34). Capabilities are the resources a resources or an actor can access   

Table 32: System resources and capabilities Resource Name 

Description  Capabilities

CICS  Customer Information Control System – A transaction server which runs on IBM mainframe under z/OS. 

Can access and perform operation on database using VSAM. Communicates with RACF through z/OS. 

z/OS  64 bit operating system for mainframe produced by IBM. Controls inter‐process communication on Mainframe i.e. between CICS and RACF. 

RAFC  Resource Access Control facility: An IBM software product for system’s security that provides auditing functionality and access control.  

Performs Authentication and Access Control checks. Keeps log of the activities performed. 

VSAM  Virtual Storage Access Method: An IBM files disk storage method. 

Establishes a mechanism to access data base. 

3270 terminal 

IBM display devices used to communicate with the mainframe. 

N/A

User  Customer service representative. Accesses Database and performs operations on database through CICS, using 3270 terminals. 

Network Medium 

LAN i.e. All stations (3270 terminal) are connected by cable (or wireless) to a central point, such as hub or a switch which is then connected to a Mainframe computer. 

Acts as a medium communication medium between 3270 terminal and Mainframe sever. 

Customer  A person who interacts with the customer service representative over the phone. 

They can request creation, search and update, but this task is handled by customer service representative. 

 

5.4.2.1.4 Identify user roles and resource capabilities It should be noted that all communication between 3270 terminal and 

mainframe, involves Local Area Network. User (Customer service representative) Resources: 3270 terminals 

Table 33: User's capabilities CAPABILITIES   RESOURCES INVOLVEDLOGIN  AUTHENTICATED BY RACFVALIDATE USER  AUTHENTICATED BY APPLICATION AND RACF READ CUSTOMER DATA RACF + VSAMUPDATE CUSTOMER DATA RACF + VSAM

 Application (Transaction system) Resources: CICS 

Table 34: Application's capabilities CAPABILITIES   RESOURCES INVOLVED ACCESS CUSTOMER DATA RACFAUTHENTICATE REQUEST RACFUPDATE CUSTOMER DATA RACF + VSAM

57

RETURN PROCESSED DATA TO 3270 TERMINAL 

3270 TERMINAL

 Access control method (VSAM) 

Table 35: Access method capabilities CAPABILITIES  RESOURCES INVOLVEDINITIATED BY CICS RACF, Z/OS, CICS

• Attacker’s Profile Attacker is an insider who has physical access to terminal 3270 and Mainframe. 

This insider may be a customer service representative or a person who has a physical access to the infrastructure. 

Most probably, the attacker will use brute force technique to enter the system or try to exploit a bad programming practice such as stack/buffer overflow attack. 

 

5.4.2.1.5 Identify in‐depth user roles, secure capabilities and security constraints for each actor 

Main role in the system is of the user i.e. Customer service representative. In an ideal condition, a user is checked at three points in the system i.e.  

1. At the time of login i.e. Authentication/identity check 2. Attempt to view customer’s data i.e. Authorization check 3. Attempt to update customer’s data i.e. Authorization check 

Above mentioned are the security constraints on the user.    User’s secure capabilities are • Login, • Access customer’s data, • Update customer’s data • Customer service representative have access to 3270 terminal 

 User’s insecure capabilities are • Login without authentication • By pass CICS, • By pass RACF and access VSAM, • By pass RACF and access CICS, • Perform operation on VSAM without authentication and authorization 

5.4.2.1.6 Identify attack surface Main entry points for an attack are 3270 terminal and physical ports. • Anybody who has physical access to Mainframe can copy data directly from Mainframe since data stored in Mainframe is not encrypted. 

• If RACF is somehow by passed, it will be easy to perform operation on the data using VSAM. Entry point in this case will be 3270 terminal. 

• Insecure public methods which can be manipulated from 3270 terminals can pose a threat to the system. 

Disabling inter‐process communication between CICS and RACF may put the system in danger. 

5.4.2.1.7 Research and assess security posture 

58

Certain technologies like RACF, CICS, VSAM etc. are used in the system. Issues related to these technologies are gathered from online reviews of people who have been working with these technologies. Issues with these technologies are defined in “ISSUES” Column. 

 Table 36: Technologies and problems 

COMPONENTS  ISSUES RACF  The standard RACF product includes utilities and commands to handle Most of the situations 

which security administrators, auditors, and technical staff are likely to encounter. However, some of these facilities are difficult to use or take too long to consider using them on a daily basis. As a result of this some installations have been forced to develop their own procedures for dealing with these situations and others have been unable to afford the resources to deal with them on a regular basis.  Configuration Issues. 

Z/OS  Neither z/OS nor the MVS family of operating systems provides security as part of the operating system. They rely on External Security Managers (ESMs) to provide security. When the operating system receives a request, that request is diverted by the Security Authorization Facility (SAF) within z/OS to an ESM. SAF directs control to either or both: An ESM such as RACF or ACF2. An organization supplied processing routine. 

VSAM Disk Storage  Unmanaged disk storage can result in system outages.Cost of managing storage is 4 to 10 times the initial cost of storage acquisition. 

CICS  CICS has stopped running. There are three main reasons why CICS might unexpectedly stop running: There could be CICS system errors. CICS could be in a wait state. In other words, it could have stalled. A program could be in a tight loop. CICS is running slowly. Main reasons are: System is lightly loaded; a poorly designed transaction could be the cause. 

 

5.4.2.1.8 Detail Misuse Case To see Output from Misuse cases technique alone, refer to Appendix G. 

Table 37: Misuse Case Field  DescriptionName  Login in without valid credentialsSummary  By passing security protocolsDate  12‐03‐29Author  Farukh & waqasBasic Path  3270 terminal user. send request to CICS.Alternative Path  Direct access to CICS without 3270 terminals.Capture Point RACF Extension Point  Direct accessTriggers  Deactivated RACFPre‐conditions Deactivated RACFAssumptions RACF not working, not authenticating the request.Post‐conditions  Access to VSAMWorst Case Threat  Data integrity implicationsPrevention guarantee  RACF Detection guarantee  CICS Related Business Rule  Prevent unauthorized accessPotential Misuser Profile  Access other than customer representationStakeholders AnalystsScope  Planned computerized info systemAbstraction Level  Sub functionTechnology  and  Data Variations 

LAN 

Goal  ValidationDependencies Analysts to customer representationSecurity Constraints  Access Grant.

 Table 38: Misuse Case 

Field  Description

59

Name  CSR UpdateSummary  CSR has negative intentions to update customer data.Date  12‐03‐29Author  Pezhman & HassanBasic Path  CSR logs into the system and tampers the data.Alternative Path  Log into the system in an unauthorized way.Capture Point Data logs.Extension Point  N/A Triggers  CSR has negative intentions and have access to the systemPre‐conditions CSR is logged inAssumptions N/A Post‐conditions  CSR updated customer record wrongly.Worst Case Threat  Customer data corruption.Prevention guarantee  Get to know people with negative intentions in the organization Detection guarantee  Data statistical analysisRelated Business Rule  Data integrityPotential Misuser Profile  Insider.Stakeholders Customer, OrganizationScope  Data Abstraction Level  N/A Technology  and  Data Variations 

Buffer overflow, SQL injection

Goal  Keep Customer personal information safeDependencies CSR and customerSecurity Constraints  Authorized login to system

5.4.2.1.9 Document security relevant requirements See Appendix (D)    

5.4.2.1.10 Perform security analysis of system requirements and design • Develop an Understanding Of The System. 

System was completely understood through documentation and outputs of previous activities. 

• Determine and Validate Security Relevant Assumptions: Business Environment:  There is no remote access. Attacker:  Attackers are of two types: 

• It can be customer service representative. • Someone who has physical access to the system or its components. 

• Review Non‐ Security requirements: System has not addressed: 

• Data integrity  • Availability • Confidentiality • Non repudiation 

• Assess Completeness Of Security Requirements: Table 39: Correlation Matrix 

Security requirement 

ID Authorization  Authentication  Confidentiality  Integrity  Availability  Accountability  Non‐

repudiation  Other 

1  X       2      X    3  X       4      X    5    X     

60

6  X       7  X       8      X    9    X     10      X    11          X12      X    13    X     14  X       15    X     16      X    17      X    18      X    19  X       20      X    

TOTAL  5  5  3 4 2 0  0  1

• Identify Threats On Assets/Capabilities. Table 40: Threats on Assets 

ASSETS  THREATSCICS  • Without authentication can create CIC session. 

• Denial of service(CICS session) Z/OS  • Do not allow communication between RACF and Z/OS. 

• Operating system can be out of service. RACF  • Out of Service 

• Allow unauthorized user and not allow authorized users VSAM  • Disk Storage can be corrupted. As there is not backup DB file data can be lost. 

• Out of service. 3270 TERMINAL  • Misused by CSR. 

• Used by unauthorized user. NETWORK  As there is no data encryption, data can be modified or read during data transmission. 

  

Table 41: Threats on Capabilities CAPABILITES  THREATS

Login  Attempts from unauthorized personValidate User  • Out of service 

• Output of the functionality is modified. Read/Customer data/Update.  • Do not allow to read/update customer data. 

• Write customer data without authentication Read process data to 3270 terminal Do not allow to return process data to 3270 terminal. 

  

• Determine Level Of Risks     

61

Figure 8: Threat Tree 

 • Determine Risk Mitigations For Each Resource. 

Risks mitigation: • User can only initiate CIC session after authentic login from 3270 terminal. • Protect transaction server (There must be limited access). • Limit the maximum number of files or processes that a user is allowed. • VSAM file must be stored as Encrypted form. • All data communications through network must be encrypted. 

• Evaluate Findings: All the findings are evaluated and documented as security requirements in the next activity. 

5.4.2.1.11 Update Security Requirements Document: See Appendix (E) 

5.4.2.1.12 Identify Resources, Entry Points, Functionalities, Assets, Capabilities, Resources, Services And Actors. 

62

 Table 42: System's resources/assets 

RESOURCES  FUNCTIONALITIES  ASSETS CAPABILITIES ACTORS CICS  Authentication  Customer Data Login. Customer Service 

Representative. Z/OS  Execution Application  Validate User. Customer. RACF  Authorization  Read/Customer 

data/Update.  

VSAM  Data update/Read  Read process data to 3270 terminal. 

 

3270 TERMINAL  Search claims   NETWORK  Create New Claim   

 

5.4.2.1.13 Suppose All The Threats Mentioned In The Categorization Are True For All Resources, Entry Points, Functionalities, Assets, Services And Actors For The System. As we have discussed earlier that we are using security categorization from [11] 

(See Appendix C). In this activity all the threats mention in threat categorization (See Appendix C) were supposed to be true for every entry in Table 44. 

5.4.2.1.14 Validate threats for each resource, entry point, functionality, asset, service and actors for the system Table 45 contains the number of the valid threats from threat categorization (See 

Appendix C). Table 43: Valid Threats 

Asset/Resource  Threat Categorization NumberCICS, 3270 TERMINAL  1A, 1BLogin, Data storage, CICS, RACF 1CCustomer DATA, Application 2Network, Data storage  3AMainframe, 3270 terminal, Network 3B, 3CApplication  3D 3270 Terminal, Update/Read 4Customer Data, Read/Update 5A, 5B, 5C, 5DRACF, Log File  63270 Terminal, CICS, RACF 7AMainframe,Network,3270 Terminal, Data storage 

8

5.4.2.1.15 Update Security Requirements Document: See Appendix (F) 

   

 

63

6 ANALYSIS AND INTERPRETATION: Purpose  of  this  chapter  is  to  analyze  and  interpret  the  data  obtained  from 

experiment. We extracted  information  from experiment and deleted  redundancies. We  analyzed  results  using  Vulnerability  Comparison  and  system  security  baseline [66,88].

We noticed  that  the participants of  the experiment, especially  the group using Framework, were not happy about the short time assigned to the activities.  In  fact, time pressure was really helpful because in this way we were able to simulate the real world  circumstances. The experiment, overall was a  success because we  simulated the  actual  circumstances  under which  security  is  neglected  in  industry  i.e.  Lack  of resources or inexperienced people and Tight schedule for completing a product.

6.1 Data set reduction By carefully looking at the activities of the techniques, we see that in Framework, 

security requirement document  is updated thrice. Whereas there was no restriction for updating  the document  in Misuse cases and  in CLASP. The security requirement document was  at  least  updated  twice  using  CLASP  and  once  using Misuse  Cases. During  information  extraction,  we  noticed  that  some  security  requirements  were repeated  in CLASP and Framework. For example; a security  requirement which was already documented was repeated in second or third updating activity.  

We  decided  to  delete  repeated  security  requirements.  We  achieved  that  by keeping  the  former and deleting  the  latter.  It means  if a  security  requirement was written once and  it was  repeated  in next document updating activity, we  removed the security requirement from latter updating activity. 

6.2 Descriptive statistics 6.2.1 Vulnerability Comparison 

As  described  earlier,  Software  system  used  during  the  experiment  was  taken from  [66]. Few vulnerabilities of the system were also  listed with the description of the system  in  [66]. We  listed  these vulnerabilities  in Table 46 below. There may be other  vulnerabilities  in  the  system  example  (Monolithic  Framework)  but we  have decided to list only those vulnerabilities which were listed in the document [66] from which the software system example was selected. 

After  removing  repetitions  in  the  security  requirements  for each  technique, we compared  vulnerabilities  covered  by  techniques  with  the  already  known vulnerabilities of the system (see Table 46) to see which of the known vulnerabilities are removed by each technique. 

It should be noted  that our  focus was  to elicit security requirements. Therefore we  analyzed  the  data  gathered  in  the  context  of  research. Our  focus was  not  on finding vulnerabilities but security requirements. Security requirements were elicited for the other threats found in Table 45 and the document was updated accordingly by the  group  using  Framework  (See  Appendix  F).  In  Table  46 we  have  analyzed  our security  requirements  with  respect  to  known  vulnerabilities  i.e.  whether  security requirements elicited by the three techniques mitigate the vulnerabilities or not. 

   

64

Table 44: Vulnerability and Security requirement comparison ID  Vulnerabilities  Misuse Case CLASP FRAMEWORKV‐1  Using password Systems  

“The failure of a password authentication mechanism will almost result in attackers being authorized as valid user.” 

     V‐2  Allowing password aging. 

“As password age, the probability that they are compromised grows.” Note: RACF must be correctly configured to obtain the correct password aging 

     V‐3  Not allowing password aging.

“As password age, the probability that they are compromised grows.”     

V‐4  Storing Passwords in a recoverable format.In that case Users password may be revealed and may be reused elsewhere to impersonate the users in question.” Note: RACF must be correctly configured to obtain the correct password aging 

     V‐5  Using single factor authentication.

“If the secret in a single factor authentication scheme gets compromised, full authentication is possible.”     

V‐6  Failure to protect stored data from modification. “The object could be tampered with.”     

V‐7  Buffer Overflow. “Buffer overflows generally lead to crashes. Other attacks leading to lack of availability are possible, including putting the program into an infinite loop.”  “Buffer overflows often can be used to execute arbitrary code, which is usually outside the scope of a program’s implicit security policy.”   “When the consequence is arbitrary code execution, this can often be used to subvert any other security service.” 

     

V‐8  Failure to check whether privileges were dropped successfully. “If privileges are not dropped, neither are access rights of the user. Often these rights can be prevented from being dropped.” “If privileges are not dropped, in some cases the system may record actions as the user which is being impersonated rather than the impersonator.” 

     V‐9  Trust of system event data.

 “If one trusts the system‐event information and executes commands based on it, one could potentially take actions based on a spoofed identity.” 

     Total  1  3  5 

Figure 9: Percentage comparison with known vulnerabilities 

 

65

Final  output  of  requirement  elicitation  techniques  i.e.  Framework,  CLASP  and Misuse  case,  were  number  of  security  requirements.  These  requirements  were elicited  in  same  amount  of  time  but  the  number  of  elicited  requirements  was different  for  each  technique.  Not  only  was  the  number  of  elicited  requirements different  but  types  of  requirement were  also  different. We  analyzed  the  security requirements  elicited  by  each  technique  and  compared  the  requirements  with  9 known vulnerabilities of the system (see Table 46). Basically the purpose was to see that what percentage of the vulnerabilities is mitigated by each technique. 

After analyzing the requirements for vulnerability mitigation, we see that 5 out of total  nine  vulnerabilities  (55%)  are  mitigated  by  Framework.  Whereas  3  of  9 vulnerabilities  (33%) were  covered by CLASP and 1 out of 9  (11%) was  covered by Misuse case. 

6.2.2 Requirement Types with Respect to System’s security baseline 

Whenever we talk about security, question which comes to our mind is “what do you want  to  secure”.  For  that  purpose we  look  into  global  security  policy  of  the organization and establish a security baseline (see Table 32).  

A security baseline was established for the example software system, before the experiment (see Table 32). Now we need to see what type security baseline features are  covered  by  each  technique. We  have  7  security  baseline  features  and  three techniques  i.e.  Framework,  CLASP  and  Misuse  case.  We  got  number  of  security requirements from each security requirement elicitation technique. We need to see that which of the technique covers which of the established baseline  features  in an effective manner. 

The graphs below are summarized in the table below  

Table 45: Requirement analysis with respect to Security baseline Number of Requirements

Security  Baseline Feature 

Misuse Case CLASP Framework

Authorization  2 6 7

Authentication  0 5 6

Confidentiality  2 3 7

Data Integrity  0 4 4

Availability  0 1 1

Accountability  0 0 1

Non repudiation  0 0 1

  In  the  graph  below,  X‐axis  shows  the  three  Techniques  and  Y‐axis  shows  the 

number of requirements elicited from these Techniques. As you can see from Table 45,  Framework  elicited  more  number  of  security  requirements  in  terms  of authorization,  authentication  and  confidentiality.  Whereas  in  data  integrity, confidentiality  and  availability  CLASP  and  Framework  elicited  same  number  of requirements.  In  non  repudiation  and  in  accountability  framework  elicited  one requirements as compared to others.The requirements which are elicited by Misuse Cases and CLASP are  covered by framework also.Framework elicited more number of requirements  as  compared  to  CLASP  and  Misuse  cases  which  are  mentioned  in Appendix F.We did not find any unique requirement other than the security baseline. 

 

66

Following  graph  (Figure  10)  shows  the  number  authorization  Requirement elicited  from Misuse case, CLASP and Framework. As shown    in graph, Misuse Case elicited 3, CLASP 6 and Framework elicted 7 authorization requirements. 

 Figure 10: Authorization requirements 

  The  graph  below,  shows  the  authentication  Requirement  elicited  from Misuse 

case CLASP and Framework As shown    in graph (see Figure 11), no requirement was elicited  using  Misuse  case.  Whereas  with  CLASP,  5  and  with  Framework,  6 authentication requirements were elicted. 

 Figure 11: Authentication Requirements 

 Following graph(see Figure 12) shows Confidentiality Requirement elicited using 

three secuirty requirement elicitation techniques. Misuse Case elicited 2, CLASP 3 and Framework elicted 7 Confidentiality requirements. 

 Figure 12: Confidentiality Requirements 

 

67

Following graph(see Figure 13) shows, Data  integrity Requirement elicited using the  three techniques. None of Data  integrity requirement was elicited using Misuse case. 4 Data integrity requirements are elicited using CLASP and Framework. 

 Figure 13: Data integrity Requirements 

 

Graph below (see Figure 14) shows Availability Requirement elicited using three techniques. As shown  in graph (see Figure 14), Misuse Case elicited  0, CLASP 1 and Framework elicted 1  availability  requirement. As  shown  (see  Figure 14) CLASP  and Framework elicited same number of  Availability requirements.  

Figure 14: Availability Requirements 

  Follwing graph (see Figure 15) is the comparison of Non repudiation Requirement 

elicited using the three techniques. As shown    in graph (see Figure 15), Misuse Case elicited  0, CLASP 0 and Framework elicted 1 Non repudiation Requirement. 

68

 Figure 15: Non Repudiation Requirement 

 Next graph  (see Figure 16)   shows the Accountability Requirement elicited from 

using three techniques. As shown    in graph (see Figure 16), Misuse Case elicited   0, CLASP 0 and Framework elicted 1 Accountability Requirement. 

 Figure 16: Accountability Requirements 

6.3 Results and Discussions Vulnerability  analysis  (in  Section  6.2.1)  shows  that  Framework mitigate more 

number of vulnerabilities than CLASP and Misuse Case. Security requirements elicited by  Framework mitigated  55% whereas  CLASP  and Misuse  case mitigated  33%  and 11% of the total known vulnerabilities in our software system. 

Requirement  analysis with  respect  to  security  baseline  shows  that  CLASP  does not  elicit  any  requirement  for  Accountability  and  Availability  security  baseline features. For Confidentiality, number of requirements elicited using CLASP  is far  less than the number of security requirements elicited by Framework. For Data integrity, number of security requirements by CLASP and Framework is same. 

We can see from Table 44 and Figure 17 that Misuse cases has poor performance both  in  vulnerability  analysis  and  requirement  analysis  with  respect  to  security baseline. Major  reason of poor performance  from Misuse case  is because  it merely depends upon the creativity of the person creating a Misuse case.  

 

69

Figure 17: Requirement Analysis w.r.t Security Baseline 

 There  is  no  absolute measure  for  creativity.  Since Misuse  case  depends  upon 

creativity of  the person executing  the  technique, we are not sure about  the  results we  got  from Misuse  case  alone. We  can  say  that  the  group  had  a  low  level  of creativity  skills but  in  the  end we were  supposed  to  extract  results  from what we actually  got.  So  the  result  showed  that Misuse  case  did  not  perform  better  than CLASP and Framework. 

CLASP on the other hand has definite number of steps and pre‐defined guidelines which gives a better opportunity to exploit and discover issues. We saw that using the security  requirement  categorization  [11]  raised  the  security  requirement elicitation graph significantly for Framework. 

6.4 Return of investment for each technique. This section is based upon the observations during the experiment. Result may or 

may not differ if circumstances are changed.  We conducted the experiment using three techniques i.e. Misuse Cases (informal 

technique), CLASP (formal technique) and Framework. Output of the experiment was three  sets  of  security  requirements  i.e.  from Misuse  Cases,  from  CLASP  and  from Framework.  If we  initially  suppose  that  time  invested  in  each  of  the  technique  is directly proportional to the output,  it would simply mean that the more time spent on  a  technique  leads  to  increase  in  number  of  security  requirements.  We  have already mentioned  in section 5.3.4 that we assigned same amount of time to all the three techniques. Results show that in same amount of time Framework elicits more security requirements than Misuse Cases and CLASP. Therefore Framework has more Return of Investment than Misuse Cases and CLASP. 

 

6.5 Validity Threats  • Conducting an experiment with small sample space i.e.  Six students may be a question mark on our results. We can suppose that we get same result with large sample space but we cannot be sure about  it. Result  inferred  is based upon the conditions under which we conducted the experiment.  

70

• Results  and  conclusions  mentioned  in  the  document  are  based  on  one software system. We can only assume that the conclusion from a large scale experiment will be same as conclusions drawn  in  this study but we are not sure  about  it.  Results  are  based  on  the  experiment  and  the  system  we selected  for  the  experiment.  Although  the  software  system  for  the experiment was  selected  randomly,  still we  do  not  have  large  evidence  to support our results. 

• We proposed the Framework by integrating one informal technique with two formal  techniques. We  also  combined  security  requirement  categorization (see Appendix  C) with  our  framework.  Security  requirement  categorization was  devised  for  Misuse  Cases  technique  by  Bogale  and  Ahmed  [11]. Therefore we  can  say  that Misuse  Cases  have  a  large  contribution  in  our Framework.  Three  more  fields  were  also  added  to  Misuse  Cases  (See Appendix  J). Using  selected  activities  from  CLASP  and  Secure  TROPOS  and combining those with Misuse Cases added strength to our Framework but we are not sure about which technique actually attributed to better results from Framework. At the moment we can only make suppositions about this threat because analyzing each  technique’s contribution  to  the Framework requires in‐depth analysis which becomes out of scope for our thesis. 

6.5.1 Limitations • Lack of resources to conduct the experiment i.e. we were not able to find any industrial  contact  to  conduct  the  experiment.  Our  experiment  required software analysts  from  industry. Response  from  industries was not positive because software organizations have their own ongoing projects therefore it was not possible to engage someone from industry. 

• If we have more  time, we  should  choose more  complex method  i.e. more steps  in the framework. Just using more time with a simple method will not improve  the  number  of  problems  found.  We  had  to  select  the  method depending on several issues e.g. available time. 

• We  have  few  Data  points  in  our  experiment.  Few  data  points may  affect generalization of  results. As mentioned  earlier, our  results  and  conclusions are inferred from one system which was randomly selected. 

• Our framework is work intensive and we can see from the experiment that its activities need time to execute. This un‐addressed issue can be a limitation of the  study.  Our motive  in  the  study was  to  find more  number  of  security requirements  than  a  formal  or  informal  technique.  Reducing  activities  of framework would  simply be at  the  cost of  security  requirements. Making a less work  intensive  Framework  and  testing  its  applicability becomes out of scope for us in the present study. 

  

71

6.6 Answers to Research Questions Our first research question was: RQ1. Do  formal  approaches  produce  better  results  when  integrated  with 

informal approach i.e. Misuse case? • H0: Formal approaches do not produce better results when integrated 

with informal approach i.e. Misuse case. • H1: Formal approaches produce better  results when  integrated with 

informal approach i.e. Misuse case.  Our  Framework  was  proposed  by  combining  CLASP,  Misuse  case  and  Secure 

TROPOS. Our results show that, our Framework produce better result than CLASP and Misuse  case.    Since  our  Framework  elicits more  number  of  security  requirements than a formal and an Informal technique, we can say that  if we combine formal and Informal  security  requirement  elicitation  technique, we  can  yield  better  results.  In other  words,  we  can  say  that  by  combining  strengths  of  formal  and  informal techniques, we  can mitigate  their weaknesses.  For  example,  a  formal  technique  is flexible  but  has  definite  number  of  steps  whereas  on  the  other  hand  informal techniques lack proper structure but have flexibility. Therefore, by combining formal and  informal  techniques we  can produce better  results. This proves hypothesis H1 true for RQ1 (under given circumstances). 

  Our second research question was: RQ2. What  is  the  practicality  of  the  proposed  framework,  i.e.  up  to  what 

extent  and  for  which  types  of  software  systems  the  framework  is suitable?  

At  this  point, we would  like  to mention  again  that  our  scope  was  limited  to requirement  elicitation.  So  we  are  to  see  the  practicality  and  workability  of  our framework in the said context. Of course we do not have measurement scale for the practicality and workability of our  framework but  the visual analysis we have  from the  data we  see  that  it works  pretty well  than  CLASP  and Misuse  case.  CLASP,  a widely  used  formal  technique  and Misuse  case,  a well  known  informal  technique were  tested  on  a  software  system  along  with  our  framework. We  saw  that  our framework  not  only  elicits more  number  of  security  requirements  but  cover more vulnerabilities  in  the  system.  Moreover  our  framework  covered  all  the  security baseline features of the software system (see Table 47). 

We can answer  the  first part of  research question RQ2 here by saying  that our framework  is more  workable  and  practical  than  CLASP  (a  formal  technique)  and Misuse case (an  informal technique)  in terms of security requirement elicitation and in vulnerabilities mitigation. Moreover we gathered feedback from students to know the  usability  of  the  framework  (see  Appendix  I).  Feedback  showed  that,  while performing  the  activities of  the  Framework, participants  analyzed  the  system  from different  aspects  which  are  usually  are  not  considered  in  software  development. Moreover,  use  of  the  framework  improves  the  user’s  knowledge  about  software security and software attack scenarios. 

Unfortunately, it was not possible for us to answer the second part of the RQ2 i.e. “for which  types of  software  systems  the  framework  is  suitable?” We did not have the time and resources to conduct experiment on more than one software system so it  pointless  to  argue  on  relationship  of  the  framework  with  nature  of  software 

72

systems. We cannot make certain claims about nature of software system unless our framework is tested on different systems. 

 RQ3. On what basis and  for which  type of software systems,  is  the proposed 

framework  better  than  other  widely  known  security  requirement elicitation techniques? • H0:  The  proposed  framework  is  not  better  than  other  security 

requirement elicitation techniques. • H1:  Proposed  framework  is  significantly  better  than  the  other 

requirement elicitation techniques.  

Answer  to  first  part  of  RQ3  i.e.  “on what  basis,  the  framework  is  better  than CLASP and Misuse Case”, is: 

• Framework shows better performance than a widely used formal and informal technique in terms of eliciting more number of security requirements. 

• Framework  covers  the  security  baseline  requirements  defined  by  the organization. 

• Framework  takes  into account,  those perspectives of software system which are  not  touched  in  CLASP  and  Misuse  Case  e.g.  Threats  related  to Functionalities  and  physical  integrity  of  hardware  and  software.  Feedback from  participants  of  the  experiment  shows  that  this  framework  helps  in analyzing a system from different aspects which are usually not considered in software development (see Appendix I). 

• Framework provides an option to iterate through some important activities by which security requirements can be rechecked and refined. 

• Framework activities breakdown  the  system  into  little details and help build security in the form of requirement elicitation. 

As far as second part is concerned, we have already answered that in RQ2. 

6.7 Conclusion and Lesson Learned Security requirement elicitation helps focus security in software system. We have 

mentioned before that cost related to fixing security problem is much more than the cost of  security  requirement  elicitation  in  earliest phase of  software development. The  framework  we  have  proposed  by  combining  CLASP, Misuse  case  and  Secure TROPOS  contains  the  strength of  three  security  requirement elicitation  techniques. To  make  the  framework  more  effective,  we  also  included  security  requirement categorization  by  Bogale  and  Ahmed  [11].  Including  security  requirement categorization  was  really  useful  because  it  helped  in  eliciting  more  security requirements (see Appendix F).  

If we  take  a  quick  overview  of  the  Framework, we  see  that  the  Framework  is proposed  by  combining  CLASP,  Secure  TROPOS,  Misuse  Cases  and  Security requirement categorization. Framework consists of fifteen activities. First 10 activities are  taken  from  CLASP  and  Secure  TROPOS.  Since  Secure  TROPOS  follows  complex graphical notations  (as mentioned earlier), we only used  the basic  idea behind  the activities from Secure TROPOS. Most of the activities of Secure TROPOS were similar in concept to the activities in CLASP (see Table 18 and Table 20). For any overlapping activity between CLASP and Secure TROPOS, that was selected from CLASP or Secure TROPOS, we used the textual description of the activity  from CLASP to describe the activity. CLASP, having  textual  form of activity description, was easy  to  integrate as compared to Secure TROPOS. We not only used all the activities of Misuse Cases  in the  Framework  but we  also  used  Security  Requirement  categorization which was 

73

proposed  [11]  specifically  for  Misuse  Cases.  Therefore  we  can  say  all  the  three techniques had equal contribution in proposing our Framework. 

The framework is flexible and contains definite number of steps to elicit security requirements.  In  addition  it  also  allows  iterations  to  improve  security  in  a  system. This  research  was  an  attempt  to  provide  a  flexible  framework  for  security requirement  elicitation.   We  achieved  that by mitigating  the weaknesses  in  formal and  informal  security  requirement  elicitation  techniques  by  combing  them.  In  the questionnaire, which was filled by the participants of the experiment, the participants agreed  that  using  this  framework  improved  their  knowledge  about  importance  of security in software systems. 

 During  this  research we  learned  and  discovered  that  there  are many  security 

requirement elicitation techniques proposed by researchers but almost none of them are used in industry on a large scale. Most of the big brand names like IBM and CISCO have  their  own,  customized,  set  of  steps  to  ensure  security  in  their  product.  It  is worth  noting  that  these  “customized  set  of  steps  to  ensure  security”  also  reflect organizational  structure.  Academic  research  in  this  field  is  not  used  in  industry  at large  scale.  Reason  behind  not  including  research  outputs  in  security  requirement engineering  field  is  that  small  organizations  do  not  have  resources  for  that.  Big organizations have developed their own customized procedures over time to handle security  in  their  product  and  it  is  costly  to  switch  to  anything  new  suddenly. Therefore it is unfortunate that academic research  in this field is not given attention as it deserves.  

It  is  clear  that  not  every  software  development  organization  gives  desired attention  to  security  in  software  and  hacking  incidents  around  the world  are  the evidence  to our argument.   That means,  the organizations  that produce vulnerable software do not have any formal procedures to view security as a major concern in a software system. To make such an organization refer to the academic research in this regard, we suggest creating a demand for secure software development. 

Social awareness about software security is very important because it will create a demand for secure software systems. Since software has a major role to play in our lives  today,  we  suggest  that  Software  vendors,  Customers  and  Researchers must understand  the  importance  of  security  in  software  systems.  Demand  for  systems which are secure  from customer’s and vendor’s perspective will automatically  force both big and small organizations to refer to academic research  in software security, especially  security  requirements  elicitation.    This may  also  help  to  bridge  the  gap between academia and industry in the field of security requirement engineering. 

6.8 Future Work In  our  framework  we  have  focused  on  Requirement  phase  of  Software 

Development  Lifecycle. We  considered  only  those  activities  of  CLASP  and  Secure TROPOS which were related to Requirement elicitation. In future, one can add more activities to the framework that are related to other software development Life cycle Phases. This will help to invoke security in all phases of development lifecycle.  

We have tested our Framework for one software system. For future work one can check  the  practicality  of  framework  for  different  systems.  In  this  procedure improvements in our framework can be suggested.  

74

7 REFERENCES [1] Agarwal, A. and Gupta, D.  Security Requirements Elicitation Using View Points  for 

Online  System,  in  Emerging  Trends  in  Engineering  &  Technology,  International Conference on, Los Alamitos, CA, USA, 2008, vol. 0, pp. 1238‐1243. 

 [2] Ahmed,  N.  and Matulevičius,  R.  Towards  Transformation  Guidelines  from  Secure 

Tropos to Misuse Cases (Position Paper), 2011.  [3] Allen,  J.,  Barnum,  S.,  Ellison,  R.,    McGraw,  G.,  and  Mead,  N.  Software  security 

engineering: a guide for project managers. Addison‐Wesley Professional, 2008.   [4] Alberts,  C.J.,  Behrens,  S.G.,  Pethia,  R.D.,  and   Wilson, W.R.  Operationally  critical 

threat, asset, and vulnerability evaluation (OCTAVE) framework, Version 1.0, 1999.   [5] Alexander,  I. Misuse cases help to elicit non‐functional requirements. Computing & 

Control Engineering Journal ,2003, vol. 14, no. 1, pp. 40‐45.   [6] Alexander,  I.  Initial  industrial  experience  of misuse  cases  in  trade‐off  analysis.  In 

Proceeding  IEEE Joint  International Conference Requirements Engineering(2002),pp‐61‐68. 

 [7] Alhazmi, O.H., Malaiya, Y.K., and Ray, I. Measuring, analyzing and predicting security 

vulnerabilities  in  software  systems, Computers &  Security,2007,  vol. 26, no. 3, pp. 219–228.  

 [8] Babar, M.A  and  Zhang, He.  Systematic  literature  reviews  in  software  engineering: 

Preliminary results from interviews with researchers, in 3rd International Symposium on Empirical Software Engineering and Measurement. ESEM , 2009, pp. 346‐355.  

 [9] Bagheri, H. Injecting security as aspectable NFR  into Software Architecture,  in Asia‐

Pacific  Software  Engineering  Conference,  Los Alamitos,  CA, USA,  2007,  vol.  0,  pp. 310‐317. 

 [10] Boehm,  B.W.  and  Papaccio,  P.N.  Understanding  and  controlling  software  costs, 

Software Engineering, IEEE Transactions on, 1988, vol. 14, no. 10, pp. 1462–1477.   [11] Bogale, H., Ahmed, Z.    “A  FRAMEWORK  FOR  SECURITY REQUIREMENTS:  SECURITY 

REQUIREMENTS CATEGORIZATION AND MISUSE CASES,”BTH, Thesis doc, September, 2011. 

 [12] Brown,  A.W.  and Wallnau,  K.C.  A  framework  for  evaluating  software  technology, 

Software, IEEE, 1996, vol. 13, no. 5, pp. 39–49.   [13] Buecker,  A.,  Borrett,  M.,    Lorenz,  C.,  Powers,  C.Introducing  the  IBM  Security 

Frameworks  and  IBM  Security  Blueprint  to  Realize  Business‐Driven Security.Redbooks.2010.  

[14] Castro,  J.,  Kolp,  M.,  and  Mylopoulos,  J.  A  requirements‐driven  development methodology, in Advanced Information Systems Engineering, 2001, pp. 108–123.   

75

[15] Chung, L. Dealing with security requirements during the development of information systems, in Advanced Information Systems Engineering, 1993, pp. 234–251. 

 [16] Chung,  L.  and  do  Prado  Leite,  J.  On  non‐functional  requirements  in  software 

engineering,  Conceptual modeling:  Foundations  and  applications,  2009,  pp.  363–379. 

 [17] Diallo, M.H.,    Romero‐Mariona,  J.,  Sim,  S.E.,  and  Richardson,  D.J.  A  comparative 

evaluation of three approaches to specifying security requirements, in 12th Working Conference  on  Requirements  Engineering:  Foundation  for  Software  Quality, Luxembourg, 2006.  

 [18] Davey,  B.  and  Cope,  C.  Requirements  Elicitation‐  What’s  Missing?,  Issues  in 

Informing Science & Information Technology, 2008 , vol. 5, pp. 543–551.   [19] Du,  J.,  Yang,  Y.,  and   Wang, Q.  An  Analysis  for  Understanding  Software  Security 

Requirement  Methodologies,  in  Secure  System  Integration  and  Reliability Improvement, Los Alamitos, CA, USA, 2009, vol. 0, pp. 141‐149  

[20] El Khoury, P., Mokhtari, A., Coquery,  E., Hacid, M.S,  “An Ontological  Interface  for Software Developers  to Select Security Patterns,”  in Database and Expert Systems Application, 2008. DEXA  ’08. 19th International Workshop on, 2008, pp. 297 –301.  

[21] Elahi, G., Yu, E., and Zannone, N. A  vulnerability‐centric  requirements engineering framework:  analyzing  security  attacks,  countermeasures,  and  requirements  based on vulnerabilities, Requirements engineering, 2010,  vol. 15, no. 1, pp. 41–62.  

[22] Fabian,  B.,  Gürses,  S.,    Heisel, M.,  Santen,  T.,  and  Schmidt,  H.  A  comparison  of security  requirements engineering methods, Requirements engineering, 2010  , vol. 15, no. 1, pp. 7–40.  

[23] Fuxman, A., Kazhamiakin, R., Pistore, M., and Roveri, M.  Formal Tropos:  language and semantics, University of Trento and IRST, 2003. 

 [24] Garcia Alcazar, E. and Monzón, A. A process  framework  for  requirements analysis 

and  specification,  in  Requirements  Engineering.  Proceedings.  4th  International Conference on, 2000, pp. 27–35.   

[25] Gargantini,A.,  Riccobene,E  ,  and  Scandurra  ,P.  Integrating  formal  methods  with model‐driven  engineering,  in  Software  Engineering  Advances.  ICSEA’09.  Fourth International Conference on,2009, pp. 86–92.  

[26] Giorgini, P., Mouratidis, H., and Zannone, N. Modelling security and trust with secure tropos,  Integrating Security and Software Engineering: Advances and Future Vision, 2006,  pp. 160–189.  

[27] Glinz, M. On non‐functional requirements, in Requirements Engineering Conference. RE’07. 15th IEEE International, 2007, pp. 21–26.  

[28] Graham, D. Introduction to the CLASP Process,  Build Security In,Secure Software,Inc. 2006.  

76

[29] Gregoire,  J.,  Buyens,  K.,  De  Win,  B.,  Scandariato,  R.,and  Joosen,  W.2007. On the Secure Software  Development  Process:  CLASP  and  SDL  Compared.  In  SESS ’07:Proceedings  of  the  Third  International Workshop  on  Software  Engineering  for Secure Systems(Minneapolis, MN,2007),pp.1.  

 [30] Hadavi,  M.A.,  Sangchi,  H.,  Hamishagi,  V.,  and  Shirazi,  H.  Software  security;  a 

vulnerability  activity  revisit,  in Availability, Reliability  and  Security. ARES  08.  Third International Conference on, 2008, pp. 866–872. 

 [31] Hadavi, M., Hamishagi, V., and Sangchi, H. Security Requirements Engineering; State 

of  the  Art  and  Research  Challenges,  Proceedings  of  the  International MultiConference of Engineers and Computer Scientists,2008, vol. 1, pp. 19–21.  

[32] Haley, C., Laney, R., Moffett, J., and Nuseibeh, B. Security Requirements Engineering: A  Framework  for  Representation  and  Analysis,  IEEE  Transactions  on  Software Engineering, 2008 , vol. 34, no. 1, pp. 133‐153. 

 [33] Haley,  C.B., Moffett,  J.D.,  Laney,  R.,  and  Nuseibeh,  B.  A  framework  for  security 

requirements  engineering,  in  Proceedings  of  the  2006  international workshop  on Software engineering for secure systems, 2006, pp. 35–42. 

 [34] Hartong,  M.,  Goel,  R.,  and  Wijesekera,  D.  Meta‐models  for  misuse  cases,  in 

Proceedings  of  the  5th  Annual  Workshop  on  Cyber  Security  and  Information Intelligence  Research:  Cyber  Security  and  Information  Intelligence  Challenges  and Strategies, 2009, p. 33.  

[35] Hassan, R., Eltoweissy, M., Bohner, S., and El‐Kassas, S. Formal analysis and design for  engineering  security  automated  derivation  of  formal  software  security specifications from goal‐oriented security requirements, Software, IET, 2010, vol. 4, no. 2, pp. 149–160.  

[36] Herrmann,  A.  and  Paech,  B.  MOQARE:  misuse‐oriented  quality  requirements engineering, Requirements  Engineering, 2007,vol. 13, no. 1, pp. 73‐86. 

 [37] Howard, M. and  LeBlanc, D. S. T. B. Online, and S. B. O. (Firme), Writing secure code, 

vol. 2. Microsoft press, 2003.   [38] Husnain, M., Waseem, M., and  Ghayyur,S. An Interrogative Review of Requirement 

Engineering Frameworks, International Journalof Reviews in Computing(IJRIC). 2009.  [39] Integrated Security Architectural Framework.CISCO.White Paper.2006. 

 [40] Irvine, C.E. and Nguyen, T.D. Use of Evaluation Criteria in Security Education. NAVAL 

POSTGRADUATE SCHOOL MONTEREY CA, 2008.  

[41] Khan, M.U.A. and Zulkernine, M. A Survey on Requirements and Design Methods for Secure  Software  Development,  Technical  Report  No.  2009  –  562  ,  School  of Computing, Queen’s University, Kingston, Ontario, Canada, August 2009. 

 [42] Kim, J., Kim, M., and Park, S. Goal and scenario based domain requirements analysis  

environment, Journal of Systems and Software, 2006, vol. 79, no. 7, pp. 926–938.   

77

[43] Kitchenham, B. Procedures for Perfoming Systematic Review, Joint Technical Report, Software  Engineering  Group,  Department  of  Computer  Science  Keele  University, United  Kingdom  and  Empirical  Software  Engineering,  National  ICT  Australia Ltd.:Australia,2004.  

[44] Kruchten, P. The Rational Unified Process – an Introduction, Addison‐Wesley.2000.  

[45] Kulak, D., and Guiney, E. Use Cases: Requirements in Context, ACM Press.2000  

[46] Matulevicius,  R.,  Mayer,  N.,  and  Heymans,  P.  Alignment  of  misuse  cases  with security risk management, ARES 2008 ‐ 3rd International Conference on Availability, Security, and Reliability, Proceedings, 2008 , pp. 1397‐1404.  

[47]  McUmber, W.E. and Cheng, B.H.C. A general  framework  for  formalizing UML with formal  languages,  in Proceedings of  the 23rd  international conference on Software engineering, 2001, pp. 433–442. 

 [48] Mead,  N.R.  and  Stehney,  T.  Security  quality  requirements  engineering  (SQUARE) 

methodology, vol. 30. ACM, 2005.  [49]  Mead,  N.R.  How  to  compare  the  Security  Quality  Requirements  Engineering 

(SQUARE) method with other methods, DTIC Document, 2007.  [50] Mead, N.R. Experiences in eliciting security requirements,” DTIC Document, 2006.  

 [51] Mead, N.R. Requirements engineering for survivable systems, 2003. 

 [52] Mead,  N.R.  and    Hough,  E.D.  Security  Requirements  Engineering  for  Software 

Systems:  Case  Studies  in  Support  of  Software  Engineering  Education,  in  Software Engineering Education and Training, Conference on, Los Alamitos, CA, USA, 2006, vol. 0, pp. 149‐158. 

 [53] Mellado,  D.,  Eduardo  Fernández‐Medina,  Mario  Piattini.  Security  Requirements 

Variability  for Software Product  Lines,  in Availability, Reliability and  security. ARES 08. Third International Conference on, 2008, pp. 1413‐1420.  

[54] Mellado, D., Blanco, C., Sánchez, L.E., and Fernández‐Medina, E. A systematic review of security requirements engineering, Computer Standards &  Interfaces, 2010  , vol. 32, no. 4, pp. 153–165. 

[55] Mishra, D., Mishra, A., and Yazici, A.Successful requirement elicitation by combining requirement engineering techniques, in Applications of Digital Information and Web Technologies. ICADIWT. First International Conference on the, 2008, pp. 258‐263.  

[56] Moffett,  J.D.,  Haley,  C.B.,  and Nuseibeh,  B.  Core  security  requirements  artefacts, Department  of  Computing,  The  Open  University,  Milton  Keynes,  UK,  Technical Report, 2004 , vol. 23.  

[57] Mouratidis, H. Extending TROPOS Methodology to Accommodate Security. Progress Report, Computer Science Department, University of Sheffield, October 2002. 

 

78

[58] Mouratidis,  H.,  Giorgini,  P.,  and  Manson,  G.  Integrating  security  and  systems engineering:  Towards  the modelling  of  secure  information  systems,  in  Advanced Information Systems Engineering, 2003, p. 1031–1031. 

 [59] Mouratidis, H. and Giorgini, P. Secure  tropos: A  security‐oriented extension of  the 

tropos methodology,   International Journal of Software Engineering and Knowledge Engineering, vol. 17, no. 2, 2007 , pp. 285–309. 

 [60] Mouratidis, H. Secure Tropos: An agent oriented software engineering methodology 

for  the  development  of  health  and  social  care  information  systems,  International Journal of Computer Science and Security (IJCSS), 2009, vol. 154, no. 3, p. 241. 

 [61] Mouratidis,  H.  A  Security  Oriented  Approach  in  the  Development  of Multiagent 

Systems: Applied to the Management of the Health and Social Care Needs of Older People in England , 2004, PhD Thesis, University of Sheffield. 

 [62] Mouratidis, H. Secure Software Systems Engineering: The Secure Tropos Approach, 

Journal of  Software, 2011 , vol. 6, no. 3, pp. 331–339.  [63] Mylopoulos, J., Fuxman, A., and  Giorgini, P. From entities and relationships to social 

actors  and  dependencies,  in  Proceedings  of  the  19th  international  conference  on Conceptual modeling, 2000, pp. 27–36.   

[64] Nuseibeh,  B.  and  Easterbrook,  S.  Requirements  engineering:  a  roadmap,  in Proceedings of the Conference on the Future of Software Engineering, 2000, pp. 35–46.  

[65] Okubo,  T.,Taguchi,  K.,    and  Yoshioka,  N. Misuse  cases  +  assets  +  security  goals, Proceedings  ‐  12th  IEEE  International  Conference  on  Computational  Science  and Engineering, CSE 2009, pp. 424‐429. 

 [66] OWASP  CLASP.  CLASP  Concepts  View,  CLASP  v1.2,  March,  2006. 

http://www.lulu.com/items/volume_62/1401000/1401307/3/print/OWASP_CLASP_v1.2_for_print_LULU.pdf 

 [67] Pandey,  S., Mustafa,  K.,  and Rehman,  S.  CLASP  and  SDL Revisited,  in  Proceedings 

Second International Conference on Information Processing, 2008, p. 343.  [68] Pauli,J.  J.  and  Xu,D.  Misuse  case‐based  design  and  analysis  of  secure  software 

architecture,  in  Information  Technology:  Coding  and  Computing.  ITCC  2005. International Conference on, vol. 2, pp. 398–403.  

[69] Romero‐Mariona,  J.,  Ziv,  H.,  and  Richardson,  D.J  .  Formality  of  the  Security Specification  Process:  Benefits  Beyond  Requirements.  Hawaii  International Conference on System Sciences (Los Alamitos, CA, USA, 2010), 1‐6.  

 [70] Romero‐Mariona,  J., Ziv, H., and Richardson, D.J. SRRS: a  recommendation  system 

for  security  requirements,  in  Proceedings  of  the  2008  international workshop  on Recommendation systems for software engineering, 2008, pp. 50–52.  

 [71] Romero‐Mariona, J., Ziv, H., and  Richardson, D. Security Requirements Engineering: 

A Survey, Technical Report UCI‐ISR‐08‐2. University of California, Irvine, 2008. 

79

 

[72]  Romero‐Mariona,  J.,  Ziv,  H.,  and    Richardson,  D.J.,  “Formality  of  the  Security Specification Process: Benefits Beyond Requirements,”  in  System  Sciences  (HICSS), 2010 43rd Hawaii International Conference on, 2010, pp. 1 –6.    

 [73] Rushby,  J.  Security  requirements  specifications: How  and what,  in  Symposium  on 

Requirements Engineering for Information Security (SREIS), 2001, vol. 441.  

[74] Ryan,  A.J.  An  approach  to  qunantitative  non‐functional  requirements  in  software development,  in  Systems  engineering–a  key  to  competitive  advantage  for  all industries: proceedings of the 2nd European Systems Engineering Conference (EUSEC 2000), Munich, September 13th‐15th, 2000, p. 73. 

 [75] Sadiq, M.  and  Shahid, M.  Elicitation  and  Prioritization  of  Software  Requirements, 

International Journal of Recent Trends in Engineering, 2009 , vol. 2, no. 3.  [76] Saeki, M. and koKaiya, H. Security Requirements Elicitation Using Method Weaving 

and Common Criteria. Japan 2010.  [77] Salini,  P.  and  Kanmani,  S.  A  model  based  security  requirements  engineering 

framework applied  for online  trading  system,  in 2011  International Conference on Recent Trends  in  Information Technology  (ICRTIT 2011), Piscataway, NJ, USA, 2011, p. 1195–202.  

[78] Sindre,  G.,  and  Opdahl,  A.L.  Eliciting  security  requirements  with  misuse  cases, Requirements Engineering, Jan,2005, pp. 34‐44.  

[79] Sindre, G.,and Opdahl, A.L. Capturing Security Requirements through Misuse Cases. 13th International Working Conference on Requirements Engineering: Foundation for Software Quality.2007. 

 [80] Sindre, G. and Opdahl, A.L. Templates for misuse case description,  in Proc. Seventh 

International  Workshop  on  Requirements  Engineering:  Foundation  of  Software Quality (REFSQ’2001), 2001.  

[81] Su, X., Bolzoni, D., Van Eck, P., and Wieringa, R. A business goal driven approach for understanding  and  specifying  information  security  requirements,  Arxiv  preprint cs/0603129, 2006.  

[82] Syllabus  Version  1.2  .REQB®Certified  Professional  for  Requirements Engineering,Foundation Level,2008.  

[83] Talukder, A.K., Maurya, V.K., G, S.B., Ebenezer, J., V, M.S., KP, J., Samanta, S., and P, A.R. Security‐aware Software Development Life Cycle (SaSDLC) ‐ Processes and tools, in IFIP International Conference on Wireless and Optical Communications Networks, Cairo, Egypt, 2009, pp. 1‐5.  

[84] Tndel,  I.,    Jensen,  J., and   Rstad,  L. Combining misuse  cases with attack  trees and security  activity  models,  in  Availability,  Reliability,  and  Security,  2010.  ARES’10 International Conference on, 2010, pp. 438–445.  

80

[85] Tondel, I.A., Jaatun, M.G., and  Meland, P.H. Security requirements for the rest of us: A survey, IEEE SOFTWARE, 2008, pp. 20–27, .   

[86] Viega, J. and   McGraw, G. Building secure software: how to avoid security problems the right way. Addison‐Wesley Professional, 2001. 

 [87] Viega,J..  Building  security  requirements  with  CLASP,  in  ACM  SIGSOFT  Software 

Engineering Notes, 2005, vol. 30, pp. 1–7.  

[88] Viega,  J. The CLASP Application Security Process, Secure Software,  Inc.,CLASP v1.0 ,june, 2005.  

[89] Whittle,  J., Wijesekera, D.,and Hartong, M.  Executable misuse  cases  for modeling security  concerns.  In  ICSE  ’08: Proceedings of  the 30th  international  conference on Software engineering,2008, pp.121‐130.  

[90] Wilander,  J.  and  Gustavsson,  J.  Security  requirements–A  field  study  of  current practice,  in  Symposium  on  Requirement  Engineering  for  Information  Security (SREIS’2005), Paris, France, 2005.  

[91] Wohlin, C.,  Runeson, P., and Höst, M.  Experimentation in Software Engineering: An Introduction, 1st ed. Springer, 1999.  

[92] Yoshioka,  N.,  Washizaki,  H.,  and  Maruyama,  K.  A  survey  on  security  patterns, Progress in Informatics,2008, vol. 5, no. 5, pp. 35–47.    

 

81

8 APPENDIX 

8.1 APPENDIX A F4: System Resources Below table shows the resources used by system internally or exports and different measures are taken to promote security goals.  Resource  Security Measures  Authentication:

Confidentiality: Data integrity: Access Control: Non‐repudiation: Accountability: 

  Authentication:Confidentiality: Data integrity: Access Control: Non‐repudiation: Accountability: 

8.2 APPENDIX B CLASP Resources D discusses the core security service. These are the fundamental security goals which needs to be addressed effectively for resources in a system. Authorization  Authorization also called access control. Authorizations are given to users to access the system on the basis 

of identity and are generally policy driven. Policies are enforced by access control mechanism to perform operations on resources. Policies depend upon the individual actions performed on resources. For example access control decision is generally taken on the basis of user specific policy. 

Authentication  Authentication is used to establish identity of communication partners, owner, creator etc of data. Authentication must be performed at login time for network connections but one must also perform ongoing authentications for lifetime of connection. Different categories of  authentication are as follows: Things which are known such as passwords or pass phrases. Things you have such as credit card or RSA Secure ID(Authentication tokens). Things you are such as finger prints, voice print and retinal scans.  

Confidentiality  Purpose of confidentiality is to keep data secret to all unauthorized parties. Data must be kept secret or encrypted in both ways like when data is being transmitted on a network and when it  is being stored, long term or short term. 

Integrity  Data integrity means to keep the data as in form as it was intended to be. Clasp treats data integrity as subset of authentication. There are cases where it can be taken as separate service as authentication. For example in physical link layer on trusted media where error occurs but not related to security errors. 

Availability  Delay of data can cause the availability problem or if problem is due to maliciously is known as denial of service attack. 

Accountability  System should log information about the operations performed by the system user in order to review this information when required. System users must be accountable for the actions they perform. 

Non repudiation 

When there is two party communications, either sides can prove to themselves whether data comes from authentic source. Problem occurs when third party involves. For this message can be established from original sender to third parties which is called non repudiatable. 

 

8.3 APPENDIX C (Threats Categorization) Categories  Description  Examples Power Statements Power Misuse Case1.   Access control    Steal Information a.    Identification Requirements (D. G. Firesmith, 2003) 

Identification requirements is any security requirement that specifies the extent to which a business, application, component or centre shall identify externals before interacting with them (D. G. Firesmith, 2003) 

The application shall identify all of its client applications before allowing them to use its capabilities 

An “unauthorized agent” attempts to intrude into the “system/ application/ centre” without a valid identity. 

 

82

b.    Authentication Requirements (D. G. Firesmith, 2003) 

Authentication requirements is any security requirement that specifies the extent to which a business, application, component, or center shall verify the identity of its externals before interacting with them (D. G. Firesmith, 2003) 

The application shall verify the identity of all of its users before allowing them to use its capabilities 

An “unauthorized agent” attempts to intrude into the “system/ application/ centre” without a verified identity 

 

c.    Authorization Requirements (D. G. Firesmith, 2003) 

An authorization requirement is any security requirement that specifies the access and usage privilege of authenticated users and client applications (D. G. Firesmith, 2003) 

The application shall allow each customer to obtain access to all of his or her own personal account information. 

An “unauthorized agent” attempts to gain access to the restricted data/ services, specific application, component capabilities or any confidential information of the “system/ application/ centre” without proper authorization 

 

2.   Immunity Requirements (D. G. Firesmith, 2003) 

An immunity requirements is any security requirement that specifies the extent to which an application or component shall protect itself from infection by unauthorized undesirable programs (D. G. Firesmith, 2003) 

The application shall protect itself from infection by scanning all entered or downloaded data and software for unknown computer viruses, worms, Trojan horses and other similar harmful programs (D. G. Firesmith, 2003) 

An “unauthorized agent” attempts to infect the data or software of the “system/ application/ centre” 

Infect the system (one way can be to  use undesirable program)  

3.   Integrity Requirements 

  Corrupt a data 

a.    Data Integrity (D. G. Firesmith, 2003)(Donald G Firesmith, 2005) 

An integrity requirement is the kind of security requirement that specifies the extent to which the hardware, software or data components, or communications are secured from intentional corruption (e.g., via unauthorized creation, modification, deletion or replay ) (Donald G Firesmith, 2005) 

The application shall prevent the unauthorized corruption of data collected from customers and other external users (D. G. Firesmith, 2003) 

An “unauthorized agent” attempts to create unauthorized corruption to the data or communication of the “system/ application/ centre”  

 

b.    Hardware Integrity (Donald G Firesmith, 2005)   

The application shall prevent the unauthorized corruption of attached hardware 

 

c.    Personal Integrity (Communications)  (D. G. Firesmith, 2003)(Donald G Firesmith, 2005) 

 

The application shall prevent the unauthorized corruption of emails that it sends to customers and other external users (D. G. Firesmith, 2003) 

 

83

   

The application shall prevent the unauthorized corruption of all communications passing through networks that are external to any protected data centers (D. G. Firesmith, 2003) 

 

d.     Software Integrity (Donald G Firesmith, 2005)   

The application shall prevent the unauthorized corruption of the software 

 

4.   Non‐repudiation and Accountability Requirements (D. G. Firesmith, 2003) 

A non‐repudiation requirement is any security requirement that specifies the extent to which a business, application or component shall prevent a party to one of its interactions from denying having participated in all or part of the interaction (D. G. Firesmith, 2003) 

The application shall make and store tamper proof records of the following information about each order received from a customer and each invoice sent to a customer (D. G. Firesmith, 2003) 

An “agent” intentionally tries to tamper the records of interactions (message, transactions etc) of the “system/ application/ centre” 

To deny usage/to deny action (this can be done by delete the data used as a proof or Create similar proof  

5   Privacy Requirements  

  Get privilege/disclosure of information 

a.    Anonymity (D. G. Firesmith, 2003) 

A privacy requirement is any security requirement that specifies the extent to which a business, application, component or center shall keep its sensitive data and communications private from unauthorized individuals and programs (D. G. Firesmith, 2003) 

The application shall not store any personal information about the users (D. G. Firesmith, 2003) 

An “unauthorized agent” attempts to gain access to any data or communication of the “system/ application/ centre” 

 

b.    Communications (D. G. Firesmith, 2003) 

 

The application shall not allow unauthorized individuals or programs access to any communications (D. G. Firesmith, 2003) 

 

c.    Data Storage (D. G. Firesmith, 2003) 

 

The application shall not allow unauthorized individuals or programs access to any stored data (D. G. Firesmith, 2003) 

 

Confidentiality  

  The application shall provide access to confidential data only to the authorized users who have the privilege 

 

84

6   Security Auditing Requirements (D. G. Firesmith, 2003) 

A security auditing requirement is any security requirement that specifies the extent to which a business, application, component, or center shall enable security personnel to audit the status and use of its security mechanisms (D. G. Firesmith, 2003) 

The application shall collect, organize, summarize, and regularly report the status of its security mechanisms including access control, immunity, privacy and intrusion detection. 

An “agent maliciously attempts to attack or tamper the auditing process of the “system’s/ application’s/ centre’s” status and security mechanism 

Steal the audit status (to mitigate this one we should use some kind of law that governs the security personnel’s) 

7.   Survivability and Availability Requirements (D. G. Firesmith, 2003) 

A survivability requirement is any security requirement that specifies the extent to which an application or center shall survive the intentional loss or destruction of a component (D. G. Firesmith, 2003). Ensuring timely and reliable access to and use of information. [common criteria][federal standards] 

The application shall not have a single point of failure (D. G. Firesmith, 2003).  The application shall be accessible to the authorized user. 

An “unauthorized agent” intentionally destroys a “system’s / application’s/ centre’s” component to create its failure or to hamper its legitimate user to access the "system”. 

Denial of service  

8.   Physical Protection Requirements (D. G. Firesmith, 2003) 

A physical protection requirement is any security requirement that specifies the extent to which an application or center shall protect itself from physical assault (D. G. Firesmith, 2003) 

The data center shall protect its hardware components from physical damage, destruction, theft or surreptitious replacement (D. G. Firesmith, 2003) 

An “agent” tries to intentionally damage or harm physically the hardware or components or personnel of the “system/ application/ centre” 

Physically assault 

9.                System Maintenance Security Requirements (D. G. Firesmith, 2003) 

A system maintenance security requirement is any security requirement that specifies the extent to which an application, component, or center shall prevent authorized modifications from accidentally defeating its security mechanisms (D. G. Firesmith, 2003) 

The application shall not violate its security requirements as a result of the upgrading of a data, hardware or software component (D. G. Firesmith, 2003) 

An “agent” (authorized or accidental) attempts to violate the security requirements during the usage phase (upgrading/ replacement/ removal of data, hardware or software component) of the “system/ application/ centre”. 

Fail secure (the Upgrading of data, software, hardware)(the system should preserve its secured state) 

10.                Attack/ Harm Detection Requirements (Donald G Firesmith, 2004)/ Intrusion Detection requirements (D. G. Firesmith, 2003) 

An Attack/harm or intrusion detection requirement is any security requirement that specifies the extent to which an application or component shall detect and record attempted access or modification by unauthorized individuals (D. G. Firesmith, 2003) 

Attempt possibilities to  intrude  

a.    Availability requirements  

Any security requirement that is related to malicious harm (Donald G Firesmith, 2004)(Information & Systems, 1999) 

The system shall detect the presence of at least 99.9% of denial of service attacks 

 

85

b.    Confidentiality Requirements 

 

The system shall prevent the corruption of confidential data by at least 99% of the attacks that last no longer than 1 hour and are made by attackers with profile X 

 

 

c.    Integrity Requirements 

 

Upon detection of corrupted data, the system shall notify the security engineer within 5 seconds at least 99.99% of the time 

 

d.    Non‐repudiation Requirements 

 

The system shall use virus definitions and a virus scan engine that have been updated within the previous 24 hours, if such an update exists. 

 

 Note : Requirements are prioritized according to scale high priority, medium priority and low priority  as shown below:  

8.4 APPENDIX D (CLASP and Framework Security Relevant Requirements) 

Note : Requirements are prioritized according to scale high priority, medium priority and low priority  as shown below: Priority Scale( 1: High ,  2: Medium , 3: Low)  ID                                             1IDENTIFIER  MF_R001TITLE  No Remote accessed to SystemREQUIREMENT  System shall work within organization. RATIONALE  System cannot be access remotely.RESTRICTION  Only CSR (Customer service representative) can access 

system. DEPENDENCIES  NAType  Authorization Requirement.Actor  3270 TerminalPriority  1  ID                                                  2IDENTIFIER  MF_R002TITLE  Time CriticalREQUIREMENT  System shall display correct result within 5 seconds of 

making the request to the system. RATIONALE  Customer service representative must respond to customer 

in effective manner. RESTRICTION   In order to update, create or search data customer has to call 

CSR. DEPENDENCIES     4Type  Data Integrity Requirement,Actor                                     3270 TerminalPriority  1 ID                                             3IDENTIFIER  MF_R003TITLE  Unauthorized accessREQUIREMENT  There shall be no access to data without authorization. RATIONALE  No customer can have direct access to data. RESTRICTION   Only CSR can access the data.DEPENDENCIES  5

86

Type  Authorization Requirement.Actor  3270 TerminalPriority  1  ID                                   4IDENTIFIER  MF_R004TITLE  Availability of systemREQUIREMENT  System shall be available all the time and it should be fault 

tolerant. RATIONALE  Customer service representative must respond to customer 

when needed. RESTRICTION   Only CSR have access to system.DEPENDENCIES  2Type  Availability Requirement.Actor  3270 TerminalPriority  2  ID                                             5IDENTIFIER  MF_R005TITLE  Valid credentialsREQUIREMENT  Customers’ representative shall use login and a password to 

access the system. RATIONALE  In order to maintain security, CSR must use username and 

password to initiate CICS. RESTRICTION   Only CSR can have directly access to system. DEPENDENCIES  3,9Type  Authentication Requirement.Actor  3270 TerminalPriority  2 ID                                             6IDENTIFIER  MF_R006TITLE  CICS accessibleREQUIREMENT  CICS Shall only be accessible through 3270 terminal RATIONALE  CSR can initiate CICS through 3270 terminal. RESTRICTION   Only CSR can initiate the CICS through 3270 terminal. DEPENDENCIES  1Type  Authorization RequirementActor  3270 TerminalPriority  2 ID                                             7IDENTIFIER  MF_R007TITLE                            RACF AuthorizationREQUIREMENT  Returned to application and displayed on the screen only if 

RACF authorization allows. RATIONALE  RACF checks whether the user is permitted to read the 

relevant file. RESTRICTION   Only RACF system can give dataset and transaction 

permissions.  DEPENDENCIES  Authorization RequirementType  Security RequirementActor  3270 TerminalPriority  2     ID                                             8IDENTIFIER  MF_R008TITLE  Update InformationREQUIREMENT  Application user can create new claim or can update 

information. RATIONALE  Application must update data for specified customer. RESTRICTION   IF RACF allows it, record is updated in VSAM file. 

87

DEPENDENCIES  5Type  Data integrityActor  3270 TerminalPriority  3 ID                                             9IDENTIFIER  MF_R009TITLE                                 Login attemptsREQUIREMENT  System shall not support more than 3 login attempts(in case 

of login failures). RATIONALE  Because of improved security we wish to have 3 login 

attempts after that system would not be available. RESTRICTION  System should not support more than 3 login attempts. DEPENDENCIES  5Type  Authentication Requirement.Actor  3270 TerminalPriority  1  ID                                             10IDENTIFIER  MF_R010TITLE  Communication FailureREQUIREMENT  Roll back shall be supported in case of communication failure 

during transaction. RATIONALE  To restore the data to its previous state. RESTRICTION  NADEPENDENCIES  NAType  Data integrity Requirement.Actor  3270 TerminalPriority  1 ID                                             11IDENTIFIER  MF_R011TITLE  64 bit operating systemREQUIREMENT  Main frame should run under 64 bit operating system. RATIONALE  Our security framework support 64 bit operating system 

 RESTRICTION   This case only support 64 bit operating system. DEPENDENCIES  NAType  System RequirementActor  3270 TerminalPriority  3 ID  12IDENTIFIER  MF_R012TITLE  Extra ports closedREQUIREMENT  All ports except ports connecting 3270 terminal shall be 

closed. RATIONALE  Close entry points to restrict any direct interaction with data.RESTRICTION AND RISKS  System shall only be accessible from 3270 terminal DEPENDENCIES  NAType  Confidentiality Requirement.Actor  3270 terminalPriority  1 ID                                             13IDENTIFIER  MF_R013TITLE  VSAM FileREQUIREMENT  CICS can only access VSAM file after authenticating the user 

from RACF. RATIONALE  Restrict un‐authorized access to data RESTRICTION AND RISKS  Customer data can only be accessed by authorized customer 

service representatives DEPENDENCIES  7,6Type                        Authentication Requirement Actor  CICSPriority  1 

88

  ID                                             14IDENTIFIER  MF_R014TITLE  Public MethodsREQUIREMENT  Public method shall be declared as few as possible. RATIONALE  Follow secure coding standards.RESTRICTION AND RISKS  Un‐authorized access i.e. using public methods to enter the 

system is not allowed. DEPENDENCIES  5Type  Authorization Requirement , Authentication Actor  UserPriority  1  

8.5 APPENDIX E (CLASP and Framework Security Analysis Requirements) 

 Note: Requirement number 15 is of framework only.  ID                                             15IDENTIFIER  MF_R015TITLE  CIC SessionREQUIREMENT  User can only initiate CIC session after authentic login. RATIONALE  To protect customer dataRESTRICTION AND RISKS  Only CSR can login the systemDEPENDENCIES  9Type  AuthenticationActor  3270 terminalPriority  1 ID                                             16IDENTIFIER  MF_R016TITLE  Files and processesREQUIREMENT  There should be a limit to the maximum number of files and 

processes that a user is allowed. RATIONALE  CSR is not allowed keep the system’s resources unnecessarily 

busy. RESTRICTION AND RISKS  Only CSR can access the system file.DEPENDENCIES  3Type  AvailabilityActor  3270 terminalPriority  2 ID                                             17IDENTIFIER  MF_R017TITLE  Encrypted Data.REQUIREMENT  Data must be stored in Encrypted form. RATIONALE  In order to protect data, it must be stored in encrypted form.RESTRICTION AND RISKS  Only CSR can access the systemDEPENDENCIES  18Type  Confidentiality Requirement.Actor  3270 terminal.Priority  2  ID                                             18IDENTIFIER  MF_R018TITLE  Data communicationREQUIREMENT  All data communication through network must be encrypted.RATIONALE  In order to protect data, communication through network 

must be encrypted. RESTRICTION AND RISKS  IBM Main FrameDEPENDENCIES  17Type  Confidentiality RequirementActor  3270 Terminal

89

Priority  2 ID                                             19IDENTIFIER  MF_R019TITLE  Physical access to mainframe.REQUIREMENT  There should be no physical access to mainframe, network 

and 3270 terminal by any unauthorized person. RATIONALE  Only authorized person can access to system. RESTRICTION AND RISKS  Only CSR can login the systemDEPENDENCIES  3Type  Authorization RequirementActor  3270 terminal.Priority  2  ID                                             20IDENTIFIER  MF_R020TITLE  Coding guidelines.REQUIREMENT  Proper coding guidelines must be followed to prevent attacks 

like buffer overflow and SQL injection. RATIONALE  Avoid programming vulnerabilitiesRESTRICTION AND RISKS  Only CSR can execute the application DEPENDENCIES  NAType  Data integrity Requirement.Actor  3270 terminalPriority  3  

8.6 APPENDIX F (Framework’s final update Requirements)  ID                                             21IDENTIFIER  MF_R021TITLE  Access application system file.REQUIREMENT  User must not be allowed to access application system file.RATIONALE  Attacker cannot corrupt or manipulate application/system 

files. RESTRICTION AND RISKS  Only CSR can access the system file.DEPENDENCIES  3Type  Authorization requirementActor  3270 terminalPriority  1 ID                                             22IDENTIFIER  MF_R022TITLE  Software InstallationREQUIREMENT  Any Type of software installation shall be strictly restricted.RATIONALE  Software installation must be restricted to avoid malware 

installation. RESTRICTION AND RISKS  IBM Main FrameDEPENDENCIES  23Type  Confidentiality Requirement.Actor  3270 TerminalPriority  2 ID                                             23IDENTIFIER  MF_R023TITLE  Download dataREQUIREMENT  Application should not allow download, copy any kind of 

data. RATIONALE  Company policyRESTRICTION AND RISKS  Only can CSR can login the systemDEPENDENCIES  22Type  Confidentiality Requirement.Actor  3270 terminal.Priority  2 

90

  ID                                             24IDENTIFIER  MF_R024TITLE  Access to any communicationREQUIREMENT  Application shall not allow access to any communication RATIONALE  Attacker must not be able to modify any files or messages 

during communication. RESTRICTION AND RISKS  Only CSR can execute the application DEPENDENCIES  NAType  NON repudiationActor  3270 terminalPriority  2 ID                                             25IDENTIFIER  MF_R025TITLE  RACF Log FilesREQUIREMENT  No access shall be allowed to RACF LOG files. RATIONALE  Operation log shows detail of the transactions so that a 

problem can be traced back. RESTRICTION AND RISKS  CSR must not have any access to RACF log files. DEPENDENCIES  3Type  Accountability.Actor  3270 Terminal.Priority  1 ID                                             26IDENTIFIER  MF_R026TITLE  Intrusion detection mechanismREQUIREMENT  Intrusion detection mechanism shall be implemented at all 

entry points and communication points. RATIONALE  Intrusion detection mechanism shall be implemented at all 

entry points and communication points to protect customer data. 

RESTRICTION AND RISKS  Ports are blocked.DEPENDENCIES  19Type  Confidentiality Requirement.Actor  3270 TerminalPriority  1 ID                                             27IDENTIFIER  MF_R027TITLE  Failure of a system componentREQUIREMENT  If any component of the system fails or stops responding, 

system must not allow operations until system starts functioning normally 

RATIONALE  Failure of any component can make system vulnerable   RESTRICTION AND RISKS  There must not be any direct access to data DEPENDENCIES  19Type  Confidentiality Requirement.Actor  3270 TerminalPriority  1 

8.7 APPENDIX G (Misuse Case Requirements) ID                                             M1IDENTIFIER  MC_R001TITLE  Encrypted Data.REQUIREMENT  Data must be stored in Encrypted form. RATIONALE  In order to protect data, it must be stored in encrypted form.RESTRICTION AND RISKS  Only CSR can access the systemDEPENDENCIES  18Type  Confidentiality.Actor  3270 terminal.Priority  2 ID  M2

91

IDENTIFIER  MC_R002TITLE  No Remote access to SystemREQUIREMENT  System shall work within organization. RATIONALE  System cannot be access remotely.

RESTRICTION AND RISKS  Only CSR (Customer service representative) can access system. 

DEPENDENCIES  NAType  Authorization Requirement.Actor  3270 TerminalPriority  1  ID                                             M3IDENTIFIER  MF_R003TITLE  Extra ports closedREQUIREMENT  All ports except ports connecting 3270 terminal shall be 

closed. RATIONALE  Close entry points to restrict any direct interaction with data.RESTRICTION AND RISKS  System shall only be accessible from 3270 terminal DEPENDENCIES  NAType  Confidentiality Requirement.Actor  3270 terminalPriority  1  ID  4IDENTIFIER  MF_R004TITLE  No direct access to VSAMREQUIREMENT  CICS can only access VSAM file after authenticating the user 

from RACF. RATIONALE  Restrict un‐authorized access to data RESTRICTION AND RISKS  Customer data can only be accessed by authorized customer 

service representatives DEPENDENCIES  NAType  Authorization                    

92

8.8 APPENDIX H (Questionnaire) 

 

93

8.9 APPENDIX I (Feedback Form)   Do you have any experience in working/eliciting security requirements for software?  

Response  Chart Frequency

Yes  

60% 

No  

40% 

Total responses: 6 

 Have you ever used or have any knowledge about any technique for security requirement elicitation?  

Response  Chart Frequency

Yes  

17% 

No     

83% 

Total responses: 6 

 Was the information provided about the software system enough to understand the system?  

Response  Chart Frequency

Yes  

67% 

No  

33% 

Total responses: 6 

 What was the level of understanding of the activities from the material provided on the scale of 1 to 5( 1 is very easy and 5 is very difficult)?  

Response  Chart Frequency

1  

0% 

2  

33% 

3  

17% 

4  

17% 

94

Response  Chart Frequency

5  

33% 

Total responses: 6 

Edit this item» What was the level of application of the activities from the material provided on the scale of 1 to 5 (1 is very easy and 5 is very difficult)?  

Response  Chart Frequency

1  

0% 

2  

17% 

3  

67% 

4  

17% 

5  

0% 

Total responses: 6 

 Do you think that the time to perform these activities for provided software system was enough?  

Response  Chart Frequency

Yes  

67% 

No  

33% 

Total responses:6 

 Do you think that if you perform these activities again, you can produce better results?  

Response  Chart Frequency

Yes  

50% 

No  

50% 

Total responses:6 

 Do you think that during these activities you analyzed the system from different aspects which are usually are not considered in software development?  

Response  Chart Frequency 

95

Response  Chart Frequency 

Yes  

67% 

No  

33%  Total Response 6 

 This Experiment improved your knowledge about software security and software attack scenarios?  

Response  Chart Frequency

Yes  

67% 

No  

33% 

                                                                                                           Total responses:6

 

 

8.10 APPENDIX J Misuse Case Template Field  DescriptionName  Misuse Case Name/TitleSummary  Explanation of Misuse caseDate  Date of creation of Misuse caseAuthor  Creator of Misuse caseBasic Path  Steps which a misuser is going to take before reaching the goal Alternative Path  Other paths through which the same goal can be reached Capture Point  Options for how misuse can be detected and prevented [61]. Extension Point  Optional paths taken by misuseTriggers  Condition that can initiate misuse casePre‐conditions  This condition describes those states of the system which make misuse 

possible Assumptions  This  condition  describes  those  states  of  the  system’s  environment 

which make misuse possible Post‐conditions  State of the system after successful misuse caseWorst Case Threat  Maximum  damage  possible  in  case  of  a  successful  misuse  case. 

Optional paths are also included. Prevention guarantee “Prevention Guarantee describes  the  result  that would be obtained by 

following  the  “Basic”  or  “Alternate”  path  if  the  threat were  detected and minimum threat mitigation occurs.”[34] 

Detection guarantee “The “Detection Guarantee” describes the result that would be obtained if the misuse were detected, but not mitigated.”[34] 

Related Business Rule “Related Business Rules are use case business rules that are broken by the misuse case”[34] 

Potential Misuser Profile  Level of skills and intentions of the misuse must be assessed in order to be aware of the severity of threat 

Stakeholders  The people who have  concern  about what  should not happen  in  the system 

Scope  “The  scope  of modeling,  e.g.,  the  entire  business  or  just  the  planned computerized information system” [80] 

Abstraction Level  What is the level of abstraction for the misuse case e.g. summary, sub function etc. 

Technology and Data Variations  Which  various  ways  and  technologies  can  be  used  to  achieve  the misuse 

Goal  Which goal of the stakeholder is hinderedDependencies(Relationship)  Relationship of Stakeholder with other Stakeholder(s) Security Constraints Information about Security constraints on Stakeholder(s) 

96

  

8.11 APPENDIX K Sequence Diagram Showing Activity Flow 

                  

97

8.12 APPENDIX L Use Case Diagram for Monolithic System 

System

Log In

3270 Terminal

Authentication(RACF)

ApplicationRequest to Execute Application Validate User

Customer Data

Request for customer data

CheckAuthorization(RACF)

Whether the user is permitted to read the relevant file

Update customerdata

CheckAuthorization(RACF)

Determine whether the user is permitted to update file

If RACF allows it,record is updated in VSAM File

If RACF allow it, record is returned to application

from VSAM file

Update Data on the 3270 terminal

To update customer data

DatabaseUpdation(File)

View Data from VASM

   


Recommended