• No results found

Security Policies as Membranes in Systems for Global Computing (talk)

N/A
N/A
Protected

Academic year: 2020

Share "Security Policies as Membranes in Systems for Global Computing (talk)"

Copied!
36
0
0

Loading.... (view fulltext now)

Full text

(1)

Why What How Conclusion

Security Policies as Membranes

in Systems for Global Computing

Vladimiro Sassone University of Sussex, UK

GC 2004: MyThS/MIKADO/DART Meeting

Venice 15.06.04

(2)

1 Why

2 What

3 How

Barring actions Counting actions Sequencing actions Controlling coalitions

(3)

Why What How Conclusion

Why

Most calculi/languages for GC rely oncode mobilityto model interprocesses interactions;

This leads tosecurity concerns(malicious agents can compromise ‘good’ sites through viruses, spammings, denial-of-service attacks, ...);

Thus, code mobility usually equipped withsecurity checks:

1 static checks: make the run-time as efficient as possible, but it may be not adequate in practice;

(4)

Why

Most calculi/languages for GC rely oncode mobilityto model interprocesses interactions;

This leads tosecurity concerns(malicious agents can compromise ‘good’ sites through viruses, spammings, denial-of-service attacks, ...);

Thus, code mobility usually equipped withsecurity checks:

1 static checks: make the run-time as efficient as possible, but it may be not adequate in practice;

(5)

Why What How Conclusion

Simple

Systemsare (plain) collections of sites;

Sitesare places for computations, divided in at least two layers:

a computing body

amembrane, to carry on security related issues

membranesregulate the interactions between the computing body and the environment around the site

differently fromBoudol’s andStefani’s: our membranes arenot fully-fledged computing entities. They only implement

(6)

The Objectives

Run an initial investigation intowhat kindof security policies can be implemented through membranes, andhow.

This is related to, and aims at generalizing for the specific application

the security types developed forDπandKLAIM;

the session types byHonda et al;

(7)

Why What How Conclusion

What

1 aformal frameworkto formalize processes running in a GC system, whose activities arelocal computationsandmigrations;

2 membranesto implement advanced checks on incoming agents (including notions oftrustandproof-carrying code);

(8)

Why What How Conclusion

A Calculus for Migrations

A minimal calculus (Turing not an issue here)

BasicActions a,b,c, ...∈Act

Localities l,h,k, ...∈Loc

Agents P,Q,R ::= nil a.P

goTl.P P|Q

!P

Systems N ::= 0

l[[M|iP]]

N1kN2

where

l[[M|iP]]is a site with addressl, membraneMand hosting processP;

(9)

Why What How Conclusion

A Calculus for Migrations

A minimal calculus (Turing not an issue here)

BasicActions a,b,c, ...∈Act

Localities l,h,k, ...∈Loc

Agents P,Q,R ::= nil a.P

goTl.P P|Q

!P

Systems N ::= 0

l[[M|iP]]

N1kN2

where

l[[M|iP]]is a site with addressl, membraneMand hosting processP;

(10)

Dynamic Semantics – local

Local behaviours:

l[[M|ia.P|Q]]−→l[[M|iP|Q]]

(11)

Why What How Conclusion

Dynamic Semantics – migration

Migration:

k[[M|igoTl.P|Q]] k l[[M0|iR]] −→ k[[M|iQ]] k l[[M0|iP|R]]

This reduction may happen only ifP complies with M0.

But checking whole processes at migration can be very expensive!

(12)

Dynamic Semantics – migration

Migration:

k[[M|igoTl.P|Q]] k l[[M0|iR]] −→ k[[M|iQ]] k l[[M0|iP|R]]

This reduction may happen only ifP complies with M0.

But checking whole processes at migration can be very expensive!

(13)

Why What How Conclusion

The matter with certification

When can we consider PCCs?

They areeasy to verify(they are usually very small, if compared to the process they refer to),but

