<!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>Cross-Layer Data-Centric Usage Control</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>enrico.lovat@in.tum.de</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Technische Universita ̈t Mu ̈nchen</institution>
          ,
          <addr-line>Germany Supervisor: Prof. Dr. Alexander Pretschner, TUM</addr-line>
        </aff>
      </contrib-group>
      <abstract>
        <p>Usage control (UC) is concerned with what happens to data after access has been granted, and is usually defined on the grounds of events that, somehow, are related to data. Data may assume different representations within the system, possibly at several levels of abstraction. This research aims at extending a generic event-driven UC model and its language [1] by the explicit distinction between data and representations of data. The resulting system will be able to enforce policies for single representations (e.g., delete f1.txt after thirty days) as well as for all representations of the same data at once (e.g., if f2.txt is a copy of f1.txt, also f2.txt will be deleted). To this end, different data-flow tracking approaches will be investigated. The result will be implemented, instantiated and evaluated in terms of security, precision and performance.</p>
      </abstract>
      <kwd-group>
        <kwd>Enrico Lovat</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>
        The ever-growing sharing of digital content in the last decades demands better
technologies to control what may happen to data after access to it has been
granted. Usage Control (UC) [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] is an extension of access control that addresses
exactly this issue. Examples of UC requirements are “delete this mail after 30
days”, “don’t copy this picture” or “notify owner of data upon access”. In
literature, UC enforcement mechanisms are defined on the ground of events, leveraging
techniques like complex event processing [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] and runtime verification [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ].
      </p>
      <p>
        With this work, I want to investigate a different aspect of the problem: the
data dimension. To enforce a requirement such as “don’t copy this picture” one
must consider that this picture may exist in multiple representations within
the system, potentially residing at different levels of abstraction, like network
packets, Java objects, window pixmaps, data base records, or files. Some UC
requirements, usually related to confidentiality properties, address all the
representations of the same data at once (“this picture cannot leave the local
system”, no matter which copy), whereas other requirements, usually related to
integrity properties, refer to one (or some) specific representation(s) (“content
of file /etc/passwd cannot be modified”, but a copy of it could). The general
research question addressed by this work is “How can usage control requirements
be expressed and enforced on different representations of data within a system,
at and across different layers of abstractions?”. I plan to answer it in three steps:
1) Extending a generic UC model [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] with Data Flow Tracking (DFT)
features to relate the different representations of data within the system. To this
end, I plan to leverage existing work [
        <xref ref-type="bibr" rid="ref5 ref6">5, 6</xref>
        ] and taint-propagation tracking
techniques from the information flow analysis area. The result will be a generic model
instantiatable at arbitrary layers of abstraction in the system.
      </p>
      <p>2) Define a generic model for tracking flows of data across different instances
of the model defined in step 1, possibly at different layers of abstraction
(crosslayer data-flow tracking). This will support integration of enforcement
mechanisms at different layers to achieve system-wide usage control.</p>
      <p>3) Refine the results of steps 1 and 2, in terms of precision e.g. considering
DFT approaches that accounts for structural or quantitative aspects of data.
This is motivated by preliminary results showing that the overapproximation
introduced by basic taint-propagation becomes quickly prohibitive. In summary,
The goal of this research is to define, formalize, implement and
evaluate a usage control model which supports data flow tracking at and
across different layers of abstraction.</p>
      <p>The remaining of this paper is organized as follows: in §2 I compare my work
to existing solutions; in §3 I describe a use case of my system; in §4 and §5 I
discuss the different steps of my research plan and some preliminary results.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Related Work &amp; Expected Contribution</title>
      <p>The subject of my research is the combination of data flow monitoring with
usage control, a policy language, and a prototype enforcement infrastructure.</p>
      <p>
        A number of policy languages, like [
        <xref ref-type="bibr" rid="ref1 ref7 ref8">1, 7, 8</xref>
        ], has been proposed before, but
