<!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>W. Xiong); shacks@kth.se (S. Hacks); robertl@kth.se (R. Lagerström)</journal-title>
      </journal-title-group>
    </journal-meta>
    <article-meta>
      <title-group>
        <article-title>A Method for Quality Assessment of Threat Modeling Languages: The Case of enterpriseLang</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Wenjun Xiong</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Simon Hacks</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Robert Lagerström</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>School of Electrical Engineering and Computer Science, KTH Royal Institute of Technology</institution>
          ,
          <addr-line>Stockholm</addr-line>
          ,
          <country country="SE">Sweden</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Southern University of Denmark</institution>
          ,
          <country country="DK">Denmark</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2021</year>
      </pub-date>
      <volume>000</volume>
      <fpage>0</fpage>
      <lpage>0003</lpage>
      <abstract>
        <p>Enterprise systems are growing in complexity, and the adoption of cloud and mobile services has greatly increased the attack surface. To proactively address these security issues in enterprise systems, a threat modeling language for enterprise systems called enterpriseLang was proposed. It is a domain-specific language (DSL) designed using the Meta Attack Language (MAL) framework and focuses on describing system assets, attack steps, defenses, and asset associations. The threat models can serve as input for attack simulations to analyze the behavior of attackers within the system. However, whether and to what extent the functionality of these threat modeling languages is achieved has not been addressed. To ensure the correct functionality of threat modeling languages, this paper proposes a method to assess the quality of such languages and illustrates its application using enterpriseLang.</p>
      </abstract>
      <kwd-group>
        <kwd>eol&gt;Threat modeling</kwd>
        <kwd>Attack simulations</kwd>
        <kwd>Domain-specific language</kwd>
        <kwd>Design guidelines</kwd>
        <kwd>Test coverage</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
      <p>Enterprise systems are growing in complexity and are becoming more and more connected.
Such connected systems can increase flexibility and productivity while also introducing security
threats. Recent years saw some of the largest, most sophisticated, and most severe cyber
attacks, such as the SolarWinds attack1 and the Florida water supply attack2, and the Facebook
information leak3, which afected millions of consumers and thousands of businesses.</p>
      <p>
        To proactively deal with these security issues, threat modeling [
        <xref ref-type="bibr" rid="ref1 ref2">1, 2</xref>
        ] is one approach that
includes identifying the main assets within a system and threats to these assets. The approach
can be used to both assess the current state of a system and as a security-by-design tool for
developing secure systems and software. These threat models can serve as input for attack
simulations, which are used to analyze the behavior of attackers within the system [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ], and
provide probabilistic security evaluations [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]. Based on such objective evaluations, security
controls can be prioritized and implemented to counter anticipated threats.
      </p>
      <p>
        Previously, a domain-specific language (DSL) called enterpriseLang [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] was designed. It
is based on the Meta Attack Language (MAL) framework [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ], which allows for analyzing
weaknesses related to known attack techniques and providing mitigation suggestions for these
attacks. Therefore, stakeholders of an enterprise can assess threats to their enterprise IT
environment and analyze what security settings could be implemented to secure the system
more efectively.
      </p>
      <p>
        However, designing a MAL-based DSL is like any other complex task that is sometimes
