<!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>Automated Generation of Attack Routes for Service Security Analysis - A Preliminary Report</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Tong Li</string-name>
          <email>litong08@tsinghua.edu.cn</email>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Golnaz Elahi</string-name>
          <email>gelahi@cs.toronto.edu</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Lin Liu</string-name>
          <email>linliu@tsinghua.edu.cn</email>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Eric Yu</string-name>
          <email>yu@ischool.utoronto.ca</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Department of Computer Science, University of Toronto</institution>
          ,
          <country country="CA">Canada</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Faculty of Information, University of Toronto</institution>
          ,
          <country country="CA">Canada</country>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>School of Software, Tsinghua University</institution>
          ,
          <addr-line>Beijing, China, 100084</addr-line>
        </aff>
      </contrib-group>
      <fpage>57</fpage>
      <lpage>61</lpage>
      <abstract>
        <p>i* modeling has been used to characterize service-oriented computing in terms of intentional concepts such as agents, goals, dependencies, as well as services they provide or consume. The intentional models provide a rich basis for various security related reasoning, such as vulnerability analysis, attack and countermeasure evaluation, risk assessment, etc. In this work, we aim to explore a reasoning method over the i* models that goes beyond evaluating the satisfaction of security properties. We propose a service security modeling approach for automated generation of attack routes against a specific service. We analyze the security level for each service by using the resulting models. We aim to discover countermeasures and incorporate them into the security analysis process.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>The i* framework offers a tool box for modeling social, organizational, or software
system agents, their intentions, actions, and dependencies to other actors to achieve
their goals. The i* framework does not only provide a modeling notation, but also
offers a framework for thinking about systems and services: their goals, network of
dependencies, alternative strategies to satisfy the goals, etc. In addition, the resulting
models provide a rich basis for various types of reasoning.</p>
      <p>
        The same i* modeling elements can be reused for modeling different conceptual
entities such as business goals and processes [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ], software services [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ], software
requirements [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ], organizational or social relationships, knowledge entities [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ], the
law and regulatory [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ], security goals [
        <xref ref-type="bibr" rid="ref6 ref7">6,7</xref>
        ] security vulnerabilities [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ], and security
attacks [
        <xref ref-type="bibr" rid="ref6 ref8 ref9">6, 8, 9</xref>
        ].
      </p>
      <p>
        Consequently, the resulting models can be used in numerous different analysis
and reasoning approaches. For example, the i* security-related models have been
shown (or argued) to be useful for vulnerability analysis in social and organization
networks [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ], security risk assessment [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ], attack analysis [
        <xref ref-type="bibr" rid="ref6 ref8">6, 8</xref>
        ], security trade-off
decision analysis [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ], trust analysis in the chain of dependencies [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ], etc.
      </p>
      <p>In most of the existing work, a model of the system is developed and certain
properties under specific assumptions are checked. Several methods rely on goal
model evaluation techniques, which propagate satisfaction labels through the goal
graph to check the ultimate satisfaction status of the goals. We believe the reasoning
power over the i* models is not yet comprehensively explored. The i* models (with
light-weight security extensions) could be useful for other types of reasoning, beyond
checking some security properties. For example, the models supplied with enough
security knowledge could be used for discovering security vulnerabilities, attacks,
attack routes, critical entities, and countermeasures.</p>
      <p>In this work, we aim to take the reasoning over the i* models one step ahead, and
discover possible attack routes against a given service in the context of
ServiceOriented Architecture (SOA). Before adopting a security mechanism, there are many
questions to be answered: what are possible ways that a service can be attacked and
whether they can be avoided? Are the risks high enough to adopt defensive
techniques? A careful analysis of security threats at the early requirements analysis
phases, before design solution is decided, would prevent adoption of (unnecessary)
security mechanisms in an ad hoc way.</p>
      <p>In this work, we propose a service security modeling framework (SSMF) as well as
a reasoning method over the i* model to automatically identify the potential attack
routes to a particular service. An attack route includes a path of task decompositions
(AND/OR) and delegations to satisfy a top anti-service. In this method, the attacker is
treated as an agent in the service environment who can conduct reasoning to meet his
goals by using his capabilities. For example, the attacker composes several distributed
attack actions to meet his higher level attack goal. Ultimately, based on the resulting
attack routes, potential countermeasures are identified. The service compositions are
then assessed with the presence of discovered countermeasures. This iterative process
of identifying attack routes and countermeasures continues until the risk level of the
potential attacks is tolerable. This paper reports on the ongoing work toward the
discussed service security modeling framework (SSMF).
2</p>
    </sec>
    <sec id="sec-2">
      <title>Research Objective</title>
      <p>This work aims to analyze the system from the attackers’ point of view and discover
possible attack routes in a given service-oriented system. We model services using the
i* notation and express capabilities and requirements of each service provider and
consumer. Then, a hypothetical attacker is added to the service environment. The
attacker has malicious goals which threaten specific services in the service
environment. We use rule-based reasoning to assess whether the attacker can achieve
his malicious goals. The results of this reasoning would help us to decide if the risks
are high and whether security countermeasures are needed to prevent the attacks.</p>
      <p>The main objectives of this work are toward two main directions: our first goal is
