We consider the problem of model-checking some of the well-known trace-based information flow properties from the literature for classes of infinite-state system models. We first define some language-theoretic operations that help to characterize language inclusion in terms of these properties. This gives us a reduction of the language inclusion problem for a class of system models, say , to the model checking problem for , whenever is effectively closed under these language-theoretic operations. We apply this result to show that the problem of model-checking any of these properties for One Counter Nets, One-Counter Automata, Basic Parallel Processes, and some properties for deterministic One Counter Automata, is undecidable. We also consider the class of Visibly Pushdown Systems and show that their model-checking problem is undecidable for a couple of properties. For the special case when all confidential events are internal we show that model-checking each of these properties for Visibly Pushdown Systems becomes decidable.
Information flow properties are a way of specifying security properties of systems that originated in the work of Goguen and Meseguer in the 1980’s [12]. In this framework, a system is modelled as having high-level (or confidential) events as well as low-level (or public) events, and a typical property requires that the high-level events should not “influence” the occurrence of low-level events. In other words, the sequence of low-level events observed from a system execution, should not reveal “too much” information about the high-level events that may have taken place.
A variety of information flow properties have been proposed in the literature, falling broadly under three categories. The original formulation of non-interference by Goguen and Meseguer was state-based in the sense that it spoke about the state of the system after a sequence of events: the state reached by the system after executing a sequence of low and high-level events, must be the same (from the low-level observer’s point of view) as the state reached after executing only the low-level events in the sequence.
Subsequent information flow properties in the literature were trace-based in that they specify a property of the set of traces or executions produced by the system (such properties are termed “hyperproperties” in [6]). For example, the non-inference (NF) property [24,25,31] states that for every trace produced by the system, its projection to low-level events must also be a possible trace of the system. Other well-known properties include separability (SEP) [24], generalized non-interference (GNI) [23], non-deducibility (NDO) [26], forward correctability (FC) [18], generalized non-inference (GNF) [31] and perfect security property (PSP) [31].
Finally there are properties based on the structure of the system model. These properties are termed bisimulation-based information flow properties and are studied by Focardi and Gorrieri in [10].
A Petri net model of Alice’s financial transactions, and the induced labelled transition system. (a) Petri net model. (b) Induced labelled transition system.
To illustrate how an information-flow property can express a confidentiality property of a system, consider the following example where we would like to model and reason about the confidentiality of an individual’s financial transactions. Alice periodically receives a unit of salary. She may choose to invest a unit of her money, in which case she eventually gets back double her investment. She could also choose to spend a unit of the money with her. Let us say the events of Alice receiving her salary and her expenditures are publicly visible events, while her investments and returns are not. We could model this system as a Petri net as shown in Fig. 1(a). There are two places (P and Q) and four transitions (labelled “”, “”, “”, and “”) in the model. The place P will represent (via the tokens that collect there) the money Alice has with her, while Q will represent the money she has currently invested. The event represents Alice receiving her salary and generates one token (representing a unit of money) in place P, while the event represents an expenditure of one unit, and removes a token from place P. Similarly, the event moves one token from place P to Q, while the event removes one token from place Q and generates two in place P. The Petri net model induces an (infinite-state) labelled transition system (LTS) shown in Fig. 1(b).
We can now ask whether this LTS (with and being the public or low events, and and being private or high events) satisfies the non-inference property: Does every trace of events generated by the system satisfy the property that its projection to low events is also a trace of the system? This system does not satisfy this property since the trace “” is generated by the system, but its projection to public events “” is not generated by the system. Thus, if a public observer who knows the system model observes the low-level trace “”, he can infer that Alice must have made an investment and received returns on it.
A natural question that arises is whether these properties can be “model-checked” for different classes of system models. The problem of model-checking an information flow property P for a class of system models is the following: given an instance M of the class of models , does M satisfy P? The question we would like to answer asks whether there is a decision procedure for this problem for a given property P and a class of models .
The problem of model-checking each of the trace-based properties mentioned above is known to be decidable for finite-state systems [7,30]. The technique in [7] makes use of Mantel’s characterisation of these properties [20,21] in terms of Basic Security Predicates (BSP’s) and essentially reduces the problem to the language-inclusion problem (modulo some closure properties) of the class of models. The model-checking problem for pushdown systems (PDS) was also shown to be undecidable in [7] by showing a reduction from the emptiness problem for Turing machines. For bisimulation-based properties, the model-checking problem is known to be decidable for finite-state systems [3,11]. More recently this problem was shown to be undecidable for pushdown systems, Petri nets and process algebras in [8].
In this paper, we focus on the problem of model-checking the trace-based properties mentioned above for classes of infinite-state system models (like the Petri net model of Fig. 1(a)). We begin by proving a general result that says that the language-inclusion problem for a class of system models reduces to the model-checking problem for each of the trace-based properties for this class of models, provided the class of models is effectively closed under certain corresponding language-theoretic operations. This result can be thought of as a converse direction of the characterisation in [7], thus showing that the problems of language-inclusion and model-checking for a class of systems are closely related.
This general result can be used to show that the model-checking problem for each of the trace-based properties is undecidable for well-known classes of infinite-state systems like Petri nets and Pushdown Systems, by simply checking that (a) the language-inclusion problem is undecidable for them, and (b) that they are closed under the corresponding language-theoretic operations. In fact we apply this technique to classes of system models fairly low in the hierarchy of classes like Basic Parallel Processes (BPP) [5] which can be thought of as communication-free Petri nets, and One-Counter Nets (OCN). This lets us conclude that the model-checking problem (for each of the trace-based properties) is undecidable for these classes, as well as for any super-class of them like One-Counter Automata (OCA) (that extend OCN’s by allowing a zero-check), and Process Rewrite Systems (PRS) [22] (that can be viewed as extending Petri nets with subroutines), apart from Petri nets and Pushdown Systems.
Various classes of infinite-state system models, ordered by inclusion of the class of languages they define. The results in this paper imply that model-checking any of the trace-based properties is undecidable for the darkly shaded classes, while model-checking the properties NF and GNF is undecidable for the lightly shaded classes.
For the deterministic versions of some of these classes, like Deterministic Pushdown Systems (DPDS) and Deterministic One-Counter Automata (DOCA), we can apply our generic result only partially. This is because while the language-inclusion problem for these classes is known to be undecidable, they are closed only with respect to one of the required language-theoretic operations. This lets us conclude that the problem of model-checking the properties NF and GNF for these classes is undecidable, while the others remain open.
For the class of Visibly Pushdown Systems (VPS) [1], which are a well-known class of infinite-state systems contained in DPDS, our general result is not useful as the language-inclusion problem for VPS is decidable. Nevertheless we show that model-checking the properties of NF and GNF is undecidable for this class of systems, by showing a reduction from the language-inclusion problem of a PDS in a VPS, which in turn we show to be undecidable. We also consider a restricted problem for VPS where all confidential events are internal. In this case, we can use a similar route to the one for finite-state systems [7] to show that this restricted model-checking problem for VPS is decidable.
The undecidability results in this paper are depicted in Fig. 2 which shows the different classes of infinite-state models we consider, ordered by inclusion of the classes of languages they define. We have also shown the classes BPA representing Basic Process Algebra or Context-Free Processes [22], which can be seen to define the same class of languages as PDS; and Two-Counter Automata (TCA) (or Minsky Machines) that are Turing-complete. The darkly shaded classes all have undecidable model-checking problems for each of the trace-based properties, while the lightly-shaded ones have undecidable model-checking problems for the NF and GNF properties. Our results are summarised in Table 1. The entries “Not Dec”, and “?” stand for “not decidable” and “open” respectively.
Summary of decidability results in this paper
Information flow property
System models
OCN
BPP
DOCA
VPS
VPS (high events internal)
NF
Not Dec
Not Dec
Not Dec
Not Dec
EXPTIME-complete
SEP
Not Dec
Not Dec
?
?
EXPTIME-complete
GNI
Not Dec
Not Dec
?
?
EXPTIME-complete
NDO
Not Dec
Not Dec
?
?
EXPTIME-complete
FC
Not Dec
Not Dec
?
?
EXPTIME-complete
GNF
Not Dec
Not Dec
Not Dec
Not Dec
EXPTIME-complete
PSP
Not Dec
Not Dec
?
?
EXPTIME-complete
The rest of the article is organized as follows. Section 2 recalls the definitions of the different trace-based information flow properties in the literature. Section 3 defines the classes of system models studied in this paper. Section 4 characterises language-inclusion in terms of the satisfaction of trace-based properties. It also derives conditions under which the language inclusion problem for a class of system models reduces to the problem of model-checking trace-based properties for that class. Section 5 applies this result to show that this problem is undecidable for the class of basic parallel processes. Similarly Section 6 shows that the model-checking problem is undecidable for the classes DOCA and OCN. Sections 7 and 8 deal with the decidability results for Visibly Pushdown Systems. We conclude and point to some future directions in Section 9.
Trace-based information flow properties
We recall the definitions of some of the well-known trace-based information flow properties. As we are interested in addressing the verification problem in this paper, we only recall the definitions of these properties and point the reader to [21] and [10] for motivation and example applications.
We begin with some preliminary notions. We use to denote the set of nonnegative integers. By an alphabet we mean a finite set of symbols representing events or actions of a system. For an alphabet Σ we use to denote the set of finite strings over Σ. The null or empty string is represented by the symbol ϵ. For two strings u and v in we write , or simply , for the concatenation of u followed by v. A language over Σ is just a subset of . For languages and over Σ, the concatenation of followed by , denoted is defined to be the language . For and , we sometimes write for the language . We will make use of standard notation for regular expressions. The prefix-closure of a language L over Σ, denoted , is the set .
Let w be a string over an alphabet Σ, and let . Then denotes the projection of w to X, namely the string obtained by deleting all events from w that are not elements of X. For alphabets and with , and and , we define the shuffle or interleaving of and , written , to be the language over given by
For languages and with , we define .
Finally, a partitioned alphabet is a base alphabet Σ, along with a partition of Σ into (“High”) and (“Low”) events, and another partition of Σ into (“Input”) and (“Output”) events. We write for and for .
Let be a partitioned alphabet, and let L be a language over Σ. We define below what it means for L to satisfy various trace-based information flow properties.
Non-inference (NF) [
24
,
25
,
31
] states that for every trace produced by the system, its projection to low events must also be a possible trace of the system. Thus if a system satisfies the non-inference information flow property, a low-level user who observes the visible behavior of the trace is unable to infer in general, the exact system trace. Formally, L satisfies NF iff
Separability (SEP) [
24
] requires that every possible low-level behavior interleaved with every possible high-level behaviour must be a possible behaviour of a system. Formally, L satisfies SEP iff
Generalized non-interference (GNI) [
23
]: Given a trace τ, modifying it by inserting or deleting high-level input results in a sequence σ, which is not necessarily a valid trace. This is referred to as a perturbation of τ. GNI requires that it must be possible to construct a valid trace from σ by inserting or deleting high-level outputs. This is called a correction to a perturbation. Formally, L satisfies GNI iff
Non-deducibility for outputs (NDO) [
14
] is similar to SEP, but weaker in that it permits some non-critical information flow from low level to high level. More specifically, the high-level behavior may depend on the input that is provided by low-level users. The possible user inputs are modelled by a set . Formally, L satisfies NDO w.r.t. iff
Forward correctability (FC) [
18
]: FC is a causal or forward correctable version of GNI where corrections can occur only after the perturbation. Formally, L satisfies FC iff
Generalized non-inference (GNF) [
31
] is satisfied when for any trace τ, it must be possible to find another trace σ such that the low projections of τ and σ coincide, and σ has no high level inputs. Formally, L satisfies GNF iff
Perfect security property (PSP) [
31
]: PSP was proposed to address a limitation of SEP. SEP does not allow low-level users to influence high-level activity. PSP is proposed as the weakest property that does not allow a flow from high-level users to low-level users. L satisfies PSP iff
For the reader interested in the relationship between these different properties, we point to Theorem 4.3.7 in [21], that details the relative strength of each of these properties.
System models
In this section we introduce some of the system models we consider and define the model-checking problem for them. We begin with labelled transition systems and some associated notation.
A labelled transition system (LTS) M is a tuple where Q is a set of states, Σ is a set of labels, is the initial state and is a set of labelled transitions.
Let be an LTS. For states , and , we will sometimes write for . For states and we represent the fact that there is a path from p to q labelled w in M, by , and define it as the smallest relation in satisfying for each ; and for each , , and , if and then . We can now define the trace language generated by M, denoted by , as the set We note that is always a prefix-closed language.
We say that M is deterministic if for each , , and :
and implies ; and
and implies .
We say that a formalism represents a class of system models if each of its instances N has a trace semantics in terms of an LTS (that is is defined to be ).
A one-counter automaton (OCA) (see [28]) consists of a finite-state control and a counter capable of storing an unbounded non-negative integer. Formally, a OCA N is a tuple where Q is a finite set of control states, Σ a finite alphabet of actions, s the starting control state, δ a transition relation of the form , and a “zero-test” transition relation of the form .
Let be a OCA. A configuration of N is a pair in , representing a control state and a valuation to the counter. The OCA N induces an LTS , where the transition relation → is defined as follows: for every , and , we have:
A OCA is called a one-counter net (OCN) if , i.e., if the automaton cannot test if the counter is equal to 0. It is called a deterministic OCA, or DOCA, if the induced LTS is deterministic.
We now introduce the system model Basic Parallel Processes (BPP’s) (see [22]).
Let be a set of process constants. The class of process expressions over is given by
where ‘ϵ’ is the empty process, X ranges over , and ‖ stands for parallel composition.
A Basic Parallel Process (BPP) N over a set of process constants is a tuple where P is the initial process expression, Σ is an alphabet and Δ is a finite set of rules of the form where , and E is a process expression over .
A BPP over determines an LTS where the states in Q are process expressions over and the transition → is the least relation satisfying the following structural operational semantics (SOS) rules:
where .
Finally, we turn to pushdown systems and their variants. A pushdown system (PDS) (see [19]) is a structure , where Q is a finite set of states, Σ is the input alphabet, Γ is the stack alphabet which contains a designated bottom-of-stack symbol ⊥, s is the start state, and δ a finite subset of the transition relation. A transition of the form , which we will sometimes write for clarity, with , represents the following move of the PDS: in state p, on input a, and top of stack X, it can move to state q, pop X off the stack, and push in symbols , , to (in that order) on the stack.
A pushdown system P above induces an LTS whose states are elements of (called the configurations of P), the start state is , and the transition relation is given by:
provided there exists a transition of the form in δ.
A pushdown automaton (PDA) is a pushdown system along with a set of final states . The language accepted by a PDA P, denoted , is the set of strings , for which there is a run on w in the induced LTS to an “accepting” configuration where the control state is in F.
A visibly pushdown system [1] is a pushdown system where the alphabet Σ is partitioned into a call alphabet , a return alphabet and an internal alphabet , with the restriction that the system does a push operation on reading a character from the call alphabet, a pop operation on reading a character from the return alphabet, and does not modify the stack on reading a character from the internal alphabet. A more formal definition follows.
A visibly pushdown system (VPS) is a tuple where Q is a finite set of states, is a finite call alphabet, is a finite return alphabet, is a finite internal alphabet, Γ is a finite stack alphabet that contains a special bottom-of-stack symbol ⊥, is the initial state and .
A VPS V induces an LTS defined in a similar way to that of a pushdown system. A transition where and , is called a push-transition and denotes that on reading a, A is pushed onto the stack and the control changes from state q to . Similarly, where is called a pop-transition and denotes that on reading input a with A on the top of the stack, the top of the stack is popped and the control state changes from q to ; the only exception being that if A is the bottom of stack symbol ⊥, then it is not popped. A transition where is called an internal-transition and denotes that on reading a there is no change to the stack and the control changes from state q to . In Section 8.1 we give a detailed example of a VPS that models a program with procedure calls.
The classes OCA, DOCA, OCN, DOCN, PDS and VPS all represent classes of system models. Given two classes of system models and , we say that is effectively as expressive as, if there is a computable map σ from to such that for any instance M of , .
We now define the model-checking problem for classes of system models.
The problem of model-checking a trace-based information flow property θ for a class of system models , denoted by , is the following: given an instance M of over an alphabet Σ and a partitioned alphabet based on Σ, does satisfy θ with respect to ?
As usual, the language inclusion problem for a class of system models , denoted by , is as follows: given two instances and of over an alphabet Σ, is ?
Reducing language inclusion to model-checking
In this section we give sufficient conditions under which the problem of language inclusion for a class of system models reduces to the model-checking problem for that class. We begin with a characterization of language inclusion in terms of satisfaction of the trace-based information flow properties. For this purpose we first define some language-theoretic operations.
Let , be languages over an alphabet Σ. Let k and v be distinct symbols outside Σ. We define the binary operations , , , , and on languages, as follows:
.
.
.
.
.
We note that is similar to except that it also contains strings of the form .
For an alphabet Σ and distinct symbols k and v outside Σ, we define the partitioned alphabets
These alphabets are depicted in Fig. 3.
Partitioned alphabets , and .
Letandbe two languages over an alphabet Σ. Then
iffsatisfies NF over.
iffsatisfies SEP over.
iffsatisfies GNI over.
iffsatisfies NDO (w.r.t. any) over.
iffsatisfies FC over.
iffsatisfies GNF over.
iffsatisfies PSP over.
Let . (⇒:) Suppose . Let . If , then , as there are no events in , and hence . If , then it is of the form for some . Since , we have , and hence . Thus L satisfies NF over .
(⇐:) Suppose . Then there exists some such that . Consider the string . We have which is not in L. Hence L does not satisfy NF with respect to .
Let . (⇒:) Suppose . Consider . We proceed case by case:
Case: . Then and for some . Hence which is contained in since w is also in .
Case: . Then and or for some . Hence which is contained in since w is also in .
Case: and . Then and or for some . Hence which is contained in .
Case: and . Then and for some . Hence which is contained in since w is also in .
This proves that L satisfies SEP over .
(⇐:) Suppose . Then there exists some such that . Consider the strings and in L. Then contains the string which is not in L. Thus L does not satisfy SEP over .
For the partitioned alphabet (note that and ), GNI may be simplified to the following property.
Let . (⇒:) Suppose . Let .
Case . Then for some . In this case for any , we have which is contained in since .
Case . Then for some . In this case for any , we have which is contained in .
Hence L satisfies GNI over .
(⇐:) Suppose . Then there exists some such that . Consider the strings , , and . Then , but which does not belong to L. Hence L does not satisfy GNI over .
Let be a subset of . As in , we have . Hence over the partitioned alphabet , NDO (w.r.t. any ) is equivalent to the SEP, and the claim follows from the one for SEP.
The property FC is vacuously satisfied when . Hence we use the partitioned alphabet where . Let .
(⇒:) Suppose . Then clearly , and we have . Hence it is enough to prove that independently satisfies FC. Consider a string in with no k-events in and . Then clearly is also in . Now consider a string in . Once again, we clearly have in . Hence L satisfies FC over .
(⇐:) Suppose . Then there exists a string w in and not in . Consider the string in L. If L were to satisfy FC, we must have also in L. But clearly, does not belong to nor . Hence . Consequently L does not satisfy FC over .
The property GNF is the same as NF when . Hence the arguments in the proof of NF holds here as well.
Let .
(⇒:) Suppose . Consider a string . It is easy to see that . Now consider α, β in and such that , , and . This can only happen when and . This implies that . Now which belongs to which is contained in L. Hence L satisfies PSP with respect to .
(⇐:) Suppose . Then there exists some . Consider the string . We have , and clearly . Hence L does not satisfy PSP over . □
The following theorem gives sufficient conditions for a class of system models under which the problem of language inclusion reduces to the problem of model-checking a particular trace-based property for that class. We use the notation to denote that the language inclusion problem for a class of system models reduces to the problem of model-checking property θ for . We say a class of system models is effectively closed under the language-theoretic operation if and only if given two instances , of over an alphabet Σ and given there is an algorithm to construct an instance M of such that . Closure with respect to the other operations is defined similarly.
Letbe a class of system models. Then
providedis effectively closed under.
providedis effectively closed under.
providedis effectively closed under.
providedis effectively closed under.
providedis effectively closed under.
providedis effectively closed under.
providedis effectively closed under.
Consider part (a) of the theorem. Let and be two instances of over an alphabet Σ. Suppose is effectively closed under . Let k be a distinct symbol outside Σ. Then we can construct an instance M of over the alphabet , such that . Now from Theorem 1, we have that if and only if satisfies NF over . Hence .
The proofs for parts (b) to (g) follow similarly. □
The following proposition is immediate:
Letandbe two classes of system models. Ifis effectively as expressive asthenreduces tofor any information flow security property θ of Definition
1
.
If the problem of model-checking a system modelfor an information flow property θ of Definition
1
is undecidable, then the problem of model-checking any more-expressive system modelthan(i.e.,) for θ is also undecidable.
Model-checking basic parallel processes
We now apply the results of the previous section to show that the problem of model-checking each of the trace-based properties of Definition 1 for BPP’s is undecidable. The language inclusion problem for BPP’s is known to be undecidable [15]. Using Theorem 2, it is sufficient to show that BPP’s are effectively closed under the operations through .
For the rest of the section, we fix the BPP’s over and over such that . Let k and v be distinct symbols outside of Σ.
We now construct a BPP N from and such that . Let over where , and Δ contains the rules of , and the rules and . Figure 4(a) depicts the induced LTS of the constructed BPP N. From the construction, it is straight-forward to see that .
Closure of BPP under operations and . (a) Induced LTS of N for . (b) Induced LTS of for .
We now construct a BPP from and such that . Let over where and Δ is defined as follows.
Figure 4(b) shows the induced LTS of the constructed BPP partially. It is easy to see that .
We now construct a BPP from and such that . Let over where and Δ is defined as follows.
Figure 5(a) shows the induced LTS of the constructed BPP . It is easy to see that .
We now construct a BPP from and such that . Let over where and Δ is defined as follows.
Closure of BPP under operations and . (a) Induced LTS of for . (b) Induced LTS of for .
Figure 5(b) depicts the induced LTS of the constructed BPP . Note that the last rule enables us to have arbitrary number of k’s at arbitrary positions in the strings from the language . Clearly, .
The construction for is very similar to that of and we skip the details.
The problem of model-checking any of the trace-based properties of Definition
1
for BPP’s is undecidable.
As a BPP can be viewed as a Petri net where every transition has exactly one input place and every arc has weight 1, from Corollary 1, we have:
The problem of model-checking any of the trace-based properties of Definition
1
for Petri nets is undecidable.
Model-checking one-counter nets/automata
In this section we apply Theorem 2 to the model-checking problem for deterministic one-counter automata (DOCA’s) and one-counter nets (OCN’s). We then extend these results to the problem of model-checking pushdown systems.
The language inclusion problem for OCN is shown to undecidable in [16]. We now show that the OCN class of models is closed under the operations through . Let Σ be an alphabet and let k and v be distinct symbols outside Σ. Let and be two OCN’s over Σ, with start states and respectively.
Consider the operation . We construct a OCN N from and by adding a new transition from to on k without modifying the counter, i.e., . Without loss of generality assume that the start state has no incoming transitions. The state is the starting state in N. Now it is easy to see that .
Next we consider the operation . We construct a OCN N from and by adding a new start state s, and transitions , . We also add the transitions for each state q in . The OCN N clearly accepts .
Consider the language-theoretic operation . We construct a OCA N from and as follows. Introduce a new start state s and transitions , and . Retain all the transitions from and in N. Now it is easy to see that .
Finally, we consider the language-theoretic operation . We construct a OCN N from and as follows. Introduce a new start state s and states and , and transitions , , , and . For all the states in , introduce a self loop on k without modifying the counter, i.e., if q is a state in , then add the transition . Retain all the transitions from and in N. Now it is easy to see that .
The construction for is very similar to that of and we skip the details. Hence, using Theorem 2 we have:
The problem of model-checking any of the trace-based properties of Definition
1
for the class OCN is undecidable.
Since OCN is a syntactic subclass of OCA which in turn is a subclass of pushdown systems (PDS), from Corollary 1, we have:
The problem of model-checking any of the trace-based properties of Definition
1
for one-counter automata (OCA) and pushdown systems (PDS) is undecidable.
Finally, we consider some deterministic subclasses of pushdown systems. It is known that the language inclusion problem for deterministic one-counter automata (DOCA) is undecidable [29] (see also [28]). We note that the construction for shown above holds even for DOCA’s. This means that the class DOCA is closed under the operation . From Theorem 2 we then have:
The problem of model-checking the properties NF and GNF for deterministic one-counter automata (DOCA) is undecidable.
Since DOCA is an effective subclass of deterministic pushdown systems (DPDS), we have that
The problem of model-checking the properties NF and GNF for deterministic pushdown systems (DPDS) is undecidable.
Unfortunately, the decidability of the model-checking problems for the other properties for DOCA and DPDS remains open. We note that Theorem 2 is of little help in establishing undecidability in this case, since both DOCA and DPDS are not closed under the operations through . This can be seen by considering the language and , over the alphabet , which are both expressible as DOCA’s (and hence also DPDS’s). Note that
Hence, if were expressible by a DOCA or DPDS, then since the class DPDS is closed under complementation and intersection with regular languages, we would have that the language is expressible by a DPDS. But this is not possible, since the language is not even context-free. A similar argument can be used to show that the classes are not closed under the operations , and .
Model-checking visibly pushdown systems
We now study the model-checking problem for visibly pushdown systems. We show that this problem is undecidable in general for non-inference and generalized non-inference. We also show that a restricted problem of model-checking any of the properties in Definition 1, for visibly pushdown systems in which all the high events are internal, is decidable. In this section we focus on the undecidability result.
We note that the language inclusion problem for visibly pushdown automata (when the two VPA’s are over the same partitioned alphabet) is decidable [1], and hence we cannot directly make use of Theorem 2 for this class of system models. Instead, we will prove and make use of the fact that the problem of language inclusion of a PDS with respect to a VPS (i.e., whether the language of a given PDS P is contained in the language of a given VPS V) is undecidable. More precisely we show the following:
The problem of language inclusion of an ϵ-free PDS with respect to a VPS is co-r.e. hard.
We prove this theorem in three steps:
We reduce the complement of the halting problem of a Turing machine () to the problem of checking the emptiness of the intersection of a PDA with a VPA (see Lemma 1).
We reduce the problem of checking the emptiness of the intersection of a PDA with a VPA to the problem of language inclusion of a PDA with respect to a VPA (see Lemma 2).
We reduce the problem of language inclusion of a PDA with respect to a VPA to the problem of language inclusion of an ϵ-free PDS with respect to a VPS (see Lemma 3).
We now describe these steps in detail. We recall that a Turing machine M is of the form
where Q is a finite set of states, is a finite input alphabet, is a finite tape alphabet containing , is the left end-marker, is the blank symbol, is the transition function, is the start state, and are respectively the accept and reject states which are assumed to be sink states. A configuration c of M at any instant is defined as a triple where is a state, z is a string describing the “non-blank” part of the tape contents, and n is a non-negative integer representing the position of the head of the Turing machine. The initial configuration of M on input x is , and the next configuration relation ⇝ is defined as follows: We have , if and . Similarly , when and . A configuration of M is halting if the control state is either t or r.
The halting problem for Turing machines is represented by the language comprising (a suitable encoding of) a Turing machine M and its input x such that M reaches a halting configuration on input x. As is well-known, the problem is undecidable and its complement is co-r.e. complete.
We now show a reduction from to the problem of emptiness of the intersection of a PDA and a VPA. The reduction follows the general idea of representing valid computations of a Turing machine as strings (see for example [19]), and is similar to the reduction one would use for showing undecidability of the emptiness of the intersection of the languages accepted by two given PDA’s. We represent a configuration of M as a finite string c over the alphabet . For example the initial configuration of M on input would be represented as the string
where we write an element of Δ vertically stacked as ‘’.
We now represent a computation of M on an input x as a sequence of configurations separated by a # symbol. More precisely, let , where , be a “primed” version of . Let denote the representation of a configuration c in the primed alphabet . Let denote the reverse of a string y. Then we represent the valid computations of M on x as a string over of the form:
over the alphabet , satisfying the conditions that
is the initial configuration of M on x,
, for each ,
and is a halting configuration of M.
Such a string is depicted in Fig. 6. Let us call the collection of such strings over the alphabet Δ, the language . It is clear that M halts on x iff is non-empty.
Representing a computation of M on x.
Let be a version of in which only the odd-numbered configurations and their successors are checked for consecution (i.e. for each ). Similarly, let be the version in which only the even-numbered configurations and their successors are checked for consecution (i.e. for each ). Then it is clear that .
We can now construct a PDA that accepts precisely . The well-formedness of each configuration, that is the start configuration, and that is a halting configuration – can all be checked by a finite-state automaton. The main thing that remains to be checked is the consecution of the odd-numbered configurations with their successors. A PDA can do this by simply pushing each odd-numbered configuration symbol-by-symbol on the stack, and then reading the succeeding configuration (which is conveniently reversed) to make sure it “agrees” with the corresponding symbols of the previous configuration, in accordance with the transition function of the Turing machine M. This is standard and we skip the details. If the PDA detects any violation of the consecution it rejects the string; if it finds no violations till the end of the string, it accepts. In a similar way we can construct a VPA that accepts precisely . Note that the primed alphabet helps here, as we can declare the call alphabet of the VPA to be , the return alphabet to be , and the internal alphabet to be .
Thus, given an instance M, x of the problem , we can (algorithmically) construct the PDA and VPA above. Since it is true that M does not halt on x iff , we can conclude:
The problemreduces to the problem of emptiness of the intersection of the languages accepted by a PDA and a VPA.
The second step is easy:
The problem of emptiness of the intersection of the languages accepted by a PDA and a VPA, reduces to the problem of language inclusion of a PDA with respect to a VPA.
Let P and V be a PDA and a VPA respectively. As VPA’s are effectively closed under complementation, we can construct a VPA accepting . Now since if and only if , the reduction follows. □
The final step is shown by the following lemma.
The problem of language inclusion of a PDA with respect to a VPA reduces to the problem of language inclusion of an ϵ-free PDS with respect to a VPS.
Let P and V be the given PDA and VPA respectively, over an alphabet Σ. Let d be a symbol outside Σ. Then we will construct a PDS and a VPS over the alphabet which accept the languages and respectively. If we can do this, we are done, as it is easy to check that iff .
We now focus on the construction of the PDS . Without loss of generality we can assume that the given PDA P has no ϵ-transitions. This is because it follows from Greibach’s normal form for context-free grammars [13] that a PDA can be converted to an equivalent ϵ-free PDA. We can now modify P to accept by adding a new state t, which will be the only accepting state, and adding transitions for each final state p of P and stack symbol X. Let the resulting ϵ-free PDA be .
We now describe how to construct a PDS that accepts the prefix-closure of . The idea is to detect when we are about to enter a “bad” configuration from which cannot reach an accepting configuration no matter what remaining input it reads. This can be done by making use of the pushdown reachability algorithm [4,9] (see also [27]), which gives us a deterministic finite-state automaton (DFA) that accepts precisely the bad configurations of a pushdown system. This DFA can be run (by ) on the stack contents to keep track of when it is about to get into a bad configuration.
More precisely, let be a DFA accepting precisely the bad configurations of . Without loss of generality we assume A accepts the reverse of the configurations, so that it accepts strings of the form . We define to be the PDS , where , and is defined as follows. Let us consider a push transition in . For ease of presentation, let us assume it pushes two symbols and is of the form . Then for each , such that , , and , we add the transition
in . Similarly, if is a pop transition in δ, then for each with , we add the transition
in . Thus, we are essentially keeping track of the state of A if it were to have read the current stack contents. We also need to keep track of the state of A if it had read the stack without the current top of stack. This helps us when we have to pop the top of stack and also lets detect when to disallow a transition that takes it to a bad configuration.
It is not difficult to see that . In a similar way we can construct a VPS from V that accepts . This completes the proof of the lemma. □
With this, we have completed the chain of reductions to prove Theorem 8. We remark here that the theorem and its proof also hold if we replace the PDS in the statement of the theorem by an ϵ-free DPDS.
Returning now to the problem of model-checking the NF and GNF properties for VPS’s, we show that the language inclusion problem of an ϵ-free PDS with respect to a VPS reduces to the model-checking problems and .
Let be an ϵ-free PDS and be a VPS. We assume without loss of generality that . The aim is essentially to construct a VPS accepting , and then to use an argument similar to Theorem 2. However constructing such a VPS is problematic due to the potential mismatch between the way the PDS P and the VPS V use their stacks on each input alphabet. Instead we construct a VPS over an alphabet , where k, , and are new symbols outside Σ, such that where is a VPS constructed from P such that . The call alphabet of is , the return alphabet is , and internal alphabet is . The VPS is depicted in Fig. 7.
The main step in the construction of is the component . The aim of is to simulate the moves of P. However due to the regimen imposed by the call/return alphabet may temporarily be out of step with P. In such a case, it will make use of the new input symbols to perform compensating actions that bring it back in step with P.
Constructed VPS .
We now describe the construction of . Let l be the maximum length of string pushed onto the stack in a single transition of , and let denote all strings over Γ of length at most l. The components of are as follows:
The states of are . A state of the form will represent the fact that the simulation of a move of P is complete and it is in state q with top of stack X. A state of the form will represent the fact that P is in state q, but we have to immediately perform some compensating actions by popping from the stack and pushing on the stack.
The call alphabet is , the return alphabet is , and the internal alphabet is .
The stack alphabet is , where D is a new stack symbol not in .
The start state is . We assume without loss of generality that has no incoming transitions in V.
The initial stack symbol is ⊥.
The transition relation δ comprises the transitions of V (i.e., ), and the following transitions of the component .
For each transition in , we add the following transitions based on whether a is a call, return, or internal action.
Case : we add the push transition in δ.
Case : we add the internal transition in δ.
Case : we add the pop transition in δ.
In addition we add the following transitions to δ:
It is not difficult to argue that accepts the language with .
Partitioned alphabet
∅
∅
Σ
Let be the partitioned alphabet , as shown in Table 2.
Let P, V, andbe as described above. Theniffsatisfies NF over.
(⇒:) Suppose . Consider a string w in . Recall that by construction we have and . Now if , then which belongs to . If , then we know that . As , we have and hence also that . This proves that satisfies NF.
(⇐:) Suppose . Then there exists some . Hence there exists a string of the form in (more precisely ) with . Since w is not in and also clearly not in , we have . Hence does not satisfy NF. □
We have thus shown a reduction from the problem of language inclusion of a PDS with respect to a VPS to the problem of model-checking NF for a VPS. As the property GNF is the same as NF when , the same reduction also works for the problem of model-checking GNF for VPS’s. Hence we have:
The problems of model-checking the properties NF and GNF for visibly pushdown systems are co-r.e. hard.
Since visibly pushdown systems are a strict subclass of deterministic pushdown systems, this gives us an alternative proof for the undecidability (in fact co-r.e. hardness) of the problem of model-checking NF and GNF for deterministic pushdown systems. We note that the problems of model-checking VPS’s (and DPDS’s) for other properties are still open.
Model-checking visibly pushdown systems – A decidable restriction
We now show that the restricted problem of model-checking visibly pushdown systems when all high events are internal is decidable for each of the properties of Definition 1.
A motivating example
We begin by motivating why this result is useful in a practical setting. Consider a system implemented as a C-like program with procedures, as shown in Fig. 8(a). The program has a global variable key representing a secret key it is updating, and makes calls to a recursive procedure foo to compute an intermediate value.
Modelling a program with procedures as a VPS. (a) Program P. (b) VPS model of P. (c) Stacks after calls to foo in line 3 and 10 respectively.
This program can be modelled as a VPS in a natural way, as shown in Fig. 8(b). The alphabet of actions is essentially the statement numbers of the original program, though some statements are split into several steps. For instance the statement 3 in the original program is split into actions , , , , and 3e in the VPS, to model the steps involved in a procedure call. These steps represent (a) +pushing local variables on the stack, (b) pushing the return address, (c) pushing the argument to the called procedure, and finally (d) restoring the value of local variables from the stack, and (e) carrying out the assignment of the returned value. We use the convention that a “push” alphabet (i.e. in ) is decorated with an “overline”, as in , a “pop” alphabet is decorated with an “underline”, as in , and an internal action, like 3e, is undecorated.
The control state of the VPS comprises a vector of the form , representing the step number (or action name), the value of the variables key, a, x, and res, and finally the value last returned from a procedure call. We assume that the variables store integers of bounded size, and are intitialized to 0 at the time of declaration. For example, after the call to procedure foo(3) returns in main, the control state of our VPS would be .
The transitions of the VPS are given in psuedo-code in Fig. 8(b). The step “push a” for example, is enabled whenever the step number in the control state equals “3a”, and it pushes the value of a stored in the current control state, onto the stack, and goes to a new control state in which step number is “3b”, with other components remaining unchanged. Similarly, the step “pop x” in step number 5, represents a transition that pops the top of the stack, stores it in the component x of the control state, and goes to step number 6.
Figure 8(c) shows the snapshots of the stack after the calls to foo in line 3 and line 10 in the original program, respectively.
Consider now a scenario concerning the security of this program P. Let us say a low-level observer has access to a covert channel that lets him detect accesses to the system stack, thereby allowing him to observe all the push and pop actions of the program while it is executing. However, he is not able to detect internal actions of the system, like accesses to the key variable which may be register-allocated. Suppose we are interested in whether the system, in this security setting, satisfies an information flow property like “it is not possible for the observer to conclude, by observing only the low-level actions of the system, that the key variable was changed”. Such a property can be phrased as one of the information flow properties of Definition 1, like non-inference (see [7]). We further note that the system model is a VPS that satisfies the assumption that all confidential events are internal actions. Hence, the result of this section (Theorem 10) gives us a way to algorithmically answer such questions.
Decision procedure
We now describe our decision procedure for model-checking the trace-based properties for this restricted class of VPS’s. We essentially make use of a characterization in our earlier work [7] (which in turn factors through Mantel’s characterization of trace-based properties in terms of what he called “Basic Security Predicates” [20]) which says that the model-checking problem for a class of system models reduces to the language-inclusion problem for that class provided the class is closed under certain language-theoretic operations. We note that the language inclusion problem for VPA’s is decidable, and hence to obtain the decidability result we seek, it suffices to show that the class of VPA’s are closed under these language-theoretic operations. We emphasize that these closure properties hold under the restriction that all confidential events are part of the alphabet of internal actions of the VPA.
In the sequel we will recall the definitions of the requisite operations, and the characterization of [7], before going on to show the closure properties of VPA’s.
In the definition below we will make use of some terminology. Let Σ be an alphabet. A view w.r.t. Σ is a partition of Σ into visible events V, confidential events C, and neither visible nor confidential events N, from a particular user’s point of view. A marked language M over Σ is a language over the alphabet , where ‘♮’ is a special “mark” symbol different from those in Σ, and each string in M contains exactly one occurrence of ♮. A marked language over Σ is thus a subset of .
Let be a view of an alphabet Σ. Let L be a language over Σ and M a marked language over Σ.
Let . The projection of the language L to X, written , is defined to be .
This operation corresponds to the deletion of the last confidential event in a string.
. This corresponds to the insertion of a confidential event in strings of L, only at a position after which no confidential events occur.
Let . Then is defined to be the set
Operation (w.r.t. X) corresponds to insertion of “X-admissible” confidential events in strings of L. The insertion of a C-event is X-admissible after a prefix α in a string τ iff there exists another string with γ projected to X being the same as α projected to X.
. The operation corresponds to the “marked” deletion of the last confidential event. More precisely, this operation replaces the last C-event in every string of L by the special mark symbol ♮.
. The operation corresponds to the “marked” insertion of a confidential event. It is similar to the operation , but additionally introduces a mark ♮ after the newly inserted C-event.
Let . Then we define to be the set
Operation (w.r.t. X) corresponds to the marked insertion of X-admissible events. This operation is similar to , but a mark ♮ is introduced after the newly inserted X-admissible event.
. Thus operation corresponds to the insertion of a mark at an arbitrary position in strings of L.
Let . Then the marked projection of the marked language M to X, written , is defined as
Thus marked projection operates on a marked language M and is similar to projection, but leaves every string intact up to the mark and projects the suffix after the mark to X.
Let and . Then is defined to be the set
Thus the operation (w.r.t. and ) corresponds to marked deletion in the “context” of an event in . This operation deletes the last confidential event c in a string and inserts a mark, provided c belongs to and is immediately followed by a -event in the string. For convenience we place the mark after the -event.
Let and . Then is defined to be the set
Operation (w.r.t. and ) thus corresponds to marked insertion of -events in the “context” of a event, in the sense above.
Let , and . Then is defined to be the set
The operation (w.r.t. X, and ) corresponds to the marked insertion of X-admissible -events in the context of a event. It is similar to but allows only the insertion of X-admissible -events.
Let and . Then is defined to be the set
The operation (w.r.t. and ) corresponds to the marked erasure of -events in the context of -events. More precisely, contains all strings obtained from a string in L by the erasure of a consecutive sequence of zero or more events which end before a event v. The mark symbol is inserted after the event v in the string.
From [7,20], we have the following relation between information flow properties and the language-theoretic operations of Definition 8 established.
Letbe a partitioned alphabet. Let L be a language over Σ. Then:
L satisfies the property NF overiff.
L satisfies property SEP overiffand.
L satisfies property GNI overiffand.
Given a set, L satisfies property NDO w.r.t.overiffand.
L satisfies property FC overiff,,and.
L satisfies the property GNF overiff.
L satisfies property PSP overiffand.
Let Σ be an alphabet, and letbe a view of Σ. Letbe a call-return partitioning of Σ, such that. Then the class of VPA’s over the alphabetis closed under the operations of Definition
8
w.r.t. the view.
In [7] we gave effective constructions for these operations for the class of finite-state systems. Deletion and insertion of internal events in a VPS behave the same way as finite-state systems as they do not influence the stack. Thus the constructions for many of the operations – , , , , mark, , , – for finite-state systems carry over to VPS’s as well. We give the effective constructions for operations projection (when ) and below. The constructions for rest of the operations – , marked projection (when ) and – follow from these.
Projection: Let L be a language over an alphabet Σ, accepted by a VPA , and let . Then we construct the VPA accepting by simply replacing transitions in of the form , with , by ϵ-transitions . Note that is a VPA with internal ϵ-transitions and can be converted to an equivalent standard VPA (i.e., without ϵ-transitions) as follows. We group internal ϵ-transitions in , i.e. if and only if . Let denote the reflexive and transitive closure of . If there is a transition of the form in with , then we add the transition to for every , such that and . Now it is easy to see that .
: Let such that . Let L be a language over Σ accepted by a VPA .
We construct for as follows. We have two components in . The first component is the product of two copies of where the second copy non-deterministically keeps track of a state of that is reachable by a word that is X-equivalent to the current word being read (i.e. their projections to X are equal) by replacing the non-X transitions with ϵ (and further ϵ’s are eliminated as described in the case of the projection operation). We have a transition labelled c, with , from a state in the first component to p in the second copy, provided from q it is possible to take a c-labelled transition and reach a final state. Once in the second component, we allow only non-C transitions and retain the original final states. The construction is depicted in Fig. 9.
More formally, we define as follows. The first component is the product of with where is the VPA obtained from by replacing the labels of all transitions not in X by ϵ. Note that from our assumption, we only have internal ϵ-transitions in . We eliminate these ϵ-transitions from as described in the case of the projection operation. Let denote the transition relation of . We define where and is defined as follows.
Construction of VPA for .
We can now state and prove the main result of this section:
The restricted problem of model-checking visibly pushdown systems for any of the trace-based properties of Definition
1
, when all the high events are internal, is EXPTIME-complete.
Let V be a VPS over a call-return alphabet , and let P be one of the properties of Definition 1 w.r.t. a partitioning of Σ, with . Then, by Lemma 5, V satisfies P w.r.t. iff , where and are some operations (or composition of operations) of Definition 8. By Lemma 6, we can construct VPA’s and such that and . Both and can be seen to have at most polynomially many states as V. The language inclusion problem for VPA’s over the same call-return partitioned alphabet is decidable in EXPTIME [1]. Thus we can check whether in exponential time in the size of V. This shows that the model-checking problem for property P is in EXPTIME.
To show the EXPTIME-hardness part, we reduce the language inclusion problem for VPA’s to the problem of model-checking VPS’s in which all the high events are internal for each of the trace-based properties. Using arguments similar to those in the proof of Lemma 3, we reduce the language inclusion problem for VPA’s to the language inclusion problem for VPS’s. Then Theorem 2, applied for VPS’s, provides us with a reduction from the language inclusion problem to the problem of model-checking VPS’s, provided VPS’s are effectively closed under the operations through of Definition 7. By following the same steps we used to show effective closure under these operations for one counter nets in Section 6, we obtain effective closure under these operations for visibly pushdown systems as well. Note that the added transitions in these constructions for one counter nets never increment/decrement the counter. This corresponds to introducing internal transitions in a VPS and thus these constructions prove closure of VPS’s with respect to the operations through . Also in each of these constructions we have all the high events () to be internal. It is easy to see that these constructions are polynomial in the size of the given VPA.
Putting these reductions together, we obtain a polynomial-time reduction from the language inclusion problem for VPA’s to the restricted problem of model-checking each of the trace-based properties for VPS’s when all the high events are internal. This completes the proof of EXPTIME-hardness. □
Conclusion
In this paper we have studied the problem of model-checking some of the well-known trace-based information flow properties for infinite-state system models. In earlier work [7] showing decidability of checking these properties for finite-state systems, we had reduced the problem of model-checking these properties for a class of system models, say , to the language inclusion problem for , provided the class is effectively closed under some operations. In this work we have essentially shown a converse reduction: we show that the language inclusion problem for reduces to the problem of model-checking these properties for , provided is effectively closed under some (different) language-theoretic operations. Thus it is evident that the problem of language inclusion and the problem of checking these properties are closely related.
As part of future work, we aim to resolve the open questions mentioned in Table 1. It would also be interesting to apply Theorem 2 to other classes of system models. The language inclusion problem for many models is studied extensively in [2]. This problem is known to be undecidable for many sub-classes of context-free languages – linear, unambiguous, sequential, simple deterministic, real-time strict deterministic, super-deterministic and . We would like to study the model-checking problem for these classes as well. An interesting class of models that merits further investigation is deterministic one-counter nets (DOCN) for which some decidability results have been recently shown [17]. While these results would seem to imply that model-checking the NF property for this class is decidable, it would be interesting to explore decision procedures for the remaining properties.
References
1.
R.Alur and P.Madhusudan, Visibly pushdown languages, in: Proceedings of the 36th ACM Symposium on Theory of Computing, 2004, pp. 202–211.
2.
P.R.J.Asveld and A.Nijholt, The inclusion problem for some subclasses of context-free languages, Theoretical Computer Science230(1–2) (1999), 247–256.
3.
A.Bossi, R.Focardi, C.Piazza and S.Rossi, A proof system for information flow security, in: Logic Based Program Synthesis and Transformation, Springer, 2003, pp. 199–218.
S.Christensen, Decidability and decomposition in process algebras, PhD thesis, Edinburgh University, 1993.
6.
M.R.Clarkson and F.B.Schneider, Hyperproperties, Journal of Computer Security18(6) (2010), 1157–1210.
7.
D.D’Souza, R.Holla, K.R.Raghavendra and B.Sprick, Model-checking trace-based information flow properties, Journal of Computer Security19(1) (2011), 101–138.
8.
D.D’Souza and K.R.Raghavendra, Model-checking bisimulation-based information flow properties for infinite state systems, in: Proceedings of 17th European Symposium on Research in Computer Security (ESORICS), Pisa, Italy, September 10–12, 2012, pp. 591–608.
9.
J.Esparza, D.Hansel, P.Rossmanith and S.Schwoon, Efficient algorithms for model checking pushdown systems, in: Proceedings of 12th Conference on Computer Aided Verification (CAV), Chicago, IL, USA, July 15–19, 2000, pp. 232–247.
10.
R.Focardi and R.Gorrieri, A classification of security properties for process algebras, Journal of Computer Security3(1) (1995), 5–33.
11.
R.Focardi and R.Gorrieri, The compositional security checker: A tool for the verification of information flow security properties, IEEE Transactions on Software Engineering23(9) (1997), 550–571.
12.
J.A.Goguen and J.Meseguer, Security policies and security models, in: Proceedings of IEEE Symposium on Security and Privacy, 1982, pp. 11–20.
13.
S.A.Greibach, A new normal-form theorem for context-free phrase structure grammars, J. ACM12(1) (1965), 42–52.
14.
J.D.Guttman and M.E.Nadel, What needs securing, in: Proceedings of Computer Security Foundations Workshop, 1988, pp. 34–57.
15.
Y.Hirshfeld, Petri nets and the equivalence problem, in: Proceedings of 7th Workshop on Computer Science Logic (CSL), Swansea, UK, September 13–17, 1993, pp. 165–174.
16.
P.Hofman, R.Mayr and P.Totzke, Decidability of weak simulation on one-counter nets, in: Proceedings of 28th ACM/IEEE Symposium on Logic in Computer Science, New Orleans, LA, USA, June 25–28, 2013, pp. 203–212.
17.
P.Hofman and P.Totzke, Trace inclusion for one-counter nets revisited, 2014, available at: arXiv:1404.5157.
18.
D.M.Johnson and F.J.Thayer, Security and the composition of machines, in: Proceedings of Computer Security Foundations Workshop, Franconia, NH, USA, 1988, pp. 72–89.
19.
D.Kozen, Automata and Computability, Springer-Verlag, New York, 1997.
20.
H.Mantel, Possibilistic definitions of security – An assembly kit, in: Proceedings of the 13th IEEE Computer Security Foundations Workshop, July 3–5, 2000, pp. 185–199.
21.
H.Mantel, A uniform framework for the formal specification and verification of information flow security, PhD thesis, Universität des Saarlandes, 2003.
22.
R.Mayr, Process rewrite systems, Inf. Comput.156(1–2) (2000), 264–286.
23.
D.McCullough, Specifications for multilevel security and a hookup property, in: Proceedings of IEEE Symposium Security and Privacy, 1987, pp. 161–166.
24.
J.McLean, A general theory of composition for trace sets closed under selective interleaving functions, in: Proceedings of IEEE Symposium on Research in Security and Privacy, IEEE Computer Society Press, 1994, pp. 79–93.
25.
C.O’Halloran, A calculus of information flow, in: Proceedings of the European Symposium on Research in Computer Security, 1990, pp. 147–159.
26.
D.Sutherland, A model of information, in: Proceedings of the 9th National Computer Security Conference, 1986, pp. 175–183.
27.
W.Thomas, Finite automata and the analysis of infinite transition systems, in: Modern Applications of Automata Theory, 2012, pp. 495–528.
28.
P.Totzke, Inclusion problems for one-counter systems, PhD thesis, University of Edinburgh, 2014.
29.
L.G.Valiant, Decision procedures for families of deterministic pushdown automata, Technical report, Coventry, UK, 1973.
30.
R.van der Meyden and C.Zhang, Algorithmic verification of noninterference properties, Electronic Notes in Theoretical Computer Science168 (2007), 61–75.
31.
A.Zakinthinos and E.S.Lee, A general theory of security properties, in: Proceedings of IEEE Symposium on Security and Privacy, IEEE Computer Society, Washington, DC, USA, 1997, pp. 94–102.