error-prone and usually time-consuming, especially if the language shall be of high-quality
and comfortably usable [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]. To ensure the quality and usability of threat modeling languages,
established DSL design guidelines can be applied to assist in language development [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ], and
automated tests based on threat models can be designed to check if the designed language
behaves as expected [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. In this paper, we propose a method to assess the quality of MAL-based
DSLs exemplified with enterpriseLang. First, we compare a set of DSL design guidelines to the
development of enterpriseLang as a qualitative assessment. Then, we calculate the test coverage
of enterpriseLang to estimate how much of the assets, attack steps, edges, and defenses are
covered by existing test cases.
      </p>
      <p>The remainder of this paper is structured as follows. In Section 2 and Section 3, we address
the related work and the background. Our proposed method is presented in Section 4. In
Section 5, we address the qualitative assessment of enterpriseLang, and in Section 6, we address
the quantitative assessment. Our work is discussed in Section 7 and concluded in Section 8.</p>
    </sec>
    <sec id="sec-2">
      <title>2. Related Work</title>
      <p>
        Our work relates to the evaluation of DSLs, which has been addressed previously in qualitative
and quantitative manner. Rodrigues et al. [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] conducted a systematic literature review (SLR) on
the usability evaluation of DSLs, where the techniques identified include software engineering
evaluation methods e.g., case studies [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] and experiential studies [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ], and usability evaluation
methods such as usability tests [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] and heuristic evaluations [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ]. Venable et al. [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ] proposed
an extended design science research (DSR) evaluation framework for assessment of design
artifacts, such as DSLs, and pointed out some methods that can be used for evaluation, including
observational, analytical, experimental, and testing methods [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ]. Haugen et al. [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ] presented
a structured questionnaire based on three dimensions of a DSL, including expressiveness,
transparency, and formalization.
      </p>
      <p>
        There are also a number of empirical evaluations of model-based threat analysis approaches.
For example, to empirically validate the STRIDE framework, Scandariato et al. [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ] performed
a descriptive study to determine the completeness of the security analysis results. Similarly,
Wuyts et al. [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ] presented empirical studies to evaluate a privacy threat analysis methodology
called LINDDUN.
      </p>
      <p>
        Some modeling and simulation languages and related approaches have addressed the
evaluation and validation explicitly. For example, coreLang [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ] was developed as a simulation
language for general IT domains. It was evaluated through tests, a series of brainstorming
sessions with domain modelers, and with known cyber attack scenarios. powerLang [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ] was
proposed as a probabilistic attack simulation language for the power domain and was validated
using a known cyber attack. vehicleLang [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ] was designed to model vehicle IT infrastructure,
and it was evaluated by performing an SLR to identify possible attacks against vehicles, which
then served as a blueprint for test cases. pwnPr3d [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ] was proposed as a threat modeling
approach for automatic attack graph generation based on network modeling and addressed
its validation by thorough experimentation of real-life systems (e.g., in-depth modeling of the
UNIX operating system). CySeMoL [
        <xref ref-type="bibr" rid="ref20">20</xref>
        ] was proposed as a cyber security modeling language for
enterprise-level system architectures and was validated through a test comparing the CySeMoL
assessments with the assessments of security professionals.
      </p>
    </sec>
    <sec id="sec-3">
      <title>3. Background</title>
      <sec id="sec-3-1">
        <title>3.1. Introduction to MAL</title>
        <p>
          MAL is a language framework that serves as a basis to develop DSLs for modeling systems,
threats, and attacks in diferent domains, and generates attack graphs from the models [
          <xref ref-type="bibr" rid="ref4">4</xref>
          ]. Such
a language defines what information is required and specifies the generic attack logic about the
domain studied.
        </p>
        <p>To create a MAL-based language, the first thing is to identify all relevant assets and their
associations within a particular domain. Each asset contains multiple attack steps, representing
real threats. A compromised attack step can lead to (represented by –&gt;) a next attack step,
where each attack step is either of type OR (represented by |) or AND (represented by &amp;). OR
indicates that an attacker can work on this attack step as soon as one of its parent attack steps is
compromised, while AND indicates that all its parent attack steps must be compromised for an
attacker to reach this step. An asset may also feature defenses (represented by #). The sum of
attack paths is the attack/defense graph used for the attack simulation. Also, assets can inherit
from each other, which means that an inherited asset inherits all attack steps and defenses of its
parent asset (unless explicitly stated otherwise).</p>
      </sec>
      <sec id="sec-3-2">
        <title>3.2. A MAL-based Language for Enterprise Systems</title>
        <p>
          Based on the MAL framework, enterpriseLang [
          <xref ref-type="bibr" rid="ref5">5</xref>
          ] was designed for modeling attacks on
enterprise IT systems. The enterpriseLang metamodel visualizing its assets and associations can be
found in Figure 1. In total, enterpriseLang contains 22 assets, including 12 main assets and 10
inherited assets, which represent the fundamental components in enterprise systems.
        </p>
        <p>
          The attack steps and defenses for each asset were extracted from the MITRE Enterprise
ATT&amp;CK Matrix4. The links between attack steps and defenses reflect possible transitions of an
attacker among diferent assets. By using available tools (i.e., securiCAD [
          <xref ref-type="bibr" rid="ref22">22</xref>
          ]), enterpriseLang
enables attack simulations on its system model instances, and the simulation results can be
used to assess the current state of a system (e.g., the most vulnerable asset within the system)
and foster a higher degree of resilience against cyber attacks by simulating the impact of new
defenses and architectural changes.
        </p>
        <sec id="sec-3-2-1">
          <title>InternalNetwork * Connects *</title>
        </sec>
        <sec id="sec-3-2-2">
          <title>ExternalNetwork * Connects *</title>
          <p>CloudService</p>
          <p>Extends
ThirdpartySoftware Extends</p>
          <p>Firewall
1
Protects
1
Router
Browser
Acc*esses</p>
          <p>*
Service</p>
          <p>PeripheralDevice</p>
          <p>*
Serves</p>
          <p>*
* Connects* Computer *</p>
          <p>1
Operates</p>
          <p>*
* Runs 1 OS</p>
          <p>Extends</p>
          <p>Extends
Extends</p>
          <p>Webcam</p>
          <p>Uses
1 Accesses</p>
          <p>Microphone
RemovableMedia
*</p>
          <p>User</p>
          <p>1
* UserAccount *</p>
          <p>Manages**
* AdminAccount *</p>
          <p>LogsIn
Extends</p>
          <p>Extends</p>
          <p>Extends
Windows</p>
          <p>Linux</p>
          <p>MacOS</p>
          <p>Extends
WindowsAdmin</p>
          <p>Extends</p>
          <p>Root</p>
          <p>
            To evaluate enterpriseLang, test cases are developed to check if the attack simulations
executed by enterpriseLang behave as expected, and attacks and potential defenses are modeled
accurately.
4. Research Method
enterpriseLang was developed according to the DSR guidelines of Pefers et al. [
            <xref ref-type="bibr" rid="ref23">23</xref>
            ]. To ensure
the correct functionality of enterpriseLang and foster better quality, we investigate if the
language development process follows the established DSL design guidelines as a qualitative
assessment. The evaluation process of enterpriseLang corresponds to the fifth step of the overall
design process [
            <xref ref-type="bibr" rid="ref23">23</xref>
            ]. According to Pefers et al. [
            <xref ref-type="bibr" rid="ref23">23</xref>
            ], the evaluation step involves observing
and measuring how successfully an artifact is created as a solution for the identified problem.
Five methods can be used to evaluate the designed artifacts, namely, observations, analysis,
experiments, tests, and descriptions [
            <xref ref-type="bibr" rid="ref12">12</xref>
            ].
          </p>
          <p>
            To evaluate if a design artifact can achieve DSR goals and objectives, the evaluation process
can be divided into two dimensions: 1) the functional purpose of the evaluation, and 2) the
paradigm of the evaluation study [
            <xref ref-type="bibr" rid="ref24">24</xref>
            ]. The first dimension refers to why to evaluate, where the