to help security analysts to identify potential attack routes against a particular service.
Unlike the traditional risk propagation analysis that focuses on the effects of a specific
given risk, our method focuses on identifying the risks that threaten a specific given
service. To discover the attack routes, we treat the attacker as an agent in the service
environment who can conduct reasoning to meet his requirements using his own
capabilities or by delegating some services to other agents.
The other main objective of this work is to identify the required countermeasures
to defend the specific services from the attacks. The resulting attack routes are
checked to see whether the top malicious goals of the attacker are satisfied. Then a
number of counter attacks are added to service models of the actors which are under
the attacks. In another round of evaluation, the security goals of actors under the
attacks are assessed with the presence of discovered countermeasures. This iterative
process of identifying attack routes and countermeasures continues until the risk level
of potential attacks is tolerable.
3</p>
    </sec>
    <sec id="sec-3">
      <title>The Contribution: Service Security Modeling Framework</title>
      <p>
        In order to analyze the security problems in a service-oriented system and conduct
automatic reasoning, we need to model and formalize the service environment. Based
on the service requirements modeling ontology (SRMO) [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ], we introduce some
(security and service related) concepts and adjust basic concepts to aid security
analysis, and build a new framework SSMF.
      </p>
      <sec id="sec-3-1">
        <title>3.1 The SSMF Concepts</title>
        <p>The SSMF formally defines the required concepts for analyzing threats from the point
of view of the attacker. An actor denotes the one who carries out actions to fulfill its
requirements with its capabilities. Services denote tasks or goals which can be
required or provided in service environment. So services can be refined using
AND/OR decompositions. An actor may have some capabilities to provide some
services, or Require some services. In the latter, the actor can delegate his required
services to other actors. For security-specific analysis, the concept of malicious actor,
as a type of actor is considered. Malicious Actors focus on attacking other actors’
services. An attack is defined as a triple relation, which involves an actor, a malicious
task and a service (under the attack). Malicious tasks (or a non-malicious service)
may obstruct other services.</p>
        <p>Actors may have knowledge about certain facts, e.g., services, decomposition of a
service, who can provide a service, etc. The knowledge assumptions are later used for
attack reasoning and generating potential attack routes. To enable the reasoning and
generation of attack routes, we have defined three operations: add which inserts a new
piece of knowledge into the knowledge set of an actor; conduct which decomposes a
service; and satisfy which is used to represent an actor has satisfied has required
service.</p>
      </sec>
      <sec id="sec-3-2">
        <title>3.2 Service Security Analysis</title>
        <p>The concepts and operations introduced earlier would provide the bed to reason about
the possible attacks in a service-oriented setting. We have organized the service
security analysis into four steps: 1) Scenario and environment modeling; 2) Attack
goal identification; 3) Attack reasoning from the attacker’s point of view; 4) Attack
identification and assessment. Fig. 1 illustrates the discussed process for a search
service in the web environment.
1) Scenario and environment modeling. The first step in service security analysis is
to model the service environment, i.e. modeling the capabilities and required services
within the actors’ boundaries, modeling the interactions (delegation of services)
among the actors, and formalizing the knowledge each actor hold.</p>
        <p>2) Attack goal identification. In the next step, a number of services for which we
need to analyze attacks and the security level are selected. Then, the anti-services
against the target services are generated. These anti-services are added to a
hypothetical attacker which requires achieving the anti-services.</p>
        <p>3) Attack reasoning from the attacker’s point of view. Since attackers are external
entities and we do not have sure knowledge about their capabilities and level of
knowledge, we consider the worst possible case in which attackers have enough
knowledge in the service environment. In order to discover the attack routes and
assess whether an attacker is able to satisfy his ultimate anti-service requirements, we
define a number of reasoning rules. The predicates of these production rules are either
the specification of services’ refinement or available knowledge about possible
attacks. The reasoning rules are used to refine the anti-service into malicious tasks
and services, delegate the required malicious services of attackers to other actors, and
add a piece of knowledge to the attackers’ knowledge set. Finally, the satisfaction
propagation rule is used to check if the discovered attack route would ultimately
satisfy the top anti-services.</p>
        <p>4) Attack identification and assessment. Given the discovered attack routes, we can
assess the severity or probability of each possible attack route, and accordingly,
decide on proper countermeasures. If the attack reasoning cannot uncover a feasible
attack route, it proves that the target service is safe enough in the service environment.</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>Conclusions, Limitation, and Ongoing and Future Work</title>
      <p>This paper reports on an ongoing work to develop a reasoning method over i* models
analyzing the risks against a given services in a SOA setting. In this work, i*
models supplied with enough knowledge about the attacks are used for automatic
generation of possible attack routes. The results of the reasoning would enlighten the
required countermeasures to protect the services under the attack.</p>
      <p>However, the current reasoning method and the set of rules we have developed do
