• No results found

Verifying Security Policies using Host Attributes

N/A
N/A
Protected

Academic year: 2021

Share "Verifying Security Policies using Host Attributes"

Copied!
35
0
0

Loading.... (view fulltext now)

Full text

(1)

Fakult ¨at f ¨ur Informatik Technische Universit ¨at M ¨unchen

Verifying Security Policies using

Host Attributes

34

th

IFIP International Conference on Formal Techniques for

Distributed Objects, Components and Systems

Cornelius Diekmann

1

Stephan-A. Posselt

1

Heiko Niedermayer

1

Holger Kinkelin

1

Oliver Hanka

2

Georg Carle

1

1

Technische Universit ¨at M ¨unchen

2

Airbus Group Innovations

(2)

Example: Aircraft Cabin Data Network

google image search

(3)

Fakult ¨at f ¨ur Informatik Technische Universit ¨at M ¨unchen

Example: Aircraft Cabin Data Network – Policy

SAT

IFEsrv

IFE2

IFE1

CC

C1

C2

WiFi

P1

P2

Policy

Access Control Matrix

Network Connectivity Structure

(4)

Example: Security Invariants as Host Attributes

Crew Entertain POD INET

SAT

IFEsrv

entertain

POD

INET

crew

IFE2

IFE1

CC

!

C1

C2

WiFi

!

P1

P2

(5)

Fakult ¨at f ¨ur Informatik Technische Universit ¨at M ¨unchen

Example: Security Invariants as Host Attributes

Crew Entertain POD INET

SAT

IFEsrv

master

entertain

POD

INET

crew

IFE2

slave

IFE1

slave

CC

!

C1

C2

WiFi

!

P1

P2

(6)

Example: Security Invariants as Host Attributes

Crew Entertain POD INET

SAT

IFEsrv

declassify

master

entertain

POD

INET

crew

IFE2

confid.

slave

IFE1

confid.

slave

CC

secret

!

C1

secret

secret

C2

WiFi

!

P1

P2

(7)

Fakult ¨at f ¨ur Informatik Technische Universit ¨at M ¨unchen

Big Picture: Verification

I

Demo

I

Formal verification

I

Executable, no need for hand-crafted proofs

(8)

Big Picture: Debugging

I

Demo

I

add

coffee

machine,

connect it to

IFE1

[

invalid

]

inv1 :

...

[

invalid

]

inv2 :

...

[

valid

]

inv3 :

...

coffee ⊥ ⊥ ⊥ IFE1 Aircraft-Entertain 1 DomainMember CabinCoreSrv Aircraft-Crew trust: 1 2 ⊥ Crew1 Aircraft-Crew 2 ⊥ Crew2 Aircraft-Crew 2 ⊥ IFEsrv Aircraft-Entertain 0 !trusted! SecurityGatewayIN IFE2 Aircraft-Entertain 1 DomainMember WifiAccess Aircraft-Entertain-POD trust: 1 ⊥ ⊥ SatGW Aircraft-Entertain-INET ⊥ ⊥ POD1 Aircraft-Entertain-POD ⊥ ⊥ POD2 Aircraft-Entertain-POD ⊥ ⊥
(9)

Fakult ¨at f ¨ur Informatik Technische Universit ¨at M ¨unchen

Big Picture: Invariant Feedback

I

Demo

SAT

IFEsrv

declassify

master

entertain.aircraft

POD

INET

crew.aircraft

IFE2

confid.

slave

IFE1

confid.

slave

CC

secret

!

C1

secret

secret

C2

WiFi

!

P1

P2

(10)

This Talk

I

policy

|

=

security invariants

I

security invariants

=

policy

I

It’s all about the security invariants!

Security

Policy

Directed Graph

G =(hosts,

allowed flows)

Security Invariant

+

Scenario-Specific

Knowledge

Host Attribute Mapping

Generic Invariant

Formal HOL

Semantics

Fire-walls,

ACL,

etc

(11)

Fakult ¨at f ¨ur Informatik Technische Universit ¨at M ¨unchen

Definitions

I

Policy

G

= (

V

,

E

)

I

directed graph

I

G

= (

V

set

)

×

((

V×V

)

set

)

I

Host mapping

P

:

V ⇒

Ψ

I

total function

I

maps a host to an attribute

I

Security invariant template

m

:

m

(

G

,

(

V ⇒

Ψ))

I

Predicate (total, Boolean-valued function)

I

first argument: security policy

I

