<!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>Information Flow Security for Business Process Models - just one click away</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Andreas Lehmann</string-name>
          <email>andreas.lehmann@uni-rostock.de</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Dirk Fahland</string-name>
          <email>d.fahland@tue.nl</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Eindhoven University of Technology</institution>
          ,
          <country country="NL">The Netherlands</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>University of Rostock</institution>
          ,
          <country country="DE">Germany</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>When outsourcing tasks of a business process to a third party, information ow security becomes a critical issue. In particular implicit information leaks are an intriguing problem. Given a business process one could ask whether the execution of a con dential task is kept secret to a third party which can observe some public (noncon dential) tasks. A business process is secure in sense of implicit information ow if a third party can not deduce the execution of con dential tasks based on observations of public tasks. We will show that we can verify much faster whether a given process model is secure, support a new information ow property, and support the modeler to create a secure process using a graphical modeling tool. The demo might be interesting for all process modelers and those who are concerned with security in the BPM community.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>
        When outsourcing certain tasks of a business process to third-party organizations
one could \leak" sensitive information (e. g., customer data, trade secrets, or
nancial details) to the involved third parties. This is undesirable, be it for
legal or economic reasons. Information ow security concerns about such leaks
which are called interferences, so the absence of such information leaks is called
noninterference [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]. A standard approach to model information ow security is
to label all tasks of a business process as either con dential or public, such a
labeling is called a complete assignment. Given a complete assignment one could
verify whether a given process is secure; however existing tools [
        <xref ref-type="bibr" rid="ref3 ref9">3, 9</xref>
        ] fail to verify
