3.impediments o Security
3.impediments o Security
1. Attacker Intent
This is an issue that greatly complicates the prevention of threats. The basic
intent associated with an attack often cannot be determined, i.e. even if a given attack
can be observed, the motivation of the individual who caused some problem to be
individual confesses to performing some malicious action but these are not
common (rare). To illustrate the problem. Consider some software development
scenario.
mistakenly test for the equality of two variables x and y by using “x = y”.
y to x. The expression that should have been used is “x = = y”. Any malicious C
programmer can easily interchange these types of statements and expressions in order
to change the desired software functionality, and if caught, can claim that it was an
focus attention specifically on modelling, analysing and mitigating attacks that have
Usability
Security
Figure 1.1 Securities and Usability
A worthy goal in the design and development of security solutions for computer systems is to
reduce the degree to which increases in security affect the usability of a
system.
3. Retrofit
Development of security has been lagging behind other computer developments such
as hardware and software and as such is a relatively new concern. In the past years
there has been sensational publicity given to the amusing experiences of computer use
and very little attention was paid to computer security. This was to some extent okay
because the main frames or mini computers in use were operating in protected
environments such as computer rooms whose access was strictly limited to computer
operators and computer maintenance engineers and technicians. Because of the above
facts most existing systems were developed without sufficient attention to threats,
vulnerabilities and potential attacks. So in order to make an existing system secure ,
one is faced with the problem of retrofitting security into existing components,
mechanisms and environments. This problem is difficult for the same reasons that
retrofit of any requirements changes into an existing system is difficult. Consider for
example the problem of retrofitting security mechanisms into an existing operating
system. If the proposed mechanisms change an established system call interface to
the operating system kernel routines, then the existing user level applications may no
longer work. 4. Security requirements are difficult to identify
THREAT TREES
Introduction
Threats represent the highest-level security concern in any computer system. Vulnerabilities and
attacks are only concerns if they introduce the potential for certain threats to occur. As a result
one would expect that threat identification would be a
standard element of the requirements analysis activities of any computer system or project being
designed or developed. This is rarely the case, as most system design and developments efforts
do not involve a thorough analysis of threats.
The threat approach is an analytical threat derivation technique that has been designed
to assist system engineers during the security requirement analysis phase of computer system
development. This approach/technique has its origins in the use of fault trees in system
reliability engineering, where the objective is to prevent system failures due to errors. The threat
trees approach can be used to ensure that the security requirements of a system being developed,
enhanced, or assessed are complete, justifiable and well documented. Threat trees are not the
only approach or technique for identifying threats, but however this technique is recommended
and has also been used to identify threats in many practical settings including portions of the
AT&T worldwide telecommunications network and the “Star Wars” defence network
used to identify threats. Lets examine a typically but inadequate method for
analytically deriving threats. This technique is known as the Arbitrary Threat Lists.
We will show that this technique is in adequate because it does not demonstrate
completeness of the list of identified threats. Some people can argue that the most
arbitrary threat list process. This approach is said to be random and unstructured
because the process is typically characterised by system developers either
gradually as they are noticed during a discussion or even during normal system
operation. For example, suppose that a group of system developers wishes to identify
a set of possible threats in a hospital’s patient and medical information processing and
storage system. One might expect that this group would follow a brainstorming
one can imagine additional threats being noticed and added to the list. However the
threat identification process will remain unstructured. This is to say the arbitrary
Dubious Completeness.
Since the process for identifying threats is unstructured, one cannot be sure that
the complete set of potential threats has ever been identified, for example one
would imagine many different threats being added to this list. It would appear that
the best lists would result only when the people with the most experience spend a
Possible inconsistencies
Since threats are identified independent of each other in this approach, it is possible that a set of
threats could include potential statements that are contradictory or redundant. For example the
statement above that correspond to “Confidential patient information is disclosed” and
“Confidential information is not available” appear to be in conflict.
Threat Trees
To offset some of the shortcomings of the arbitrary threat list process, a more structured
technique for identifying threats has been developed. The threat tree is said to be structured
because it starts with a general abstract description of the complete set of threats that exists for a
given system and then introduce detail in an iterative manner, refining the description carefully
and gradually. This approach/technique is called the first abstract threat description is generally
depicted as the root of a tree and the next level of corresponding refinements corresponds to a
collection of new nodes connected to a tree. Each of these nodes in turn becomes the root of a
different sub tree. Eventually, each leaf of each sub tree will provide a description that can be
used for an arbitrary threat list. A side benefit of this technique/approach is that the resulting
analysis documents the rationale for each identified threat.
Threat
subthreat
Please note that the top of the threat tree is labelled Threat, which is not to imply that a separate
threat tree is required for each threat. The top of the tree can be labelled with some generalised
description of all threats that are present on a given system if a single tree is desired. The most
critical notion related to threat tees is that at each level of refinement for a given node, the set of
new connected nodes must maintain demonstrable completeness so that one can be sure that
nothing has been missed.
To illustrate threat trees in more detail, suppose that we use the hospital computer system
example, with the intention of identifying threats using out threat tree technique. The term HCST
(Hospital Computer System Threat) as the general, abstract definition of all the threats that we
wish to identify. HCST will simply provide a label fro the root of out threat tree. The first level
of refinement in our example will split the set of threats into those that correspond to patient
medical information (labelled PMH) and those that do not (labelled NPMH) (see figure 1.3)
HCST
PMH NPMH
Figure 1.3 Medical Threat Tree
For the threats that correspond to patient medical information, we introduce a subsequent
refinement that splits threats into those that are life threatening
(labelled LT) and those that are not (labelled NLT). Each of these is then portioned into the
disclosure (D), integrity (I) and denial of service (DOS) threats. The resultant subthreat tree is
shown in figure 1.4
PMH
LT NLT
D I DOS D I DOS
Returning up to the NPMH node, we can introduce a refinement that splits the relevant threats
into billing threats (B) and nonbilling (NB) threats. These can each then be portioned into the
threats that are introduced during the development of a system by a malicious developer
(MDEV) and those that are not (NMDEV).
NPMH
B NB
The key notion here is that any conceivable threat that can occur on this hospital computing
system fall into one of the categories represented by the nodes in the threat tree. The longer one
follows this refinement process, the more detailed the deeper nodes become and the more likely
it becomes that a specific threat will be defined explicitly in the tree. This means that all the
threats identified in the arbitrary list process illustration would appear under one of the nodes of
the threat tree just presented.
HCST
PMH NPMH
LT NLT B NB
“Confidential
patient information is not
available”
“Internal schedules
are compromised”
Figure 1.6 Threat Tree for Hospital System
OR
Subthreat Subthreat
Figure 2.1 Disjunctive
A conjunctive relation, is based on the logical AND relation in which a threat can occur only if
all of the subthreat occur (one subthreat AND the other).
Threat
AND
Subthreat Subthreat
Figure 2.2 Conjunctive
Suppose one wishes to create a threat tree of the integrity threats to some system, and suppose
further that this tree has two subnodes with a disjunctive (OR) relationship with respect to the
integrity threat node. So it means that in order to enact the integrity threat represented at the node
of the tree, one must enact either of the subnodes. If one node has its level of effort (by an
adversary) required to enact a threat listed as HIGH, and one subnode has its effort listed as
MODERATE, then by common sense, we can conclude that an attacker would be more likely to
attempt the MODERATE (easier) threat. We know this since the relation is based on the OR
relation and either subthreat would be suitable for carrying out the higher threat. This allows us
to conclude that the effort for the higher-level integrity threat would be
MODERATE as well.
Integrity Threat
(Effort = MODERATE)
Subnode Subnode
Threat Threat
(Effort = MODERATE) (Effort =HIGH)
Figure 2.3 Threat Three as a Basis for Calculation
Note that this conclusion would be different if the relationship between the nodes of the tree
were conjunctive (AND). In such a case, the level of effort for the two subthreats would have to
be combined into some measure that reflects as a MODERATE and a HIGH subthreat. Many
types of considerations have to be taken into account in such a calculation. For example,
although the level of effort for some threat might be estimated as MODERATE (as in the above
cited example), the likelihood of being caught for that subnode might be higher than for the other
subnodes. This might cause the attacker to attempt to enact one of the HIGH threats instead.
This illustrates the type of analysis one must perform in order to use a threat tree as the basis for
performing calculations on threats.
Using Threat Trees To Support System Security Engineering
.
Specify system
Architecture
Estimate
Component Risk Prioritise
Vulnerabilities
Threat Trees can be used to support the performance of system security engineering by providing
a structured means for documenting and organizing these estimates and calculations, for
example, if nodes of a threat tree are associated with all available factor estimates (e.g. criticality
and effort) then risk calculations can be performed easily for a given node by considering all
relevant estimates of child nodes and the logical relationship established between these child
nodes. For example, one could determine the risk associated with the node of a tree by
determining the maxima risk for any subnode if a disjunctive relation were established between
nodes.
Figure 2.5 shows a simple illustration of how a threat tree could be helpful in the performance of
a system security engineering analysis to determine the optimal placement of security
protections.
Threat
Subthreat A Subthreat B
Criticality = 4 Criticality = 5
Effort = 2 Effort = 1
Risk = 2 Risk = 5
Figure 2.5 Threat Tree For System Security Engineering
The two OR –related subnodes above depict subthreats with estimated criticality for the
resources affected by the subnodes as well as estimated levels of effort for attackers to cause
subthreats to occur. (The integers are used to simplify comparisons of the estimates). In the
above example risk is assumed to be criticality divided by effort. One might conclude from the
threat tree and associated estimates that if money is only available to mitigate one of the
subthreats, then clearly, subthreat should be selected since it represents a much greater risk.
Suppose that, in fact such a decision is made and suitable impediments are installed to increase
the level of effort for subthreat B attackers to an estimate of 5. This would cause the estimated
risks to be adjusted accordingly as shown below in figure 2.6
Threat
Subthreat A Subthreat B
Criticality = 4 Criticality = 5
Effort = 2 Effort = 5
Risk = 2 Risk = 1
Figure 2.6 Adjusted Risk Estimates
If additional money becomes available to increase security, then the priority of application
changes. Now the risk associated with subthreat A is greater and available money should be
allocated toward mitigating this subthreat.
The use of threat trees in support of the system security engineering process can be
illustrated in the context of a simple example avionics system. Suppose that the
computerised portion of an aircraft includes only a main controller, a position sensor, a
temperature sensor, a flight recorder and connections to electromechanical servos that
control the engine and cooling system. This highly simplified view of an aircraft is shown in
figure 2.7 below.
Temperature
Sensor Servo to
Engine
Position Main Controller
Sensoe
Servo engine
Flight
Recorder
We follow the steps of system security engineering process to this example, which are:
(i) Specify system architecture
(ii) Identify Threats, Vulnerabilities, Attacks
(iii) Estimate Component Risk
(iv) Prioritise Vulnerabilities
(v) Identify and Install Safeguards
(vi) Iteration
Specify System Architecture
For the purposes of this simplified example, we will assume that the components of the
system are the following: temperature sensor (ts), position sensor (ps), flight recorder (fr),
main controller (mc), servo to engine (e), servo to cooling the system (cs), and all
interconnections (int). In other words these are the components of the system that must be
protected and that will be subject of our assessment. Roughly, the priority of various
components can be estimated as follows: Main controller (top priority), servo to engine
(high), all interconnections (high), position sensor (high), temperature sensor (moderate),
servo to cooling system (moderate), and flight recorder (low). These are estimated based on
their relation to the system mission of successful flight.
The above diagram only shows a possible decomposition of threats to the components of the
system but does not show the specific vulnerabilities and attacks that would result from further
decomposition of these threats.
The denials of service threats are decomposed into the threats to the system components, and
threats to the flight recorder and engine servo are decomposed into the development and
operation threats. The two paths shown as dotted lines in the above diagram will serve to
illustrate system security engineering process.
opn e
G = 5, E = 5, R = 1 opn G = 10, E = 2, R = 5
Threat trees generally depict gain, effort and risk estimates for intermediate nodes as
the maximum of the respective estimates for the sub nodes. The diagram above
shows that potential gain to an intruder for denial of service attacks to the engine is
greater and requires less effort than denial of service attacks to the flight recorder.
As a result, the denial of service risk associated with the engine is greater than that of the flight
recorder.
Prioritise Vulnerabilities
The vulnerabilities and attacks to the highest risk components would likely be assigned highest
priority and this means that vulnerabilities associated with denial of service attacks to the engine
would certainly be associated with a higher priority than vulnerabilities associated with denial of
service attacks to the flight recorder. In most cases, this prioritisation follows the risk estimates
directly. In cases where different components are associated with the same risk, the other
considerations related to available cost, resources, and other practical concerns may be used.