Goal-Oriented, B-Based Formal Derivation of Security Design Specifications from Security Requirements

This paper proposes a requirements-driven security engineering approach for modeling, specifying, and analyzing application-specific security requirements that are formally derived into security design specifications preserving security requirements properties. The approach adopts and non-trivially extends the goal-oriented KAOS (Knowledge Acquisition in automated Specifications) framework developed by Lamsweerde to formally construct a complete, consistent, and clear security requirements model. The resulting model is then extended using the B method to produce security design specifications and further implementation while preserving requirements properties. In our approach, we firstly transform the KAOS requirements model to an abstract B model and secondly, we refine the model using B refinement mechanism to generate design specifications and implementation. This unique treatment of secure software engineering is systematic, constructive and considers security early in the development lifecycle while ensuring no loss of the security requirements properties of completeness, consistency and clarity at later development phases. Moreover, our approach allows for requirement traceability at the various phases of development.

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

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

[3]  Jifeng He,et al.  A Relational Model for Formal Object-Oriented Requirement Analysis in UML , 2003, ICFEM.

[4]  Shinichi Honiden,et al.  Formal specification generator for KAOS: model transformation approach to generate formal specifications from KAOS requirements models , 2007, ASE '07.

[5]  Dominique Cansell,et al.  Foundations of the B Method , 2003, Comput. Artif. Intell..

[6]  Axel van Lamsweerde,et al.  Formal refinement patterns for goal-driven requirements elaboration , 1996, SIGSOFT '96.

[7]  Jifeng He,et al.  Formal and use-case driven requirement analysis in UML , 2001, 25th Annual International Computer Software and Applications Conference. COMPSAC 2001.

[8]  Jing Liu,et al.  Linking UML models of design and requirement , 2004, 2004 Australian Software Engineering Conference. Proceedings..

[9]  E. Letier,et al.  Goal-Oriented Elaboration of Security Requirements , 2001 .

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

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

[12]  A.M. Hoss,et al.  Ontological approach to improving design quality , 2006, 2006 IEEE Aerospace Conference.

[13]  Eric Yu,et al.  From Requirements to Architectural Design –Using Goals and Scenarios , 2001 .

[14]  John Wilander,et al.  Security Requirements---A Field Study of Current Practice , 2005 .

[15]  R. Geoff Dromey,et al.  From requirements to design: formalizing the key steps , 2003, First International Conference onSoftware Engineering and Formal Methods, 2003.Proceedings..

[16]  Emmanuel Letier Reasoning about Agents in Goal-Oriented Requirements Engineering , 2002 .

[17]  Ken Frazer,et al.  Building secure software: how to avoid security problems the right way , 2002, SOEN.

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

[19]  John Mylopoulos,et al.  UML for Agent-Oriented Software Development: The Tropos Proposal , 2001, UML.

[20]  Jennifer Seberry,et al.  Fundamentals of Computer Security , 2003, Springer Berlin Heidelberg.

[21]  John P. McDermott,et al.  Using abuse case models for security requirements analysis , 1999, Proceedings 15th Annual Computer Security Applications Conference (ACSAC'99).

[22]  Kaisa Sere,et al.  Program Development by Refinement: Case Studies Using The B Method , 1998 .