functional purpose of formative evaluations is to help improve the outcomes of the process, and
the functional purpose of summative evaluations is to judge to what degree the outcomes match
expectations. The second dimension refers to how to evaluate, where the artificial evaluation
includes laboratory experiments, simulations, mathematical proofs, and naturalistic evaluation
methods including case studies, field studies, and surveys.
          </p>
          <p>
            To address these dimensions, we apply guidelines collected for developing DSLs [
            <xref ref-type="bibr" rid="ref25">25</xref>
            ]
addressing the diferent stages of action design research (ADR) [
            <xref ref-type="bibr" rid="ref26">26</xref>
            ], as shown in Figure 2. The
guidelines were systematically collected and structured based on an ongoing work [
            <xref ref-type="bibr" rid="ref25">25</xref>
            ], which
are established DSL design guidelines and can describe the best practices for designing DSLs of
high quality. For analytical evaluation of enterpriseLang and focusing on static analysis, we
propose to compare its development process to the aforementioned set of DSL guidelines as a
qualitative assessment. To ensure the correct functionality of the attack simulations produced
by enterpriseLang, we propose to use a structured testing method as a quantitative assessment
(developing enterpriseLang is similar to developing source code). Specifically, we calculate the
test coverage of enterpriseLang using the method proposed by Hersén et al. [
            <xref ref-type="bibr" rid="ref3">3</xref>
            ]. The calculated
