<!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>Modeling, composing, and testing of security concerns in a Model-Driven Security approach?</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Phu H. Nguyen??</string-name>
          <email>phuhong.nguyen@uni.lu</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Jacques Klein</string-name>
          <email>jacques.klein@uni.lu</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Yves Le Traon</string-name>
          <email>yves.letraon@uni.lu</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Interdisciplinary Centre for Security, Reliability and Trust (SnT), University of Luxembourg</institution>
          ,
          <addr-line>4 rue Alphonse Weicker, L-2721</addr-line>
          <country country="LU">Luxembourg</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>Model-Driven Security (MDS) has emerged as a promising sound methodology for supporting the development of secure systems nowadays. Following the advances in MDS, this research work aims at 1) developing new modeling techniques to represent multiple security concerns, 2) (automatically) composing security models with the business logic model (called target model), and 3) testing the security model composition and the resulting secure system against security requirements. These three objectives converge to an integrated MDS framework (and tool chain) which 1) allows a target system model to embed various security concerns, 2) enables the generation of implementation code including con gured security infrastructures, and 3) makes these security properties testable by construction. This paper presents the main research modules, the results we have achieved so far, and the main points for future work.</p>
      </abstract>
      <kwd-group>
        <kwd>Model-Driven Security</kwd>
        <kwd>Model-Driven Engineering</kwd>
        <kwd>Security Modeling</kwd>
        <kwd>Model Composition</kwd>
        <kwd>Adaptive Security</kwd>
        <kwd>Security Testing</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        It is undoubted that the role of security engineering is getting more
important than ever as our world is becoming more digital and networked. However,
the traditional software development process has shown the ine ciency in
facing with the following three main challenges for nowadays security engineering.
First, (software) systems are getting more and more complex. Especially,
taking into account security concerns while developing (already complex) systems
makes the development process more stressful, error-prone and di cult. Second,
security threats are getting more dangerous, varied, and changing quickly. These
make security requirements more complex, di cult to deal with. Security
features are often scattered and tangled throughout the entire system. It is hard
to integrate them properly into the traditional development process. However,
they are rarely taken into account at early stages of the development processes
[
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. In other words, the overall system design often misses the cautious
engineering of security. Third, even though the complexity of systems (especially
including security concerns) that have to be produced and maintained is
continuously increasing, economic pressure reduces development time and increases
the frequency of modi cations are made. All these issues constantly require more
productive and exible security engineering methods for better supporting the
development and maintenance of reliable secure systems.
      </p>
      <p>
        Model-Driven Engineering (MDE) has been considered by some researcher
[
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] as a solution to the handling of complex and evolving software systems.
As a specialization of MDE, Model-Driven Security (MDS) aims at providing
means to tackle the complexity and increase the productivity in modern secure
systems development. MDS enables security models more productive, i.e.,
models could be manipulated automatically in every development stage. The three
main challenges mentioned above could be solved by MDS [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]. However, there
are weaknesses of the MDS state of the art. Our recent systematic review of MDS
[
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] shows that more MDS work is needed to deal with multiple security concerns
at the same time. Moreover, not many MDS approaches have fully leveraged
the Aspect-Oriented Modeling (AOM) techniques to specify multiple security
concerns and enhance the modularity of secure systems. There is also lack of a
complete tool chain (based on model transformations) to automate the derivation
from MDS models to code. Following the advances in MDS, this research work
aims at 1) developing new (AOM) modeling techniques to represent multiple
security concerns, 2) (automatically) composing security models with the business
logic model (called target model), and 3) testing the security model
composition and the resulting secure system against security requirements. These three
objectives converge to an integrated MDS framework (and tool chain) which 1)
allows a target system model to embed various security concerns, 2) enables the
generation of implementation code including con gured security infrastructures,
and 3) makes these security properties testable by construction.
      </p>
      <p>The remainder of this paper is structured as follows. Section 2 describes the
main objectives, and the main (expected) contributions of our proposed research.
It is followed by Section 3 that shows our main research modules, and track
record of the archived results so far and what missing. Finally, the conclusion
and future work are presented in Section 4.
2
2.1</p>
    </sec>
    <sec id="sec-2">
      <title>Objectives</title>
      <p>Research Objectives