none of them addresses the data dimension like mine will do; with them one can
define UC restrictions for specific representations of data rather than all of them,
and their semantic models ignore data flows. Enforcement of UC requirements
has been done at many levels, like the Operating System (OS) level [
        <xref ref-type="bibr" rid="ref5 ref9">5,9</xref>
        ], the X11
level [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ], for Java [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ] and machine languages [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ], for dedicated applications [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ]
and in the context of DRM [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ]. These works focus on just one dimension of the
problem, either data flow tracking or event-driven usage control. My approach,
in contrast, tackles both at the same time, and since it is layer-independent, it
can possibly be instantiated at each of these layers.
      </p>
      <p>
        In terms of general-purpose usage control models, I see similarities with
the models underlying XACML [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ], Ponder2 [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] and UCON [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. The first two,
however, do not provide formalized support for cardinality or temporal
operators (free text fields exist, but the respective requirements are hard to enforce).
UCON supports complex conditions and has been used in applications at
different level of abstraction [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ], but assumes that data never leaves the data provider
realm, implicitly making UCON policies device-dependent.
      </p>
      <p>
        Concerning data flow tracking, my approach restricts the standard notion
of information flow analysis, which also caters to implicit flows and aims at
non-interference assessments [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ]: my system detects only flows from one
representation to another. This explains the choice of the term “data” flows rather
than “information” flows. Moreover, even if I plan to leverage results of static
analyses, like [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ], I want to monitor these flows at runtime. Similar
implementations have been realized for OS [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ], X11 [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] and Java [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ]; these works, however,
only address DFT without full usage control. Finally, I plan to generalize the
idea for quantitative DFT presented in [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ] to multiple layers of abstraction.
Gap Analysis and Contribution. Every related work I am aware of is
comparable to my approach either in terms of usage control (e.g. policy
expressiveness) or data flow tracking: none copes with both at the same time. Moreover, in
contrast to mine, every “layer-independent” solutions I found in literature that
consider data representations at multiple layers of abstraction, in facts tackle
the problem only at one very low level, like the CPU or the hypervisor. I see
my research as the first model and language for general purposes data-centric
usage control that supports specification and enforcement of policies for all the
representations of data within a system across several layers of abstraction.
3
      </p>
    </sec>
    <sec id="sec-3">
      <title>Use Case Scenario</title>
      <p>This scenario relies on instantiations of the model for a mail application (Mozilla
Thunderbird, TB) and its underlying OS (MS Windows). Imagine Alice wants
to send some sensitive content (text and pictures) to Bob via mail, while setting
some restrictions on its usage such as “The content of this mail cannot be printed,
forwarded nor saved on removable devices and it must be deleted within 30 days”.</p>
      <p>When Bob opens the mail, he tries to print it, but the action is forbidden;
similarly, the “Forward” button is disabled. Bob then creates a new message and
drag&amp;drops some content from Alice’s mail to it. This action is allowed, but in
order to prevent violations of the “no-forward” policy, the new mail is also not
allowed to be sent. This is enforced thanks to the data-flow tracking component,
which recognizes the two mails as representations of the same data. (Step 1)</p>
      <p>Afterwards, Bob tries to save the attached picture to his USB stick. The
policy that forbids it cannot be enforced by TB, because file management is an
OS duty. Hence, after Bob chooses where the file should be saved (but before
the actual saving), the monitor for TB notifies the OS monitor about the policy.
Only then TB starts to save, but, as required, the OS denies it. (Step 2)</p>
      <p>Bob then saves the picture to a local folder. When he browses it with the file
explorer, the icon of the picture file is replaced by its thumbnail preview, which
is automatically generated by Windows and stored in a hidden file (Thumb.db)
in the same directory. After 30 days, all the copies of the picture, identified by
the data-flow tracking system, are deleted. Thumb.db, however, containing only
a small amount of data of the original picture (plus the thumbnail of many other
files), is not considered as a copy and thus it is not deleted. (Step 3)</p>
      <p>Note that, under different assumptions on the environment, usage control can
be used against deliberate attackers (like Bob) or to mitigate unintended
disclosures (e.g. Alice preventing herself from disclosing sensitive data by accident).
4</p>
    </sec>
    <sec id="sec-4">
      <title>Research description</title>
      <p>Step 1: Usage Control &amp; Data Flow Tracking In the example above, Alice
formalizes her requirements in a language that supports UC constraints
specification, like “delete within 30 days”, while, at the same time, addressing abstract
data (the content of a mail) in lieu of specific representations of it (a mail, a file,
a window, etc.). She may also want to express data-dissemination restrictions,
like “this data should never leave the local system”, regardless of which sequence
of events leads to the disclosure. The definition of such language and the
respective system model are the goals of this part of my research, which addresses the
question “How can we express and enforce data-centric UC requirements?”</p>
      <p>
        To answer it, I will augment a policy language [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] with special parameters
to distinguish data from representations, plus additional operators to constrain
data-dissemination. The semantics of these new artifacts will be grounded on
a simple model for taint-based DFT. I also plan to generalize the result into a
modular architecture for generic UC systems, that supports component
replacement, e.g. one DFT analysis with another (cf. Step 3). This model will then be
instantiated for multiple layers, possibly extending existing solutions ( [
        <xref ref-type="bibr" rid="ref12 ref5">5, 12</xref>
        ]).
Step 2: Cross-level model Tracking data flows across different layers is
fundamental, because the system should never lose control over data once it changes
representation. Imagine a policy like “only one copy (=file) of picture p can
exist in the system” ; at the OS level, every write system call that (potentially)
transfers part of p to a new file must be forbidden, including those generated by
a user saving to file f a screenshot of window w where p is rendered.
      </p>
      <p>Thus, the second step of my thesis will be the definition of a UC model that
relates representations of data at different levels, like f and w. The problem is far
more complex than “just connecting” data representations at different levels. A
relation between events must also be defined, because the execution of an action
(like “save as” in Thunderbird) may result in several events at another level
(e.g. “open”,“write” and “close” system calls at the OS level). This introduces
additional problems, e.g synchronization and race-condition issues.</p>
      <p>The fundamental question addressed at this step is How can we relate data
representations and events at different levels of abstraction? I plan to tackle
it with a bottom-up strategy: firstly, I will connect two specific existing
implementations (for Thunderbird and Windows), looking for a common shared
knowledge-base on top of which the cross-level relationship can be defined. Then,
I will extend this model by adding, one-by-one, other layer-specific instantiations
of the model of step 1. Existing implementations offer the advantage of knowing
a-priori when and where data flows from one level to another.</p>
      <p>Finally, I will try to leverage the result to generalize the model for arbitrary
number and type of levels. The expected outcome is a framework for dynamically
connecting arbitrary instantiations of the model; new monitors and enforcement
mechanisms can be added at any time and share usage information with existing
components, working together for a single system-wide enforcement.
Step 3: Data Flow Tracking Refinement Preliminary results (§5) show that
the overapproximation induced by the taint-based data-flow tracking introduces
enough false positives to compromise the overall functionality of the system.
That is why, as third step, I will refine my data-flow tracking precision. The
fundamental questions addressed here are: “How can we measure the exact amount
of data flowing within the system? How should such value be interpreted? ”</p>
      <p>To answer this question I plan to a) augment the taint-based analysis of step
