Enforcing Secure Service Composition

Σχετικά έγγραφα
A Static Approach to Secure Service Composition

Secure Service Orchestration

Dynamic types, Lambda calculus machines Section and Practice Problems Apr 21 22, 2016

Overview. Transition Semantics. Configurations and the transition relation. Executions and computation

The Simply Typed Lambda Calculus

The challenges of non-stable predicates

C.S. 430 Assignment 6, Sample Solutions

Phys460.nb Solution for the t-dependent Schrodinger s equation How did we find the solution? (not required)

Formal Semantics. 1 Type Logic

From the finite to the transfinite: Λµ-terms and streams

ΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 19/5/2007

Instruction Execution Times

2 Composition. Invertible Mappings

LTL to Buchi. Overview. Buchi Model Checking LTL Translating LTL into Buchi. Ralf Huuck. Buchi Automata. Example

ΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 6/5/2006

Ordinal Arithmetic: Addition, Multiplication, Exponentiation and Limit

Numerical Analysis FMN011

Fractional Colorings and Zykov Products of graphs

Estimation for ARMA Processes with Stable Noise. Matt Calder & Richard A. Davis Colorado State University

Solutions to Exercise Sheet 5

Bounding Nonsplitting Enumeration Degrees

HOMEWORK 4 = G. In order to plot the stress versus the stretch we define a normalized stretch:

ANSWERSHEET (TOPIC = DIFFERENTIAL CALCULUS) COLLECTION #2. h 0 h h 0 h h 0 ( ) g k = g 0 + g 1 + g g 2009 =?

Galatia SIL Keyboard Information

Lecture 2. Soundness and completeness of propositional logic

Αλγόριθμοι και πολυπλοκότητα NP-Completeness (2)

Nowhere-zero flows Let be a digraph, Abelian group. A Γ-circulation in is a mapping : such that, where, and : tail in X, head in

4.6 Autoregressive Moving Average Model ARMA(1,1)

ΓΡΑΜΜΙΚΟΣ & ΔΙΚΤΥΑΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

About these lecture notes. Simply Typed λ-calculus. Types

Every set of first-order formulas is equivalent to an independent set

Other Test Constructions: Likelihood Ratio & Bayes Tests

Sequent Calculi for the Modal µ-calculus over S5. Luca Alberucci, University of Berne. Logic Colloquium Berne, July 4th 2008

A Lambda Model Characterizing Computational Behaviours of Terms

Access Control Encryption Enforcing Information Flow with Cryptography

ω ω ω ω ω ω+2 ω ω+2 + ω ω ω ω+2 + ω ω+1 ω ω+2 2 ω ω ω ω ω ω ω ω+1 ω ω2 ω ω2 + ω ω ω2 + ω ω ω ω2 + ω ω+1 ω ω2 + ω ω+1 + ω ω ω ω2 + ω

Finite Field Problems: Solutions

Approximation of distance between locations on earth given by latitude and longitude

3.4 SUM AND DIFFERENCE FORMULAS. NOTE: cos(α+β) cos α + cos β cos(α-β) cos α -cos β

CYTA Cloud Server Set Up Instructions

The λ-calculus. Lecturer: John Wickerson. Phil Wadler

ΚΥΠΡΙΑΚΟΣ ΣΥΝΔΕΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY 21 ος ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ Δεύτερος Γύρος - 30 Μαρτίου 2011

Section 8.3 Trigonometric Equations

Υλοποίηση Δικτυακών Υποδομών και Υπηρεσιών: OSPF Cost

Οδηγίες Αγοράς Ηλεκτρονικού Βιβλίου Instructions for Buying an ebook

Δημιουργία Λογαριασμού Διαχείρισης Business Telephony Create a Management Account for Business Telephony

Example Sheet 3 Solutions

Durbin-Levinson recursive method

ΙΚΤΥΩΤΟ ΜΟΝΤΕΛΟ (Network Model) Μαθ. # 15

SOLUTIONS TO MATH38181 EXTREME VALUES AND FINANCIAL RISK EXAM

