Mechanisms for Usage Control
|
|
|
- Kory Mosley
- 10 years ago
- Views:
Transcription
1 Mechanisms for Usage Control A. Pretschner, M. Hilty, D. Basin Information Security, ETH Zurich, Switzerland C. Schaefer, T. Walter DoCoMo Euro-Labs, Munich, Germany ABSTRACT Usage control is a generalization of access control that also addresses how data is used after it is released. We present a formal model for different mechanisms that can enforce usage control policies on the consumer side. Categories and Subject Descriptors D.2.4 [Software Engineering]: Software/Program Verification. INTRODUCTION Usage control [4] generalizes access control by controlling not only who may access which data, but also how the data may be used or distributed afterwards. We consider distributed settings, where processes act in the roles of data providers and data consumers. A data provider gives sensitive data to a data consumer based on conditions both on the past (which we ignore in this paper and the future. The latter requirements come as obligations that restrict the future usage of data. When data providers release data, they would like mechanisms on the consumer s side to enforce their requirements. They would also like to check consistency of policies, and if mechanisms are capable of enforcing them. To this end, we present a model of usage control mechanisms that formalizes the problem domain at a realistic level of complexity. Mechanisms are modeled as trace transformers that map attempted events into actual usagecontrolled events. Our model allows the specification of a wide range of usage control mechanisms inhibition, execution, delay, modification, and signaling which includes all those found in practice. Moreover, it caters for concurrent and ongoing usages. We assume some familiarity with the Z language, the formalism employed in this paper. 2. SETUP AND POLICY LANGUAGE Usage control requirements are negotiated between data providers and consumers, and enforced using consumer-side mechanisms. Data consumers request data. Using negotia- Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise, to republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. ASIACCS 08, March 8-20, Tokyo, Japan Copyright 2008 ACM /08/ $5.00. tors, the consumer and provider negotiate the usage request, a topic not treated in this paper. Upon successful negotiation, data is transferred from the provider to the consumer and the usage control requirements are activated. From this point onward, mechanisms on the consumer s side will enforce the requirements (which is, in general, not fully possible for all requirements: taking photographs of a monitor will always be an option. We assume the consumer possesses a secure data store and that, prior to usage, all data is routed through usage control mechanisms whenever it leaves the store. This paper s sole focus is on the mechanisms. Semantic Model. Our model is based on classes of parameterized events. The event classes include usage and other, with the latter including activation events. An event consists of the event name and parameters, represented as a partial function from names to values. We will describe instantiated event parameters as (name, value pairs. An example is the event (play, {(obj, o}, where play is the name of the event and the parameter obj has the value o. The definition of events in the Z language is shown below. EName, PName, and PVal define disjoint basic types for event names, parameter names, and parameter values. [EName, PName, PVal]; Ev == EName (PName PVal EClass ::= usage other; getclass : EName EClass Events are ordered via a refinement relation refinesev. Event e 2 refines event e iff e 2 has the same event name as e and all parameters of e have the same value in e 2. e 2 can also have additional parameters specified; see [] for a formalization. The idea is that when specifying usage control requirements, we do not want to specify all parameters. For instance, if the event (play, {(obj, o} is prohibited, then the event (play, {(obj, o, (device, d} should also be prohibited. The event (nil, is reserved and denotes no event. We need a language to define obligations. Its semantics will be defined over traces: mappings from abstract points in time represented by the natural numbers to possibly empty sets of maximally refined events. We cater for usage events that execute over a time interval, e.g., watching a movie. For example, if a time step lasts minute and a user plays a movie for 3 minutes, there will be 3 consecutive events indexed with start and ongoing, respectively: ((play, {(obj, mov}, start, and twice ((play, {(obj, mov}, ongoing. The data type IndEv defines such indexed events. We also need to express that usage is desired by a user (DesIndEv: not every attempted usage is executed. Index ::= start ongoing; IndEv == Ev Index DesIndEv ::= TRY IndEv ; Trace : N P(IndEv DesIndEv We use the temporal logic OSL [] as language for usage
2 control requirements. Its syntax is provided by Φ + (+ for future; we slightly deviate from the Z syntax. Φ + ::= E fst Ev E all Ev T fst Ev T all Ev Φ + Φ + Φ + Φ + Φ + Φ + Φ + until Φ + Φ + always Φ + after N Φ + within N Φ + during N Φ + repmax N Φ + replim N N N Φ + repuntil N Φ + Φ + We distinguish between the start of an action (syntactically: E fst ; semantically: an indexed event with index start and any lasting action (syntactically: E all ; semantically: indexed events with any index. T fst and T all refer to the respective attempted actions drawn from set DesIndEv. When specifying events in obligations, by virtue of the refinement relation refinesev, there is an implicit universal quantification over unmentioned parameters.,,, have the usual semantics. Our until operator is the weak-until operator from LTL. after(n refers to the time after n time steps. during specifies that something must constantly hold during a specified time interval and within requires something to hold at least once during a specified time interval. Cardinality operators restrict the number of occurrences or the duration of an action. The replim operator specifies lower and upper bounds of time steps within a fixed time interval in which a given formula holds. The repuntil operator is independent of any time interval: it limits the maximal number of times a formula holds until another formula holds (e.g., the occurrence of some event. repmax defines the maximal number of times a formula may hold in the indefinite future. These cardinality operators are also used to express limits on the accumulated usage time, e.g., by using E all (e as an argument for limiting the accumulated time of usage e. For instance, replim(20, 0, 5, E all (play, {(obj, ma} specifies that movie ma may be played for at most five time units during the next twenty time units. Similarly, replim(20, 0, 2, E fst (play, {(obj, mb} after(25, E fst (notify, {(rcv, suba} specifies that if the movie mb is started more than twice during the next 20 time units, then subject suba will be notified after 25 time units. We omit a formalization of the semantics, = f, for brevity s sake [, 2]. Obligations represent usage control requirements ( delete after 30 days ; do not distribute. Each obligation has a name that indexes respective activation events, and a formula from Φ + that must hold after its activation. A trace satisfies an obligation iff the obligations s formula holds at the moment of the obligation s activation, which is captured by a dedicated event. 3. MECHANISMS Mechanisms are the means by which usage can be controlled. They are installed on the consumer s side and may be configured by the provider. Mechanisms consist of two parts: a description of when they are applicable, often including a triggering event, and the respective actions to be taken. We have already introduced the distinction between desired and actual usages. Mechanisms are triggered by desired events. If the mechanism s condition holds, the mechanism s actions are executed. Otherwise, the overall system guarantees that the desired usage is transformed into the respective actual usage. We will later model the effect of a set of mechanisms (not the mechanisms themselves as a function that maps possible traces including desired usages and activations only to usage-controlled traces. Since enforcement mechanisms can only make decisions based on their current knowledge, we use a temporal logic of the past, Φ, to describe the conditions under which mechanisms perform their tasks. This is done by dualizing the respective future operators in Φ +. The straightforward semantics, = f, is defined elsewhere [2]. To express the past nature of all operators, we superscript them with a. Because mechanisms can be configured, we allow for variables in the definition of conditions and triggering actions. The latter are then events where either some parameter values or the name of the event is left unspecified. The respective language is called Φ v which introduces a syntactic category for variables (and events with variables, VarEv. Elements from Φ v can be straightforwardly instantiated to elements from Φ by means of a substitution function called subst f. Finally, to describe the overall functionality of mechanisms, we will use mixed formulae, Φ ±, which combine both future and past formulae in a restricted manner, as in schema Mechanism below (see [2] for the semantics, = f ±. Mechanism ϕ p : Φ v ; ϕ : Φ ; α : Φ + ; ψ : Φ ± ; m : Mode ua p : VarEv; ua : Ev; σ : Var (PVal EName ϕ = subst f (ϕ p, σ ua = subst(ua p, σ s : Trace; t : N (s, t = f ϕ (rmtry(s, t = f ϕ ( ψ = Tm (e ± (E m (e ± ϕ ± α e maxrefs(ua The general form of mechanisms is defined by the schema Mechanism. Mechanisms are defined by formulae ψ of type Φ ± (abbreviated by ψ : Φ ±. ψ references the triggering (desired action ua (possibly nil, i.e., no trigger is provided together with its Mode m. The latter indicates whether or not the triggering action refers to a first usage or to all usages, i.e., first and ongoing usages (Mode ::= fst all. We do not require ua to be maximally refined as we often want to specify an entire class of triggering actions. For instance, we may wish to specify that playing a movie is prohibited, without enumerating all possible devices. ψ also references the condition ϕ : Φ under which the mechanism performs its task, and the effects α : Φ +. The definition does not relate mechanisms to sets of traces of a usage-controlled system yet; this will be done below. maxrefs computes the set of maximally refined events for any event; this is needed because traces consist of maximally refined events only. If the triggering action of a mechanism is executed as indicated by a respective TRY event and syntactically captured by predicates T fst and T all (in the schema, we use variable m : Mode as index then we require the following. Under the assumption that adding the actual usage satisfies ϕ, the effect α of the mechanism is executed. This means that, in principle, a mechanism can itself invalidate its condition (and this can also be done by other mechanisms. When applying a mechanism, the respective TRY ( events are kept because more than one mechanism may be applicable. The remaining desired actions that are not controlled by any mechanism either because they are not triggering events of any mechanism or because no condition was true are transformed into actual usages in the end. We require ϕ not to depend on any TRY events. This is what the auxiliary function rmtry : Trace Trace is needed for. Mechanisms are parameterized. The respective variables are used in both the triggering actions (ua p and the conditions (ϕ p. By providing substitutions σ, variables are
3 instantiated. The process of instantiating variables models the configuration of mechanisms. Four Classes of Mechanisms. There are four classes of control mechanisms [2]: inhibition, finite delay, modification of usage, and execution of actions. Inhibition reduces the set of possible executions. Delays postpone usages. Modifications change usages, for instance, by converting an editing usage into a reading usage only or by lowering the quality of an output signal. The execution of actions adds events to the execution, e.g., logging events, or sending signals to the provider. In principle, all usage control policies could be enforced by inhibitors and executors only; modifiers and delayers merely increase user convenience. For instance, a mechanism may not categorically forbid watching unpaid movies, but rather reduce the quality considerably. Because we differentiate between desired and actual usages, the effect of a mechanism may add events to a trace, but never remove any. Inhibition is then modeled as not adding the actual usage corresponding to a desired usage. The effect of applying a set of mechanisms to a trace is the trace that satisfies all formulae of the mechanisms and that, in addition, exhibits, at each time step, a minimum set of events mechanisms may add events that relate to their task but not arbitrary events. This is handled below. Executors add events to a trace. If event ua is desired at time t and ϕ also holds at t, then the sequences of events in exacts are executed. The composition of mechanisms (given below ensures that the desired usage ua is also converted into an actual usage, provided that this would not affect any other mechanism. Function subst substitutes variables w.r.t. the substitution provided as σ by schema Mechanism. Executor Mechanism; exacts p : P seq VarEv; exacts : P seq Ev exacts = map ( λ t : seq VarEv map s(λ x : VarEv subst(x, σ, t, exacts p α = #es es exacts i= after(i, T all (es(i The Eraser deletes an object (variable V ( V (2 days after it was stored. Note the absence of a triggering action. Eraser Executor[before (V (2, E fst ((store, {(obj, V (} within (V (2, E fst ((delete, {(obj, V (}/ϕ p, (nil, /ua p, fst/m, { (delete, {(obj, V (} }/exacts p] Modifiers replace an event ua by a set of events modifyby under certain conditions. Constraint 2 of schema Modifier states that, in contrast to executors, modifiers are always triggered by a desired usage and, furthermore, that events are replaced by different events. The specified effect, α, is similar to that of Executors, except that the events that are added are drawn from the set modifyby rather than exacts and that ua is not added if the mechanism is applicable. An example of a modifier is given by the schema NoPayNoGood: songs not paid for will only be played in reduced quality. Modifier Mechanism; modifyby p : P VarEv; modifyby : P Ev modifyby = map s(λ x : VarEv subst(x, σ, modifyby p ua (nil, ua modifyby α = E m (ua T all (e e modifyby NoPayNoGood Modifier[always ( E fst ((pay, {(obj, V (}/ϕ p, (play, {(obj, V (, (qual, full}/ua p, all/m, {(play, {(obj, V (, (qual, red}}/modifyby p] Inhibitors prevent specified events from happening when given conditions are met. Hence, they are modifiers with an empty modifyby set. An example for an inhibiting control mechanism is given by the schema Subscription. It ensures that each play is preceded by a pay that dates back at most V (2 days. Inhibitor Modifier[ /modifyby p] Subscription Inhibitor[ within (V (2, E fst ((pay, {(obj, V (}/ϕ p, (play, {(obj, V (}/ua p, all/m] Delayers. Delaying mechanisms perform a sequence of events, seqe, if ua is desired and condition ϕ is true. Once this sequence of events has occurred, the request to execute ua is expressed again. Delayers always delay an attempted usage, which motivates the second constraint of schema Delayer. We omit an example for brevity s sake [2]. Delayer Mechanism; seqe p : seq VarEv; seqe : seq Ev ua (nil, seqe = map(λ x : VarEv subst(x, σ, seqe p #seqe α = E m (ua after(i, T all (seqe(i i= after(#seqe, T m (ua Composition and Semantics. In this paper, we use trace transformers to express properties of usage-controlled systems, as opposed to simply using sets of traces. If the semantics of a set of mechanisms and the system specification were both given by sets of traces, then we could simply define the composition of the two as the intersection of the sets of traces. However, this imposes constraints on the system: it must be liberal enough, i.e., under-specified, to allow for the effects of applying mechanisms (because we do not confine ourselves to inhibitors, applying mechanisms is not simply a trace refinement. In contrast, specifying mechanisms as trace transformers allows us to apply them to arbitrary systems that, when specified, must not take into account the possibility of future mechanisms being applied. Simultaneously applied mechanisms may interfere with each other: two mechanisms may be triggered by the same event; the effect of one mechanism may trigger another (and this may lead to loops; and the effect of one mechanism may invalidate the condition of a mechanism that was applied before. We simply forbid such cases here [2]. The schema CombinedMechanism above defines the composition of mechanisms in terms of functions µ and µ. The trace transformer µ applies all mechanisms and possibly adds usages that are allowed by the mechanisms (e.g., action ua of executors. The function µ afterwards transforms TRY events that are not controlled by any mechanism into the respective actual usage, and then removes all remaining TRY events. We use an auxiliary function, addev : Trace N Ev Mode Trace, that adds an event with a given mode to a trace at a specified time. Constraint 2 of schema CombinedMechanism specifies three
4 CombinedMechanism M : P Modifier; I : P Inhibitor; D : P Delayer; E : P Executor µ : Trace Trace; µ : Trace Trace; ucmechs : P(Modifier Inhibitor Delayer Executor ucmechs = M I D E i : Trace; t : N; e : Ev; md : Mode i(t (µ(i(t (µ(i, t = f ± ((addev(µ(i, t, e, md, t = f T md (e (µ(i, t = f E md (e i : Trace; t : N; e : Ev; md : Mode o : Trace (o, t = f ± ((addev(o, t, e, md, t = f T md (e u.ψ u {v:ucmechs (e refinesev v.ua v.ua=(nil, v.m=md} u {v:ucmechs (e refinesev v.ua v.ua=(nil, v.m=md} i(t o(t o(t (µ(i(t t : N i(t o(t o(t (µ(i(t i : Trace; t : N (µ (i(t = ((µ(i(t \ DesIndEv {e : Ev; j : Index TRY ((e, j (µ(i(t e Ev \ {m : Mechanism m ucmechs m.ua} (e, j } plus noninterference constraints u.ψ u.ϕ u.ϕ (o, t = f E md (e (a { { {TRY((e,start,TRY((e2,start} (b {TRY((e,start,TRY((e2,start} (c {(e,start, TRY((e,start,TRY((e2,start} (d {(e2,start, TRY((e,start,TRY((e2,start} (e {(e,start,(e2,start, TRY((e,start,TRY((e2,start} conditions, one per conjunct. First, the effect of applying mechanisms at most adds events. Second, the resulting trace satisfies always(u.ψ for all mechanisms u in the system. Third, those desired usages for which no mechanism was applicable are transformed into actual usages, unless their transformation would render a mechanism applicable. The intuition behind the formalization is that if a desired usage e occurs and no mechanism with a trigger that is refined by e is applicable (because all conditions ϕ do not hold, then either the actual usage is part of the trace, or adding this event would make one of the mechanisms applicable. We quantify over all potentially applicable mechanisms even though this is forbidden by the interference conditions described below; this is done to cater for relaxations of those conditions. The motivation for the third case, and its complexity, is as follows. Consider an inhibitor i with condition i.ϕ = repmax (3, E fst (e, for some event e. This inhibitor ensures that e happens at most three times. Consequently, i.ψ = (T fst (e i.ϕ E fst (e. Let e = (play, {(name, 23 } and both e = (play, {(name, 23, (device, } and e 2 = (play, (name, 23, (device, 2 } be refinements of e. Furthermore, let s denote a trace with (s, = f T fst (e, (s, 2 = f T fst (e, and (s, 3 = f T fst (e T fst (e 2 (Fig. (a; for simplicity s sake, we neither consider maximum refinements here nor do we show the (nil, events. In other words, at time 3, there are two concurrent desired play events on different devices. Applying i will add (e, start to both s( and s(2 because i.ϕ holds at both times, and adding the events does not invalidate i.ϕ. Furthermore, (s, 3 = f i.ϕ, i.e., the inhibitor is not applicable at time 3 either. Now, to satisfy i.ϕ, an inhibitor could simply prohibit both (e, start and (e 2, start at time 3 (Fig. (b. However, this seems undesirable from the consumer s perspective who has agreed to a policy stating that a movie must not be played more than three (rather than two times. The Figure : Possible effects of an inhibitor inhibitor could also allow either (e, start or (e 2, start at time 3, but not both, also satisfying i.ϕ (Figs. (c and (d. When adding both (e, start and (e 2, start to s(3, then the resulting trace would violate i.ϕ (Fig. (e. Our definition of µ ensures that either one from Figs. (c and (d is chosen non-deterministically (choosing none would invalidate constraint 2. In essence, the problem is that we have to express that if, under a given condition, an event was added, some formula must be true, where adding the event may in itself invalidate the condition. The problem is thus not bound to the fact that we allow for parallel occurrences of events that are refinements of the same event. Mechanisms are underspecified in that they can add arbitrary events, as long as the respective properties are not violated. That means that for a trace i, the set {o : Trace t : N i(t o(t (o, t = f ± u.ψ...} contains those traces that look like i, but may contain additional events and yet satisfy the formula ψ of each mechanism. We hence require the effect of applying a set of mechanisms to be minimal, ensured by constraint 3. Constraints 2 and 3 together define the function µ. Minimal traces need not be unique. Constraint 4 removes the remaining TRY ( events and transforms the desired usages that are not controlled by any mechanism into the respective actual usages. This defines function µ. Usage-Controlled Systems. Thus far, the original traces of a system have not been related to the usage-controlled ones. We also have not provided basic constraints such as the uniqueness of names, activation signals, etc. This is now done in the schema UCSystem, which completes our description of usage control mechanisms. Traces is the set of traces that are possible in the unprotected system, i.e., without any mechanisms in place; we assume all usages to be desired usages. UCTraces is the set of traces after application of the mechanisms given by Es Ms Is Ds each of which is equipped with a substitution for the variables oc-
5 UCSystem Traces : P Trace; UCTraces : P Trace; Es : P Executor; Ms : P Modifier; Is : P Inhibitor; Ds : P Delayer; Obls : P Obligation Mechs : CombinedMechanism[Es/E, Ms/M, Is/I, Ds/D] s : Trace; e : IndEv s Traces UCTraces e ran(s f : Ev f refinesev e. f = e. s : Trace; e : DesIndEv s Traces UCTraces e ran(s f : Ev f refinesev (TRY (e. f = (TRY (e. s : Trace; t : N; e : IndEv s UCTraces getclass(e = usage e s(t TRY (e s(t Traces ValidOriginalTraces TUniqueActivations ValidNames(Obls; Obls UniqueObls UCTraces = {s : Trace s Traces Mechs. µ (s} curring in formulae and triggering actions. Obls denotes the obligations relevant to the system, i.e, those that will potentially be activated. This schema specifies that a UCSystem has the following properties. (i If an event occurs in a trace, all its parameters have been specified (e. denotes the first component of the IndEv e, hence the Ev; see constraint. (ii If a desired event occurs in a trace, all the parameters of the respective event have been specified. (iii For all actual usages, there is a respective desired usage (constraint 3. (iv A desired nil event takes place in each step, in order to allow for the activation of mechanisms without triggering actions. Each ongoing event must be preceded by a corresponding start event. In the original traces, all usages are desired usages. All this is achieved by the definition of set ValidOriginalTraces. (v Each activation occurs at most once per trace (TUniqueActivations. (vi Activation events must relate to the sets of relevant obligations of the UCSystem, namely Obls (function ValidNames. Items (iv-(vi motivate the fourth constraint; we omit a definition of the conditions for brevity s sake. (vii Obligation names must be unique (UniqueObls. (viii The set of usage-controlled traces, UCTraces, consists of the original traces, with all mechanisms being applied (constraint RELATED WORK UCON [4] adds the notion of ongoing usage to access control. UCON assumes that the data never leaves the data provider s realm. This facilitates control as there is no explicit and consequential distinction between providers and consumers; one consequence is that UCON policies are device-dependent. This is in contrast to our distributed approach where data is given away. Possibly closest to our work is that of Zhang et al. [5] who define an obligation language for UCON where ongoing access models can be specified. Since UCON works with (only one reference monitor, the fundamental abstraction of mechanisms is not introduced (even though their ona model essentially corresponds to our delayers, the ona2 and ona3 models correspond to our executors, and their pre models do what our inhibitors do. Modifiers are not handled. Furthermore, because of the TLA-based declarative perspective, the authors specify properties of usage-controlled traces but not how to enforce them; there is no notion of active mechanism like ours. All cited models have not been applied to any decision or synthesis problems, and they do not cater for the configuration of mechanisms and the notion of event refinement. Ligatti et al. propose edit automata for enforcing security policies [3]. Edit automata are similar to our work in that they represent trace transformers; our inhibitors have the same effect as their suppression automata, and our executors and modifiers are similar to their insertion automata. Delayers are not treated in the theoretical model. The main difference with our work is that our approach is logic-based rather than automaton-based. Edit automata neither cater for refinements of events nor for concurrent events. 5. CONCLUSIONS We have presented a model of consumer-side mechanisms for distributed usage control. This model can be used to formally check if a set of mechanisms is able to enforce a given obligation and to check interference of mechanisms [2]. Our specification of mechanisms as trace transformers is intuitive and allows systems to be specified independently of any usage control mechanisms: the system s definition need not encompass the possible effects of any mechanisms. We believe that the complexity of our formalization of mechanisms is of an essential, rather than an accidental, nature and reflects the complexity inherent in the problem domain in its full generality. Restricting usage control to mere inhibition, omitting parameters in mechanisms, not catering for usages that extend over more than one time step, ignoring interference of mechanisms, and defining mechanisms as trace properties rather than trace transformers would significantly simplify our model. However, this would be an over-simplification, preventing answers to many relevant and interesting research and development problems. The notion of a secure data store is of course critical and may seem like a strong assumption. However, current trends in operating systems, hardware, trusted platform technology, and approaches to DRM are clear steps towards the existence of such secure data stores. A second assumption relates to the dynamic scenario: if a provider applies the decision procedures as described in this paper, then he must possess trustworthy information about the consumer s mechanisms. It seems likely that this could also be achieved using trusted platform technology and attestation mechanisms. We are currently working on the problem of rights delegation. 6. REFERENCES [] M. Hilty, A. Pretschner, D. Basin, C. Schaefer, and T. Walter. A Policy Language for Usage Control. In Proc. ESORICS, pages , [2] M. Hilty, A. Pretschner, C. Schaefer, and T. Walter. Enforcement for Usage Control: A System Model and a Policy Language for Distributed Usage Control. Technical Report I-ST-20, DoCoMo Euro-Labs, [3] J. Ligatti, L. Bauer, and D. Walker. Edit Automata: Enforcement Mechanisms for Run-time Security Policies. Intl. J. of Inf. Security, 4(-2:2 6, [4] J. Park and R. Sandhu. The UCON ABC Usage Control Model. ACM Transactions on Information and Systems Security, 7:28 74, [5] X. Zhang, J. Park, F. Parisi-Presicce, and R. Sandhu. A logical specification for usage control. In Proc. SACMAT, pages 0, 2004.
Monitoring Metric First-order Temporal Properties
Monitoring Metric First-order Temporal Properties DAVID BASIN, FELIX KLAEDTKE, SAMUEL MÜLLER, and EUGEN ZĂLINESCU, ETH Zurich Runtime monitoring is a general approach to verifying system properties at
CHAPTER 7 GENERAL PROOF SYSTEMS
CHAPTER 7 GENERAL PROOF SYSTEMS 1 Introduction Proof systems are built to prove statements. They can be thought as an inference machine with special statements, called provable statements, or sometimes
Specification and Analysis of Contracts Lecture 1 Introduction
Specification and Analysis of Contracts Lecture 1 Introduction Gerardo Schneider [email protected] http://folk.uio.no/gerardo/ Department of Informatics, University of Oslo SEFM School, Oct. 27 - Nov.
Temporal Logics. Computation Tree Logic
Temporal Logics CTL: definition, relationship between operators, adequate sets, specifying properties, safety/liveness/fairness Modeling: sequential, concurrent systems; maximum parallelism/interleaving
SMock A Test Platform for the Evaluation of Monitoring Tools
SMock A Test Platform for the Evaluation of Monitoring Tools User Manual Ruth Mizzi Faculty of ICT University of Malta June 20, 2013 Contents 1 Introduction 3 1.1 The Architecture and Design of SMock................
Testing LTL Formula Translation into Büchi Automata
Testing LTL Formula Translation into Büchi Automata Heikki Tauriainen and Keijo Heljanko Helsinki University of Technology, Laboratory for Theoretical Computer Science, P. O. Box 5400, FIN-02015 HUT, Finland
Clustering and scheduling maintenance tasks over time
Clustering and scheduling maintenance tasks over time Per Kreuger 2008-04-29 SICS Technical Report T2008:09 Abstract We report results on a maintenance scheduling problem. The problem consists of allocating
2. Basic Relational Data Model
2. Basic Relational Data Model 2.1 Introduction Basic concepts of information models, their realisation in databases comprising data objects and object relationships, and their management by DBMS s that
Schema Evolution in SQL-99 and Commercial (Object-)Relational DBMS
Schema Evolution in SQL-99 and Commercial (Object-)Relational DBMS Can Türker Swiss Federal Institute of Technology (ETH) Zurich Institute of Information Systems, ETH Zentrum CH 8092 Zurich, Switzerland
Simulation-Based Security with Inexhaustible Interactive Turing Machines
Simulation-Based Security with Inexhaustible Interactive Turing Machines Ralf Küsters Institut für Informatik Christian-Albrechts-Universität zu Kiel 24098 Kiel, Germany [email protected]
Using Patterns and Composite Propositions to Automate the Generation of Complex LTL
University of Texas at El Paso DigitalCommons@UTEP Departmental Technical Reports (CS) Department of Computer Science 8-1-2007 Using Patterns and Composite Propositions to Automate the Generation of Complex
A Scala DSL for Rete-based Runtime Verification
A Scala DSL for Rete-based Runtime Verification Klaus Havelund Jet Propulsion Laboratory California Institute of Technology, California, USA Abstract. Runtime verification (RV) consists in part of checking
Likewise, we have contradictions: formulas that can only be false, e.g. (p p).
CHAPTER 4. STATEMENT LOGIC 59 The rightmost column of this truth table contains instances of T and instances of F. Notice that there are no degrees of contingency. If both values are possible, the formula
Software Engineering
Software Engineering Lecture 04: The B Specification Method Peter Thiemann University of Freiburg, Germany SS 2013 Peter Thiemann (Univ. Freiburg) Software Engineering SWT 1 / 50 The B specification method
Validated Templates for Specification of Complex LTL Formulas
Validated Templates for Specification of Complex LTL Formulas Salamah Salamah Department of Electrical, computer, Software, and Systems Engineering Embry Riddle Aeronautical University 600 S. Clyde Morris
TRBAC: A Temporal Role-Based Access Control Model
TRBAC: A Temporal Role-Based Access Control Model ELISA BERTINO and PIERO ANDREA BONATTI University of Milano, Italy and ELENA FERRARI University of Insubria, Como, Italy Role-based access control (RBAC)
Keywords: Regression testing, database applications, and impact analysis. Abstract. 1 Introduction
Regression Testing of Database Applications Bassel Daou, Ramzi A. Haraty, Nash at Mansour Lebanese American University P.O. Box 13-5053 Beirut, Lebanon Email: rharaty, [email protected] Keywords: Regression
Using Generalized Forecasts for Online Currency Conversion
Using Generalized Forecasts for Online Currency Conversion Kazuo Iwama and Kouki Yonezawa School of Informatics Kyoto University Kyoto 606-8501, Japan {iwama,yonezawa}@kuis.kyoto-u.ac.jp Abstract. El-Yaniv
The Import & Export of Data from a Database
The Import & Export of Data from a Database Introduction The aim of these notes is to investigate a conceptually simple model for importing and exporting data into and out of an object-relational database,
Online Scheduling for Cloud Computing and Different Service Levels
2012 IEEE 201226th IEEE International 26th International Parallel Parallel and Distributed and Distributed Processing Processing Symposium Symposium Workshops Workshops & PhD Forum Online Scheduling for
Introducing Formal Methods. Software Engineering and Formal Methods
Introducing Formal Methods Formal Methods for Software Specification and Analysis: An Overview 1 Software Engineering and Formal Methods Every Software engineering methodology is based on a recommended
Formal Verification Coverage: Computing the Coverage Gap between Temporal Specifications
Formal Verification Coverage: Computing the Coverage Gap between Temporal Specifications Sayantan Das Prasenjit Basu Ansuman Banerjee Pallab Dasgupta P.P. Chakrabarti Department of Computer Science & Engineering
Completeness, Versatility, and Practicality in Role Based Administration
Completeness, Versatility, and Practicality in Role Based Administration Slobodan Vukanović [email protected] Abstract Applying role based administration to role based access control systems has
Do AUTOSAR and functional safety rule each other out?
Software development Do AUTOSAR and functional safety rule each other out? While simplicity is a factor in safety-critical applications, AUTOSAR has over 6,000 configuration parameters and well over 100,000
A MILP Scheduling Model for Multi-stage Batch Plants
A MILP Scheduling Model for Multi-stage Batch Plants Georgios M. Kopanos, Luis Puigjaner Universitat Politècnica de Catalunya - ETSEIB, Diagonal, 647, E-08028, Barcelona, Spain, E-mail: [email protected]
New Generation of Software Development
New Generation of Software Development Terry Hon University of British Columbia 201-2366 Main Mall Vancouver B.C. V6T 1Z4 [email protected] ABSTRACT In this paper, I present a picture of what software development
InvGen: An Efficient Invariant Generator
InvGen: An Efficient Invariant Generator Ashutosh Gupta and Andrey Rybalchenko Max Planck Institute for Software Systems (MPI-SWS) Abstract. In this paper we present InvGen, an automatic linear arithmetic
A Model-driven Approach to Predictive Non Functional Analysis of Component-based Systems
A Model-driven Approach to Predictive Non Functional Analysis of Component-based Systems Vincenzo Grassi Università di Roma Tor Vergata, Italy Raffaela Mirandola {vgrassi, mirandola}@info.uniroma2.it Abstract.
Formal Verification and Linear-time Model Checking
Formal Verification and Linear-time Model Checking Paul Jackson University of Edinburgh Automated Reasoning 21st and 24th October 2013 Why Automated Reasoning? Intellectually stimulating and challenging
Oracle Database: SQL and PL/SQL Fundamentals
Oracle University Contact Us: 1.800.529.0165 Oracle Database: SQL and PL/SQL Fundamentals Duration: 5 Days What you will learn This course is designed to deliver the fundamentals of SQL and PL/SQL along
Overview Motivating Examples Interleaving Model Semantics of Correctness Testing, Debugging, and Verification
Introduction Overview Motivating Examples Interleaving Model Semantics of Correctness Testing, Debugging, and Verification Advanced Topics in Software Engineering 1 Concurrent Programs Characterized by
Dynamic and Secure B2B E-contract Update Management
Dynamic and Secure B2B E-contract Update Management Samuil Angelov Information Systems Group Faculty of Technology Management Eindhoven University of Technology P.O. Box 513, 5600 MB, Eindhoven The Netherlands
Predicate Logic Review
Predicate Logic Review UC Berkeley, Philosophy 142, Spring 2016 John MacFarlane 1 Grammar A term is an individual constant or a variable. An individual constant is a lowercase letter from the beginning
Integrating Formal Models into the Programming Languages Course
Integrating Formal Models into the Programming Languages Course Allen B. Tucker Robert E. Noonan Computer Science Department Computer Science Department Bowdoin College College of William and Mary Brunswick,
A Tool for Generating Partition Schedules of Multiprocessor Systems
A Tool for Generating Partition Schedules of Multiprocessor Systems Hans-Joachim Goltz and Norbert Pieth Fraunhofer FIRST, Berlin, Germany {hans-joachim.goltz,nobert.pieth}@first.fraunhofer.de Abstract.
On strong fairness in UNITY
On strong fairness in UNITY H.P.Gumm, D.Zhukov Fachbereich Mathematik und Informatik Philipps Universität Marburg {gumm,shukov}@mathematik.uni-marburg.de Abstract. In [6] Tsay and Bagrodia present a correct
3 Extending the Refinement Calculus
Building BSP Programs Using the Refinement Calculus D.B. Skillicorn? Department of Computing and Information Science Queen s University, Kingston, Canada [email protected] Abstract. We extend the
Oracle Database: SQL and PL/SQL Fundamentals NEW
Oracle University Contact Us: + 38516306373 Oracle Database: SQL and PL/SQL Fundamentals NEW Duration: 5 Days What you will learn This Oracle Database: SQL and PL/SQL Fundamentals training delivers the
Online, Asynchronous Schema Change in F1
Online, Asynchronous Schema Change in F1 Ian Rae University of Wisconsin Madison [email protected] Eric Rollins Google, Inc. [email protected] Jeff Shute Google, Inc. [email protected] ABSTRACT Sukhdeep
Firewall Verification and Redundancy Checking are Equivalent
Firewall Verification and Redundancy Checking are Equivalent H. B. Acharya University of Texas at Austin [email protected] M. G. Gouda National Science Foundation University of Texas at Austin [email protected]
http://www.jstor.org This content downloaded on Tue, 19 Feb 2013 17:28:43 PM All use subject to JSTOR Terms and Conditions
A Significance Test for Time Series Analysis Author(s): W. Allen Wallis and Geoffrey H. Moore Reviewed work(s): Source: Journal of the American Statistical Association, Vol. 36, No. 215 (Sep., 1941), pp.
TD 271 Rev.1 (PLEN/15)
INTERNATIONAL TELECOMMUNICATION UNION STUDY GROUP 15 TELECOMMUNICATION STANDARDIZATION SECTOR STUDY PERIOD 2009-2012 English only Original: English Question(s): 12/15 Geneva, 31 May - 11 June 2010 Source:
Emails sent to the FaxFinder fax server must meet the following criteria to be processed for sending as a fax:
FaxFinder FFx30 T.37 Store & Forward Fax (T.37) Introduction The FaxFinder implements T.37 Store and Forward Fax (RFC2304) to convert emails into facsimile transmissions. The FaxFinder fax server accepts
The CVS-Server Case Study: A Formalized Security Architecture
The CVS-Server Case Study: A Formalized Security Architecture Extended Abstract Achim D. Brucker, Frank Rittinger, and Burkhart Wolff {brucker,rittinge,wolff}@informatik.uni-freiburg.de 1 Introduction
2 Associating Facts with Time
TEMPORAL DATABASES Richard Thomas Snodgrass A temporal database (see Temporal Database) contains time-varying data. Time is an important aspect of all real-world phenomena. Events occur at specific points
Ultimus and Microsoft Active Directory
Ultimus and Microsoft Active Directory May 2004 Ultimus, Incorporated 15200 Weston Parkway, Suite 106 Cary, North Carolina 27513 Phone: (919) 678-0900 Fax: (919) 678-0901 E-mail: [email protected]
Verifying Semantic of System Composition for an Aspect-Oriented Approach
2012 International Conference on System Engineering and Modeling (ICSEM 2012) IPCSIT vol. 34 (2012) (2012) IACSIT Press, Singapore Verifying Semantic of System Composition for an Aspect-Oriented Approach
logic language, static/dynamic models SAT solvers Verified Software Systems 1 How can we model check of a program or system?
5. LTL, CTL Last part: Alloy logic language, static/dynamic models SAT solvers Today: Temporal Logic (LTL, CTL) Verified Software Systems 1 Overview How can we model check of a program or system? Modeling
Symbol Tables. Introduction
Symbol Tables Introduction A compiler needs to collect and use information about the names appearing in the source program. This information is entered into a data structure called a symbol table. The
ECON20310 LECTURE SYNOPSIS REAL BUSINESS CYCLE
ECON20310 LECTURE SYNOPSIS REAL BUSINESS CYCLE YUAN TIAN This synopsis is designed merely for keep a record of the materials covered in lectures. Please refer to your own lecture notes for all proofs.
Formal Languages and Automata Theory - Regular Expressions and Finite Automata -
Formal Languages and Automata Theory - Regular Expressions and Finite Automata - Samarjit Chakraborty Computer Engineering and Networks Laboratory Swiss Federal Institute of Technology (ETH) Zürich March
Oracle Database: SQL and PL/SQL Fundamentals
Oracle University Contact Us: +966 12 739 894 Oracle Database: SQL and PL/SQL Fundamentals Duration: 5 Days What you will learn This Oracle Database: SQL and PL/SQL Fundamentals training is designed to
How Program Monitors Enforce Non-Safety
Enforcing Non-safety Security Policies with Program Monitors Jay Ligatti 1,LujoBauer 2,andDavidWalker 1 1 Department of Computer Science, Princeton University 2 CyLab, Carnegie Mellon University Abstract.
Generating Web Applications from Process Models
Generating Web Applications from Process Models Jan Schulz-Hofen, Silvan Golega Hasso-Plattner-Institute for Software Systems Engineering Prof.-Dr.-Helmert-Str. 2-3 D-14482 Potsdam, Germany {jan.schulz-hofen,
Project Software Security: Securing SendMail with JAAS and Polymer
Project Software Security: Securing SendMail with JAAS and Polymer Frank van Vliet [email protected] Diego Ortiz Yepes [email protected] Jornt van der Wiel [email protected] Guido Kok
Duration Vendor Audience 5 Days Oracle Developers, Technical Consultants, Database Administrators and System Analysts
D80186GC10 Oracle Database: Program with Summary Duration Vendor Audience 5 Days Oracle Developers, Technical Consultants, Database Administrators and System Analysts Level Professional Technology Oracle
Static Program Transformations for Efficient Software Model Checking
Static Program Transformations for Efficient Software Model Checking Shobha Vasudevan Jacob Abraham The University of Texas at Austin Dependable Systems Large and complex systems Software faults are major
On the Modeling and Verification of Security-Aware and Process-Aware Information Systems
On the Modeling and Verification of Security-Aware and Process-Aware Information Systems 29 August 2011 What are workflows to us? Plans or schedules that map users or resources to tasks Such mappings may
Memorandum Potentially Affected AIA Contract Documents AIA Document A105 2007 AIA Document B105 2007 Important Information
Memorandum Important information related to requirements of state or local laws to include additional provisions in residential construction contracts Potentially Affected AIA Contract Documents AIA Document
RECOMMENDATION ITU-R S.1251
Rec. ITU-R S.1251 1 RECOMMENDATION ITU-R S.1251 NETWORK MANAGEMENT PERFORMANCE MANAGEMENT OBJECT CLASS DEFINITIONS FOR SATELLITE SYSTEMS NETWORK ELEMENTS FORMING PART OF SDH TRANSPORT NETWORKS IN THE FIXED-SATELLITE
Simple Identity Management Profile
1 2 3 4 Document Number: DSP1034 Date: 2009-06-17 Version: 1.0.1 5 6 7 8 Document Type: Specification Document Status: DMTF Standard Document Language: E 9 DSP1034 10 11 Copyright Notice Copyright 2008,
Functional Dependency and Normalization for Relational Databases
Functional Dependency and Normalization for Relational Databases Introduction: Relational database design ultimately produces a set of relations. The implicit goals of the design activity are: information
Enhancing ECA Rules for Distributed Active Database Systems
Enhancing ECA Rules for Distributed Active Database Systems 2 Thomas Heimrich 1 and Günther Specht 2 1 TU-Ilmenau, FG Datenbanken und Informationssysteme, 98684 Ilmenau Universität Ulm, Abteilung Datenbanken
Chapter 7 Application Protocol Reference Architecture
Application Protocol Reference Architecture Chapter 7 Application Protocol Reference Architecture This chapter proposes an alternative reference architecture for application protocols. The proposed reference
Runtime Verification - Monitor-oriented Programming - Monitor-based Runtime Reflection
Runtime Verification - Monitor-oriented Programming - Monitor-based Runtime Reflection Martin Leucker Technische Universität München (joint work with Andreas Bauer, Christian Schallhart et. al) FLACOS
Normalization in OODB Design
Normalization in OODB Design Byung S. Lee Graduate Programs in Software University of St. Thomas St. Paul, Minnesota [email protected] Abstract When we design an object-oriented database schema, we need
Postgres Plus xdb Replication Server with Multi-Master User s Guide
Postgres Plus xdb Replication Server with Multi-Master User s Guide Postgres Plus xdb Replication Server with Multi-Master build 57 August 22, 2012 , Version 5.0 by EnterpriseDB Corporation Copyright 2012
Automating Server Firewalls
Automating Server Firewalls With CloudPassage Halo Contents: About Halo Server Firewalls Implementing Firewall Policies Create and Assign a Firewall Policy Specify Firewall-Related Components Managing
Sofware Requirements Engineeing
Sofware Requirements Engineeing Three main tasks in RE: 1 Elicit find out what the customers really want. Identify stakeholders, their goals and viewpoints. 2 Document write it down (). Understandable
Computability Classes for Enforcement Mechanisms*
Computability Classes for Enforcement Mechanisms* KEVIN W. HAMLEN Cornell University GREG MORRISETT Harvard University and FRED B. SCHNEIDER Cornell University A precise characterization of those security
Criticality of Schedule Constraints Classification and Identification Qui T. Nguyen 1 and David K. H. Chua 2
Criticality of Schedule Constraints Classification and Identification Qui T. Nguyen 1 and David K. H. Chua 2 Abstract In construction scheduling, constraints among activities are vital as they govern the
Data Validation with OWL Integrity Constraints
Data Validation with OWL Integrity Constraints (Extended Abstract) Evren Sirin Clark & Parsia, LLC, Washington, DC, USA [email protected] Abstract. Data validation is an important part of data integration
Cloud Information Accountability Framework for Auditing the Data Usage in Cloud Environment
International Journal of Computational Engineering Research Vol, 03 Issue, 11 Cloud Information Accountability Framework for Auditing the Data Usage in Cloud Environment D.Dhivya 1, S.CHINNADURAI 2 1,M.E.(Cse),
Feature Specification and Automated Conflict Detection
Feature Specification and Automated Conflict Detection AMY P. FELTY University of Ottawa and KEDAR S. NAMJOSHI Bell Laboratories Large software systems, especially in the telecommunications field, are
The first time through running an Ad Hoc query or Stored Procedure, SQL Server will go through each of the following steps.
SQL Query Processing The first time through running an Ad Hoc query or Stored Procedure, SQL Server will go through each of the following steps. 1. The first step is to Parse the statement into keywords,
Algorithmic Software Verification
Algorithmic Software Verification (LTL Model Checking) Azadeh Farzan What is Verification Anyway? Proving (in a formal way) that program satisfies a specification written in a logical language. Formal
ONLINE EXERCISE SYSTEM A Web-Based Tool for Administration and Automatic Correction of Exercises
ONLINE EXERCISE SYSTEM A Web-Based Tool for Administration and Automatic Correction of Exercises Daniel Baudisch, Manuel Gesell and Klaus Schneider Embedded Systems Group, University of Kaiserslautern,
Runtime Verification for Real-Time Automotive Embedded Software
Runtime Verification for Real-Time Automotive Embedded Software S. Cotard, S. Faucou, J.-L. Béchennec, A. Queudet, Y. Trinquet 10th school of Modelling and Verifying Parallel processes (MOVEP) Runtime
Software Architecture Document
Software Architecture Document Natural Language Processing Cell Version 1.0 Natural Language Processing Cell Software Architecture Document Version 1.0 1 1. Table of Contents 1. Table of Contents... 2
Elena Baralis, Silvia Chiusano Politecnico di Torino. Pag. 1. Active database systems. Triggers. Triggers. Active database systems.
Active database systems Database Management Systems Traditional DBMS operation is passive Queries and updates are explicitly requested by users The knowledge of processes operating on data is typically