1 with quantitative aspects and b) consider the structure of data representations.
In terms of a), the benefit of measuring the amount of data stored in each
representation is twofold: on one hand it allows specification of quantitative policies
such as “if a file contains more than 5% of sensitive data, then delete it upon
logout” ; on the other hand, it can be used as a possible declassification criterion.</p>
      <p>
        Note that usually quantitative measurements are used to determine how
many bits of information flow from inputs to outputs in a program [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ]. These
approaches cater to both explicit flows and control-flow dependencies. Mine, in
contrast, applies to generic reactive systems where control-flow information may
not be available, and thus it copes with explicit flows only. This does not make
quantitative analysis a trivial task: consider, for instance, a representation
resulting from the merging of other two; a precise estimation of the amount of data
stored in it may require the whole history of transfers of the secret across the
system [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ]. And even though every kind of information can be measured in bits,
different encodings may result in significantly different sizes for representations
of the same data, especially if they reside at different levels of abstractions.
      </p>
      <p>In terms of b), I want to refine the taint-propagation by considering the
structure that data exhibit when stored by particular events in special types of
containers (e.g. a ZIP archive file). In this case, the taint-propagation in case of
a split-event (e.g. decompress), will introduce a lot of useless overapproximation.
Evaluation and Limitations At the end of each step, I will evaluate the
results in terms of security, precision and, when possible, performance. According
to preliminary results, the overhead of the monitoring infrastructure is above two
orders of magnitude. Given the expected complexity of the outcome, my goal is
to achieve, at the end, a usable system. Hence, fine-grained tuning and extreme
performance optimizations will be analyzed, but their implementation is out of
scope. Similarly, policy management and policy deployment, as well as details
on distributed aspects of usage control and guarantees (enforcement mechanisms
are up and running, not tampered with, etc.) will not be part of this research.
5</p>
    </sec>
    <sec id="sec-5">
      <title>Preliminary results &amp; Remaining Objectives</title>
      <p>
        Preliminary results have been published in [
        <xref ref-type="bibr" rid="ref20 ref21">20, 21</xref>
        ] and cover most of the work
