<!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>
      <journal-title-group>
        <journal-title>SCME,
Project Exhibitions, Posters and Demos, and Doctoral Consortium, November</journal-title>
      </journal-title-group>
    </journal-meta>
    <article-meta>
      <title-group>
        <article-title>Towards model-driven generation of secure workflow designs using patterns</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Sotirios Liaskos</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Ibrahim Jaouhar</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Shakil M. Khan</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Department of Computer Science, University of Regina</institution>
          ,
          <addr-line>Regina</addr-line>
          ,
          <country country="CA">Canada</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>School of Information Technology, York University</institution>
          ,
          <addr-line>Toronto</addr-line>
          ,
          <country country="CA">Canada</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2023</year>
      </pub-date>
      <volume>0</volume>
      <fpage>6</fpage>
      <lpage>09</lpage>
      <abstract>
        <p>Identifying and analyzing security requirements is considered to be an essential part of the requirements engineering process. Several techniques have been introduced for capturing and modeling such requirements. Once identified, security requirements must be translated into designs that suggest how domain actors can securely fulfill operational goals under varying contexts and risk assumptions. We propose a model-driven approach for automatically generating workflows that fulfill information exchange goals while complying with specified security requirements. Goal-oriented security requirements models, augmented with descriptions of contextual and threat assumptions, are combined with reusable domain-agnostic workflow patterns, which model ways for securely performing common information exchange tasks. The resulting combined models are used by an automated reasoner to generate workflows that meet security requirements. The approach and toolset can be used by requirements analysts to systematically generate secure designs from requirements, in a way that relies less on their technical expertise in security and more on established best practices embodied in the patterns. We present the basic components of our approach via examples and describe future research directions.</p>
      </abstract>
      <kwd-group>
        <kwd>eol&gt;Information Security</kwd>
        <kwd>Goal Modeling</kwd>
        <kwd>STS-ml</kwd>
        <kwd>AI Planning</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
      <p>
        Identifying and analyzing security requirements has long been considered to be an essential
part of the requirements analysis process [
        <xref ref-type="bibr" rid="ref1 ref2">1, 2</xref>
        ]. A wealth of techniques for modeling such
requirements have been proposed, aimed at allowing their precise description, documentation,
and communication [
        <xref ref-type="bibr" rid="ref3 ref4 ref5">3, 4, 5</xref>
        ]. However, following capture of security requirements, a system
design must be developed that, on one hand, satisfies stakeholder requirements completely and,
on the other hand, complies with widely accepted security standards. Of particular interest are
often cryptographic primitives that need to be used in specific ways in order to support the
secure exchange of information – business documents, transactions, etc. Analysts, designers,
and users with limited understanding of cryptography or access to experts, may be prone to
erroneous uses of these primitives and/or misconceptions as to what they guarantee.
t
s
y
l
a
n
A
t
e
s
l
o
o
T
      </p>
      <sec id="sec-1-1">
        <title>Develop 1</title>
        <sec id="sec-1-1-1">
          <title>Requirements</title>
        </sec>
        <sec id="sec-1-1-2">
          <title>Models</title>
        </sec>
      </sec>
      <sec id="sec-1-2">
        <title>Enrich with 2</title>
        <sec id="sec-1-2-1">
          <title>Security</title>
        </sec>
        <sec id="sec-1-2-2">
          <title>Requirements</title>
        </sec>
      </sec>
      <sec id="sec-1-3">
        <title>Identify Domain 3</title>
        <p>and Vulnerability</p>
        <sec id="sec-1-3-1">
          <title>Assumptions</title>
          <p>iStar Model
Recommended
Workflow Design
6</p>
        </sec>
        <sec id="sec-1-3-2">
          <title>Reason</title>
          <p>STS-ml
Information Model
AI
Planning Spec
Assumptions</p>
          <p>Model</p>
        </sec>
        <sec id="sec-1-3-3">
          <title>Compile</title>
          <p>5</p>
          <p>Secure