There are three main research objectives in this work. First. we aim at proposing
a portfolio of well-de ned security models without any consideration of a target
model i.e., the model in which the security models will be inserted or composed.
Consequently, each security concern will be modeled in isolation leading to a
better understanding and modularization of these security concerns.</p>
      <p>Second, we propose to automatically compose a subset of selected security
models with the target system model to obtain a new model of the system
augmented of security properties. This model composition can be performed
using model transformations or model composers. Once various security models
speci ed, the automation of the composition should allow to adapt more easily
the target model to di erent situations by allowing the automated composition
of appropriate security models. Moreover, the model of the systems augmented
of security properties can be used for formal analyze of security properties.</p>
      <p>Third, we propose to exploit the model composition operators to make the
nal implementation testable by construction. Composing security models
(viewpoints) into the target model will lead to a more detailed model, which will nally
be implemented. The code production is error prone and the conformance of the
implementation with the security policy must be tested. The composition
operators we propose may o er an elegant way 1) to make the implemented security
mechanisms testable, in the sense they can be made observable at runtime, 2) to
propose a security fault model to perform mutation analysis on the nal code.
2.2</p>
      <p>Expected Contributions
From our proposed approach, the main expected contributions of our work are as
follows: 1) a library of security concerns and a set of Domain Speci c Languages
(DSLs) for specifying these security concerns; 2) a model-driven framework for
composing security models (conforming to these DSLs) with the target model;
and 3) a mutation analysis approach for testing the resulting secure systems.
3</p>
    </sec>
    <sec id="sec-3">
      <title>Research Modules &amp; Track Record</title>
      <p>This section shows the four main modules of our research, with the results that
have been achieved so far, and the approach on how to complete the thesis.
3.1</p>
      <p>
        Literature Review of Model-Driven Security
This module focuses on the state-of-the-art of MDS and the key aspects of our
project, i.e. modeling, composing, and testing of security concerns. Because we
realized that there was not any real systematic review of MDS, we conducted
one whose results are presented in [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]. The results show not only a clear picture
of current main approaches in MDS but also the current status of key aspects
in MDS.
      </p>
      <p>The results suggest that more attention should be paid for dealing with
multiple security concerns at the same time. Most current approaches only deal
with solely one security concern, especially authorization. Besides, there are
signi cantly less MDS papers tackling integrity, availability, and authentication
than authorization and con dentiality. An important remark is that more work
should be done to have (DSLs) models with well-de ned semantics of various
security concerns. These models must be extensively, formally de ned in order to
enable the integration with automated analysis tools (based on well-established
formal methods) and/or program synthesis tools. On the other hand, a tool
chain (based on model transformations) to derive from models (to models, then)
to implementation code is also an important piece of future work. Regarding
modeling approaches, there are very few selected papers propose a full AOM
approach that security concerns are speci ed as aspects and eventually woven
into the primary model(s). Last but not least, there is a lack of empirical studies
for MDS approaches so more empirical studies should be conducted.</p>
      <p>
        The details of ve main MDS approaches have been discussed in our book
chapter, namely Advances in MDS [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]. Moreover, we are working on extending
[
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] for submission to a journal.
3.2
      </p>
      <p>
        Modeling Security Concerns