described in step 1. A model for data flow tracking refinement based on
quantitative measurements (step 3a) has also been developed and accepted for
publication [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ]. Currently, I am working on a generic model for cross-layer data
flow tracking (step 2) and on a model for structured data-flow tracking (step
3b). I plan to be done with these two tasks by spring 2014. By summer 2014 I
plan to have a complete usage controlled system, with instances of the generic
model developed in step 1 for the operating system and for some specific
applications, all working together according to the cross-layer model developed in
step 2. Meanwhile, I am writing my thesis, which I plan to defend in fall 2014.
      </p>
      <p>Acknowledgments This work was done as part of the DFG’s Priority
Program SPP 1496 “Reliably Secure Software Systems,” ref. numbers PR-1266/1-2.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <given-names>M.</given-names>
            <surname>Hilty</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Pretschner</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Basin</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Schaefer</surname>
          </string-name>
          , and
          <string-name>
            <given-names>T.</given-names>
            <surname>Walter</surname>
          </string-name>
          .
          <article-title>A policy language for distributed usage control</article-title>
          .
          <source>In Proc. ESORICS '08</source>
          , pages
          <fpage>531</fpage>
          -
          <lpage>546</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <given-names>J.</given-names>
            <surname>Park</surname>
          </string-name>
          and
          <string-name>
            <given-names>R.</given-names>
            <surname>Sandhu</surname>
          </string-name>
          .
          <article-title>The UCON ABC usage control model</article-title>
          .
          <source>ACM Transactions on Information and System Security</source>
          ,
          <volume>7</volume>
          (
          <issue>1</issue>
          ):
          <fpage>128</fpage>
          -
          <lpage>174</lpage>
          ,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <given-names>David</given-names>
            <surname>Luckham</surname>
          </string-name>
          .
          <article-title>The power of events: An introduction to complex event processing in distributed enterprise systems</article-title>
          .
          <source>In LNCS</source>
          , volume
          <volume>5321</volume>
          , pages
          <fpage>3</fpage>
          -
          <lpage>3</lpage>
          ,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <given-names>Martin</given-names>
            <surname>Leucker</surname>
          </string-name>
          and
          <string-name>
            <given-names>Christian</given-names>
            <surname>Schallhart</surname>
          </string-name>
          .
          <article-title>A brief account of runtime verification</article-title>
          .
          <source>J. Log. Algebr. Program.</source>
          ,
          <volume>78</volume>
          (
          <issue>5</issue>
          ):
          <fpage>293</fpage>
          -
          <lpage>303</lpage>
          ,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <given-names>M.</given-names>
            <surname>Harvan</surname>
          </string-name>
          and
          <string-name>
            <given-names>A.</given-names>
            <surname>Pretschner</surname>
          </string-name>
          .
          <article-title>State-based Usage Control Enforcement with Data Flow Tracking using System Call Interposition</article-title>
          .
          <source>In Proc. NSS '09</source>
          , pages
          <fpage>373</fpage>
          -
          <lpage>380</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <given-names>A.</given-names>
            <surname>Pretschner</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Buechler</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Harvan</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Schaefer</surname>
          </string-name>
          , and
          <string-name>
            <given-names>T.</given-names>
            <surname>Walter</surname>
          </string-name>
          .
          <article-title>Usage control enforcement with data flow tracking for x11</article-title>
          .
          <source>In Proc. STM '09</source>
          , pages
          <fpage>124</fpage>
          -
          <lpage>137</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7. Multimedia framework (MPEG-21) - Part 5:
          <string-name>
            <given-names>Rights</given-names>
            <surname>Expression Language</surname>
          </string-name>
          ,
          <year>2004</year>
          . ISO/IEC standard 21000-
          <fpage>5</fpage>
          :
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <given-names>Kevin</given-names>
            <surname>Twidle</surname>
          </string-name>
          , Emil Lupu, Naranker Dulay, and Morris Sloman.
          <article-title>Ponder2 - a policy environment for autonomous pervasive systems</article-title>
          .
          <source>In Proc. POLICY'08.</source>
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <given-names>Petros</given-names>
            <surname>Efstathopoulos</surname>
          </string-name>
          , Maxwell Krohn,
          <string-name>
            <surname>Steve</surname>
            <given-names>VanDeBogart</given-names>
          </string-name>
          , Cliff Frey, David Ziegler,
          <string-name>
            <given-names>Eddie</given-names>
            <surname>Kohler</surname>
          </string-name>
          , David Mazi`eres, Frans Kaashoek, and
          <string-name>
            <given-names>Robert</given-names>
            <surname>Morris</surname>
          </string-name>
          .
          <article-title>Labels and event processes in the asbestos operating system</article-title>
          .
          <source>In SOSP '05</source>
          , pages
          <fpage>17</fpage>
          -
          <lpage>30</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>M. Dam</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          <string-name>
            <surname>Jacobs</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          <string-name>
            <surname>Lundblad</surname>
            , and
            <given-names>F.</given-names>
          </string-name>
          <string-name>
            <surname>Piessens</surname>
          </string-name>
          .
          <article-title>Security monitor inlining for multithreaded java</article-title>
          .
          <source>In Proc. ECOOP</source>
          , pages pp.
          <fpage>546</fpage>
          -
          <lpage>569</lpage>
          ,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <given-names>B.</given-names>
            <surname>Yee</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Sehr</surname>
          </string-name>
          , G. Dardyk,
          <string-name>
            <given-names>J.</given-names>
            <surname>Chen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Muth</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Ormandy</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Okasaka</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Narula</surname>
          </string-name>
          , and
          <string-name>
            <given-names>N.</given-names>
            <surname>Fullagar</surname>
          </string-name>
          .
          <article-title>Native Client: A Sandbox for Portable, Untrusted x86 Native Code</article-title>
          .
          <source>In Proc IEEE Symposium on Security and Privacy</source>
          , pages
          <fpage>79</fpage>
          -
          <lpage>93</lpage>
          ,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <given-names>P.</given-names>
            <surname>Kumari</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Pretschner</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Peschla</surname>
          </string-name>
          , and
          <string-name>
            <given-names>J.M.</given-names>
            <surname>Kuhn</surname>
          </string-name>
          .
          <article-title>Distributed usage control for web applications: a social network implementation</article-title>
          .
          <source>In Proc. CODASPY '11.</source>
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <article-title>Adobe LiveCycle Rights Management ES</article-title>
          . http://www.adobe.com/products/ livecycle/rightsmanagement/indepth.html,
          <year>August 2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14. E. Rissanen.
          <source>Extensible access control markup language v3.0</source>
          ,
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <surname>Gabriela</surname>
            <given-names>Gheorghe</given-names>
          </string-name>
          , Paolo Mori, Bruno Crispo, and
          <string-name>
            <given-names>Fabio</given-names>
            <surname>Martinelli</surname>
          </string-name>
          .
          <article-title>Enforcing UCON policies on the enterprise service bus</article-title>
          .
          <source>In Proc. OTM'10</source>
          , pages
          <fpage>876</fpage>
          -
          <lpage>893</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <given-names>J.A.</given-names>
            <surname>Goguen</surname>
          </string-name>
          and
          <string-name>
            <given-names>J.</given-names>
            <surname>Meseguer</surname>
          </string-name>
          .
          <article-title>Security policies and security models</article-title>
          .
          <source>In Proc. of IEEE Symposium on Security and Privacy</source>
          , pages
          <fpage>11</fpage>
          -
          <lpage>20</lpage>
          ,
          <year>1982</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17.
          <string-name>
            <surname>Bruno</surname>
            <given-names>P. S.</given-names>
          </string-name>
          <string-name>
            <surname>Rocha</surname>
            , Mauro Conti, Sandro Etalle, and
            <given-names>Bruno</given-names>
          </string-name>
          <string-name>
            <surname>Crispo</surname>
          </string-name>
          .
          <article-title>Hybrid staticruntime information flow and declassification enforcement</article-title>
          .
          <source>IEEE Transactions on Information Forensics and Security</source>
          ,
          <volume>8</volume>
          (
          <issue>8</issue>
          ):
          <fpage>1294</fpage>
          -
          <lpage>1305</lpage>
          ,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          18.
          <string-name>
            <surname>Stephen McCamant</surname>
            and
            <given-names>Michael D.</given-names>
          </string-name>
          <string-name>
            <surname>Ernst</surname>
          </string-name>
          .
          <article-title>Quantitative information flow as network flow capacity</article-title>
          .
          <source>In Proc. PLDI '08</source>
          , pages
          <fpage>193</fpage>
          -
          <lpage>205</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          19.
          <string-name>
            <surname>Enrico</surname>
            <given-names>Lovat</given-names>
          </string-name>
          , Johan Oudinet, and
          <string-name>
            <given-names>Alexander</given-names>
            <surname>Pretschner</surname>
          </string-name>
          .
          <article-title>On quantitative dynamic data flow tracking</article-title>
          .
          <source>In CODASPY</source>
          <year>2014</year>
          (to appear).
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          20.
          <string-name>
            <given-names>A.</given-names>
            <surname>Pretschner</surname>
          </string-name>
          , E. Lovat, and
          <string-name>
            <surname>M.</surname>
          </string-name>
          <article-title>Bu¨chler. Representation-independent data usage control</article-title>
          .
          <source>In Proc. SETOP/DPM</source>
          , pages
          <fpage>122</fpage>
          -
          <lpage>140</lpage>
          ,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          21.
          <string-name>
            <given-names>Enrico</given-names>
            <surname>Lovat</surname>
          </string-name>
          and
          <string-name>
            <given-names>Alexander</given-names>
            <surname>Pretschner</surname>
          </string-name>
          .
          <article-title>Data-centric multi-layer usage control enforcement: a social network example</article-title>
          .
          <source>In Proc. SACMAT '11</source>
          , pages
          <fpage>151</fpage>
          -
          <lpage>152</lpage>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>