Workflow Patterns</p>
          <p>Attack Tree</p>
          <p>Patterns</p>
          <p>We propose a model-based framework for systematically generating cryptography-enabled
business workflows that domain actors can follow in order to fulfill their information exchange
goals while also satisfying security requirements. The framework depends on the availability
of expertly developed patterns that describe families of workflows for fulfilling common
information exchange tasks. Security requirements are captured using a goal-oriented security
requirements modeling language and analyzed via the development of attack trees that can
compromise them, while the level of sophistication of the attacks to be defended against is
captured though a set of vulnerability assumptions. The developed models are combined and
translated in an automatable way into an Artificial Intelligence (AI) planning specification and
an AI planner is used to automatically identify workflows that indicate security steps domain
actors need to take while fulfilling information exchange goals. Using such a tool, designers
can develop business workflows in a systematic, requirements-driven way, while respecting the
properties and limitations of the security primitives their designs employ.</p>
        </sec>
      </sec>
    </sec>
    <sec id="sec-2">
      <title>2. Approach and significance</title>
      <p>Consider the example of a small-sized residential building contractor requesting quotes,
submitting orders, and sending payments to various material suppliers. Typically, the contractor
submits orders for materials, and once the materials have been delivered, an invoice is sent with
a payment information, often in the form of a bank account number for sending a wire transfer.
The contractor performs such interactions via email, which, however, introduces several threats,
including the submission and fulfillment of unauthorized orders through spoofing, and invoice
fraud, i.e., submission of a tampered invoice, where the payment information has been altered.</p>
      <p>The proposed framework is aimed at allowing analysts or IT support professionals who work
with clients such as the above contractor to systematically generate secure workflow designs
to fulfill information exchange needs of their clients, without having in-depth knowledge of
the involved security technologies. An overview can be seen in Figure 1. The analysts go
through a sequence of steps for developing goal models describing the specific information
exchange needs (Step 1) and enriching them with additional security requirements (Step 2), and
assumptions describing the level of attack to be protected against (Step 3). Having captured
these requirements, analysts match elements of the domain-specific models with generic secure
workflow and attack tree patterns from a collection of such developed and supported by the
community of experts (Step 4). The enriched models and the patterns are then transformed
into a formal specification in a way that can be automated (Step 5). From this specification an
automated reasoner generates a workflow (Step 6) which includes the steps necessary for the
performance of the information exchange tasks, appropriately enriched with cryptographic
tasks to attain the captured security goals. We ofer more details about these steps below.</p>
      <p>
        Steps 1 and 2: Goal Models and Security Requirements. We adopt iStar 2.0 [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] for
capturing general functional and quality requirements and the social view of STS-ml
(SocioTechnical Security modeling language [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]) for modeling the security aspects. In our example, the
requirements model may include information exchange goals such as Send Invoice to Contractor,
annotated with security service requirements such as Confidentiality , Integrity, or Authentication.
      </p>
      <p>Step 3: Domain and vulnerability assumptions. Predicates are added representing two
kinds of assumptions. Domain assumptions are practical aspects of the domain that may afect
the applicability of security controls or attacks against them, such as HasEmailAddress(contractor,
supplier) or DigitalFile(invoice). Vulnerability assumptions represent worst-case states of afairs
in which possible attacks have been successfully carried out. For instance, we may assume
that the supplier’s email account will eventually be compromised (IsCompromised(supplier,
emailAccount)) or that their terminal will be hacked (HasRootkit(supplier, cellphone)). Asserting
a vulnerability assumption indicates that an attacker is motivated enough to bear the cost of
the corresponding attack given the business context and the anticipated benefit.</p>
      <p>
        Step 4: Integrate Patterns. A number of security workflow patterns embodying best practices