industrial business processes [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. Additionally, creating a complete assignment is
cumbersome and any found interference requires a corrected and again complete
assignment. We provide a solution for both problems: (1) the tool Anica is able
to verify industrial business processes using a decomposition strategy, and (2)
the modeling tool Seda permits a modeler to specify partial assignments which
are automatically completed and veri ed by Anica. Altogether this provides
modeling support and instant feedback for guaranteed noninterference.
      </p>
      <p>
        In the rest of the paper we explain the tools Anica and Seda and report on
experimental evaluation with over 550 industrial business processes [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] putting
secure business processes just one click away.
      </p>
    </sec>
    <sec id="sec-2">
      <title>Features</title>
      <p>
        Veri cation. Anica (Automated Non-Interference Check Assistant) veri es the
structural Place-based Noninterference properties PBNI+ [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] and PBNID [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ] for
safe Petri nets with complete assignments. Basically both, PBNI+ and PBNID,
characterize noninterference violations in speci c places of the process model
where con dential information could be leaked to the public domain. In
addition, PBNID o ers additional downgraders (of con dentiality), which permit
controlled information ow from the con dential to the public domain. This
way intransitive noninterference requirements can be expressed. Although
noninterference properties are de ned structurally they require veri cation on the
process behavior. Potential interferences can be identi ed on the net structure,
the decision whether a potential interference is an active one is a veri cation
problem on the behavior of the net; see [
        <xref ref-type="bibr" rid="ref11 ref2">2, 11</xref>
        ] for details.
      </p>
      <p>
        Noninterference veri cation is not limited to Petri net-based process models.
We have shown in several evaluations [
        <xref ref-type="bibr" rid="ref11 ref2">2, 11</xref>
        ] that many modeling languages,
such as WS-BPEL, BPMN, and EPC can be translated to Petri nets [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ], making
our technique available to high-level languages as well. Also, safe nets are no
restriction under the assumption of sound [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] process models (which are bounded
and hence can also be represented as safe Petri nets).
      </p>
      <p>
        To verify PBNI+ or PBNID a completely assigned and safe Petri net model of
the business process is necessary. Existing tools rst compute the complete state
space of the net and then search for information leaks making the approach
fail on large industrial business processes. Our command line interface
(CLI)based tool Anica instead decomposes the noninterference veri cation into many,
typically smaller reachability problems [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] which can be veri ed using
state-ofthe-art model checkers using state space reduction techniques; we use LoLA [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ].
As each noninterference violation is expressed in a speci c place, those places
are used to decompose the veri cation problem. Besides the main result Anica
provides the following outputs: (1) colored dot les of the original assignment,
(2) the found interferences together with (3) a detailed result le (certi cate) and
(4) a witness path (generated by LoLA) for each active interference. A typical
industrial business process is veri ed in about 24 ms [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] using Anica and LoLA.
p0
p1
l1
l2
p2
h1
s
(a)
p0
p1
l1
l2
p2
h1
s
(b)
p0
p1
l1
l2
p2
h1
s
(c)
      </p>
      <p>Figure 1 shows some example dot les generated by Anica. The green colored
tasks l1 and l2 in Fig. 1(a) are the public tasks and the red colored task h1 is
a con dential one. As shown in Fig. 1(b) there is a potential interference in
which the blue colored place s is involved (as executing l1 again would allow to
infer that h1 was executed). By Fig. 1(c) this potential inferences is not active
(as l1 can only be executed once), otherwise the place s would also be colored
blue. Therefore the Petri net used in this example is secure according to the
noninterference property PBNI+. A typical veri cation run of Anica is shown in
Fig. 1(d).</p>
      <p>Modeling support. Pure veri cation is often uninteresting in practical
situations: a modeler would have to mark each task either as public or con dential,
check interference, and if necessary reassign. This is infeasible for industrial
business processes with hundreds of tasks which permit an exponential number of
assignments (2t assignments for t tasks). Rather, a modeler can create a partial
assignment of some de nitely con dential tasks and some safely public tasks,
leaving other tasks unassigned. However, security veri cation requires a complete
assignment.</p>
      <p>To support the modeler in this situation, we extended our veri cation tool
Anica with a so called reasoner, which communicates between Anica and the
graphical editor Seda, an open source Eclipse-based Petri net modeling tool3.
Seda o ers the usual functionality to model and simulate Petri nets, and was
extended to label each transition with a con dentiality, see Fig. 2 (left).
Public tasks are labeled green, con dential tasks red, unassigned tasks are shown
3 http://service-technology.org/seda (Version 1.1.3).</p>
      <sec id="sec-2-1">
        <title>User</title>
        <p>GUI</p>
      </sec>
      <sec id="sec-2-2">
        <title>Seda</title>
      </sec>
      <sec id="sec-2-3">
        <title>UDP / JSON</title>
        <p>Reasoner system
call</p>
      </sec>
      <sec id="sec-2-4">
        <title>Anica</title>
        <p>system call</p>
      </sec>
      <sec id="sec-2-5">
        <title>LoLA</title>
        <p>Business Process Model</p>
        <p>t2
p1
p1
t1
t1
p2
p2
Confidentiality requirements</p>
        <p>t2
updated confidentiality</p>
        <p>t1
p1
p2
t3
t3
t2
t3</p>
        <p>Petri net
{"command":"net",
"net":"UexBQ0UKICAgIHAxLAogICAgcDIKOwoKTUFSS0lORwogICAgcDEg</p>
        <p>OiAxCjsKClRSQU5TSVRJT04gdDEKQ09OU1VNRQogICAg\
ncDEgOiAxOwpQUk9EVUNFCiAgICBwMiA6IDE7CgpUUkFOU0lUSU9OIHQyI</p>
        <p>EhJR0gKQ09OU1VNRQogICAgcDIgOiAxOwpQUk9E\
nVUNFCjsKClRSQU5TSVRJT04gdDMKQ09OU1VNRQogICAgcDIgOiAxOwpQ</p>
        <p>Uk9EVUNFCjsKCg=="}</p>
        <p>Assignment
{"assignment":{"t3":"","t2":"HIGH","t1":""},
"command":"assignment"}</p>
        <p>implied assignments
{"assignment":{"t3":"HIGH","t2":"HIGH","t1":""},
"command":"assignment"}</p>
        <p>Labeled Petri net
PLACE p1,p2;
MARKING p1 : 1;
TRANSITION t1
CONSUME p1 : 1;
PRODUCE p2 : 1;
TRANSITION t2 HIGH
CONSUME p2 : 1;
PRODUCE ;
TRANSITION t3
CONSUME p2 : 1;
PRODUCE ;
Characterization
initial
t3
t2
true
false
p1
white, i.e., in Fig. 2 (left) t1 is con dential, t5 public and the rest unassigned.
The modeler may now \Check Con dentiality of Transitions \ using a respective
button which invokes the reasoner and Anica. If the current partial assignment
is insecure, the modeler gets instant feedback. If the current partial assignment
is secure, it is automatically extended to all other transitions that must be set
to ensure the assignment chosen by the modeler, e.g., in Fig. 2 (right) four
transitions were assigned to secure con dentiality of t1. This way the e ort for the
modeler is reduced and the modeler gets feedback within a second allowing for
a tight integration of modeling and security veri cation. Still unassigned
transitions can be chosen freely by the modeler. A screen cast demonstrating the
modeling support is available.4
Architecture and implementation details. Our integration of veri cation in
a modeling tool also has an interesting software engineering aspect. The reasoner
acts as a middleware between the CLI-based veri cation tool Anica written in
C++ and Seda written in Java based on Eclipse. In our architecture the reasoner,
written in C++, communicates via UDP packages based on JSON which allows
to use di erent workstations for veri cation and for modeling.</p>
        <sec id="sec-2-5-1">
          <title>4 http://youtu.be/L7mbIHkGb7A</title>
          <p>
            Despite being a young discipline within BPM, there exist already two other tools
to check PBNI+: Frau et al. implemented PNSC [
            <xref ref-type="bibr" rid="ref9">9</xref>
            ] and Accorsi et al. developed
SWAT [
            <xref ref-type="bibr" rid="ref3">3</xref>
            ]. Both tools do not scale well for large Petri net models, because they
require to construct and explore the complete state space of a process model
su ering state space explosion. By decomposing the problem into reachability
checks and by applying state-space reduction techniques, Anica veri es models
much faster and consumes less memory [
            <xref ref-type="bibr" rid="ref2">2</xref>
            ].
          </p>
          <p>
            We validated our technique in an experiment on verifying noninterference
of industrial process models [
            <xref ref-type="bibr" rid="ref8">8</xref>
            ]. We could reduce the number of states to check
from more than 30 billion to about 62,000 states. The average time consumption
of 24 ms contrasts to several hours for the approach used by both other tools [
            <xref ref-type="bibr" rid="ref2">2</xref>
            ].
Additionally, we o er - to the best of our knowledge - the only tool which can
verify the property PBNID as well. When used in the modeling support scenario
in combination with Seda and Anica, a partial assignment could be checked and
extended in about 90 ms for an average and in about 2 seconds for the largest
process of [
            <xref ref-type="bibr" rid="ref8">8</xref>
            ], demonstrating its feasibility for industrial business processes [
            <xref ref-type="bibr" rid="ref11">11</xref>
            ].
Furthermore Anica, the reasoner and Seda are publicly available5 in contrast to
PNSC [
            <xref ref-type="bibr" rid="ref9">9</xref>
            ] and SWAT [
            <xref ref-type="bibr" rid="ref3">3</xref>
            ].
          </p>
        </sec>
        <sec id="sec-2-5-2">
          <title>5 http://service-technology.org/anica</title>
        </sec>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>Conclusion</title>
      <p>
        Lessons learnt. Our approach to decompose a veri cation problem into many
typically smaller problems makes the veri cation of noninterference applicable
for industrial business processes. Furthermore the achieved speed allows a model
support based on partial assignment which are typically unusable for pure
verication tasks and tools, but as much more interesting for practical domains.
Future work. The next step could be the integration of the noninterference checks
in the context of other business process modeling tools (e.g, Oryx [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]) to support
BPMN rather than Petri nets. This would require a new reasoner to communicate
between Anica and for instance Oryx together with a background translation
between BPMN and Petri nets [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]. Moreover the current error message in case
of an insecure assignment can be extended to a detailed diagnostic information.
Therefore the witness path (already provided by Anica and LoLA) could be
visualized in Seda using its simulation feature.
      </p>
      <p>Acknowledgement. The authors cordially thank Niels Lohmann for his ideas
about the reasoner. This work was partially funded by the German Research
Foundation in the project WS4Dsec in the priority program Reliably Secure
Software Systems (SPP 1496).</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Aalst</surname>
            ,
            <given-names>W.M.P.</given-names>
          </string-name>
          v.d.:
          <article-title>The application of Petri nets to work ow management</article-title>
          .
          <source>Journal of Circuits, Systems and Computers</source>
          <volume>8</volume>
          (
          <issue>1</issue>
          ),
          <volume>21</volume>
          {
          <fpage>66</fpage>
          (
          <year>1998</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Accorsi</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lehmann</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Automatic information ow analysis of business process models</article-title>
          .
          <source>In: BPM 2012</source>
          . pp.
          <volume>172</volume>
          {
          <fpage>187</fpage>
          . LNCS 7481, Springer (
          <year>2012</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Accorsi</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wonnemann</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Dochow</surname>
            ,
            <given-names>S.:</given-names>
          </string-name>
          <article-title>SWAT: A security work ow toolkit for reliably secure process-aware information systems</article-title>
          .
          <source>In: ARES 2011</source>
          . pp.
          <volume>692</volume>
          {
          <fpage>697</fpage>
          .
          <string-name>
            <surname>IEEE</surname>
          </string-name>
          (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Busi</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gorrieri</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          :
          <article-title>Structural non-interference in elementary and trace nets</article-title>
          .
          <source>Mathematical Structures in Computer Science</source>
          <volume>19</volume>
          (
          <issue>6</issue>
          ),
          <volume>1065</volume>
          {
          <fpage>1090</fpage>
          (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Decker</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Overdick</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Weske</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Oryx - an open modeling platform for the bpm community</article-title>
          .
          <source>In: BPM 2008</source>
          . pp.
          <volume>382</volume>
          {
          <fpage>385</fpage>
          . LNCS 5240, Springer (
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Denning</surname>
            ,
            <given-names>D.E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Denning</surname>
            ,
            <given-names>P.J.:</given-names>
          </string-name>
          <article-title>Certi cation of programs for secure information ow</article-title>
          .
          <source>Commun. ACM</source>
          <volume>20</volume>
          (
          <issue>7</issue>
          ),
          <volume>504</volume>
          {
          <fpage>513</fpage>
          (
          <year>1977</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Dijkman</surname>
            ,
            <given-names>R.M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Dumas</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ouyang</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          :
          <article-title>Semantics and analysis of business process models in bpmn</article-title>
          .
          <source>Information &amp; Software Technology</source>
          <volume>50</volume>
          (
          <issue>12</issue>
          ),
          <volume>1281</volume>
          {
          <fpage>1294</fpage>
          (
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Fahland</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Favre</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Koehler</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lohmann</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          , Volzer, H.,
          <string-name>
            <surname>Wolf</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          :
          <article-title>Analysis on demand: Instantaneous soundness checking of industrial business process models</article-title>
          .
          <source>Data Knowl. Eng</source>
          .
          <volume>70</volume>
          (
          <issue>5</issue>
          ),
          <volume>448</volume>
          {
          <fpage>466</fpage>
          (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Frau</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gorrieri</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ferigato</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          :
          <article-title>Petri net security checker: Structural noninterference at work</article-title>
          .
          <source>In: FAST 2008</source>
          . pp.
          <volume>210</volume>
          {
          <fpage>225</fpage>
          . LNCS 5491, Springer (
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Gorrieri</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Vernali</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Foundations of security analysis and design vi. chap. On intransitive non-interference in some models of concurrency</article-title>
          , pp.
          <volume>125</volume>
          {
          <fpage>151</fpage>
          . Springer (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Lehmann</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lohmann</surname>
          </string-name>
          , N.:
          <article-title>Modeling wizard for con dential business processes</article-title>
          .
          <source>In: SBP 2012</source>
          . Tallinn, Estonia (
          <year>2012</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Lohmann</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Verbeek</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Dijkman</surname>
            ,
            <given-names>R.M.:</given-names>
          </string-name>
          <article-title>Petri net transformations for business processes { a survey</article-title>
          .
          <source>LNCS ToPNoC II(5460)</source>
          ,
          <volume>46</volume>
          {
          <fpage>63</fpage>
          (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Wolf</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          :
          <article-title>Generating Petri net state spaces</article-title>
          . In: Kleijn,
          <string-name>
            <given-names>J.</given-names>
            ,
            <surname>Yakovlev</surname>
          </string-name>
          ,
          <string-name>
            <surname>A</surname>
          </string-name>
          . (eds.)
          <source>ICATPN 2007. LNCS 4546</source>
          , vol.
          <volume>4546</volume>
          , pp.
          <volume>29</volume>
          {
          <fpage>42</fpage>
          . Springer-Verlag (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>