Sie sind auf Seite 1von 5

Framework for Engineering Complex Security

Requirements Patterns

Ral Mazo Christophe Feltus


Panthon Sorbonne University Luxembourg Institute of Science and Technology
90, rue de Tolbiac, 5 Avenue des Hauts-Fourneaux,
75013 Paris, France 4362 Esch-sur-Alzette, Luxembourg
raul.mazo@univ-paris1.fr christophe.feltus@list.lu

AbstractSecurity management and business assets However, with the growing need to implement information
protection have been a paramount concern for many years. Due technology security measures and the larger application scope,
to the flood of arising innovative technologies such as cloud analysts and requirements engineers have to face two major
computing or big data, security approaches have constantly challenges: the reuse of the, often tacit, knowledge about
evolved toward more sophisticate solutions, aiming to tackle security and the engineering of this reusable knowledge. A new
always more complex security issues. Nowadays, integrated discipline called Security Requirements Engineering (SRE) is
frameworks are necessary to manage this complexity. Pattern- intended to tackle these challenges: the first challenge is
based approaches for reusing security solutions have proven its usually faced by means of security patterns and the second one
usefulness, but mostly in the frame of simple security matters.
by means of systems of security patterns. However, there are
Acknowledging this, the scientific community has recently
considered how these patterns could also be used to address the
still several difficulties regarding the maturity of the SRE
complexity caused by the association of multiple security criteria. methods to deal with security requirements. For instance,
Approaches based on the combination of simple security Zuccato et al. [20] report that (1) SRE is in practice frequently
patterns have emerged and have resulted in the elaboration of performed by security non-experts, (2) security expertise is
methods for designing systems of security patterns and systems scarce, and (3) security requirements and their dependencies
managing these collections of patterns. Nonetheless, in that are often not directly known by requirements engineers. In
domain, we have observed that researches are mostly focused on addition to the lack of explicit and reusable security
the definition of security solutions and do not address the knowledge, there is the lack of organization of that reusable
complexity of the security requirements yet. In this paper we knowledge in a process compatible with the requirements
present a proposal for addressing this issue by means of a engineering practices. To cope with this issue, this paper
framework for engineering reusable security patterns for proposes a framework for engineering reusable security
complex systems called COPERATE (COmPlex sEcurity requirements patterns in the context of the current requirements
Requirements pAtTErns). To show the feasibility of our engineering practices for complex systems. In particular, the
approach, this framework is used for defining a complex security proposed framework consists in a set of tools that gathers
requirement and its corresponding pattern for an excerpt of a simple and complex patterns models and metamodels
case taken from the cloud-computing domain. [5][8][14], patterns engineering methods [6][10], and a security
pattern template library. There are several advantages of using
KeywordsInformation security; security management;
this framework. Some of these advantages are associated with
security pattern; security requirements; pattern modelling
the fact of considering security during early stages of
I. INTRODUCTION information systems development, like for instance allowing
information systems developers to envisage threats and their
Security has moved from being considered by information consequences and countermeasures before a system is in place.
systems designers as a technical topic to becoming a critical Other advantages are associated with the possibility of
issue in our society [2]. With the growing use of information managing groups of security requirements and their associated
systems, these kind of systems are becoming more and more patterns.
complex. Nowadays, information systems must comply with
new usages, requirements, and deployment technologies that From a methodological perspective, the framework
permanently expose them to new vulnerabilities. There is no proposed in this paper has been built with a Design Science
single week without an announcement indicating that the approach, as explained by Hevner et al. [7]. The designed
information system of some private or public organization was artefact is a framework for engineering complex security
attacked. Attacks to information systems may target strategic requirements patterns that defines a CSRP (complex security
data such as information exchanged by CEOs, financial data, requirements pattern) model and a CSRE (complex security
R&D documents, customers and human resources information, requirements engineering) method. The CSRP model is
etc. The consequences for organizations are manifold: designed from the existing security requirements pattern model
deterioration of the image and brand, disturbance of activity, that has been iteratively extended to integrate complex security
financial losses, and even threats to the socio-economic, elements (e.g., interrelation between security criteria, mutual
political and military ecosystems. influence, etc.). The information necessary to complete the
model is gathered using techniques such as observation, the environment in which it is deployed, and that using security
interviews and surveys, document archaeology, etc. These patterns may help the developer to gain security insight for
social science techniques are efficient to elicit requirements checking the consistency of a specific design and
and are part of common requirements engineering best implementation with security properties.
practices. Information about requirements is also extracted
The framework proposed in this paper aims to organize the
using reengineering approaches and information retrieval
techniques in the available assets. Identification, location and elements that should be taken into account to build and manage
complex security patterns for a particular information system in
extraction of features, reusable assets or patterns can help
during the model creation. Afterwards, the collection of function of the complexity level of the security criteria that
should be considered (vertical axis) and the security
security requirements patterns is built iteratively, by
intertwined design and experimental validation activities. The deployment life cycle of the information system (horizontal
axis), as illustrated on Figure 1. This framework extends
elaboration of the CSRE method is based on a risk
management method that allows analysing threats on the previous work achieved in the context of the PABRETM
Framework [14][15], which mainly defines the elements of
information system in order to derive security requirements to
mitigate security risks. simple security requirements pattern (SSRP) [5] and Security
Requirements Engineering (SRE) [18].
Fortunately, this paper is not the first one intending to
tackle these issues; on the contrary, it is based on previous III. MOTIVATING SCENARIO: A DATA ACCESS APPLICATION IN A
efforts of the requirements engineering community. In CLOUD-BASED ENVIRONMENT
particular, the framework proposed in this paper is a step Cloud computing offers a plethora of arriving complex
towards the integration and the extension of the method for security requirements for the reason that it associated
using security patterns to model and analyze security traditional security requirements and new requirements
requirements proposed by Konrad et al. [8], the PABRE associated to the internet-based and shared processing of the
framework for pattern-based requirements elicitation proposed information. In this context, a data retrieval system on the
by Renault et al. [15], the methods for constructing and using cloud is used as a running example to explain to what extend
requirements patterns proposed by Franch et al. [5] and the traditional security protections may not be handled
Fernandez et al. [4], and the idea of creating system of security separately anymore but must be regarded has a complex
design patterns proposed by Nguyen et al [12]. integration of security patterns. For instance, in traditional
The rest of this paper is organized as follows: Section II information systems, access to information requires the
presents the related work found in literature about security deployment of two isolated and independent security
patterns requirements engineering and shows the novelty of our requirements patterns, respectively: a pattern for the
proposal with respect to the current state of the art. Section III management of the access rights (Re1: user authentication)
presents the framework that we propose in this paper and and a pattern for the encryption of the data (Re2: data
illustrates it with a running example taken from the cloud confidentiality). In a cloud computing-based environment,
computing area. Section IV concludes the paper with some the access rights and the data encryption should not be
discussions about our early experiences using the framework separately handled by these two patterns. Instead, they should
and presents an agenda for future researches in reusable be composed into a new unique complex security requirements
security patterns for complex systems. pattern that takes into account the complex relations between
the two simple patterns taken separately. In order to do so,
II. RELATED WORK the new requirements pattern should associate encryption
requirements and traditional access control mechanisms like
Knowledge management in Requirements Engineering
for instance RBAC (role based access control). This means that
(RE) is a current issue of the research community. The concept
although we may consider Re1 and Re2 separately in
of requirements patterns is explored, among others, by Franch
traditional architectures of information systems, in a cloud
et al. [5] (see white boxes in Figure 1). However, the research
environment it will be necessary to consider them as a unique
on this topic is currently wide and not yet focused on specific
new complex requirement Re3, where Re3 is not equivalent to
disciplines of RE [15], although there are some initiatives in
the field of Security Requirements Engineering (SRE). In that Re1 + Re2 but Re3=Re1Re2 with Re1Re2 being > (Re1 +
regard, Souag et al. [17] argue that reusable knowledge for Re2). Indeed, as explained hereafter, in cloud computing user
SRE constitutes a major ingredient of the SRE methods. authentication may, for instance, not be performed in clear
Security patterns consist in a set of specific problem-solution but by means of encryption tools.
associations which aim to solve and facilitate the automatic To solve CSR (such as Re3), the deployment of a set of
treatment of recurring security issues, from the requirements simple security patterns achieved separately is no more
engineering phase up to their design and implementation. sufficient. Indeed, in case of an access to a traditional
Security patterns have already been examined by a plethora of information system, the user first needs to identify himself in
researchers [6][10][13][16][18]. clear and then successively deploy encryption mechanism to
Two of the most relevant contributions on SRE are: the confidentially communicate with the system. In this case, a
work of Fernandez et al. [4], which provides an overview of a conventional network sniffer may know that there is a
method for security system development involving a full range communication between the user and the system but may not
of security patterns; and the work of Konrad et al. [8], which read the content of the data. The situation is different in a
explains that the security needs of a system highly depend on cloud-computing context where network sniffing most often
implies a malicious act [19], which needs to be faced by the Considering this new paradigm, the selection of the most
cloud service provider. This service provider must guarantee appropriate pattern(s) for a given design challenge is no more
the confidentiality of the data but also the anonymity of the conceivable without knowing the environment in which the
user who access the system. pattern will exist, on the one hand, and the controls which are
made available by the system of security patterns (SSP) and to
Hence, in this case, we observe that the requirements
be deployed by the security engineer, on the other hand. Based
patterns of deploying an access control mechanism to on Nguyen et al. [11], the same authors propose in [12] an
guarantee user authentication (Re1) and an encryption
approach to automatically compose security design patterns
mechanism to guarantee confidentiality (Re2) independently considering multiple security concerns (e.g., authorization,
(and formalised Re1 + Re2) do not offer the necessary security
authentication, identification, etc.) and the inter-pattern
protection to preserve user anonymity anymore. In this case, relationships.
both requirements must be integrated to form what we call a
Complex Security Requirements Pattern (Re3), representing As illustrated in Figure 1, SRE methods have proposed
Re1Re2. In other words, the integration of the security discovering simple security requirements pattern and
requirements Re1 and Re2 is used to simultaneously achieve identifying the appropriate security pattern necessary to fulfil
user authentication and data encryption that guarantees the these requirements. To address more complex security criteria,
confidentially and privacy of the users while they log on the assembling security patterns in systems of patterns appears to
information system. be a promising approach. However, to the best of our
knowledge, it does not exist a repository of Complex Security
IV. COPERATE: COMPLEX SECURITY REQUIREMENTS Requirements Patterns (CSRP) yet nor RE methods to associate
PATTERN FRAMEWORK the right systems of patterns to the right CSRP (grey boxes on
This section presents a first iteration of the framework for Figure 1). The objective of the framework is to provide the
engineering complex security requirements patterns definition of complex security requirements patterns and more
(COPERATE) and an exploitation of this framework for especially how they can be fulfilled by a system of security
patterns.
dealing with complex security requirements from the cloud-
computing field. B) Using the COPERATE framework
A) The COPERATE framework This section illustrates how the general framework for
complex security requirements patterns may be used in order to
Although it is worth to note that most of security engineers
discover complex security patterns. Therefore, we present the
exploit the patterns independently from each other, we also
usage of the framework in the context of our motivating
observe that few have addressed the exploitation of systems of
scenario. First, we figure out the evolution from traditional
patterns. Some researchers, such as Nguyen et al [12], highlight
security requirements engineering to complex security
that security patterns must also be organized in systems in
requirements engineering; and second, based on this evolution,
order to offer additional and complementary benefits (e.g.,
we illustrate how complex security patterns need to be
coordination, optimisation, avoidance of redundancy, etc.).
specified to face arising complex security needs.
This statement is supported by the literature review and
analysis on security patterns made by Nguyen et al. [11], in 1) From (standard) Security Requirements Engineering
which the authors argue that a security pattern solely cannot (SRE) to Complex Security Requirements Engineering (CSRE)
help to secure a system against different threats. Thus, it is Security requirements engineering is a dedicated part of the
necessary to build a system of security patterns in which inter- requirements engineering process that aims, in the context of
pattern relations are specified. the security pattern domain, at discovering recurring simple