for fulfilling information exchange requirements are assumed to be available for adoption and use.
Each such pattern is identified by a generic functional goal, such as Transmit Document [Sender,
Recipient, Document], which is decomposed into an AND/OR goal tree that describes alternative
ways to fulfill the goal under various levels of security (from insecure to very secure). During
matching, analysts simply connect their domain specific information exchange goals, such as
Send Invoice to Contractor into an appropriately instantiated pattern root – in our case, Transmit
Document [supplier, contractor, invoice]. In addition, a set of expert/community maintained
attack trees [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] are available for adoption. These are goal decompositions describing attack
strategies against the workflow objective ( Transmit Document) with respect to the diferent
security services, such as Confidentiality or Integrity, we saw above. Based on what services
are relevant for the information exchange task at hand (Step 2), the appropriate attack tree is
picked and incorporated, e.g., Compromise Integrity [Sender, Recipient, Document] for Integrity.
      </p>
      <p>
        Steps 5 and 6: Compile and Reason. The information gathered in the above steps is
compiled into an AI planning specification that allows automated extraction of a workflow that
(a) fulfills the information exchange requirement and, (b) picks a workflow pattern instantiation
that makes the attack tree corresponding to the required security service under the specified
vulnerability and domain assumptions infeasible. We utilize a Hierarchical Task Network (HTN)
Planner, SHOP2 [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]. Compilation is based on a set of automatable formal translation rules. The
output of the planner is a sequence of actions corresponding to the leaf level tasks of a solution
to the workflow pattern decomposition tree that the planner deems suitable under the given
security requirements and vulnerability assumptions.
      </p>
      <p>
        Examples. In our invoice exchange example, assume that we want protection against
unauthorized altering of the document – e.g., unauthorized change of the bank account to
which payment must be made. The corresponding security service requirement, Integrity, is
specified in the part of the STS-ml model that describes this exchange (Step 2). Subsequently,
the workflow pattern Transmit Document [supplier, contractor, invoice] and the associated attack
tree concerned with integrity Compromise Integrity [supplier, contractor, document] are adopted
(Step 4). The reasoner (Steps 5 and then 6) will produce workflows in the form of recommended
task sequences. The level of security in these workflows, however, depends on the vulnerability
and domain assumptions (Step 3). If we make no vulnerability assumptions, a simple plan
that involves emailing the invoice in plaintext may be recommended – the most usable option.
However, we may assume that there are actors motivated and able to perform the attack. One
attacker approach is to compromise the sender’s and/or recipient’s email accounts to allow
tampering to happen. We hence assume that email accounts are vulnerable. In that case, the
reasoner will sacrifice usability and recommend participants to digitally sign and verify the
invoice after also engaging in key generation and exchange tasks. If, on the other hand, the
Confidentiality service was deemed needed at the STS-ml level, plans will include encryption and
decryption of the message. Importantly, the type of authentication and encryption techniques
(symmetric or asymmetric) may depend on the presence of a secure channel for exchanging a
secret key or practical aspects such as the software available at each side, represented through
vulnerability and domain assumptions, respectively. Examples showing more framework details
and how exactly the reasoning output looks like can be found in the associated repository [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ].
      </p>
    </sec>
    <sec id="sec-3">
      <title>3. Solution maturity and vision</title>
      <p>
        The proposed framework aims at systematizing and automating generation of secure business
workflow designs that are compliant to given security requirements, sound from a security
perspective, and minimal vis-à-vis the security goals and threats – i.e., they do not include
usability-compromising security steps that are unnecessary. Our approach extends existing
methods for goal-oriented modeling and reasoning with security requirements, e.g., [
        <xref ref-type="bibr" rid="ref10 ref4">4, 10</xref>
        ], by
including implementation concerns within its scope. A similar approach, but with a focus on
architectural design, has been proposed within the UMLSec context [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ]. The use of patterns
has otherwise been restricted to requirements or high-level design [
        <xref ref-type="bibr" rid="ref12 ref3">3, 12</xref>
        ] rather than workflow
