<?xml version="1.0" encoding="UTF-8"?>
<TEI xml:space="preserve" xmlns="http://www.tei-c.org/ns/1.0" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://www.tei-c.org/ns/1.0 https://raw.githubusercontent.com/kermitt2/grobid/master/grobid-home/schemas/xsd/Grobid.xsd"
 xmlns:xlink="http://www.w3.org/1999/xlink">
	<teiHeader xml:lang="en">
		<fileDesc>
			<titleStmt>
				<title level="a" type="main">PANIC -Plugging Data Leak Detection into the Camunda Modeler</title>
			</titleStmt>
			<publicationStmt>
				<publisher/>
				<availability status="unknown"><licence/></availability>
			</publicationStmt>
			<sourceDesc>
				<biblStruct>
					<analytic>
						<author>
							<persName><forename type="first">Jasmin</forename><surname>Türker</surname></persName>
							<email>jasmin.tuerker@uni-jena.de</email>
							<affiliation key="aff0">
								<orgName type="department">Institute of Computer Science</orgName>
								<orgName type="institution">Friedrich Schiller University Jena</orgName>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Thomas</forename><forename type="middle">S</forename><surname>Heinze</surname></persName>
							<email>thomas.heinze@dlr.de</email>
							<affiliation key="aff1">
								<orgName type="department">Institute of Data Science German Aerospace Center (DLR)</orgName>
							</affiliation>
						</author>
						<title level="a" type="main">PANIC -Plugging Data Leak Detection into the Camunda Modeler</title>
					</analytic>
					<monogr>
						<imprint>
							<date/>
						</imprint>
					</monogr>
					<idno type="MD5">F095E68661D295684304BA303E0F29DA</idno>
				</biblStruct>
			</sourceDesc>
		</fileDesc>
		<encodingDesc>
			<appInfo>
				<application version="0.7.2" ident="GROBID" when="2023-03-23T20:17+0000">
					<desc>GROBID - A machine learning software for extracting information from scholarly documents</desc>
					<ref target="https://github.com/kermitt2/grobid"/>
				</application>
			</appInfo>
		</encodingDesc>
		<profileDesc>
			<abstract>