they can bedangerous(if they don’t certify properly the process behaviour)

A compromise:

we can safely consider PCCs of agents coming fromtrusted

(14)

The matter with certification

When can we consider PCCs?

They areeasy to verify(they are usually very small, if compared to the process they refer to),but

they can bedangerous(if they don’t certify properly the process behaviour)

A compromise:

we can safely consider PCCs of agents coming fromtrusted

(15)

Why What How Conclusion

Trust

Each site store the trust it has on other sites, as part of itsmembrane.

Thus, a membrane is a couple(Mt,Mp), where

Mt :Loc → {good,bad,unknown};

(16)

The Migration Rule – revised

k[[M|igoTl.P|Q]] k l[[M0|iR]]

−→ k[[M|iQ]] k l[[M0|iP|R]] ifM0`k T P

whereM0`k T P is

ifMt0(k) =goodthen(T enforcesMp0 )else `P:Mp0

and

predicate enforces is a partial order on policies;

(17)

Why What How Conclusion Barring actions Counting actions Sequencing actions Controlling coalitions

Policies as Constraints on Legal Actions

a site only provides some methods (i.e. only some actions can be executed while running in it)

a policyT is a subset ofActLoc where

a process can only execute locally actions inT

a process can only migrate on sites inT

T enforcesT0 is simply defined asT T0;

judgment`is simple. The key rules are

`P:T

`a.P:T a∈T

`P:T0

`goT0l.P:T

(18)

Why What How Conclusion Barring actions Counting actions Sequencing actions Controlling coalitions

Policies as Constraints on Legal Actions

a site only provides some methods (i.e. only some actions can be executed while running in it)

a policyT is a subset ofActLoc where

a process can only execute locally actions inT

a process can only migrate on sites inT

T enforcesT0 is simply defined asT T0;

judgment`is simple. The key rules are

`P:T

`a.P:T a∈T

`P:T0

`goT0l.P:T

(19)

Why What How Conclusion Barring actions Counting actions Sequencing actions Controlling coalitions

Policies as Constraints on Legal Actions

a site only provides some methods (i.e. only some actions can be executed while running in it)

a policyT is a subset ofActLoc where

a process can only execute locally actions inT

a process can only migrate on sites inT

T enforcesT0 is simply defined asT T0;

judgment`is simple. The key rules are

`P:T

`a.P:T a∈T

`P:T0

`goT0l.P:T

(20)

Why What How Conclusion Barring actions Counting actions Sequencing actions Controlling coalitions

Policies as Constraints on Legal Actions (ctd)

a systemNiswell-formed, written`N:ok, if “good” nodes only hosts “good” agents. Formally:

`P:Mp

`l[[M|iP]] :ok l good `l[[M|iP]] :ok l not good

(21)

Why What How Conclusion Barring actions Counting actions Sequencing actions Controlling coalitions

Policies as Constraints on Legal Actions (ctd)

a systemNiswell-formed, written`N:ok, if “good” nodes only hosts “good” agents. Formally:

`P:Mp

`l[[M|iP]] :ok l good `l[[M|iP]] :ok l not good

(22)

Why What How Conclusion Barring actions Counting actions Sequencing actions Controlling coalitions

Counting Legal Actions

sometimes, legal actions can be performed only a certain number of times. E.g.:

a fair mail server allows its clients to send mails,but:

it should block spamming activities of malicious clients;thus:

it could allow sending at mostKmails for each login of each client.

Policies aremultisetscontaining elements fromAct ∪Loc;

T enforcesT0 is multisets inclusion;

`adapts straightforwardly from the case of sets:

`P :T

`a.P:T∪ {a}

`P:T0