detail. On the other hand, the rich literature on formal verification of security protocols (e.g.,
[
        <xref ref-type="bibr" rid="ref13">13</xref>
        ]) typically leaves requirements and context outside its scope. Finally, AI planners have been
used for generating attack plans [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ], rather than security designs as we do here.
      </p>
      <p>
        Our so far work has focused on employing basic cryptographic primitives for information
exchange, where we have been able to generate proof-of-concept patterns and reasoning
scenarios – see [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]. However, the same approach can potentially be applied to a variety of
security concerns, with a wider range of security- and privacy-enabling primitives and actions,
and for diferent use scenarios such as software design or business process design.
      </p>
      <p>There are some key challenges in realizing this vision. One is identifying the right level of
model expressiveness while keeping automated reasoning tractable. The latter can be assisted
by stronger search control ofered by both HTNs and alternative reasoning systems through,
e.g., explicating exemplar workflows versus leaving the reasoner to construct such. A second
challenge is to establish a range of patterns and generic attack trees that are valid with respect
to the security techniques they represent. This step requires consultation with experts and the
literature, followed by testing of the reasoning outputs for correctness. Finally, critical to the
empirical evaluation and application of the framework is the development of tools both for
usable model development and synthesis and for fully automating the translation component.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>F.</given-names>
            <surname>Dalpiaz</surname>
          </string-name>
          , E. Paja,
          <string-name>
            <given-names>P.</given-names>
            <surname>Giorgini</surname>
          </string-name>
          , Security Requirements Engineering: Designing Secure
          <string-name>
            <surname>Socio-Technical</surname>
            <given-names>Systems</given-names>
          </string-name>
          , MIT Press,
          <year>2016</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>H.</given-names>
            <surname>Mouratidis</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Giorgini</surname>
          </string-name>
          , Secure Tropos:
          <article-title>A Security-Oriented Extension of the Tropos Methodology, Int</article-title>
          .
          <source>Journal of Software Engineering and Knowledge Eng</source>
          .
          <volume>17</volume>
          (
          <year>2007</year>
          )
          <fpage>285</fpage>
          -
          <lpage>309</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>T.</given-names>
            <surname>Li</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E.</given-names>
            <surname>Paja</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Mylopoulos</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Horkof</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Beckers</surname>
          </string-name>
          ,
          <article-title>Security Attack Analysis using Attack Patterns</article-title>
          ,
          <source>in: Proceedings of the 10th IEEE International Conference on Research Challenges in Information Science (RCIS'16)</source>
          , Grenoble, France,
          <year>2016</year>
          , pp.
          <fpage>1</fpage>
          -
          <lpage>13</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>F.</given-names>
            <surname>Massacci</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Mylopoulos</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Zannone</surname>
          </string-name>
          ,
          <article-title>Security requirements engineering: The SI* modeling language and the Secure Tropos methodology</article-title>
          ,
          <source>Studies in Computational Intelligence</source>
          <volume>265</volume>
          (
          <year>2010</year>
          )
          <fpage>147</fpage>
          -
          <lpage>174</lpage>
          . doi:
          <volume>10</volume>
          .1007/978-3-
          <fpage>642</fpage>
          -05183-
          <issue>8</issue>
          _
          <fpage>6</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>E.</given-names>
            <surname>Paja</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Dalpiaz</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Giorgini</surname>
          </string-name>
          ,
          <article-title>Modelling and reasoning about security requirements in socio-technical systems</article-title>
          ,
          <source>Data and Knowledge Engineering</source>
          <volume>98</volume>
          (
          <year>2015</year>
          )
          <fpage>123</fpage>
          -
          <lpage>143</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>F.</given-names>
            <surname>Dalpiaz</surname>
          </string-name>
          ,
          <string-name>
            <given-names>X.</given-names>
            <surname>Franch</surname>
          </string-name>
          ,
          <source>J. Horkof, iStar 2.0 Language Guide, The Computing Research Repository (CoRR) abs/1605</source>
          .0 (
          <year>2016</year>
          ). URL: http://arxiv.org/abs/1605.07767. arXiv:
          <volume>1605</volume>
          .
          <fpage>07767</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>B.</given-names>
            <surname>Schneier</surname>
          </string-name>
          ,
          <source>Attack Trees: Modelling Security Threats</source>
          ,
          <year>1999</year>
          . URL: https://www.schneier. com/academic/archives/1999/12/attack_trees.
          <source>html.</source>
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>D. S.</given-names>
            <surname>Nau</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T. C.</given-names>
            <surname>Au</surname>
          </string-name>
          ,
          <string-name>
            <given-names>O.</given-names>
            <surname>Ilghami</surname>
          </string-name>
          ,
          <string-name>
            <given-names>U.</given-names>
            <surname>Kuter</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J. W.</given-names>
            <surname>Murdock</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Wu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Yaman</surname>
          </string-name>
          ,
          <article-title>SHOP2: An HTN Planning System</article-title>
          ,
          <source>Journal of Artificial Intelligence Research (JAIR) 20</source>
          (
          <year>2003</year>
          )
          <fpage>379</fpage>
          -
          <lpage>404</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>S.</given-names>
            <surname>Liaskos</surname>
          </string-name>
          ,
          <article-title>SecureFuse: model-driven generation of secure workflow designs using security implementation patterns - Code Repo</article-title>
          , https://github.com/cmg-york/secure-fuse/,
          <year>2022</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>V.</given-names>
            <surname>Bryl</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Massacci</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Mylopoulos</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Zannone</surname>
          </string-name>
          ,
          <article-title>Designing security requirements models through planning</article-title>
          ,
          <source>in: Proceedings of the 18th International Conference on Advanced Information Systems Engineering (CAiSE'06)</source>
          , Luxembourg, Luxembourg,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>H.</given-names>
            <surname>Schmidt</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Jürjens</surname>
          </string-name>
          ,
          <article-title>Connecting Security Requirements Analysis and Secure Design using Patterns and UMLsec</article-title>
          ,
          <source>in: Proceedings of the 23rd International Conference on Advanced Information Systems Engineering (CAiSE'11)</source>
          , London, UK,
          <year>2011</year>
          , pp.
          <fpage>367</fpage>
          -
          <lpage>382</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>M.</given-names>
            <surname>Weiss</surname>
          </string-name>
          , H. Mouratidis,
          <article-title>Selecting security patterns that fulfill security requirements</article-title>
          ,
          <source>in: Proceedings of the 16th IEEE International Requirements Engineering Conference (RE'08)</source>
          , Barcelona, Spain,
          <year>2008</year>
          , pp.
          <fpage>169</fpage>
          -
          <lpage>172</lpage>
          . doi:
          <volume>10</volume>
          .1109/RE.
          <year>2008</year>
          .
          <volume>32</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>C.</given-names>
            <surname>Meadows</surname>
          </string-name>
          ,
          <article-title>Formal methods for cryptographic protocol analysis: Emerging issues and trends</article-title>
          ,
          <source>IEEE Journal on Selected Areas in Communications</source>
          <volume>21</volume>
          (
          <year>2003</year>
          )
          <fpage>44</fpage>
          -
          <lpage>54</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <given-names>M. S.</given-names>
            <surname>Boddy</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Gohde</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Haigh</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S. A.</given-names>
            <surname>Harp</surname>
          </string-name>
          ,
          <article-title>Course of action generation for cyber security using classical planning</article-title>
          ,
          <source>in: In Proc. of the 15th International Conference on Automated Planning and Scheduling (ICAPS</source>
          <year>2005</year>
          ), AAAI, Monterey, California, USA,
          <year>2005</year>
          , pp.
          <fpage>12</fpage>
          -
          <lpage>21</lpage>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>