ments are associated with a Domain, which is part
of Jackson’s problem frames terminology. That ter-
minology is shown in light gray. The association is
used to identify risks based on the functional requi-
rements. A Threat Scenario leads to some Unwanted
Incidents. An Unwanted Incident harms some Assets
which is related to a phenomenon with a specific Con-
sequence, which is part of a Risk. A Risk exists for an
Asset. A Likelihood is also part of a Risk. A Requi-
rement can be of type Functional Requirement or Se-
curity Requirement (SR) and refers to and constrains
Domains. A Security Requirement aims to protect an
Asset. A High-Level SR is a specialization and addres-
ses a Risk, whereas a Concretized SR specifies how
the risk is reduced. A Concretized SR is implemented
by some Treatments, which are applied at a Domain.
Thus, a Treatment is used to avoid or mitigate a Threat
Scenario or Threat contained in this Domain.
4.2 Overview
Figure 5 provides an overview of the five steps of the
ProCOR method. For each step, we define the neces-
sary external inputs, as well as the outputs. The gene-
rated output serves as an input for the following steps
and can be used for documentation purposes. We dis-
tinguish three stakeholder roles: analysts take part in
each step of the method. Therefore, we do not show
them explicitly in Figure 5. Customers are the ones
on whose behalf the analysts perform the risk analy-
sis. Experts are persons with specific knowledge, e.g.,
about threats.
The method is structured as follows: (1) First, the
scope and focus of the risk analysis are defined, based
on the security goals of the customer and the functi-
onal requirements, which are expressed as problem
diagrams. (2) The risks for the assets are identified
and are documented with a CORAS threat diagram.
(3) To evaluate the risks, likelihoods and consequen-
ces are estimated and annotated in the threat diagram.
For each unacceptable risk, a high-level security re-
quirement is set up. (4) To fulfill the high-level se-
curity requirements, treatments that reduce the risks
are selected. These treatments are evaluated with re-
spect to their costs, which should not be higher than
the value of the asset they protect. The selected treat-
ments are then added to the threat diagram. (5) For
each high-level security requirement, a concretized
security requirement is set up, which reflects the cho-
sen treatments. Finally, for each concretized security
requirement, a treatment problem diagram is set up.
Such a diagram is similar to a problem diagram. It
states which domains are referred to and constrained
when fulfilling the concretized security requirements
using the selected treatment. Thus, security require-
ments can be incorporated in the subsequent software
development process in a similar way as functional
requirements.
In addition, we identified validation conditions for
each step that check the coherence of the results of
each step, thus helping to identify errors in the appli-
cation of the method as early as possible. We give
examples of such validation conditions in the follo-
wing. For reasons of space, we cannot present all of
them.
We now describe each of the above steps in detail.
4.3 Step 1: Definition of Scope & Focus
In the first step, we define the focus (assets to be pro-
tected) and scope (domains which shall be conside-
red) of the analysis.
4.3.1 Description
With ProCOR, we aim to support the protection of
information in a software-based system with regard
to the three security properties confidentiality, inte-
grity and availability. In problem diagrams, informa-
tion is represented by symbolic phenomena, whereas
commands or events are represented by causal pheno-
mena. Hence, we define an asset as a combination of
a symbolic phenomenon and a security property. The
results are documented in a table, such as Table 1. We
also document the value of the asset for the customer
to make it comparable with the costs of a treatment.
The scope of the analysis is defined as the set
of domains where the information to be protected is
available. “Available” means that the domain obser-
ves or controls the symbolic phenomenon represen-
ting the information to be protected, as specified in
the set of problem diagrams that is part of the input
for this step. However, it does not suffice to only
consider symbolic phenomena, because valuable in-
formation can also be part of commands or events,
i.e., causal phenomena. For example, there may be
an interface with a causal phenomenon to store some
user data. This phenomenon is a command, but con-
tains information in form of user data. Hence, it is
necessary to document that a phenomenon is contai-
ned in another to decide whether an interface contains
some information or not.
To document the availability of information at a
domain and the information flow between domains,
we developed the concept of an Information Flow
Graph, which is a directed graph. Its nodes are dom-
ains, and its edges denote the information flowing
from one domain to another. To create this graph, we
consider all interfaces contained in the set of problem
Problem-based Elicitation of Security Requirements
29