not support automatic discovery of the countermeasures. Besides, iterative analysis of
countermeasures and re-generation and assessment of possible attacks with the
presence of countermeasures is not yet incorporated into the method. The other
shortcoming of this work is focusing only on the attacks that obstruct a service and
make it unavailable. In real world, an attack may threaten integrity or confidentiality
of the data that is exchanged or produced by a service. Our next step is to formalize
the impacts of malicious tasks against integrity and confidentiality of services, and
define the required rules for automatic generation of attacks that threaten these two
properties. Finally, we aim to implement the proposed reasoning method using the
JESS reasoning engine which uses Rete algorithm to process rules and written in Java.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Grau</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <given-names>X.</given-names>
            <surname>Franch</surname>
          </string-name>
          , and
          <string-name>
            <given-names>N.A.M.</given-names>
            <surname>Maiden</surname>
          </string-name>
          ,
          <article-title>PRiM: An i*-based process reengineering method for information systems specification</article-title>
          .
          <source>Information and Software Technology</source>
          ,
          <year>2008</year>
          .
          <volume>50</volume>
          (
          <issue>1-2</issue>
          ): p.
          <fpage>76</fpage>
          -
          <lpage>100</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Wang</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          , et al.,
          <source>Building toward Capability Specifications of Web Services Based on an Environment Ontology. IEEE Trans. on Knowl. and Data Eng</source>
          .,
          <year>2008</year>
          .
          <volume>20</volume>
          (
          <issue>4</issue>
          ): p.
          <fpage>547</fpage>
          -
          <lpage>561</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Yu</surname>
            ,
            <given-names>E.S.K.</given-names>
          </string-name>
          ,
          <article-title>Towards Modeling and Reasoning Support for Early-Phase Requirements Engineering</article-title>
          ,
          <source>in Proc. of the 3rd IEEE Int. Symposium on Requirements Engineering</source>
          .
          <year>1997</year>
          , IEEE Computer Society. p.
          <fpage>226</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Strohmaier</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          , et al.,
          <string-name>
            <surname>Analyzing Knowledge Transfer Effectiveness--An</surname>
          </string-name>
          Agent-Oriented Modeling Approach,
          <source>in Proc. of the 40th Annual Hawaii International Conference on System Sciences</source>
          .
          <year>2007</year>
          , IEEE Computer Society. p.
          <year>188b</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Ghanavati</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Amyot</surname>
          </string-name>
          , and
          <string-name>
            <given-names>L.</given-names>
            <surname>Peyton</surname>
          </string-name>
          ,
          <article-title>Compliance Analysis Based on a Goal-oriented Requirement Language Evaluation Methodology</article-title>
          ,
          <source>in Proc. of Int. RE Conf., IEEE Computer Society</source>
          . p.
          <fpage>133</fpage>
          -
          <lpage>142</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Liu</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <given-names>E.</given-names>
            <surname>Yu</surname>
          </string-name>
          , and
          <string-name>
            <given-names>J.</given-names>
            <surname>Mylopoulos</surname>
          </string-name>
          .
          <article-title>Security and privacy requirements analysis within a social setting</article-title>
          ,
          <source>in Proc. of Int. RE Conf</source>
          .,
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Elahi</surname>
            , G. and
            <given-names>E.</given-names>
          </string-name>
          <string-name>
            <surname>Yu</surname>
          </string-name>
          ,
          <article-title>Modeling and analysis of security trade-offs - A goal oriented approach</article-title>
          .
          <source>Data Knowl. Eng.</source>
          ,
          <year>2009</year>
          .
          <volume>68</volume>
          (
          <issue>7</issue>
          ): p.
          <fpage>579</fpage>
          -
          <lpage>598</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Elahi</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <given-names>E.</given-names>
            <surname>Yu</surname>
          </string-name>
          , and
          <string-name>
            <given-names>N.</given-names>
            <surname>Zannone</surname>
          </string-name>
          ,
          <article-title>A vulnerability-centric requirements engineering framework: analyzing security attacks, countermeasures, and requirements based on vulnerabilities</article-title>
          .
          <source>REJ</source>
          ,
          <year>2010</year>
          .
          <volume>15</volume>
          (
          <issue>1</issue>
          ): p.
          <fpage>41</fpage>
          -
          <lpage>62</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Matulevičius</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          , et al.,
          <source>Adapting Secure Tropos for Security Risk Management in the Early Phases of Information Systems Development</source>
          .
          <year>2008</year>
          . p.
          <fpage>541</fpage>
          -
          <lpage>555</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Giorgini</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          , et al.,
          <source>Modeling Security Requirements Through Ownership, Permission and Delegation</source>
          ,
          <source>in Proc. of Int. Conf. on RE</source>
          .
          <year>2005</year>
          , IEEE Computer Society. p.
          <fpage>167</fpage>
          -
          <lpage>176</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Liu</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          , et al.,
          <article-title>Towards a service requirements modelling ontology based on agent knowledge and intentions</article-title>
          .
          <source>International Journal of Agent-Oriented Software Engineering</source>
          ,
          <year>2008</year>
          .
          <volume>2</volume>
          (
          <issue>3</issue>
          ): p.
          <fpage>324</fpage>
          -
          <lpage>349</lpage>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>