test coverage percentage reflects what parts of the language that have not been fully tested yet
and thus may function wrongly, and the results would indicate if more test cases are needed.
          </p>
        </sec>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>5. Qualitative Assessment</title>
      <p>In this section, we related the DSL guidelines presented in Figure 2 to the development of
enterpriseLang as a qualitative assessment, and the result is shown in Table 1.</p>
      <p>Stage 1 – Problem Formulation Regarding Stage 1, enterpriseLang was developed to assess
the security level of enterprise systems and support analysis of the security settings that can be
implemented to secure the system efectively (G-1.1). The problem that enterpriseLang tries to
solve can be categorized as a problem-specific type (G-1.3).</p>
      <p>Stage 2 – Building, Intervention, and Evaluation Regarding Stage 2, enterpriseLang was
designed based on the MITRE ATT&amp;CK Matrix and tried to cover all the adversary techniques
and mitigations contained within the matrix (G-2.1), while it was not further detailed for a
specific enterprise system. Therefore, it adopts existing domain terms from the MITRE ATT&amp;CK
Matrix for enterprise systems (G-2.16), and there was no direct stakeholder involvement. Finally,
regarding the evaluation of enterpriseLang, both unit tests and integration tests (G-2.15) were
used to ensure the correct functionality of the language and demonstrated by two real-world
attack cyber attacks.</p>
      <p>Stage 3 – Reflection and Learning Because there were no activities conducted between the
language developers and stakeholders and no learning activities, Stage 3 has not been addressed
in the development of enterpriseLang.</p>
      <p>Stage 4 – Formalization of Learning Regarding Stage 4, enterpriseLang was designed
following the DSR guidelines (G-4.2) with the following steps: 1) Identify Problem &amp;
Motivate, 2) Define Objectives, 3) Design &amp; Development, 4) Demonstration 5) Evaluation, and 6)
Communication.</p>
      <p>To reflect on the development process of enterpriseLang, there is an opportunity for
improvement, where the guidelines that are not fulfilled by enterpriseLang should be further
investigated. Especially, stakeholders should be involved during the development process of
enterpriseLang, which could help to increase the usability of enterpriseLang and the actual
application of security measures for stakeholders.</p>
    </sec>
    <sec id="sec-5">
      <title>6. Quantitative Assessment</title>
      <p>To validate enterpriseLang, test cases were designed to check its desired behavior. The tests
confirm that the attack simulations run by enterpriseLang behave as expected and that attacks
and potential mitigations are modeled accurately. However, to what degree these test cases
cover the completeness of the language has not been evaluated.</p>
      <p>
        Hence, we apply the test coverage method proposed by Hersén et al. [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ], where common
structural software testing methods were transferred to work with threat models and the
generated simulation data. The statement coverage, branch coverage, and interface-based input
domain modeling in source code testing [
        <xref ref-type="bibr" rid="ref27">27</xref>
        ] were transferred to attack step coverage, edge
coverage, and defense coverage. A metric for asset coverage was also proposed for computing
the percentage of compromised assets during an attack simulation [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ].
      </p>
      <p>The attack step coverage refers to the percentage of the compromised attack steps covered in
an attack simulation. The asset coverage refers to the percentage of compromised assets during
an attack simulation, where full asset coverage represents that all the attack steps related to
the asset are compromised, and partial asset coverage considers that at least one attack step
related to the asset is compromised. Moreover, the edge coverage refers to the ratio between
the compromised edges (linking either attack steps to each other or a defense to an attack step)
and the number of edges in the modeled system. To calculate the defense coverage, enabling
and disabling defenses may result in diferent outcomes in multiple executions of an attack
simulation, where the preconditions of the attacker do not change, and also influence the result
whether certain attack steps or edges are compromised.</p>
      <p>For the attack scenario presented in Figure 3, given that the attacker has initial access to
