<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>A Holistic Approach to Security Attack Modeling and Analysis</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Tong Li</string-name>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Jennifer Horko</string-name>
          <email>horkoff@city.ac.uk</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Kristian Beckers</string-name>
          <email>beckersk@in.tum.de</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Elda Paja</string-name>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>John Mylopoulos</string-name>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>City University London</institution>
          ,
          <addr-line>London</addr-line>
          ,
          <country country="UK">UK</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Technische Universitat Munchen</institution>
          ,
          <addr-line>Munchen</addr-line>
          ,
          <country country="DE">Germany</country>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>University of Trento</institution>
          ,
          <addr-line>Trento</addr-line>
          ,
          <country country="IT">Italy</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2015</year>
      </pub-date>
      <volume>978</volume>
      <fpage>49</fpage>
      <lpage>54</lpage>
      <abstract>
        <p>Protecting socio-technical systems is a challenging task, as a single vulnerability or exposure of any component of the systems can lead to serious security breaches. This problem is exacerbated by the fact that the system development community has not kept up with advances in attack tactics. In this paper, we present ongoing research on the development of a holistic attack analysis technique. Our approach adopts a goal modeling technique to capture attacker malicious intention as anti-goals, which are systematically re ned and operationalized into concrete attack actions which target various assets (e.g., human, software, and hardware). A comprehensive attack pattern repository (CAPEC) is seamlessly integrated into our approach in order to provide analysts with practical security knowledge and assist them in identifying potential attacks under speci c contexts. Finally, a set of security controls is provided for mitigating identi ed attacks.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        Socio-Technical Systems (STSs) consist of human, software and physical
