It is a security features or security goals based
process which is driven by risk and security
standards (concretely ISO/IEC 27001 and Common
Criteria) and deals with security requirements and
their related artefacts from the early stages of SPL
development in a systematic and intuitive way
especially tailored for SPL based development.
It is based on the use of the latest and widely
validated security requirements techniques, such as
security use cases (Firesmith 2003) or misuse cases
(Sindre et al., 2005), along with the integration of
the Common Criteria (CC) components and
ISO/IEC 27001 controls into the SPL lifecycle in
order to facilitate SPL products security
certification. Moreover, our proposed process
suggests using a method to carry out the risk
assessment which conforms to ISO/IEC 13335
(ISO/IEC 2004), concretely it uses Magerit (López
et al., 2005) (the spanish public risk management
methodology and which is recognised by the NATO)
for both SPL risk assessment and SPL products risk
assessment. Furthermore, SREPPLine has the aim of
minimizing the necessary security standards
knowledge as well as security expert participation
during SPL products development.
To this end, it provides a Security Core Assets
Repository to facilitate security artefacts reuse and
to implement the security variability model and the
security requirement decision model, which assist in
the management of the variability and traceability of
the security requirements related artefacts of the SPL
and its products. These models are the basis through
which the activities of SREPPLine capture, represent
and share knowledge about security requirements for
SPL and help to certificate them against security
standards. In essence, it is a knowledge repository
with a structure to support security requirements
reasoning in SPL.
As it is described in Figure 1 our process is
composed of two subprocesses (shown in pink):
Product Line Security Domain Requirements
Engineering (PLSecDomReq) subprocess and
Product Line Security Application Requirements
Engineering (PLSecAppReq) subprocess. These
subprocesses cover the four basic phases of
requirements engineering according to (Kotonya et
al., 2000): requirements elicitation; requirements
analysis and negotiation; requirements
documentation; and requirements validation and
verification. However, due to space restrictions, in
this paper we shall only outline the security
requirements variability management and the key
tasks that are part of the activities of PLSecAppReq
subprocess.
3 SECURITY REQUIREMENTS
VARIABILITY MANAGEMENT
The security requirements artefacts variability
management is supported by two models. The
Security Variability Model is used to assist in the
management of the variability and traceability of the
security requirements related artefacts of the SPL
and its products along with the SPL and its products
security standards certification. The Security
Requirement Decision Model supports the capturing,
specifying and reasoning about security
requirements and their artefacts for the SPL
members. It furthermore supports the development
of a security requirement protection profile for the
security goals of the system and it is also helpful in
the process of determining the most appropriate
security requirements artefacts and security
standards.
3.1 Security Variability Model
Our proposed Security Variability Model, which will
be shown in Figure 2 is based on the Reusable
Assets Specification (RAS), adopted as an OMG
standard (OMG_(Object_Management_Group)
2004) and moreover extends the orthogonal
variability model of Pohl et al.(Pohl et al., 2005). It
is also part of the Security Requirement Decision
Model. This variability model relates the defined
variability to other software development models
such as feature models, use case models, design
models and test models. Thus, it provides a cross-
cutting view of the security requirements variability
across all security development artefacts and assists
in keeping the different views of variable security
requirements artefacts consistent.
In order to relate the variability defined in the
variability model to the software artefacts specified
in other models, the meta-model depicted in Figure 2
contains the class ‘artefact’ which represents any
kind of development artefact. Particular
development artefacts are sub-classes of the
‘artefact’ class, such as ‘security artefact’ which is a
specialization of an artefact.
In addition, as is depicted in Figure 2, a security
artefact can but does not have to be categorized. The
‘category’ class helps us avoid semantic problems
and assists in reusing security artefacts, and even in
applying security patterns. It is a key class for the
security requirement decision model, because it
guides us through the categories thus allowing us to
identify the security requirements artefacts
systematically. Moreover, the ‘security artefact’
SECRYPT 2008 - International Conference on Security and Cryptography
444