Engineering secure systems: Models, patterns and empirical validation

Abstract Several development approaches have been proposed to handle the growing complexity of software system design. The most popular methods use models as the main artifacts to construct and maintain. The desired role of such models is to facilitate, systematize and standardize the construction of software-based systems. In our work, we propose a model-driven engineering (MDE) methodological approach associated with a pattern-based approach to support the development of secure software systems. We address the idea of using patterns to describe solutions for security as recurring security problems in specific design contexts and present a well-proven generic scheme for their solutions. The proposed approach is based on metamodeling and model transformation techniques to define patterns at different levels of abstraction and generate different representations according to the target domain concerns, respectively. Moreover, we describe an operational architecture for development tools to support the approach. Finally, an empirical evaluation of the proposed approach is presented through a practical application to a use case in the metrology domain with strong security requirements, which is followed by a description of a survey performed among domain experts to better understand their perceptions regarding our approach.

[1]  William Yurcik,et al.  Multiple design patterns for voice over IP (VoIP) security , 2006, 2006 IEEE International Performance Computing and Communications Conference.

[2]  Tommi Mikkonen,et al.  Formalizing design patterns , 1998, Proceedings of the 20th International Conference on Software Engineering.

[3]  R. Likert “Technique for the Measurement of Attitudes, A” , 2022, The SAGE Encyclopedia of Research Design.

[4]  David Basin,et al.  Model driven security: From UML models to access control infrastructures , 2006, TSEM.

[5]  André Alexandersen Hauge SaCS: A Method and a Pattern Language for the Development of Conceptual Safety Design , 2014 .

[6]  Ralph Johnson,et al.  design patterns elements of reusable object oriented software , 2019 .

[7]  Peter G. Neumann,et al.  Principled assuredly trustworthy composable architectures , 2003 .

[8]  Brahim Hamid,et al.  A methodology for integration of patterns with validation purpose , 2012, EuroPLoP.

[9]  Alexander Chatzigeorgiou,et al.  Architectural Risk Analysis of Software Systems Based on Security Patterns , 2008, IEEE Transactions on Dependable and Secure Computing.

[10]  Michael Weiss,et al.  Selecting Security Patterns that Fulfill Security Requirements , 2008, 2008 16th IEEE International Requirements Engineering Conference.

[11]  Jacques Klein,et al.  Advances in Model-Driven Security , 2014, Adv. Comput..

[12]  Ákos Horváth,et al.  A model-driven framework for guided design space exploration , 2011, 2011 26th IEEE/ACM International Conference on Automated Software Engineering (ASE 2011).

[13]  Zoonky Lee,et al.  A Study of Integrating the Security Engineering Process into the Software Lifecycle Process Standard (IEEE/EIA 12207) , 2000 .

[14]  Jan Jürjens Foundations for Designing Secure Architectures , 2006, Electron. Notes Theor. Comput. Sci..

[15]  Wouter Joosen,et al.  On the secure software development process: CLASP, SDL and Touchpoints compared , 2009, Inf. Softw. Technol..

[16]  Carl E. Landwehr,et al.  Basic concepts and taxonomy of dependable and secure computing , 2004, IEEE Transactions on Dependable and Secure Computing.

[17]  Carl E. Landwehr,et al.  Formal Models for Computer Security , 1981, CSUR.

[18]  Tsvi Kuflik,et al.  Evaluating software reuse alternatives: a model and its application to an industrial case study , 2004, IEEE Transactions on Software Engineering.

[19]  David A. Basin,et al.  Automated analysis of security-design models , 2009, Inf. Softw. Technol..

[20]  Mohammad Zulkernine,et al.  A Natural Classification Scheme for Software Security Patterns , 2011, 2011 IEEE Ninth International Conference on Dependable, Autonomic and Secure Computing.

[21]  Dirk Riehle,et al.  Understanding and Using Patterns in Software Development , 1996, Theory Pract. Object Syst..

[22]  Frank Buschmann,et al.  Pattern-Oriented Software Architecture, a Pattern Language for Distributed Computing , 2007 .

[23]  E. Rogers,et al.  Diffusion of innovations , 1964, Encyclopedia of Sport Management.

[24]  Brahim Hamid A Model-Driven Methodology Approach for Developing a Repository of Models , 2014, MEDI.

[25]  Joseph W. Yoder,et al.  Architectural Patterns for Enabling Application Security , 1998 .

[26]  Massimo Felici,et al.  Using Security and Dependability Patterns for Reaction Processes , 2008, 2008 19th International Workshop on Database and Expert Systems Applications.

[27]  John Kelsey,et al.  Recommendation for Random Number Generation Using Deterministic Random Bit Generators , 2014 .

[28]  Bernhard Rumpe,et al.  Model-driven Development of Complex Software : A Research Roadmap , 2007 .

[29]  Günter Müller Emerging Trends in Information and Communication Security , 2006, Lecture Notes in Computer Science.

[30]  Artur Hecker,et al.  Application of EBIOS for the risk assessment of ICT use in electrical distribution sub-stations , 2013, 2013 IEEE Grenoble Conference.

[31]  James Noble,et al.  Classifying relationships between object-oriented design patterns , 1998, Proceedings 1998 Australian Software Engineering Conference (Cat. No.98EX233).

[32]  Uwe Zdun,et al.  A catalog of architectural primitives for modeling architectural patterns , 2008, Inf. Softw. Technol..

[33]  Eduardo B. Fernández,et al.  Engineering Security into Distributed Systems: A Survey of Methodologies , 2012, J. Univers. Comput. Sci..

[34]  Per Runeson,et al.  Guidelines for conducting and reporting case study research in software engineering , 2009, Empirical Software Engineering.