elements that together ful ll system requirements. Due to their heterogeneity and
complexity, such systems are exposed to a broader range of attacks than their
software cousins. Attackers are able to breach system security by targeting any
vulnerable component of STSs, such as human, software applications, or physical
infrastructure. Consider a smart meter system as an example [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. An attacker
can access energy consumption data by performing social engineering against the
stakeholders, by intercepting communication data transmitted between software
applications, or even by probing the physical smart meter device. The larger
attack surfaces of STSs can also lead to multistage attacks that combine attacks
on di erent parts of an STS [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ].
Thinking like an attacker has been proposed as an e ective solution to
discover attacks that are most likely to be performed by an attacker [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. As such,
security analysis can consider alternative countermeasures to mitigate identi ed
attacks and ensure the satisfaction of security requirements. Many approaches
have been proposed for analyzing security requirements from an attacker's
perspective, such as anti-goal analysis [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] and misuse cases [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]. However, these
approaches are not designed for STSs but for software, i.e., do not explicitly capture
inter-dependencies between software and other system components (e.g.,
business processes, hardware). As a result, multistage attacks that target several
system components cannot be appropriately captured.
      </p>
      <p>
        Another obstacle to STS security is that attack analysis lacks knowledge of
impending attacks. Barnum and Sethi have pointed out that the software
engineering community has not kept up with advances in attack knowledge, resulting
in less e ective, and sometimes useless security designs [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. Attack patterns, as
solutions to this problem, document reusable attack knowledge in support of
system security solutions. Speci cally, CAPEC (Common Attack Pattern
Enumeration and Classi cation) is a comprehensive attack knowledge repository,
which includes 463 attack patterns1. However, without an e cient method to
use this large set of patterns, analysts are reluctant to adopt them in practice [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ].
      </p>
      <p>
        We have proposed a holistic approach for modeling and analyzing attacks
for STSs in a companion poster [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]. In this paper, we describe recent progress
regarding this work. In particular, we present and illustrate a re ned analysis
process. We base our approach on a three-layer requirements framework [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] in
order to consider threats from various system viewpoints and provide a
holistic security analysis. Speci cally, our approach takes an attacker's viewpoint
to generate attack strategies by systematically capturing and re ning attacker
malicious intentions. Moreover, we seamlessly integrate CAPEC attack patterns
into our approach to e ectively identify operational attacks, based on which
corresponding security controls are applied. Finally, a supporting tool is
under development, and we also describe how the tool can support the proposed
analysis process.
2
      </p>
      <p>
        Background
Three-layer requirements modeling framework. Li et al. [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] proposed a
three-layer requirements framework, which models and analyzes requirements of
STSs at the business layer, software application layer, and physical infrastructure
layer, respectively. In our proposal, we take the three-layer requirements model
as input, which allows us to capture threats that originate in di erent layers of
a system, and analyze attacks from a holistic viewpoint.
      </p>
      <p>
        Contextual goal modeling. Ali et al. [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] have extended Tropos with
contextrelated concepts in order to model and analyze stakeholder requirements in
different contexts. In this paper, we propose to model attack patterns as contextual
goal models in order to (semi-)automate the selection of attack patterns during
anti-goal analysis and operationalization.
      </p>
      <p>
        Attack patterns. Inspired by design patterns, attack patterns were rst
proposed by Moore et al. [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ] in order to reuse proven attack knowledge. Notably,
CAPEC has been under development for years and currently includes 463 attack
patterns. Each attack pattern is speci ed in terms of Attack Prerequisites, Attack
Motivation-Consequences, Solutions and Mitigations etc. However, it is di cult
to use the CAPEC repository, as analysts have to manually navigate and select
appropriate patterns. In this paper, we model attack patterns as contextual goal
models in order to semi-automate the corresponding analysis.
3
      </p>
      <p>A Holistic Attack Analysis Approach
Our approach takes a three-layer system requirements model as input, which
includes both functional requirements and security requirements, and eventually
produces a list of security controls that can e ectively protect the system from
being damaged by attackers. An overview of the holistic attack analysis process
is shown in Fig. 1. Each step of the analysis will be speci ed in the following
subsections.</p>
      <p>Attack Knowledge Pre-processing
pCaaAttttPaecErnkCs atctaaCctAekgPdoEormCieasin cSattTheRrgeoIaDrtiEes
Highlevel
anti-goal
(Step 1)
Identify root
anti-goals</p>
      <p>Security
Threerequirements layer goal
models</p>
      <p>Model
attack patterns</p>
      <p>(Step 2)
Anti-Goal Refinements</p>
      <p>Interval-based
refinements
Asset-based
refinements
Target-based
refinements
Protection-based
refinements</p>
      <p>User
Activity</p>
      <p>Automatic
Activity</p>
      <p>Legend
Data
Object</p>
      <p>Data</p>
      <p>Store</p>
      <p>CAPEC
Attack pattern
models</p>
      <p>Find
relevant attack
patterns
(Step 3)</p>
      <p>Attack
Operationalization</p>
      <p>Context
checking</p>
      <p>Threelayer goal
models
Generate
alternative
attacks
Attack
strategy
model</p>
      <p>Relevant
attack
patterns</p>
      <p>Anti-goal model
with applicable
attack patterns</p>
      <p>Alternative
attack
scenarios
(Step 4)</p>
      <p>Risk
Assessment</p>
      <p>Sequence Flow</p>
      <p>Data Flow
A list of
security
controls
(Step 5)
Generate
security
controls
Top X critical
attacks
{ Target is a component of a system, which involves assets and has
vulnerabilities that are exploitable by attackers. Within the three-layer system
structure, targets vary from layer to layer.
{ Interval represents the time period, during which attackers carry out attacks.</p>
      <p>In this work, an interval is speci ed in terms of a system functional task,
which indicates the execution period of the task. Note that a goal can also
be speci ed as an interval, which means the execution period of all the
operationalized tasks of this goal.</p>
      <p>As shown in Fig. 2, a root anti-goal AG1 is derived from the root security
goal SG1 that is captured in the three-layer goal model. In particular, AG1
capture the malicious intention \Tampering (Threat ) energy demand (Asset )
when the real-time pricing is applied (Interval ) by attacking the energy supplier
(Target )", which negates SG1.</p>
      <p>Step 2: Anti-goal re nement. When attacking a complex system, an
attacker can have various attack strategies to achieve his root anti-goal. An attack
strategy sheds light on which system components to attack and when to attack,
but does not mention concrete techniques and attack actions. Once root
antigoals are identi ed, we propose to systematically re ne them in order to explore
various attack strategies across three layers.</p>
      <p>
        To this end, we investigate several attack scenarios (reported in [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]) to
understand how attackers generate attack strategies to achieve their malicious
intention. Based on the investigation, we identify four re nement methods to simulate
the generation of attack strategies, as presented in Fig. 1. Take the interval-based
re nement pattern as an example. As shown in Fig. 2, the root anti-goal AG1
applies during the interval G1, and the interval G1 is \and-re ned" into two
sub-interval G2 and G3. Thus, AG1 is \or-re ned" into AG2 and AG3, which
apply during intervals interval(G2), interval(G3) respectively.
      </p>
      <p>SG1 (S)
High Data Integrity
[energy demand, G1] Energy</p>
      <p>Supplier
(ES)
Part of the 3-layer Goal Model</p>
      <p>G1
Real-time
pricing is
applied</p>
      <p>G2
Real-time
price is
obtained</p>
      <p>G3
Customer is
notified about
the price</p>
    </sec>
    <sec id="sec-2">
      <title>AG1Threat: Tampering,</title>
      <p>Asset: Energy demand,
Target: Energy Supplier,
Interval: interval(G1)</p>
    </sec>
    <sec id="sec-3">
      <title>AG2Threat: Tampering,</title>
      <p>Asset: Energy demand,
Target: Energy Supplier,
Interval: interval(G2)</p>
    </sec>
    <sec id="sec-4">
      <title>AG3Threat: Tampering,</title>
      <p>Asset: Energy demand,
Target: Energy Supplier,
Interval: interval(G3)
Step 3: Anti-goal operationalization. Anti-goal re nements address when
and what to attack in order to achieve attacker malicious intentions. In this
step, we leverage the attack knowledge from the CAPEC repository to analyze
whether leaf anti-goals can be achieved by known attacks. In order to (semi-)
automate the analysis, we construct a contextual goal model for each CAPEC
attack pattern according to its textual description. An example is shown in
Fig. 3, capturing the JSON Hijacking pattern.</p>
      <sec id="sec-4-1">
        <title>CAPEC-111</title>
      </sec>
      <sec id="sec-4-2">
        <title>JSON Hijacking (Detailed, Complete)</title>
      </sec>
      <sec id="sec-4-3">
        <title>The JSON object</title>
        <p>returned from the
server can be accessed
by the attackers' malicious
code via a script tag</p>
      </sec>
      <sec id="sec-4-4">
        <title>Understand how to request JSON response from the target system</title>
      </sec>
      <sec id="sec-4-5">
        <title>Craft a malicious website</title>
      </sec>
      <sec id="sec-4-6">
        <title>Threat: Information</title>
      </sec>
      <sec id="sec-4-7">
        <title>Disclosure</title>
      </sec>
      <sec id="sec-4-8">
        <title>Target: software C1</title>
      </sec>
      <sec id="sec-4-9">
        <title>JSON</title>
      </sec>
      <sec id="sec-4-10">
        <title>Hijacking</title>
        <p>C1: architecture(target_software, Client-Server) &amp;
program_language(target_software, AJAX) &amp;
use(target_software, JSON)</p>
      </sec>
      <sec id="sec-4-11">
        <title>The target server cannot differentiate real requests from forged requests</title>
      </sec>
      <sec id="sec-4-12">
        <title>Launch</title>
      </sec>
      <sec id="sec-4-13">
        <title>JSON</title>
        <p>hijack</p>
      </sec>
      <sec id="sec-4-14">
        <title>Lure the victim to</title>
        <p>visit the malicious
website to activate
the malicious script</p>
      </sec>
      <sec id="sec-4-15">
        <title>Intercept incoming</title>
      </sec>
      <sec id="sec-4-16">
        <title>JSON objects</title>
      </sec>
      <sec id="sec-4-17">
        <title>Exploit CWE-352</title>
        <p>(Cross-Site Request</p>
      </sec>
      <sec id="sec-4-18">
        <title>Forgery )</title>
      </sec>
      <sec id="sec-4-19">
        <title>Launch the malicious scripts to request JSON object from the target system</title>
      </sec>
      <sec id="sec-4-20">
        <title>Exploit CWE-345 (Insufficient Verification of Data Authenticity)</title>
      </sec>
      <sec id="sec-4-21">
        <title>Exploit CWE-346</title>
        <p>(Origin Validation</p>
      </sec>
      <sec id="sec-4-22">
        <title>Error)</title>
        <p>Operationalization analysis consists of two steps: relevance analysis and
applicability analysis. Given a leaf anti-goal, we rst automatically identify all
relevant attack patterns from the attack repository. In particular, if the leaf
anti-goal and the anti-goals modeled in an attack pattern model concern the
same threat and the same type of target (software, hardware etc.), then the that
attack pattern is relevant to the leaf anti-goal. After identifying the relevant
attack patterns, we further check their applicability, i.e., whether the contexts
required by the attack patterns are held in the target system. Speci cally, the
context of each relevant pattern will be automatically checked against the
threelayer requirements goal model. If the information captured in the goal model
is not enough to determine whether the context applies, then the supporting
tool will interactively ask analysts to check them. Once the applicable attack
patterns are determined, we can automatically generate all alternative attacks
according to the derived anti-goal model.</p>
        <p>Step 3: Risk assessment. For alternative attacks identi ed in the previous
step, we assess their risk by analyzing the vulnerabilities exploited by those
attacks. To this end, we propose to use external vulnerability assessment services
to detect vulnerabilities that exist in the target system 2. Based on the result of
vulnerability analysis, we can assess the risk of alternative attacks and further
prioritize them.</p>
        <p>Step 4: Generate mitigation controls. Given prioritized alternative attacks,
an analyst can choose how many to tackle, depending on her budget. For each
2https://cve.mitre.org/compatible/product type.html
attack to be addressed, our approach nally generates corresponding mitigation
controls according to security knowledge documented in the CAPEC repository.
4</p>
        <p>Conclusions and Future Work
We present ongoing research on a holistic attack analysis technique, which takes
an attacker's viewpoint by capturing their malicious intents as anti-goals. The
approach takes into account threats that originate from various system
components, identi es alternative attacks that target the vulnerable components, and
nally provides e ective security controls to satisfy security requirements.</p>
        <p>Apart from the analysis process we have investigated, we are working on the
tool-supported implementation of each step. In particular, we seek to deeply
integrate practical attack knowledge (e.g., CAPEC) into our approach in order to
deal with real world security problems. To this end, we need to process a
reasonable amount of the attack patterns (as presented in Section 3). Furthermore,
we will improve the integration of external vulnerability assessment services into
the risk assessment step of our analysis process. Once all the analysis steps are
well designed and can be supported by our tool, we plan to perform a case study
to validate our approach.</p>
        <p>Acknowledgements This work was supported by the ERC advanced grant
267856, titled \Lucretius: Foundations for Software Evolution".</p>
      </sec>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Flick</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Morehouse</surname>
          </string-name>
          , J.:
          <article-title>Securing the smart grid: next generation power grid security</article-title>
          .
          <source>Elsevier</source>
          (
          <year>2010</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Mitnick</surname>
            ,
            <given-names>K.D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Simon</surname>
            ,
            <given-names>W.L.</given-names>
          </string-name>
          :
          <article-title>The art of deception: Controlling the human element of security</article-title>
          . John Wiley &amp; Sons (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Barnum</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sethi</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Attack patterns as a knowledge resource for building secure software</article-title>
          .
          <source>In: OMG Software Assurance Workshop: Cigital</source>
          . (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Lamsweerde</surname>
            ,
            <given-names>A.V.</given-names>
          </string-name>
          :
          <article-title>Elaborating security requirements by construction of intentional anti-models</article-title>
          .
          <source>In: ICSE</source>
          . (
          <year>2004</year>
          )
          <volume>148</volume>
          {
          <fpage>157</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Sindre</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Opdahl</surname>
            ,
            <given-names>A.L.</given-names>
          </string-name>
          :
          <article-title>Eliciting security requirements with misuse cases</article-title>
          .
          <source>Requirements Engineering</source>
          <volume>10</volume>
          (
          <issue>1</issue>
          ) (
          <year>2005</year>
          )
          <volume>34</volume>
          {
          <fpage>44</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Shostack</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Threat Modeling: Designing for Security</article-title>
          . John Wiley &amp; Sons (
          <year>2014</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Li</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Paja</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mylopoulos</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Horko</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Beckers</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          :
          <article-title>Holistic security requirements analysis: An attacker?s perspective</article-title>
          . In: Requirements Engineering Conference (RE),
          <year>2015</year>
          IEEE 23nd International, (to be published) (
          <year>2015</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Li</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Horko</surname>
          </string-name>
          , J.:
          <article-title>Dealing with security requirements for socio-technical systems: A holistic approach</article-title>
          . In: CAiSE'
          <fpage>14</fpage>
          . (
          <year>2014</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Ali</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Dalpiaz</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Giorgini</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          :
          <article-title>A goal-based framework for contextual requirements modeling and analysis</article-title>
          .
          <source>Requirements Engineering</source>
          <volume>15</volume>
          (
          <issue>4</issue>
          ) (
          <year>2010</year>
          )
          <volume>439</volume>
          {
          <fpage>458</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Moore</surname>
            ,
            <given-names>A.P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ellison</surname>
            ,
            <given-names>R.J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Linger</surname>
            ,
            <given-names>R.C.</given-names>
          </string-name>
          :
          <article-title>Attack modeling for information security and survivability</article-title>
          .
          <source>Technical report</source>
          , CMU-SEI-2001
          <source>-TN-001</source>
          . (
          <year>2001</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>