Figure 1. Overview of the COPERATE framework


security requirements and at identifying the appropriate also be expressed in a function of Re1 and Re2 such as Re3=
security patterns necessary to mitigate specific and recurring Re1Re2 - (Re1 + Re2).
security requirements. According to Alexander [1], each
pattern describes a problem which occurs over and over again The pattern necessary to formalise Re3, according to the
in our environment, and then describes the core of the solution metamodel for software requirements patterns proposed by
to that problem, in such a way that you can use this solution a Franch et al. [5], is composed of a pattern form, which is
million times over, without ever doing it the same way twice. associated to one or more constraints. In addition, the pattern
necessary to formalise Re3 is composed of a fixed part and an
In that regard, we consider that CSRP is a type of security extended part. Both the fixed and extended parts must conform
requirements pattern itself composed of, at least, two security to some part constraints (e.g., for declaring multiplicities or
requirements patterns and, at least, one association of security dependencies among parts [5], or for expressing condition of
requirements patterns (cf. Figure 2). existence) and as a result, may be represented by means of
regular expressions including predefined operators.
A complex security requirements engineering (CSRE)
Accordingly, Re3 may be expressed by a security pattern.
method is a type of security requirements engineering (SRE)
This pattern exists if the information system exploits a cloud
method that exists under the condition that the security
computing solution (type of condition of existence). The
requirements pattern is of a type CSRP. The relation between
composition of Re3 may be represented by one of the
the security requirements pattern and security requirements
following two modelling options:
engineering, called discovers in Figure 2, is defined by
Franch et al. [5] as the most general relationship that implies Option 1. The new CSRP is composed of two fixed parts
all the forms and all the forms parts of the related patterns. which are (1) the Simple Security Requirements Pattern
(SSRP1) necessary to fulfil the user authentication
requirement (Re1) and (2) the SSRP2 necessary to fulfil the
data confidentiality requirement (Re2). Additionally, this
CSRP is also composed of an extended part dedicated to
fulfil Re3 and that corresponds, for instance, to a dedicated
part of the requirements for a software extension for
managing user confidentiality authentication for data
access.
Option 2. The new CSRP corresponds to a dedicated new
Figure 2. UML class diagram for the CSRE conceptual model
extension to be used in parallel to SSRP1 and SSRP2. This
CSRP is composed of a fixed part corresponding to the
2) Towards Complex Security Requirements Pattern requirements for a software extension and, potentially, of
(CSRP) an extended part that could refer to additional requirements
In practice, the execution of the CSRE method is supported like the type of encryption or the data access right model
by a risk management method. In the context of information [3] (e.g., RBAC, DAC, MAC, or OrBAC).
security, risk management methods are defined to analyse In the context of our cloud-computing example, both
threats on the information system in order to derive security options are conceivable. Choosing one of these options
requirements to mitigate security risks. The security risks may depends on the security engineer preferences and on the way he
derive from the threats and vulnerabilities of the information decides to construct the SSP3 (System of Security Patterns
system itself or of its environment. Detecting or defining cf. Figure 1) necessary to fulfil Re3. However, it is worth to
systems of security patterns appears hence strongly influenced, note that the first option is easier to deploy because it is mainly
and may be supported, by risk analysis, at two levels: (1) at the based on experienced patterns (i.e., security pattern 1 and
definition of the security requirements for the design of the security pattern 2) although the second option provides the
system of security patterns, or (2) at the deployment of the SSP advantage of being redesigned and tailored especially for a
to validate that new risks have not been generated on the dedicated security complex case. Hence, this second option fits
information system, after the deployment. better the needs but requires more expertise from the security
Whether the strategy to deal with security requirements is engineer in charge of defining the information system security
the first one, security requirements engineers will need to know controls.
how to deal with complex security requirements like Re3 (see
V. DISCUSSION AND FUTURE RESEARCHS
Section III). According to the COPERATE framework,
engineers should decompose Re3 into a set of simple Previous section has proposed the COPERATE framework
security requirements. These simple security requirements for addressing the problem of complex security requirements
are composed of the traditional requirements Re1 and Re2 and necessary to express complex security issues associated with
of a new security requirement generated by the cloud the composition of multiple security criteria like
computing context, named Re3 and corresponding to the confidentiality, availability, privacy, and so forth. This
protection of the privacy of the user, and hence, the framework has been designed in order to naturally fit the
confidentiality of the access rights. Accordingly, we have got evolution of the pattern and security literature such as depicted
Re3 that corresponds to Re1 + Re2 + Re3, and Re3 that may in the Related Work section.
In this paper, we have sketched a CSRE representation to will be validated by means of a more expensed case, integrated
support the modelling of complex security requirements in the PABRE [15] framework, as presented in Figure 1.
patterns and we have proposed two modelling options for
expressing complex security patterns following this model. REFERENCES
Both options are compatible with the metamodel for software [1] Alexander, C.. The timeless way of building. Vol. 1. New York: Oxford
requirements patterns proposed by Franch et al. [5]. Finally, we University Press, 1979.
have illustrated, based on an excerpt of a case taken from a [2] G. Denker, L. Kagal, T. Finin. Security in the Semantic Web using
o
cloud-computing domain, how these options may be OWL. Iformation Security Technical Report., vol. 10, n 1, 2005.
instantiated to a real complex security example related to the [3] C. Feltus. Preliminary Literature Review of Policy Engineering
Methods; Toward Responsibility Concept. ICTTA 2008. IEEE.
confidentiality and the privacy of the users who access the
information system and how the corresponding system of [4] E. B. Fernandez, N. Yoshioka, H. Washizaki, J. Jurjens, M. VanHilst,
and G. Pernul. "Using security patterns to develop secure systems".
security patterns is elaborated accordingly. Software Engineering for Secure Systems: Industrial and Research
Perspectives, pp. 16-31, 2011.
The COPERATE framework is achieved in the frame of a
[5] X. Franch, C. Quer, S. Renault, C. Guerlain, and C. Palomares.
Design Science research approach [7] and this paper only "Constructing and Using Software Requirements Patterns", Managing
exposes an initial iteration of the construction of the framework Requirements Knowledge, edited by Walid Maalej and Anil Kumar
(i.e., complex security requirements engineering method and Thurimella, pp. 95116. Berlin, Heidelberg: Springer Verlag, 2013.
the complex security requirements pattern). This initiative is [6] L. A. Hermoye, A. van Lamsweerde, D. E. Perry. "Attack Patterns for
coherent in the context of Design Science but is obviously not Security Requirements Engineering", Requirements Engineering. 2006.
complete and ready to market yet. In short, the objective of this [7] A. R. Hevner, S. T. March, J. Park, and S. Ram. 2004. Design science in
paper is to pave the way to future research in the area of information systems research. MIS Q. 28, 1 (March 2004), 75-105.
reusable security patterns. In order to do so, there are three [8] S. Konrad, B. H. Cheng, L. A. Campbell, and, R. Wassermann. "Using
research questions that still need to be answered in future security patterns to model and analyze security requirements", IEEE
International Conference on Requirements Engineering (RE), 2003.
researches:
[9] A. Lora-Michiels, C. Salinesi, R. Mazo. "A Method based on
Q1. How may security requirements patterns be extended to Association Rules to Construct Product Line Models". 4th International
consider complex security requirements? The answer to this Workshop on Variability Modelling of Software-intensive Systems, pp.
147-150. Linz-Austria, January 2010.
question will consist (1) in extending the security requirements
[10] H. Mouratidis, M. Weiss, and P. Giorgini. "Modelling Secure Systems
pattern semantic with the appropriate elements necessary to Using an Agent-Oriented Approach and Security Patterns", International
represent security requirements related to system with complex Journal of Software Engineering and Knowledge Engineering, vol. 16,
security properties and (2) in sampling some important pp. 471498, 2006.
complex security requirements patterns. [11] P. Nguyen, J. Klein, and Y. Le Traon. Model-Driven Security with
Modularity and Reusability for Secure Systems Development, STAF-
Q2. How may Requirements Engineering help identifying DS, 2014.
the right SSP to fulfil CSRP? The answer to this question will [12] P. Nguyen, J. Klein, and Y. Le Traon. "Model-Driven Security with A
allow discovering to what extend Requirements Engineering is System of Aspect-Oriented Security Design Patterns" Proceedings of the
appropriate for identifying/detecting/building SSP in order to 2nd Workshop on View-Based, Aspect-Oriented and Orthographic
fulfil complex security criteria. A Q2 nested question is How Software Modelling, ACM, 2014.
may SSP be designed on the bases of risk management [13] T. Okubo, H. Kaiya, and N. Yoshioka. "Effective Security Impact
Analysis with Patterns for Software Enhancement", Sixth International
approaches? The answer to this question will result in the Conference on Availability, Reliability and Security (ARES), 2011.
definition of a methodological framework embracing models,
[14] S. Renault, O. Mendez-Bonilla, X. Franch, and C. Quer. "A Pattern-
templates and guidelines required by the security professionals. Based Method for Building Requirements Documents in Call-for-Tender
Processes", International Journal of Computer Science and Applications
Q3. What are the next challenges to be addressed to 6, no. 5, pp. 175202, 2009.
automate the design and implementation of SSP considering [15] S. Renault, O. Mndez-Bonilla, X. Franch, and C. Quer. "PABRE:
CSRP? The answer will allow understanding the new research pattern-based requirements elicitation", International Conference on
challenges and the concrete requirements from the market. Research Challenges in Information Science (RCIS), pp. 81-92, 2009.
[16] Schumacher, M., Fernandez-Buglioni, E., Hybertson, D., Buschmann,
In addition, a more stable version of the CSRP model F., & Sommerlad, P. (2013). Security Patterns: Integrating security and
should be designed from the existing security requirements systems engineering. John Wiley & Sons.
pattern model that will be iteratively extended to integrate [17] A. Souag, R. Mazo, C. Salinesi, I. Comyn-Wattiau. "Reusable
complex security elements (e.g., interrelation between security knowledge in security requirements engineering: a systematic mapping
criteria, mutual influence, etc.) Alike for this paper, the study", Requirements Engineering Journal, Springer London, 2015.
information necessary to design the model will be gathered [18] A. Souag, C. Salinesi, R. Mazo, I. Comyn-Wattiau. "A Security
using observation, interviews and surveys. Information about Ontology for Security Requirements Elicitation", International
requirements will be also extracted using reengineering Symposium on Engineering Secure Software and Systems (ESSoS),
Lecture Notes in Computer Science Series, Milan-Italy, 2015.
approaches and information retrieval techniques in the
[19] Z. Trabelsi, H. Rahmani, K. Kaouech and M. Frikha, "Malicious sniffing
available assets similar to the ones used to extract common systems detection platform," Applications and the Internet, 2004.
requirements in product line engineering [9]. The elaboration Proceedings. 2004 International Symposium on, 2004, pp. 201-207.
of the CSRE method will be completed based on a more [20] Zuccato, A., Daniels N., Jampathom C. "Service Security Requirement
systematic review and integration of the risk management Profiles for Telecom: How Software Engineers May Tackle Security". In
methods. In addition, the framework presented in this paper the Sixth International Conference on Availability, Reliability and
Security (ARES), 2011.

Das könnte Ihnen auch gefallen