[35]  Lawrence C. Paulson,et al.  Proving properties of security protocols by induction , 1997, Proceedings 10th Computer Security Foundations Workshop.

[36]  John A. Clark,et al.  Effective Security Requirements Analysis: HAZOP and Use Cases , 2004, ISC.

[37]  Eric Rescorla,et al.  Datagram Transport Layer Security Version 1.2 , 2012, RFC.

[38]  Brahim Hamid Interplay of Security&Dependability and Resource Using Model-Driven and Pattern-Based Development , 2015, 2015 IEEE Trustcom/BigDataSE/ISPA.

[39]  Premkumar T. Devanbu,et al.  Software engineering for security: a roadmap , 2000, ICSE '00.

[40]  Carsten Rudolph,et al.  A Formal Notion of Trust - Enabling Reasoning about Security Properties , 2010, IFIPTM.

[41]  Brahim Hamid,et al.  Process and tool support for design patterns with safety requirements , 2013, EuroPLoP.

[42]  Kurt Stenzel,et al.  SecureMDD: A Model-Driven Development Method for Secure Smart Card Applications , 2009, 2009 International Conference on Availability, Reliability and Security.

[43]  Jennifer L. Bayuk Systems Security Engineering , 2011, IEEE Security & Privacy.

[44]  Brahim Hamid,et al.  A model-driven approach for developing a model repository: Methodology and tool support , 2017, Future Gener. Comput. Syst..

[45]  Bruce Powell Douglass,et al.  Real-time UML (2nd ed.): developing efficient objects for embedded systems , 1997 .

[46]  Neelam Soundarajan,et al.  Responsibilities and rewards: specifying design patterns , 2004, Proceedings. 26th International Conference on Software Engineering.

[47]  Carsten Rudolph,et al.  On a formal framework for security properties , 2005, Comput. Stand. Interfaces.

[48]  Peter Sommerlad,et al.  Pattern-Oriented Software Architecture: A System of Patterns: John Wiley & Sons , 1987 .

[49]  Gregory D. Abowd,et al.  Formalizing style to understand descriptions of software architecture , 1995, TSEM.

[50]  Ralph E. Johnson,et al.  Organizing Security Patterns , 2007, IEEE Software.

[51]  Brahim Hamid,et al.  Enforcing S&D pattern design in RCES with modeling and formal approaches , 2011, MODELS'11.

[52]  Samir Chatterjee,et al.  A Design Science Research Methodology for Information Systems Research , 2008 .

[53]  Aniruddha S. Gokhale,et al.  Domain-Specific Modeling , 2008, Handbook of Dynamic System Modeling.

[54]  David A. Basin,et al.  SecureUML: A UML-Based Modeling Language for Model-Driven Security , 2002, UML.

[55]  Brahim Hamid,et al.  Security patterns modeling and formalization for pattern-based development of secure software systems , 2015, Innovations in Systems and Software Engineering.

[56]  Ruth Breu,et al.  Enhancing Model Driven Security through Pattern Refinement Techniques , 2011, FMCO.

[57]  Jan Jürjens,et al.  Towards Development of Secure Systems Using UMLsec , 2001, FASE.

[58]  Kurt Stenzel,et al.  Developing Provable Secure M-Commerce Applications , 2006, ETRICS.

[59]  Bruce Powel Douglass Real-time UML - developing efficient objects for embedded systems , 1997, Addison-Wesley object technology series.

[60]  I. Hogganvik,et al.  Model-based security analysis in seven steps — a guided tour to the CORAS method , 2007 .

[61]  Eduardo B. Fernández,et al.  Measuring the Level of Security Introduced by Security Patterns , 2010, 2010 International Conference on Availability, Reliability and Security.

[62]  Jon Perez,et al.  Supporting pattern-based dependability engineering via model-driven development: Approach, tool-support and empirical validation , 2016, J. Syst. Softw..

[63]  Bran Selic,et al.  The Pragmatics of Model-Driven Development , 2003, IEEE Softw..

[64]  Richard Kissel,et al.  SP 800-60 Rev. 1. Volume I: Guide for Mapping Types of Information and Information Systems to Security Categories; Volume II: Appendices to Guide for Mapping Types of Information and Information Systems to Security Categories , 2008 .

[65]  Fred D. Davis Perceived Usefulness, Perceived Ease of Use, and User Acceptance of Information Technology , 1989, MIS Q..

[66]  Jan Jürjens,et al.  Using Security Patterns to Develop Secure Systems , 2011 .

[67]  Colin Atkinson,et al.  Model-Driven Development: A Metamodeling Foundation , 2003, IEEE Softw..

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

[69]  Jon Perez,et al.  Model-Driven Engineering for Trusted Embedded Systems Based on Security and Dependability Patterns , 2013, SDL Forum.

[70]  Scott Henninger,et al.  Software pattern communities: current practices and challenges , 2007, PLOP '07.

[71]  Jan Jürjens,et al.  Connecting Security Requirements Analysis and Secure Design Using Patterns and UMLsec , 2011, CAiSE.

[72]  Alex Dali,et al.  ISO 31000 Risk Management— “The Gold Standard” , 2012 .

[73]  Peter Sommerlad,et al.  Pattern-Oriented Software Architecture , 1996 .

[74]  Peter Sommerlad,et al.  Security Patterns: Integrating Security and Systems Engineering , 2006 .

[75]  Ross J. Anderson Security engineering - a guide to building dependable distributed systems (2. ed.) , 2001 .

[76]  Zoonky Lee,et al.  Integrating Software Lifecycle Process Standards with Security Engineering , 2002, Comput. Secur..

[77]  J Jürjens,et al.  Model-based Security Analysis of the German Health Card Architecture , 2008, Methods of Information in Medicine.