7 Present PERFECT Simple. 8 Present PERFECT Continuous. 9 Past PERFECT Simple. 10 Past PERFECT Continuous. 11 Future PERFECT Simple

Lecture 2: Dirac notation and a review of linear algebra Read Sakurai chapter 1, Baym chatper 3

Απόκριση σε Μοναδιαία Ωστική Δύναμη (Unit Impulse) Απόκριση σε Δυνάμεις Αυθαίρετα Μεταβαλλόμενες με το Χρόνο. Απόστολος Σ.

Inverse trigonometric functions & General Solution of Trigonometric Equations

Assalamu `alaikum wr. wb.

Models for Probabilistic Programs with an Adversary

ΤΕΧΝΟΛΟΓΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΣΧΟΛΗ ΜΗΧΑΝΙΚΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ

Practice Exam 2. Conceptual Questions. 1. State a Basic identity and then verify it. (a) Identity: Solution: One identity is csc(θ) = 1

EE512: Error Control Coding

Solution Series 9. i=1 x i and i=1 x i.

Σχολή Εφαρμοσμένων Μαθηματικών και Φυσικών Επιστημών. Εθνικό Μετσόβιο Πολυτεχνείο. Thales Workshop, 1-3 July 2015

A Bonus-Malus System as a Markov Set-Chain. Małgorzata Niemiec Warsaw School of Economics Institute of Econometrics

Math 6 SL Probability Distributions Practice Test Mark Scheme

Fourier Series. MATH 211, Calculus II. J. Robert Buchanan. Spring Department of Mathematics

Οι αδελφοί Montgolfier: Ψηφιακή αφήγηση The Montgolfier Βrothers Digital Story (προτείνεται να διδαχθεί στο Unit 4, Lesson 3, Αγγλικά Στ Δημοτικού)

Πρόβλημα 1: Αναζήτηση Ελάχιστης/Μέγιστης Τιμής

SOLUTIONS TO MATH38181 EXTREME VALUES AND FINANCIAL RISK EXAM

THE CALL-BY-NEED LAMBDA CALCULUS, REVISITED

Verification. Lecture 12. Martin Zimmermann

Πώς μπορεί κανείς να έχει έναν διερμηνέα κατά την επίσκεψή του στον Οικογενειακό του Γιατρό στο Ίσλινγκτον Getting an interpreter when you visit your

Ανάπτυξη διαδικτυακής διαδραστικής εκπαιδευτικής εφαρμογής σε λειτουργικό σύστημα Android

Strain gauge and rosettes

On a four-dimensional hyperbolic manifold with finite volume

The ε-pseudospectrum of a Matrix

Homomorphism of Intuitionistic Fuzzy Groups

derivation of the Laplacian from rectangular to spherical coordinates

EPL 603 TOPICS IN SOFTWARE ENGINEERING. Lab 5: Component Adaptation Environment (COPE)

The Probabilistic Method - Probabilistic Techniques. Lecture 7: The Janson Inequality

DESIGN OF MACHINERY SOLUTION MANUAL h in h 4 0.

Διάρκεια μιας Ομολογίας (Duration) Ανοσοποίηση (Immunization)

Econ 2110: Fall 2008 Suggested Solutions to Problem Set 8 questions or comments to Dan Fetter 1

Main source: "Discrete-time systems and computer control" by Α. ΣΚΟΔΡΑΣ ΨΗΦΙΑΚΟΣ ΕΛΕΓΧΟΣ ΔΙΑΛΕΞΗ 4 ΔΙΑΦΑΝΕΙΑ 1

Section 7.6 Double and Half Angle Formulas

ΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ "ΠΟΛΥΚΡΙΤΗΡΙΑ ΣΥΣΤΗΜΑΤΑ ΛΗΨΗΣ ΑΠΟΦΑΣΕΩΝ. Η ΠΕΡΙΠΤΩΣΗ ΤΗΣ ΕΠΙΛΟΓΗΣ ΑΣΦΑΛΙΣΤΗΡΙΟΥ ΣΥΜΒΟΛΑΙΟΥ ΥΓΕΙΑΣ "

12. Radon-Nikodym Theorem

Εκδηλώσεις Συλλόγων. La page du francais. Τα γλωσσοψυχο -παιδαγωγικά. Εξετάσεις PTE Δεκεμβρίου 2013

Partial Differential Equations in Biology The boundary element method. March 26, 2013

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΜΣ «ΠΡΟΗΓΜΕΝΑ ΣΥΣΤΗΜΑΤΑ ΠΛΗΡΟΦΟΡΙΚΗΣ» ΚΑΤΕΥΘΥΝΣΗ «ΕΥΦΥΕΙΣ ΤΕΧΝΟΛΟΓΙΕΣ ΕΠΙΚΟΙΝΩΝΙΑΣ ΑΝΘΡΩΠΟΥ - ΥΠΟΛΟΓΙΣΤΗ»

Statistical Inference I Locally most powerful tests

Homework 8 Model Solution Section

Partial Trace and Partial Transpose

Code Breaker. TEACHER s NOTES

TMA4115 Matematikk 3

Συστήματα Διαχείρισης Βάσεων Δεδομένων

How to register an account with the Hellenic Community of Sheffield.

6.3 Forecasting ARMA processes

Πιστοποίηση επάρκειας ικανότητας φορέων ( ΚΠΣ)

Second Order RLC Filters

1) Formulation of the Problem as a Linear Programming Model

5.4 The Poisson Distribution.

Transcript:

CSFW 05 p.1 Enforcing Secure Service Composition Massimo Bartoletti Pierpaolo Degano Gian Luigi Ferrari Dipartimento di Informatica, Università di Pisa

CSFW 05 p.2 Example: contract signing ψ e trusted certification service Λ service repository ψ = eventually sgn with no subsequent rvk

CSFW 05 p.2 Example: contract signing ψ e ψ req 1 ϕ 1 [ ], ψ 1 Λ ϕ 1 = never visit untrusted sites (α u ) ψ 1 = eventually get privacy policy (α p )

CSFW 05 p.2 Example: contract signing ψ e ψ req 1 ϕ 1 [ ], ψ 1 α p P1 (ε + α u ) α p P2

CSFW 05 p.2 Example: contract signing ψ e α p ψ req 1 ψ ϕ[e ] ϕ P1 (ε + α u ) α p P2 ϕ = never connect to the network (α c ) after having read local files (α r )

CSFW 05 p.2 Example: contract signing ψ e ψ 2 = receive a signed contract ψ req 1 ψ ϕ[e ] ψ ϕ[req 2 ] ψ 2 Λ ψ α c

CSFW 05 p.2 Example: contract signing ψ e ψ req 1 α r α sgn S1 ψ ϕ[e ] ψ ϕ[req 2 ] ψ α c ψ 2 α r α c α sgn S2 µh. (α rvk + α sgn ) h S3

CSFW 05 p.2 Example: contract signing ψ e ψ req 1 α r α sgn S1 ψ ϕ[e ] ψ ϕ[req 2 ] ψ α c α r α c α sgn S2 µh. (α rvk + α sgn ) h S3

CSFW 05 p.3 Overview calculus for secure service composition local safety/liveness policies call-by-contract service invocation subsumes history-based access control dynamic semantics (liveness?) static semantics: type & effect system approx. runtime behaviour (history expr.) static verification via model checking selects services matching contracts

CSFW 05 p.4 A calculus for service composition λ + histories + local policies + call-by-contract a history η is a sequence of events α policies ϕ, ψ are regular properties of η each computation step in a safety framing ϕ[e] must respect ϕ some step in a liveness framing ψ e must eventually satisfy ψ ϕ[ ],ψ a request req τ τ selects the services respecting (always) ϕ and (eventually) ψ

CSFW 05 p.5 Why local policies? Problem: securization of code upon receipt an untrusted program e is received I want the execution of e to obey a policy ϕ where to insert the checks in e? one issue: e could invoke unknown code solution: dynamic sandboxing ϕ[e] each execution step of e is subject to ϕ the scope of ϕ is left when e terminates

CSFW 05 p.6 Enforcing Principle of least privilege Programs should be granted the minimum set of rights that are needed to accomplish their tasks. an expression must always obey all the active policies (no policy can be overridden) policies can always inspect the whole past history (no event can be hidden) so how to implement privileged calls / discard the past? answer: policies must explicitly allow for it!

CSFW 05 p.7 Extracting History Expressions e 1 = if b then α else α H 1 = α + α α, α

CSFW 05 p.7 Extracting History Expressions e 1 = if b then α else α H 1 = α + α α, α e 2 = (λx. α ) : unit H 2 = ε α unit

CSFW 05 p.7 Extracting History Expressions e 1 = if b then α else α H 1 = α + α α, α e 2 = (λx. α ) : unit H 2 = ε e 3 = (λx. α )α H 3 = α α αα α unit

CSFW 05 p.7 Extracting History Expressions e 1 = if b then α else α H 1 = α + α α, α e 2 = (λx. α ) : unit H 2 = ε e 3 = (λx. α )α H 3 = α α αα α unit e 4 = (λy. ϕ[α; y ])(λx. ϕ [α ]) H 4 = ϕ[α ϕ [α ]] [ ϕ α[ ϕ α ] ϕ ] ϕ

CSFW 05 p.7 Extracting History Expressions e 1 = if b then α else α H 1 = α + α α, α e 2 = (λx. α ) : unit H 2 = ε e 3 = (λx. α )α H 3 = α α αα α unit e 4 = (λy. ϕ[α; y ])(λx. ϕ [α ]) H 4 = ϕ[α ϕ [α ]] [ ϕ α[ ϕ α ] ϕ ] ϕ e 5 = (λ z x. α; z x) H 5 = µh. α h ε, α, αα,...

CSFW 05 p.8 Validity of Histories obeying all the policies, within their scopes ex: ϕ[α r ]α c valid, ϕ[α r ϕ [α c ]α w ] not valid safe-sets of ϕ[α r ϕ [α c ]α w ]: ϕ[{ε, α r, α r α c, α r α c α w }] ϕ [{α r, α r α c }] ex: ψ α rvk α sgn valid, ψ α sgn α rvk ψ α sgn not live-sets of ψ α sgn α rvk ψ α sgn : ψ {ε, α sgn,...} ψ {α sgn α rvk }

CSFW 05 p.9 Validity of Histories η valid iff, for each safe-set ϕ[{η 1,..., η k }] of η: i 1..k. η i = ϕ and, for each live-set ψ {η 1,..., η h } of η: i 1..h. η i = ψ H valid iff each η H is valid how to verify validity of history expressions?

CSFW 05 p.10 Selecting Services service request: req l τ ϕ[ ],ψ τ lookup Λ for services with signature: e i : τ H i τ I(l) selects those services such that: ϕ[ψ H i ] valid the latent effect will be: Σ i I(l) H i

CSFW 05 p.11 Type & Effect System typing judgements Γ e : τ H, I types: τ ::= unit τ H τ effect: history expr. H + service selection I correctness of history expressions: ε, e η, e = η H type safety: if H is valid and I(l) for each req l, then e will not go wrong

CSFW 05 p.12 Verifying History Expressions If validity were a regular property... H BP A(H) Pushdown automaton validity Ω(H) A Ψ(H) Büchi automaton H valid if L(BP A(H)) L(A Ω(H) ) = But validity of histories is non-regular! ex: µh. α + h h + ϕ[h] [ ϕ [ ϕ α ] ϕ [ ϕ α in or out?

CSFW 05 p.13 Regularizing History Expressions Solution: transform H to make Ω(H) regular idea: eliminating the redundant framings preserves the validity of history expressions ϕ[α ϕ [α ϕ[α ]]] valid iff ϕ[α ϕ [α α ]] valid ψ α ψ α ψ α valid iff α ψ α ψ α valid safety framings can be regularized [Fossacs] liveness framings probably not, but not really needed (quite surprisingly!)

CSFW 05 p.14 Verifying safety framings α c α r α r, α c A ϕ α r α c q0 q1 q2 α r α c L(A ϕ ) α c α r α r, α c q0 α r q1 α c q2 A ϕ[ ] [ ϕ ] ϕ [ ϕ ] ϕ α r q0 q1 α c α r α r [ ϕ α c ] ϕ L(A ϕ[ ] ) [ ϕ α r ] ϕ α c L(A ϕ[ ] )

CSFW 05 p.15 Verifying liveness framings A ψ α rvk q0 α sgn α rvk q1 α sgn

CSFW 05 p.15 Verifying liveness framings A ψ α rvk q0 α sgn α rvk q1 α sgn ψ α rvk ψ ψ ψ q0 α sgn α rvk q1 ψ, α sgn ψ, α rvk ψ q0 α sgn αrvk ψαsgn L(Aψ ) ψ α sgn α rvk ψ L(A ψ )

CSFW 05 p.16 Conclusions λ + histories + local policies + call-by-contract type & effect system: Γ e : τ H, I model-checking validity: H valid BP A(H ) = ϕ [ ] ψ [ ϕ, ψ H type safety + verification: H valid, req l. I(l) = e will not go wrong

CSFW 05 p.17 Programming model (syntax) e, e ::= x λ z x. e e e if b then e else e α ϕ[e] ϕ e req l τ ϕ[ ],ψ τ variable abstraction application conditional access event safety framing liveness framing service request

CSFW 05 p.18 Programming model (semantics) e : τ H τ Λ H = ϕ ψ η, α ηα, η, req τ ϕ[ ],ψ τ η, e η, e η, e η = ϕ η = ϕ η, ϕ[e] η, ϕ[e ] η, e η, e η = ψ η, ψ e η, ψ e η = ϕ η, ϕ[v] η, v η = ψ η, ψ e η, e

CSFW 05 p.19 Type & Effect System Γ, α α : unit Γ, H e : τ Γ, ϕ[h] ϕ[e] : τ Γ, H e : τ Γ, ψ H ψ e : τ Γ; x : τ; z : τ H τ, H e : τ Γ, H e : τ H τ Γ, H e : τ Γ, ε λ z x.e : τ H τ Γ, H H H ee : τ I l = { i e i : τ H i τ Λ ϕ[ψ H i ] valid } Γ, ε, I l req l τ ϕ[ ],ψ τ : τ Σ i I l H i τ

CSFW 05 p.20 A typing example e = λ z x. b? α + (b? zzx + ϕ[zx]) Γ, ε z : τ H τ Γ, ε x : τ Γ, H z x : τ Γ, H H z z x : τ Γ, ϕ[h] ϕ[z x] : τ Γ, H H + ϕ[h] z z x : τ Γ, H H + ϕ[h] ϕ[z x] : τ Γ, H H + ϕ[h] b? z z x + ϕ[z x] : τ Γ, α + H H + ϕ[h] b? α + (b? z z x + ϕ[z x]) : τ H = α + H H + ϕ[h] = H = µh. α + h h + ϕ[h], ε e : unit µh. α+h h+ϕ[h] unit

CSFW 05 p.21 Semantics of History Expressions ε ρ = ε α ρ = α h ρ = ρ(h) H H ρ = H ρ H ρ H + H ρ = H ρ H ρ ϕ[h] ρ = ϕ[ H ρ ] µh.h ρ = n ω f n ( ), f(x) = H ρ{x/h}

CSFW 05 p.22 Regularizing safety (1) ε Φ,Γ = ε h Φ,Γ = h α Φ,Γ = α (H H ) Φ,Γ = H Φ,Γ H Φ,Γ (H + H ) Φ,Γ = H Φ,Γ + H Φ,Γ ϕ[h] Φ,Γ = { H Φ,Γ ϕ[h Φ {ϕ},γ ] if ϕ Φ otherwise

CSFW 05 p.23 Regularizing safety (2) (µh. H) Φ,Γ = µh. (H σ Φ,Γ{(µh.H)Γ/h} σ) where H = H {h/h i } i, h i fresh, h fv(h ) σ(h i ) = (µh.h)γ Φ guard(hi,h ),Γ σ (h i ) = { h h i if guard(h i, H ) Φ otherwise