second argument: host attribute mapping

I

m

(

G

,

P

)

←→

G

fulfills the invariant specified by

m

and

P

(12)

Definitions

I

Policy

G

= (

V

,

E

)

I

directed graph

I

G

= (

V

set

)

×

((

V×V

)

set

)

I

Host mapping

P

:

V ⇒

Ψ

I

total function

I

maps a host to an attribute

I

Security invariant template

m

:

m

(

G

,

(

V ⇒

Ψ))

I

Predicate (total, Boolean-valued function)

I

first argument: security policy

I

second argument: host attribute mapping

I

m

(

G

,

P

)

←→

G

fulfills the invariant specified by

m

and

P

(13)

Fakult ¨at f ¨ur Informatik Technische Universit ¨at M ¨unchen

Example

I

Label-based information flow security: Bell LaPadula model

I

Security clearances

, i. e. host attributes

Ψ =

{

unclassified

,

confidential,

secret,

topsecret

}

I

Invariant template, i. e. no read-up and no write-down:

m

(

V

,

E

)

,

P

≡ ∀

(s

,

r)

E

.

P

(s)

P

(r

)

(14)

Example

I

Label-based information flow security: Bell LaPadula model

I

Security clearances

, i. e. host attributes

Ψ =

{

unclassified

,

confidential,

secret,

topsecret

}

I

Invariant template, i. e. no read-up and no write-down:

m

(

V

,

E

)

,

P

≡ ∀

(s

,

r)

E

.

P

(s)

P

(r

)

I

Scenario-specific knowledge

I

P

(

db

1) =

confidential

I

all other hosts are

unclassified

I

P

= (

λh.

if

h

=

db

1

then

confidential

else

unclassified

)

I

m

(

G,

P

)

←→

db

1

does not leak confidential information

I

there is no non-reflexive outgoing edge from

db

1
(15)

Fakult ¨at f ¨ur Informatik Technische Universit ¨at M ¨unchen

Security Invariants cont.

I

Security strategy

I

Information Flow Strategy

(IFS)

I

confidentiality

I

Access Control Strategy

(ACS)

I

integrity, controlled access

I

m

must be either IFS or ACS

I

Monotonicity

I

Prohibiting more does not harm security

I

m

((

V

,

E

)

,

P

)

and

E

0

E

then

m

((

V

,

E

0

)

,

P

)

I

Composition

I

Composability and modularity enabled by design

I

m

1(

G

,

P

1)

∧ · · · ∧

m

k

(

G

,

P

k

)

(16)

Offending Flows

I

If a security invariant is violated

¬

m

(

G,

P

)

I

Flows

F

E

responsible for the violation

I

set offending flows G,

P

is the set of all such minimal

F

(17)

Fakult ¨at f ¨ur Informatik Technische Universit ¨at M ¨unchen

Offending Flows

I

If a security invariant is violated

¬

m

(

G,

P

)

I

Flows

F

E

responsible for the violation

I

set offending flows G,

P

is the set of all such minimal

F

I

i. e. the set of all minimal sets which violate

m

set offending flows

G

,

P

=

n

F

E

| ¬

m

G

,

P

m

(

V

,

E

\

F

)

,

P

(s

,

r)

F

.

¬

m

(

V

,

(

E

\

F

)

∪ {

(s

,

r

)

}

)

,

P

o

(18)

Offending Flows

I

If a security invariant is violated

¬

m

(

G,

P

)

I

Flows

F

E

responsible for the violation

I

set offending flows G,

P

is the set of all such minimal

F

I

Example:

m

is that

v

1

must not access

v

3

transitively

v

1

v

2

v

3

G

v

1

v

2

v

3

{

(

v

1

,

v

2

)

}

v

1

v

2

v

3

{

(

v

2

,

v

3

)

}

I

set offending flows G,

P

=

{

(

v

1

,

v

2

)

}

,

{

(

v

2

,

v

3

)

}

(19)

Fakult ¨at f ¨ur Informatik Technische Universit ¨at M ¨unchen

Example: Offending Flows for the Bell LaPadula Model

I

Recall:

m

(

V

,

E

)

,

P

≡ ∀

(s

,

r)

E

.

P

(s)

P

(r

)

set offending flows

G

,

P

=

