Capturing security requirements for software systems

Security is often an afterthought during software development. Realizing security early, especially in the requirement phase, is important so that security problems can be tackled early enough before going further in the process and avoid rework. A more effective approach for security requirement engineering is needed to provide a more systematic way for eliciting adequate security requirements. This paper proposes a methodology for security requirement elicitation based on problem frames. The methodology aims at early integration of security with software development. The main goal of the methodology is to assist developers elicit adequate security requirements in a more systematic way during the requirement engineering process. A security catalog, based on the problem frames, is constructed in order to help identifying security requirements with the aid of previous security knowledge. Abuse frames are used to model threats while security problem frames are used to model security requirements. We have made use of evaluation criteria to evaluate the resulting security requirements concentrating on conflicts identification among requirements. We have shown that more complete security requirements can be elicited by such methodology in addition to the assistance offered to developers to elicit security requirements in a more systematic way.

[1]  Kenneth R. van Wyk,et al.  Bridging the Gap between Software Development and Information Security , 2005, IEEE Secur. Priv..

[2]  Axel van Lamsweerde,et al.  Handling Obstacles in Goal-Oriented Requirements Engineering , 2000, IEEE Trans. Software Eng..

[3]  Robert J. Ellison,et al.  Attack Trees , 2009, Encyclopedia of Biometrics.

[4]  Dianxiang Xu,et al.  Integrating functional and security requirements with use case decomposition , 2006, 11th IEEE International Conference on Engineering of Complex Computer Systems (ICECCS'06).

[5]  Martin Gilje Jaatun,et al.  Security Requirements for the Rest of Us: A Survey , 2008, IEEE Software.

[6]  Maritta Heisel,et al.  A Systematic Account of Problem Frames , 2007, EuroPLoP.

[7]  Helen M. Edwards,et al.  Problem frames: analyzing and structuring software development problems , 2002, Softw. Test. Verification Reliab..

[8]  Andreas L. Opdahl,et al.  Eliciting security requirements with misuse cases , 2004, Requirements Engineering.

[9]  Michael Jackson,et al.  The Problem Frames Approach to Software Engineering , 2007, 14th Asia-Pacific Software Engineering Conference (APSEC'07).

[10]  Axelle Apvrille,et al.  Secure software development by example , 2005, IEEE Security & Privacy Magazine.

[11]  Meledath Damodaran,et al.  SECURE SOFTWARE DEVELOPMENT USING USE CASES AND MISUSE CASES , 2006 .

[12]  Axel van Lamsweerde,et al.  Elaborating security requirements by construction of intentional anti-models , 2004, Proceedings. 26th International Conference on Software Engineering.

[13]  Zhi Jin,et al.  Extending the Problem Frames Approach for Capturing Non-functional Requirements , 2012, 2012 IEEE/ACIS 11th International Conference on Computer and Information Science.

[14]  John Mylopoulos,et al.  Requirements Engineering Meets Trust Management: Model, Methodology, and Reasoning , 2004, iTrust.

[15]  Vasantha Banagala Analysis of transaction problems using the problem frames approach , 2006, IWAAPF '06.

[16]  Bashar Nuseibeh,et al.  Deriving security requirements from crosscutting threat descriptions , 2004, AOSD '04.

[17]  Maritta Heisel,et al.  A Pattern System for Security Requirements Engineering , 2007, The Second International Conference on Availability, Reliability and Security (ARES'07).

[18]  Inger Anne Tøndel,et al.  How can the developer benefit from security modeling? , 2007, The Second International Conference on Availability, Reliability and Security (ARES'07).

[19]  Bashar Nuseibeh,et al.  A framework for security requirements engineering , 2006, SESS '06.

[20]  William Yurcik,et al.  Threat Modeling as a Basis for Security Requirements , 2005 .

[21]  Julio Cesar Sampaio do Prado Leite,et al.  On Non-Functional Requirements in Software Engineering , 2009, Conceptual Modeling: Foundations and Applications.

[22]  John Mylopoulos,et al.  Security and privacy requirements analysis within a social setting , 2003, Proceedings. 11th IEEE International Requirements Engineering Conference, 2003..

[23]  Gene Tyler Information Assurance Technology Analysis Center (IATAC) , 2008 .

[24]  Donald Firesmith,et al.  Security Use Cases , 2003, J. Object Technol..

[25]  Haralambos Mouratidis,et al.  Secure information systems engineering: a manifesto , 2007, Int. J. Electron. Secur. Digit. Forensics.

[26]  Duminda Wijesekera,et al.  Executable misuse cases for modeling security concerns , 2008, 2008 ACM/IEEE 30th International Conference on Software Engineering.

[27]  Frank Swiderski,et al.  Threat Modeling , 2018, Hacking Connected Cars.

[28]  Bashar Nuseibeh,et al.  Security Requirements Engineering: A Framework for Representation and Analysis , 2008, IEEE Transactions on Software Engineering.

[29]  Bashar Nuseibeh,et al.  Introducing abuse frames for analysing security requirements , 2003, Proceedings. 11th IEEE International Requirements Engineering Conference, 2003..

[30]  A. Opdahl,et al.  A Reuse-Based Approach to Determining Secur ity Requirements , 2003 .

[31]  Ounsa Roudiès,et al.  A reuse based approach for requirements engineering , 2001, Proceedings ACS/IEEE International Conference on Computer Systems and Applications.

[32]  L. Hermoye,et al.  A Reuse-Based Approach to Security Requirements Engineering , 2006 .

[33]  Hironori Washizaki,et al.  A survey on security patterns , 2008 .

[34]  Michael A. Jackson,et al.  Problem Frames - Analysing and Structuring Software Development Problems , 2000 .

[35]  Sam Supakkul,et al.  Security threat modeling and analysis: A goal-oriented approach , 2006, ICSE 2006.