<div xmlns="http://www.tei-c.org/ns/1.0"><p>We present PANIC, a certified data leak detection tool, implemented as a plugin for the Camunda Modeler. With the help of our tool, process designers can detect data leaks instantaneously and interactively. The current prototype supports arbitrary BPMN processes with data logic implemented as inline scripts of a Groovy subset.</p></div>
			</abstract>
		</profileDesc>
	</teiHeader>
	<text xml:lang="en">
		<body>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="1">Introduction</head><p>Business processes are often subject to regulations governing the confidentiality and privacy of the information that is dealt with. To avoid accidental disclosure of sensitive or private data, automated process auditing can be a useful method. In this paper, we present a static analysis plugin for the popular Camunda Modeler<ref type="foot" target="#foot_0">3</ref> tool for modeling business processes in BPMN. Our plugin implements a data flow analysis, which allows for detecting data leaks at process design time.</p><p>A data flow analysis analyzes the propagation of data in a business process. Our analysis thereby distinguishes between data objects of two different sensitivity levels: low, representing objects originating from an insensitive data source, and high, representing objects from a sensitive data source. In order to guarantee the absence of data leakage, the analysis has to check that no high-level object is propagated to an untrusted, that is low-level sink. In contrast, any flow of objects between equal levels or from low-level source to high-level sink is allowed.</p><p>Our plugin is thus based on a two-level security model for mandatory access control. Technically, the plugin therefore implements a unified points-to/taint analysis <ref type="bibr" target="#b2">[3]</ref> to track the flow of sensitivity-labeled data objects inside a business process. The analysis has been formally proven correct using a mechanized proof, such that the analysis is also an instance of a certified data flow analysis. Based on our previous work detailing the analysis and its verification <ref type="bibr" target="#b3">[4]</ref>, the contribution of this paper is the prototype implementation of the PANIC analysis plugin. </p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2">Data Leak Detection Plugin</head><p>In the Camunda Modeler, process data of BPMN business processes can be modeled by process variables, messages, and (inline) scripts. While a number of programming languages are supported for defining inline scripts in the Camunda platform, our plugin currently only supports a small subset of the Groovy language, where Groovy is a JVM-based language providing an object-oriented data model. A process activity can be decorated as script task and attached a Groovy script, which gets access to a local copy of the process variables and messages, and to an API for committing local changes back to the variables and messages. To distinguish between low-and high-level objects, we defined a BPMN extension to decorate an activity as source of sensitive data or as untrusted sink. This applies in particular to inbound and outbound message activities, which can be marked as sources and sinks by the process designer, respectively.</p><p>Task of the data leak detection plugin is to reason about the flow of labeled data objects as defined by process variables, messages, and inline scripts. The plugin is therefore implemented as a client-server application, where the client is the plugin itself, providing the Camunda Modeler GUI extensions and bindings, and the server implements the actual analysis in the OCaml programming language. Note that the analysis implementation is directly generated from its correctness proof and only once at plugin installation time. The analysis can run in just milliseconds each time a BPMN process is modified in the Camunda Modeler, thus supporting interactive and instantaneous modeling and analysis.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3">Demo</head><p>The implementation of the PANIC plugin is available online<ref type="foot" target="#foot_1">4</ref> . Using the plugin, a process designer can easily identify flaws in her process model with respect to potential data leaks. Figure <ref type="figure" target="#fig_0">1</ref> shows a simple BPMN process for a fictive risk assessment of a health insurance company, where a sensitive medical record is propagated to an unstrusted sink. As can be seen, the plugin identifies this flaw in the process model and notifies the process designer. In the demo, we will show how a process designer can interact with the plugin, while creating a BPMN process model step-by-step, to identify and repair potential data leaks.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4">Related Work</head><p>Mandatory access control is a standard security model for data confidentiality <ref type="bibr" target="#b1">[2]</ref>, where access is granted based on policies using security classification levels such that access from a lower classified object to a higher classified object is prohibited. Process modeling and analysis with respect to mandatory access control has been a topic in the business process domain in recent years. Analysis usually applies the Petri net formalism, e.g., mapping data leak detection to the reachability problem as in <ref type="bibr" target="#b0">[1]</ref>. However, we are not aware of any work which considers actual process data in terms of variables, messages, and even scripts modifying them, nor do we know tool support in process modeling applications like Camunda.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="5">Conclusion and Future Work</head><p>In this demo paper, we have presented a prototype implementation for a Camunda Modeler plugin which allows a process designer to detect potential data leaks while creating BPMN process models. In its current version, the plugin is able to analyze data logic implemented as inline scripts of a subset of the Groovy language. In future work, we would like to extend the plugin to cover full Groovy as well as other programming languages supported by the Camunda platform. In particular, we wish to integrate support for the Java language and respective delegate classes, which are usually implementing a process' service tasks. Besides, we are working on making the analysis more precise, increasing precision by means of flow-sensitivity.</p></div><figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_0"><head>Fig. 1 .</head><label>1</label><figDesc>Fig. 1. Screenshot of the PANIC data leak detection plugin</figDesc><graphic coords="2,152.77,109.90,325.35,109.48" type="bitmap" /></figure>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="3" xml:id="foot_0">https://camunda.com/ S. Kolb, C. Sturm (Eds.): 11 th ZEUS Workshop, ZEUS 2019, Bayreuth, Germany, 14-15 February 2019, published at http://ceur-ws.org/Vol-2339</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="4" xml:id="foot_1">https://gitlab.com/fu63rov/camunda-static-analysis-plugin Plugging Data Leak Detection into the Camunda Modeler</note>
		</body>
		<back>
			<div type="references">

				<listBibl>

<biblStruct xml:id="b0">
	<analytic>
		<title level="a" type="main">Information leak detection in business process models: Theory, application, and tool support</title>
		<author>
			<persName><forename type="first">R</forename><surname>Accorsi</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Lehmann</surname></persName>
		</author>
		<author>
			<persName><forename type="first">N</forename><surname>Lohmann</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Inf. Sys</title>
		<imprint>
			<biblScope unit="volume">47</biblScope>
			<biblScope unit="page" from="244" to="257" />
			<date type="published" when="2015">2015</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b1">
	<analytic>
		<title level="a" type="main">A Lattice Model of Secure Information Flow</title>
		<author>
			<persName><forename type="first">D</forename><forename type="middle">E</forename><surname>Denning</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Comm. ACM</title>
		<imprint>
			<biblScope unit="volume">19</biblScope>
			<biblScope unit="issue">5</biblScope>
			<biblScope unit="page" from="236" to="243" />
			<date type="published" when="1976">1976</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b2">
	<analytic>
		<title level="a" type="main">P/Taint: Unified Points-to and Taint Analysis</title>
		<author>
			<persName><forename type="first">N</forename><surname>Grech</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Y</forename><surname>Smaragdakis</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">OOPSLA)</title>
		<imprint>
			<biblScope unit="volume">1</biblScope>
			<biblScope unit="page">28</biblScope>
			<date type="published" when="2017">2017</date>
		</imprint>
	</monogr>
	<note>PACMPL</note>
</biblStruct>

<biblStruct xml:id="b3">
	<analytic>
		<title level="a" type="main">Certified Information Flow Analysis of Service Implementations</title>
		<author>
			<persName><forename type="first">T</forename><forename type="middle">S</forename><surname>Heinze</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Türker</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">SOCA 2018</title>
				<imprint>
			<publisher>IEEE</publisher>
			<date type="published" when="2018">2018</date>
			<biblScope unit="page" from="191" to="198" />
		</imprint>
	</monogr>
</biblStruct>

				</listBibl>
			</div>
		</back>
	</text>
</TEI>