`goT0l.P:T∪ {l}

(23)

Why What How Conclusion Barring actions Counting actions Sequencing actions Controlling coalitions

Counting Legal Actions

sometimes, legal actions can be performed only a certain number of times. E.g.:

a fair mail server allows its clients to send mails,but:

it should block spamming activities of malicious clients;thus:

it could allow sending at mostKmails for each login of each client.

Policies aremultisetscontaining elements fromAct ∪Loc;

T enforcesT0 is multisets inclusion;

`adapts straightforwardly from the case of sets:

`P :T

`a.P:T∪ {a}

`P:T0

`goT0l.P:T∪ {l}

(24)

Counting Legal Actions (ctd)

This setting enforces athread-wiseproperty. Indeed,

if two different agentsPandQindividually send at mostK mails,

when they both run in the mail server, the agentP|Qcan send more thanK mails (actually, it can send2K mails)

Thus, the well-formedness predicate for good sites is changed as

∀i.(Pi a thread and `Pi :Mp) `l[[M|iP1|. . .|Pn]] :ok

l good

(25)

Why What How Conclusion Barring actions Counting actions Sequencing actions Controlling coalitions

Sequencing Legal Actions

sometimes, legal actions can be performed only in a certain order. E.g.

before exploiting the functionalities of a mail server, you must have logged in,and

before loggin out, you must have saved the status of the transaction.

This can be easily formalized by(deterministic) finite automata

usr.pwd.(list+send+retr+del+reset)∗.quit

Policies are DFAs;

T enforcesT0 is inclusion of DFAs’s languages;

(26)

Sequencing Legal Actions

sometimes, legal actions can be performed only in a certain order. E.g.

before exploiting the functionalities of a mail server, you must have logged in,and

before loggin out, you must have saved the status of the transaction.

This can be easily formalized by(deterministic) finite automata

usr.pwd.(list+send+retr+del+reset)∗.quit

Policies are DFAs;

T enforcesT0 is inclusion of DFAs’s languages;

(27)

Why What How Conclusion Barring actions Counting actions Sequencing actions Controlling coalitions

Sequencing Legal Actions (ctd)

As well-known, inclusion of regular languages can be calculated easily, once given the associated DFAs

What about predicate`P:T?

we expect that calculating it is harder than verifying PCCs (i.e. verifying predicate enforces)

But, how harder? Is it decidable?

(28)

Why What How Conclusion Barring actions Counting actions Sequencing actions Controlling coalitions

Sequencing Legal Actions (ctd2)

an agent can be easily associated to aconcurrent regular expression: regular exprs withshuffle⊗andshuffle closure .

e.g., agent !(a.b | c.goTl.P) can be represented as

((a·b)⊗(c·l))

we are only interested in thelocal behaviourof the agent.

we can derive the language associated to this CRE and check whether it is contained in the language accepted by the policy;

CREs can be represented as Petri nets. Inclusion of a Petri net in a DFA isdecidable, even ifsuper-exponential;

(29)

Why What How Conclusion Barring actions Counting actions Sequencing actions Controlling coalitions

Sequencing Legal Actions (ctd2)

an agent can be easily associated to aconcurrent regular expression: regular exprs withshuffle⊗andshuffle closure .

e.g., agent !(a.b | c.goTl.P) can be represented as

((a·b)⊗(c·l))

we are only interested in thelocal behaviourof the agent.

we can derive the language associated to this CRE and check whether it is contained in the language accepted by the policy;

CREs can be represented as Petri nets. Inclusion of a Petri net in a DFA isdecidable, even ifsuper-exponential;

(30)

Why What How Conclusion Barring actions Counting actions Sequencing actions Controlling coalitions

Controlling Coalitions at a Site

policies as multisets and as DFAs can only express thread-oriented properties;

Dealing with the overall behaviour of a site; Two options: When agentPwant to migrate onl, containing agentR

1 freeze and retrieve the current content of the site, viz.R;

check whetherP|Rrespects the policy of the site;

reactivateRand, according to the result of the checking

phase, activateP.

2 let membranes evolving at run-time: they are decreased

with the privileges granted toP.

(31)

Why What How Conclusion Barring actions Counting actions Sequencing actions Controlling coalitions

Controlling Coalitions at a Site

policies as multisets and as DFAs can only express thread-oriented properties;

Dealing with the overall behaviour of a site; Two options: When agentPwant to migrate onl, containing agentR

1 freeze and retrieve the current content of the site, viz.R;

check whetherP|Rrespects the policy of the site;

reactivateRand, according to the result of the checking

phase, activateP.

2 let membranes evolving at run-time: they are decreased

with the privileges granted toP.

(32)

Why What How Conclusion Barring actions Counting actions Sequencing actions Controlling coalitions

Controlling Coalitions at a Site

policies as multisets and as DFAs can only express thread-oriented properties;

Dealing with the overall behaviour of a site; Two options: When agentPwant to migrate onl, containing agentR

1 freeze and retrieve the current content of the site, viz.R;

check whetherP|Rrespects the policy of the site;

reactivateRand, according to the result of the checking

phase, activateP.

2 let membranes evolving at run-time: they are decreased

with the privileges granted toP.

(33)

Why What How Conclusion Barring actions Counting actions Sequencing actions Controlling coalitions

Controlling Coalitions at a Site

policies as multisets and as DFAs can only express thread-oriented properties;

Dealing with the overall behaviour of a site; Two options: When agentPwant to migrate onl, containing agentR

1 freeze and retrieve the current content of the site, viz.R;

check whetherP|Rrespects the policy of the site;

reactivateRand, according to the result of the checking

phase, activateP.

2 let membranes evolving at run-time: they are decreased

with the privileges granted toP.

(34)

Controlling Coalitions at a Site (ctd)

A new migration rule:

k[[M|igoTl.P|Q]] k l[[M0|iR]]

−→ k[[M|iQ]] k l[[M00|iP|R]] ifM0`k

T PM00

whereM0`k

T P M00:

verifies whetherPrespectsM0

p(by examining its PCCT or its

code, according to the trust level in its origin,k);

ifPrespectsM0

p, it decreaseMp0 with the privileges granted toP.

This returnsM00

(35)

Why What How Conclusion Barring actions Counting actions Sequencing actions Controlling coalitions

Controlling Coalitions at a Site (ctd2)

Well-formed systems are now defined w.r.t. a functionΘassociating each good site to a initial policy.

Θ`l[[M|iP]] :ok

l good

(pol(P)tMp)enforcesΘ(l)

where

pol(P)returns the minimal policy satisfied byP;

tmerges together two policies.

(36)

Conclusions

a formal framework to reason on the role of membranes as security policies

several variations expressing finer and finer policies

to be done:

a richer calculus (including communications, restrictions, ...) more complex policies (not expressible with DFAs)

...

the paper is available at

References

Related documents

The genus was described by Loeblich & Tappan (1987) as having initial triserial coiling which reduces to biserial and finally uniserial. However, topotype specimens display high

A ‘black,’, hyperpigmented, adrenal pheochromocytoma is a very rare variant of a catecholamine producing tumor which in the presented case was associated with the presence

FIG 6 Anti-HBc ⌬ carrier and anti-RV E1 antibody responses induced by chimeric HBc ⌬ -derived proteins and by recombinant RV E1(1-441) protein at day 42 after BALB/c

The quality of the louhan is easily determined very accurately and clearly which is having various vibrant color formations in the body and more shiny pearl

Conclusion: The success of this study demon- strates that the instructional design using expe- riential and transformative educational theory and general ergonomics concepts is

Considering only women who received abortion care from public facility where there is shortage contraception supplies in study conducted in two of the region and failing to

The big social dangerousness of cybercrime and the increase of computer misuse, demand that his problem has to be addressed on certain law provisions. So, new interventions in

One of the only described step-down programs, a study of 200 elderly community dwellers in Hong Kong, found a significant improvement in balance and reduction in falls and