(

{

(s

,

r

)

E

|

P

(s)

>

P

(r

)

}

if

¬

m

(

G

,

P

)

if

m

(

G

,

P

)

I

Uniquely defined

I

Can be computed in linear time

I

This holds for all similar-structured security invariants

(20)

Analysis: Offending Flows

I

Do the offending flows always exist?

Theorem 1.

For m monotonic, let G

deny

-

all

= (

V

,

)

. If

¬

m

(

G,

P

)

then

m G

deny

-

all

,

P

←→

set offending flows

(

G,

P

)

6

=

I

A security violation can be fixed by tightening the policy

iff

the

invariant holds for the deny-all policy

(21)

Fakult ¨at f ¨ur Informatik Technische Universit ¨at M ¨unchen

Example: Policy Construction

I

G

all

= (

V

,

V

×

V

)

I

G

max

= (

V

,

V

×

V

\

S

set offending flows G

all

,

P

)

I

Iterate this over all

m

i

I

Sound

for arbitrary

m

I

Complete

for

m

similar to Bell LaPadula

I

G

max

is the uniquely defined maximum policy

(22)

Who is responsible for a violation?

I

A violation either happens at the sender or the receiver

ACS

initiator provokes an access control restriction

IFS

leak only occurs when the information reaches the unintended

receiver

Definition.

For F

set offending flows

(

G,

P

)

offenders

(

F

) =

(

{

s

|

(s

,

r

)

F

}

if

ACS

{

r

|

(s

,

r)

F

}

if

IFS

(23)

Fakult ¨at f ¨ur Informatik Technische Universit ¨at M ¨unchen

Auto Completion of Host Mappings

I

P

is a

total

function

V ⇒

Ψ

I

User-specified

incomplete

host mapping:

P

C

⊆ V ×

Ψ

I

Default value:

⊥ ∈

Ψ

I

P

(

v

) =

(

ψ

if

(

v

,

ψ

)

P

C

else

(24)

Auto Completion of Host Mappings

I

P

is a

total

function

V ⇒

Ψ

I

User-specified

incomplete

host mapping:

P

C

⊆ V ×

Ψ

I

Default value:

⊥ ∈

Ψ

I

P

(

v

) =

(

ψ

if

(

v

,

ψ

)

P

C

else

I

What is a

secure

⊥?

I

Everything forbidden? Barely usable!

I

can never solve an existing security violation

I

must never mask potential security risks!

(25)

Fakult ¨at f ¨ur Informatik Technische Universit ¨at M ¨unchen

Secure Auto Completion of Host Mappings

I

Replacing the host attribute of any offenders by

must

guarantee that no security-relevant information is masked.

Definition.

is a secure default attribute if

G P

.

F

set offending flows

G

,

P

.

v

offenders

(

F

)

.

¬

m

G

,

Pv

7→⊥

I

Secure

and

permissive

I

=

everything forbidden

, security proof easy

I

can be more permissive, e. g., Bell LaPadula

I

=

unclassified

hosts can freely interact

I

P

C

= (

db

1

,

confidential

)

I

Security invariant for

complete

network

I

restrictions

only

for interactions with

db

1
(26)

Example

I

m

(

G

,

P

)

I

New host

x

(P

is not updated)

I

P

(

x

) =

I

Magic oracle

P

oracle

(

x

) =

ψ

I

x

is an attacker

I

¬

m

(

G

,

P

oracle

)

I

Is the security violation exposed without the oracle?

I

If

¬

m

(

G

,

P

oracle

)

then

¬

m

(

G

,

P

x

7→⊥

)

I

Hence

¬

m

(

G

,

P

)

I

The security violation is never masked!

(27)

Fakult ¨at f ¨ur Informatik Technische Universit ¨at M ¨unchen

Conclusion

I

Monotonic Security Invariants

I

Verify policy

3

I

Fix security violations

3

I

Construct policy

3

I

Construct easily and end-user-friendly

3

I

Fully machine-verified with Isabelle/HOL

3

https://github.com/diekmann/topoS

λ

=

Isabelle

β α
(28)

Thanks for your attention!

Questions?

(29)

Fakult ¨at f ¨ur Informatik Technische Universit ¨at M ¨unchen

Backup Slides

(30)

Example: Aircraft Cabin Data Network

CC

The

Cabin Core Server

(essential aircraft features).

I

air conditioning, crew telecommunication ...

C1, C2

Two

crew mobile devices

.

I

identify passenger calls, make announcements ...

IFEsrv

The

In-Flight Entertainment server

.

I

movies, Internet ...

IFE1, IFE2

Two

In-Flight entertainment displays

(thin client).

I

Mounted at the back of seats

I

Movies and Internet ...

Wifi

A

wifi hotspot

.

I

Internet access for passengers owned devices

Sat

A

satellite uplink

to the Internet.

P1, P2

Two

passenger owned devices

.

I

laptops, smartphones ...

(31)

Fakult ¨at f ¨ur Informatik Technische Universit ¨at M ¨unchen

Example: Security Invariants

I

Invariant 1: Domain Hierarchy

I

Different protection domains

I

Devices may send to their own (sub-)domains

I

Trust level are available

POD

INET

aircraft

crew

entertain

I

Invariant 2: Security Gateway

I

Slave devices are bound to a master

I

Master controls all communication to/between them.

I

IFE displays (thin clients) are strictly bound to IFEsrv

I

Invariant 3: Bell LaPadula

I

Information flow restrictions

I

secret

crew communication

I

confidential

(

<

secret

) passenger communication (privacy)

(32)

Stateful Implementation

CC IFEsrv SAT Wifi C1 C2 IFE1 IFE2 P1 P2

Cornelius Diekmann, Lars Hupel, and Georg Carle.

Directed Security Policies: A

Stateful Network Implementation

. In ESSS, Singapore, May 2014.

(33)

Fakult ¨at f ¨ur Informatik Technische Universit ¨at M ¨unchen

Bell LaPadula with Trust

I

Prevent information leakage

I

P

(v

)

.sc

is

v

’s security clearance

I

P

(v

)

.trust

m

(

V

,

E

)

,

P

≡ ∀

(s

,

r

)

E

.

(

True

if

P

(r

)

.trust

P

(s)

.sc

P

(r)

.sc

otherwise

(34)

Domain Hierarchy

I

Hierarchical structures

I

Ψ =

fully qualified domain names

I

{

a

.

b

.

c

,

b

.

c

,

c

, ...

}

I

‘v’

is below or at the same hierarchy level

I

a

.

b

.

c

v

a

.

b

.

c

I

a

.

b

.

c

v

b

.

c

I

a

.

b

.

c

v

c

I

Trust: Act as if were in higher hierarchy position

I

Trust 1 = one position higher

I

chop

(

a

.

b

.

c

,

1

) =

a

.

c

m

(

V

,

E

)

,

P

≡ ∀

(s

,

r)

E

.

P

(r

)

.level

v

chop

P

(s)

.level

,

P

(s)

.trust

(35)

Fakult ¨at f ¨ur Informatik Technische Universit ¨at M ¨unchen

Security Gateway

I

Approve intra-domain communication between domain members

by a central instance (security gateway)

m

(

V

,

E

)

,

P

≡ ∀

(s

,

r

)

E

,

s

=

6

r

.

table

P

(s)

,

P

(r

)

snd

rcv

rslt explanation

sgw

*

3

Can send to the world.

sgwa

*

3

— “—

memb sgw

3

Can contact its security gateway.

memb sgwa

3

— “—

memb memb

7

Must not communicate directly. May communicate via

sgw

(

a

)

.

memb default

3

No restrictions for direct access to outside world. Outgoing

ac-cesses are not within the invariant’s scope.

default sgw

7

Not accessible from outside.

default sgwa

3

Accessible from outside.

default memb

7

Protected from outside world.

default default

3

No restrictions.

https://github.com/diekmann/topoS

References

Related documents

Blood Mountain is pleased to announce its June 2012 artist-in-residence programme with American artist-designer-activist Fritz Haeg, who will produce the 12th chapter of his

Drawing on the case notes of European and African patients diagnosed with neurasthenia at the Church Missionary Society ’s Mengo Hospital, Uganda, it argues that in practice,

Create copies of the virtual machines in the master pod on a VMware host using the NETLAB+ Pod Cloning feature.. If multiple hosts are used in the NETLAB+ environment, make a

Since, the secondary and tertiary structure formation of the RNA is governed mainly by monovalent and divalent cations, the work here aims to explore the metal ion

Subject Security Attributes: Symantec Network Access Control client is running, the client has a unique identifier (UID), the client has been updated with the latest Host

Peer-review under responsibility of the scientific committee of the scientific committee of the CISBAT 2017 International Conference – Future Buildings &amp; Districts –

selecting their name in the Attendee List pod and clicking the Set User Role button in the bottom left corner of the pod. Then select either Set as Host or Set as Presenter.

Spotted wing drosophila, winter morph, reproductive diapause, stress tolerance, overwintering