As discussed in [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ], domain speci c languages (DSLs) could be de ned for
specifying security concerns. We aim at proposing a set of DSLs which specialized for
capturing well-de ned semantics of various security concerns. These DSLs are
used for creating well-speci ed security models without any consideration of a
target model i.e., the model in which the security models will be inserted or
composed. Currently, we are trying to introduce these DSLs in a full AOM approach,
e.g. using Reusable Aspect Model [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. Consequently, each security concern will
be modeled in isolation leading to a better understanding and modularization
of these security concerns.
      </p>
      <p>
        As the rst approach, we focused on dealing with the authorization
problem, especially access control (role-based access control, RBAC) and delegation.
In [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ], it has been shown that various RBAC-based delegation features can be
speci ed using our metamodel (DSL). Our DSL supports complex delegation
characteristics like temporary, recurrence delegation, transfer delegation,
multiple and multi-step delegation, etc. On the other hand, the business logic (base
system) can be speci ed using another DSL, e.g. an architecture
(componentbased) metamodel [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]. In the next step, we target to deal with multiple security
concerns at the same time in a full AOM approach.
3.3
      </p>
      <p>
        Composing Security Models with the Target System
In the modeling module of our approach, security concerns are modeled
independently with business logic. In this module, security models have to be composed
with the target system model to obtain a new model of the system augmented
of security properties. Fig. 1 presents an overview of our extensive model-driven
approach for access control and delegation management [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ], [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]. In our approach,
delegation is considered as a \meta-level" mechanism which impacts the
existing access control policies, like an aspect can impact a base program. We claim
that to handle advanced delegation rules, an ideal solution is to separate the
delegation rules from the access control policy, each being speci ed in isolation,
and then compose/weave them together to obtain a new access control policy
(called active security policy) re ecting the both access control and delegation.
      </p>
      <p>As can be seen in Fig. 1, a complete model-driven framework has been
proposed to enable dynamic enforcement of delegation and access control policies
Delegation
metamodel</p>
      <p>Access</p>
      <p>Control
metamodel
evolution
cft
cft
conforms to (cft)
Architecture
metamodel</p>
      <p>cft
cft
M2</p>
      <p>Delegation
policy
Access
Control
policy
evolution
Base
model
change/evolution</p>
      <p>M1</p>
      <p>Model
transformation</p>
      <p>Active
security
policy</p>
      <p>Model
composition</p>
      <p>Securityenforced
architecture
model</p>
      <p>Self
adaptation
test
test
validation</p>
      <p>Proxy</p>
      <p>Proxy
cocmoBmpuospinnoeennsetsnsltosgic</p>
      <p>components</p>
      <sec id="sec-3-1">
        <title>Running system 000</title>
      </sec>
      <sec id="sec-3-2">
        <title>Proxy</title>
        <p>Proxy</p>
        <p>Cocmompopnoennentsts
Adaptive execution platform</p>
        <p>M0
that allows the automatic con guration of the system according to the changes
in delegation/access control rules. The enforcement of security policy to the
target system is in fact the composition of security models with the target system
model. The dynamic adaptation of the running system is possible thanks to
the modern adaptive execution platforms like OSGi 1, Kevoree 2, which provide
low-level APIs to recon gure a system at runtime.
3.4</p>
        <p>
          Model-Based Security Testing
We focus on proposing a Model-Based Security Testing and Mutation Analysis
approach for the validation of the resulting secure system. From the security
model(s), we plan to automate the (partial) generation of security test cases.
Our goal of using mutation analysis is to derive a su cient test set, which can
detect all the security faults denoted by the mutants. In that way the correct
secure system that can pass the su cient test set will be obtained. We have
adopted mutation analysis for delegation policies [
          <xref ref-type="bibr" rid="ref8">8</xref>
          ]. Mutation analysis operates
by introducing arti cial defects called mutants into the artifacts of the program
under investigation. Our approach in [
          <xref ref-type="bibr" rid="ref8">8</xref>
          ] consists of analyzing the representation
of the key components of delegation, based on which we derive the suggested
set of mutant operators. These operators can then be used to introduce mutants
1 www.osgi.org
2 www.kevoree.org
into delegation policies and thus, enable mutation testing. There is still more
work to be done to validate our idea in [
          <xref ref-type="bibr" rid="ref8">8</xref>
          ].
        </p>
        <p>Here we propose to use security testing because so far formal veri cation
methods for security still have limitations. Only some speci c problem areas such
as smart-cards or cryptographic protocols are applicable for formal veri cation
methods. Formal veri cation is still unfeasible for larger systems due to increased
complexity and dependencies.
4</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>Conclusion and Future Work</title>
      <p>
        In this paper, we have presented our research work with its main modules and
track record. Regarding the rst module which is literature review, we have
conducted a systematic literature review of MDS and a book chapter on advances
in MDS. This module is more or less done even though we are still working on
a journal version of the review. In the second module which is modeling of
security concerns, we have dealt with access control and delegation. But there
is still more work to be done for modeling multiple security concerns. The third
module focuses on composing models. We have proposed a framework for
modeldriven adaptive delegation. Our model-driven framework needs to be improved
for handling multiple security concerns at the same time. And last but not least,
the fourth module is about security testing. Our work on testing delegation
policy enforcement via mutation analysis [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] is at the beginning. We will continue
working on that. In the end, we also would like to have an industrial case study
for evaluating our approach.
      </p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <given-names>J.</given-names>
            <surname>Bezivin</surname>
          </string-name>
          .
          <article-title>Model driven engineering: An emerging technical space</article-title>
          .
          <source>GTTSE</source>
          ,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <given-names>L.</given-names>
            <surname>Cysneiros</surname>
          </string-name>
          and
          <string-name>
            <surname>J.</surname>
          </string-name>
          <article-title>Sampaio do Prado Leite</article-title>
          .
          <article-title>Non-functional requirements: from elicitation to modelling languages</article-title>
          .
          <source>In ICSE 2002</source>
          , pages
          <fpage>699</fpage>
          {
          <fpage>700</fpage>
          ,
          <year>2002</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <given-names>J.</given-names>
            <surname>Kienzle</surname>
          </string-name>
          ,
          <string-name>
            <given-names>W. Al</given-names>
            <surname>Abed</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Fleurey</surname>
          </string-name>
          ,
          <string-name>
            <surname>J.-M. Jezequel</surname>
            , and
            <given-names>J.</given-names>
          </string-name>
          <string-name>
            <surname>Klein</surname>
          </string-name>
          .
          <article-title>Aspect-oriented design with reusable aspect models</article-title>
          .
          <source>In TAOSD VII</source>
          , volume
          <volume>6210</volume>
          .
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <given-names>L.</given-names>
            <surname>Lucio</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Q.</given-names>
            <surname>Zhang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P. H.</given-names>
            <surname>Nguyen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Amrani</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Klein</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Vangheluwe</surname>
          </string-name>
          , and
          <string-name>
            <given-names>Y. Le</given-names>
            <surname>Traon</surname>
          </string-name>
          .
          <source>Advances in Model-Driven Security. Elsevier</source>
          ,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <given-names>P. H.</given-names>
            <surname>Nguyen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Klein</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Kramer</surname>
          </string-name>
          , and
          <string-name>
            <given-names>Y. Le</given-names>
            <surname>Traon</surname>
          </string-name>
          .
          <article-title>A Systematic Review of Model Driven Security</article-title>
          .
          <source>In Proceedings of the 20th APSEC</source>
          ,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <given-names>P. H.</given-names>
            <surname>Nguyen</surname>
          </string-name>
          , G. Nain,
          <string-name>
            <given-names>J.</given-names>
            <surname>Klein</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Mouelhi</surname>
          </string-name>
          , and
          <string-name>
            <given-names>Y. Le</given-names>
            <surname>Traon</surname>
          </string-name>
          .
          <article-title>Model-Driven Adaptive Delegation</article-title>
          .
          <source>In AOSD</source>
          ,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <given-names>P. H.</given-names>
            <surname>Nguyen</surname>
          </string-name>
          , G. Nain,
          <string-name>
            <given-names>J.</given-names>
            <surname>Klein</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Mouelhi</surname>
          </string-name>
          , and
          <string-name>
            <given-names>Y. Le</given-names>
            <surname>Traon</surname>
          </string-name>
          .
          <article-title>Modularity and Dynamic Adaptation of Flexibly Secure Systems: A Model-Driven Approach for Delegation in Access Control Management</article-title>
          .
          <source>In TAOSD XI</source>
          .
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <given-names>P. H.</given-names>
            <surname>Nguyen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Papadakis</surname>
          </string-name>
          ,
          <string-name>
            <surname>and I. Rubab.</surname>
          </string-name>
          <article-title>Testing Delegation Policy Enforcement via Mutation Analysis</article-title>
          .
          <source>In Proceedings of the Workshop on Mutation Testing, the Sixth IEEE International Conference on Software Testing</source>
          ,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>