phishing and all defenses (i.e., exploitationForClientExecution and userTraining) are disabled, four
attack steps (phishing, spearphishingLink, userExecution, exploitationForClientExecution) and
the three edges between them are compromised; when all the defenses are enabled, only the
attack steps phishing and spearphishingLink can be reached, and only the edge between them</p>
      <p>Browser</p>
      <p>Google Chrome
| spearphishingLink
Accesses</p>
      <p>*
1 LogsIn * UserAccount
is compromised. In this scenario, the attack step coverage is 100% (see Table 2) and the edge
coverage is 60% (see Table 3). Moreover, the overall partial asset coverage is 100%, and the full
asset coverage is 33.3% (see Table 4). Moreover, the defense coverage is 50% because only the
cases that both of the two defenses are enabled and disabled at the same time are considered.</p>
      <p>
        So far, the test coverage result of enterpriseLang is shown in Table 5. The defense coverage is
approximately zero, because the created test cases only considered the case that all the defense
values are false and tried to form longer attack paths. However, simply running simulations by
enabling and disabling each defense may produce misleading results [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. Therefore, diferent
defenses should be enabled to investigate how the opportunities of an attack to be successful
change according to the presence of certain defenses.
      </p>
    </sec>
    <sec id="sec-6">
      <title>7. Discussion</title>
      <p>
        Based on the qualitative assessment result, the guidelines not fulfilled by enterpriseLang can
guide us with its future improvements. For example, G-2.9 is not fulfilled because enterpriseLang
was not designed based on an existing DSL. A possible way to follow this guideline would be to
redesign enterpriseLang so that it embeds an existing language, for example, coreLang [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ],
which contains the most common IT entities and attack steps. We would thus solely implement
specific capabilities for enterprise systems that are not covered by coreLang. In addition, based
on the quantitative assessment result, more test cases should be created for the missing parts
reflected by the test coverage value. For example, the Router asset was covered by any test
case, because in enterpriseLang there is no attack step contained in this asset. Therefore, future
work includes exploring enterprise system-related attacks to enrich enterpriseLang.
      </p>
      <p>
        In addition, our method should not be used in isolation, as we solely cover structural aspects
similar to white box testing. Consequently, we are only able to identify design flaws from the
developer’s point of view. This leads to the fact that the users’ perspective is not reflected and,
thus, missing functionality cannot be discovered. To overcome this, we previously facilitated
real-world attacks [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] to ensure that those can be modeled and simulated with enterpriseLang.
Moreover, consulting experts and conducting surveys (e.g., [
        <xref ref-type="bibr" rid="ref25">25</xref>
        ]) could also be done in the future
to further validate the applicability.
      </p>
      <p>
        The proposed method could also be generalized and used for evaluating other MAL-based
DSLs because they have the same need for evaluating the efectiveness of their languages [
        <xref ref-type="bibr" rid="ref28">28</xref>
        ],
and further research is needed to generalize our proposal or to confirm that it works as is.
      </p>
    </sec>
    <sec id="sec-7">
      <title>8. Conclusion</title>
      <p>In this paper, we propose an approach to assess the quality of threat modeling languages
and illustrate its application on enterpriseLang, to see if its development process follows the
principles of good language design, and whether to what extent enterpriseLang functions
as expected. The qualitative assessment result could foster better quality of enterpriseLang
by fulfilling the missing DSL design guidelines, such as stakeholder involvement. Moreover,
through creating more test cases and achieving higher test coverage, the correct functionality
of enterpriseLang can be ensured.</p>
    </sec>
    <sec id="sec-8">
      <title>Acknowledgments</title>
      <p>This project has received funding from the European Union’s H2020 research and innovation
programme under the Grant Agreement No. 832907.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>W.</given-names>
            <surname>Xiong</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Lagerström</surname>
          </string-name>
          ,
          <article-title>Threat modeling - a systematic literature review</article-title>
          ,
          <source>Computers &amp; Security</source>
          <volume>84</volume>
          (
          <year>2019</year>
          )
          <fpage>53</fpage>
          -
          <lpage>69</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>K.</given-names>
            <surname>Tuma</surname>
          </string-name>
          , G. Calikli,
          <string-name>
            <given-names>R.</given-names>
            <surname>Scandariato</surname>
          </string-name>
          ,
          <article-title>Threat analysis of software systems: A systematic literature review</article-title>
          ,
          <source>Journal of Systems and Software</source>
          <volume>144</volume>
          (
          <year>2018</year>
          )
          <fpage>27</fpage>
          -
          <lpage>294</lpage>
          . URL: https://www. sciencedirect.com/science/article/pii/S0164121218301304.
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>N.</given-names>
            <surname>Hersén</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Hacks</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Fögen</surname>
          </string-name>
          ,
          <article-title>Towards measuring test coverage of attack simulations</article-title>
          ,
          <source>in: Enterprise, Business-Process and Information Systems Modeling</source>
          , Springer International Publishing,
          <year>2021</year>
          , pp.
          <fpage>303</fpage>
          -
          <lpage>317</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>P.</given-names>
            <surname>Johnson</surname>
          </string-name>
          , R. Lagerström,
          <string-name>
            <given-names>M.</given-names>
            <surname>Ekstedt</surname>
          </string-name>
          ,
          <article-title>A meta language for threat modeling and attack simulations</article-title>
          ,
          <source>in: 13th International Conference on Availability, Reliability and Security</source>
          , ACM,
          <year>2018</year>
          , p.
          <fpage>38</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>W.</given-names>
            <surname>Xiong</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E.</given-names>
            <surname>Legrand</surname>
          </string-name>
          ,
          <string-name>
            <given-names>O.</given-names>
            <surname>Åberg</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Lagerström</surname>
          </string-name>
          ,
          <article-title>Cyber security threat modeling based on the MITRE Enterprise ATT&amp;CK Matrix, Software and Systems Modeling (</article-title>
          <year>2021</year>
          ). URL: https://doi.org/10.1007/s10270-021-00898-7.
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>G.</given-names>
            <surname>Karsai</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Krahn</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Pinkernell</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Rumpe</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Schindler</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Völkel</surname>
          </string-name>
          ,
          <article-title>Design guidelines for domain specific languages</article-title>
          ,
          <source>in: 9th OOPSLA Workshop on Domain-Specific Modeling (DSM' 09)</source>
          ,
          <year>2009</year>
          , pp.
          <fpage>1</fpage>
          -
          <lpage>7</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>I. Poltronieri</given-names>
            <surname>Rodrigues</surname>
          </string-name>
          ,
          <string-name>
            <surname>M. de Borba Campos</surname>
            ,
            <given-names>A. F.</given-names>
          </string-name>
          <string-name>
            <surname>Zorzo</surname>
          </string-name>
          ,
          <article-title>Usability evaluation of domainspecific languages: A systematic literature review, in: Human-Computer Interaction. User Interface Design, Development</article-title>
          and Multimodality, Springer,
          <year>2017</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>I.</given-names>
            <surname>Gibbs</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Dascalu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F. C.</given-names>
            <surname>Harris</surname>
          </string-name>
          ,
          <string-name>
            <surname>Jr.</surname>
          </string-name>
          ,
          <article-title>A separation-based ui architecture with a dsl for role specialization</article-title>
          ,
          <source>Journal of Systems and Software</source>
          <volume>101</volume>
          (
          <year>2015</year>
          )
          <fpage>69</fpage>
          -
          <lpage>85</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>D.</given-names>
            <surname>Albuquerque</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Cafeo</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Garcia</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Barbosa</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Abrahão</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Ribeiro</surname>
          </string-name>
          ,
          <article-title>Quantifying usability of domain-specific languages: An empirical study on software maintenance</article-title>
          ,
          <source>Journal of Systems and Software</source>
          <volume>101</volume>
          (
          <year>2015</year>
          )
          <fpage>245</fpage>
          -
          <lpage>259</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>A.</given-names>
            <surname>Barisic</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Amaral</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Goulão</surname>
          </string-name>
          ,
          <article-title>Usability evaluation of domain-specific languages</article-title>
          ,
          <source>in: Quality of Information and Communications Technology</source>
          ,
          <year>2012</year>
          , pp.
          <fpage>342</fpage>
          -
          <lpage>347</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>J.</given-names>
            <surname>Venable</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Pries-Heje</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Baskerville</surname>
          </string-name>
          ,
          <article-title>A comprehensive framework for evaluation in design science research</article-title>
          ,
          <source>in: Design Science Research in Information Systems. Advances in Theory and Practice</source>
          , Springer,
          <year>2012</year>
          , pp.
          <fpage>423</fpage>
          -
          <lpage>438</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>A. R.</given-names>
            <surname>Hevner</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S. T.</given-names>
            <surname>March</surname>
          </string-name>
          , J. Park, S. Ram,
          <article-title>Design science in information systems research</article-title>
          ,
          <source>MIS Quarterly 28</source>
          (
          <year>2004</year>
          )
          <fpage>75</fpage>
          -
          <lpage>105</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <surname>Ø. Haugen</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          <string-name>
            <surname>Mohagheghi</surname>
          </string-name>
          ,
          <article-title>A multi-dimensional framework for characterizing domain specific languages</article-title>
          ,
          <source>in: Proc. of the 7th OOPSLA Workshop on Domain Specific Modeling</source>
          ,
          <year>2007</year>
          , pp.
          <fpage>1</fpage>
          -
          <lpage>10</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <given-names>R.</given-names>
            <surname>Scandariato</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Wuyts</surname>
          </string-name>
          ,
          <string-name>
            <given-names>W.</given-names>
            <surname>Joosen</surname>
          </string-name>
          ,
          <article-title>A descriptive study of microsoft's threat modeling technique (</article-title>
          <year>2013</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <given-names>K.</given-names>
            <surname>Wuyts</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Scandariato</surname>
          </string-name>
          , W. Joosen,
          <article-title>Empirical evaluation of a privacy-focused threat modeling methodology</article-title>
          ,
          <source>Journal of Systems and Software</source>
          <volume>96</volume>
          (
          <year>2014</year>
          )
          <fpage>122</fpage>
          -
          <lpage>138</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <given-names>S.</given-names>
            <surname>Katsikeas</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Hacks</surname>
          </string-name>
          , P. Johnson, M. Ekstedt,
          <string-name>
            <given-names>R.</given-names>
            <surname>Lagerström</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Jacobsson</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Wällstedt</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Eliasson</surname>
          </string-name>
          ,
          <article-title>An attack simulation language for the it domain</article-title>
          ,
          <source>in: Graphical Models for Security</source>
          , Springer International Publishing,
          <year>2020</year>
          , pp.
          <fpage>67</fpage>
          -
          <lpage>86</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <given-names>S.</given-names>
            <surname>Hacks</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Katsikeas</surname>
          </string-name>
          , E. Ling,
          <string-name>
            <given-names>R.</given-names>
            <surname>Lagerström</surname>
          </string-name>
          ,
          <string-name>
            <surname>M.</surname>
          </string-name>
          <article-title>Ekstedt, powerlang: a probabilistic attack simulation language for the power domain</article-title>
          ,
          <source>Energy Informatics</source>
          <volume>3</volume>
          (
          <year>2020</year>
          )
          <fpage>1</fpage>
          -
          <lpage>17</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [18]
          <string-name>
            <given-names>S.</given-names>
            <surname>Katsikeas</surname>
          </string-name>
          , P. Johnson, S. Hacks,
          <string-name>
            <given-names>R.</given-names>
            <surname>Lagerström</surname>
          </string-name>
          ,
          <article-title>Probabilistic modeling and simulation of vehicular cyber attacks: An application of the meta attack language</article-title>
          ,
          <source>in: ICISSP</source>
          <year>2019</year>
          ,
          <year>2019</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [19]
          <string-name>
            <given-names>A.</given-names>
            <surname>Vernotte</surname>
          </string-name>
          , P. Johnson, M. Ekstedt,
          <string-name>
            <given-names>R.</given-names>
            <surname>Lagerström</surname>
          </string-name>
          ,
          <article-title>In-depth modeling of the unix operating system for architectural cyber security analysis</article-title>
          ,
          <source>in: 2017 IEEE 21st International Enterprise Distributed Object Computing Workshop (EDOCW)</source>
          , IEEE,
          <year>2017</year>
          , pp.
          <fpage>127</fpage>
          -
          <lpage>136</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          [20]
          <string-name>
            <given-names>T.</given-names>
            <surname>Sommestad</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Ekstedt</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Holm</surname>
          </string-name>
          ,
          <article-title>The cyber security modeling language: A tool for assessing the vulnerability of enterprise system architectures</article-title>
          ,
          <source>IEEE Systems Journal</source>
          <volume>7</volume>
          (
          <year>2013</year>
          )
          <fpage>363</fpage>
          -
          <lpage>373</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          [21]
          <string-name>
            <given-names>W.</given-names>
            <surname>Xiong</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Hacks</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Lagerström</surname>
          </string-name>
          ,
          <article-title>A method for assigning probability distributions in attack simulation languages</article-title>
          ,
          <source>Complex Systems Informatics and Modeling Quarterly</source>
          (
          <year>2021</year>
          )
          <fpage>55</fpage>
          -
          <lpage>77</lpage>
          . URL: https://doi.org/10.7250/csimq.2021-
          <volume>26</volume>
          .
          <fpage>04</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          [22]
          <string-name>
            <given-names>M.</given-names>
            <surname>Ekstedt</surname>
          </string-name>
          , P. Johnson,
          <string-name>
            <given-names>R.</given-names>
            <surname>Lagerström</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Gorton</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Nydrén</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Shahzad</surname>
          </string-name>
          ,
          <article-title>Securi cad by foreseeti: A cad tool for enterprise cyber security management</article-title>
          ,
          <source>in: 2015 IEEE 19th International Enterprise Distributed Object Computing Workshop (EDOCW)</source>
          , IEEE,
          <year>2015</year>
          , pp.
          <fpage>152</fpage>
          -
          <lpage>155</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          [23]
          <string-name>
            <given-names>K.</given-names>
            <surname>Pefers</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Tuunanen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M. A.</given-names>
            <surname>Rothenberger</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Chatterjee</surname>
          </string-name>
          ,
          <article-title>A design science research methodology for information systems research</article-title>
          ,
          <source>Journal of Management Information Systems</source>
          <volume>24</volume>
          (
          <year>2007</year>
          )
          <fpage>45</fpage>
          -
          <lpage>77</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          [24]
          <string-name>
            <given-names>J.</given-names>
            <surname>Venable</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Pries-Heje</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Baskerville</surname>
          </string-name>
          ,
          <article-title>Feds: a framework for evaluation in design science research 25 (</article-title>
          <year>2016</year>
          )
          <fpage>77</fpage>
          -
          <lpage>89</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          [25]
          <string-name>
            <surname>A.</surname>
          </string-name>
          <article-title>Author(s), Towards a systematic method for developing meta attack language instances</article-title>
          , in: submitted,
          <year>2021</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref26">
        <mixed-citation>
          [26]
          <string-name>
            <surname>M. K. Sein</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          <string-name>
            <surname>Henfridsson</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          <string-name>
            <surname>Purao</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          <string-name>
            <surname>Rossi</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          <string-name>
            <surname>Lindgren</surname>
          </string-name>
          , Action design research,
          <source>MIS quarterly 35</source>
          (
          <year>2011</year>
          )
          <fpage>37</fpage>
          -
          <lpage>56</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref27">
        <mixed-citation>
          [27]
          <string-name>
            <given-names>P.</given-names>
            <surname>Ammann</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Ofutt</surname>
          </string-name>
          , Introduction to Software
          <source>Testing: 2nd Edition</source>
          , Cambridge University Press,
          <year>2016</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref28">
        <mixed-citation>
          [28]
          <string-name>
            <given-names>J.</given-names>
            <surname>Horkof</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F. B.</given-names>
            <surname>Aydemir</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.-L.</given-names>
            <surname>Li</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Li</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Mylopoulos</surname>
          </string-name>
          ,
          <article-title>Evaluating modeling languages: An example from the requirements domain</article-title>
          , in: Conceptual Modeling, Springer,
          <year>2014</year>
          , pp.
          <fpage>260</fpage>
          -
          <lpage>274</lpage>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>