/
Scalable Parametric Verification of Secure Systems: Scalable Parametric Verification of Secure Systems:

Scalable Parametric Verification of Secure Systems: - PowerPoint Presentation

test
test . @test
Follow
398 views
Uploaded On 2015-11-23

Scalable Parametric Verification of Secure Systems: - PPT Presentation

How to Verify Reference Monitors without Worrying about Data Structure Size Jason Franklin Sagar Chaki Anupam Datta CMU Arvind Seshadri IBM Research Reference Monitors Observe execution of system and prevent actions that violate security policy ID: 203096

row model kernel reference model row reference kernel secvisor verification system page small security monitors code data properties table foreach adversary size

Share:

Link:

Embed:

Download Presentation from below link

Download Presentation The PPT/PDF document "Scalable Parametric Verification of Secu..." is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.


Presentation Transcript

Slide1

Scalable Parametric Verification of Secure Systems: How to Verify Reference Monitors without Worrying about Data Structure Size

Jason Franklin,

Sagar

Chaki

,

Anupam

Datta

CMU

Arvind

Seshadri

IBM ResearchSlide2

Reference MonitorsObserve execution of system and prevent actions that violate security policy

Security critical components

OSes

, VMMs, and browsers

System

Reference Monitor

Adversary

Policy

Automatically verify that reference monitors enforce desired security properties in presence of adversarySlide3

Case Study: SecVisor

Promising direction to reduce complexity of verification

Reducing code size and interface

TrustVisor

, SecVisor

, and others< 10k L.O.C. and < 10 hypercalls

Kernel Page Table

Shadow Page Table

Synchronization

Adversary

SecVisor

KEY

Memory ProtectionSlide4

Data Structure Size and Verification Complexity

Reference monitors operate on large data structures

Page tables, memory protection structures, etc.

Complexity of automated verification increases exponentially with increase in data structure size

Page

Table EntriesStates

SpaceTime355,000 8MB2 sec

41,700,000<256MB360 sec5

--Out of Memory--Realistic Sizes

= 2^16------

Murphi model checking SecVisor with increasing page table size

Need automated verification techniques that scale gracefully with increase in data structure sizeSlide5

SecVisor in More Detail

R

UM

W

WX

KC

KD

Kernel Page Table

UM

X

W

KD

KC

Shadow Page Table

SecVisor

Sync ≡

foreach

row do

if (W XOR X)

then

Sync

R

SecVisor

Sync

W

UM=User Memory KD=Kernel Data KC=Kernel CodeSlide6

Insight: Leverage Parametricity

Reference Monitor

n

Reference Monitor

1

ref_monitor

foreach

row do

if (

Row_UnProtected

)

then

modify row;

Row independent

Row uniformSlide7

System

Reference Monitor

Adversary

Small Model Analysis:

Modeling Systems and Properties

Modeling reference monitors and adversaries

Parametric Guarded Command Language (PGCL)

Expressing security properties

Parametric Temporal Specification Logic (PTSL)

Policy

SYS(n)

ADV(n)

RM(n)

P(n)Slide8

Language Design ChallengesBalancing expressiveness with small model analysis

Conditionals

Whole array ops

Assignment

Parallel and sequential compositionNon-deterministic update

Distinctive features Modeling systems and adversaries: whole array operationsAdversary: Non-deterministic updates

foreach row doif (Condition) then Set row = x;

Adversary ≡foreach

row do row[0] = *;Slide9

Result: Small Model Theorems (SMT)

Relate properties of System(1) to System(n), for all finite n

Sound: If small model is secure then large model is secure

Complete: If small model is insecure then large model is insecure

SMT

System(n)

System(1)

Verify

Secure

!

Secure

!

Insecure

InsecureSlide10

Small Model Analysis of SecVisor

Execution Integrity:

In kernel mode, only kernel code should be executable.

In PTSL:

Pexec

== MODE=KERNEL⇒(∀ i. P[i][SPTX]⇒(P[i][SPTPA] = KC))

System

SecVisor(n)

Adversary

W

xor

X

SYS(n)

ADV(n)

RM(n)

Initial condition:

SecVisor

starts in kernel mode and only kernel code is executable

In PTSL:

Init == MODE=KERNEL ^

(∀

i

. P[i][SPTX]⇒(P[i][SPTPA] = KC))

SMT

SecVisor

(1)

Verify

mode = kernel AND

FOREACH

page in SPT, if

eXe

then

page maps kernel code

If mode = kernel then

FOREACH page in SPT, if

eXe

then

page maps kernel codeSlide11

Small Model Safety TheoremSystem model Let

gc

(k) be any instantiated guarded command (i.e., any well-formed program)

Security propertyLet

 in GSF be any generic state formula

Forall i. P(i) , Exists i. P(i), or conjunctions of Initial stateLet Init in USF be any universal state formula (For all

i. P(i))Definition: model exhibits  if contains state that satisfies 

Thm: M(gc(k), Init) exhibits  iff M(gc(1), Init) exhibits

Other theorems with different initial conditions and properties in paperSlide12

Expressiveness and LimitationsPGCL/PTSL can model:

Reference monitors that are row independent and row uniform

Any policy that is expressible as finite state automata over rows (safety property)

Paper describes compilation to convert FSA policy to PGCL reference monitor Slide13

Related WorkParametric verification for correctnessMissing whole array operators or less efficient

[

Lazic

et al.] and [Emerson and Kahlon

]Parametric verification for security

Focus on security protocols[Lowe et al.], [Roscoe and Broadfoot], [Durgin et al.], [Millen]Model checking for securityStudy non-parametric verification of secure systems[Guttman et al.], [Lie et al.], [Mitchell et al.]

Bug finding with adversariesUnsound or incomplete methods [Kidd et al.], [Emmi et al.]Operating system verification Manual/semi-automated verification[Walker et al.], [Heitmeyer et al.], [Klein et al.]Slide14

ConclusionsScalable automated verification technique for reference monitors that manipulate unbounded data structures

PGCL to model adversaries, reference monitors

PTSL to specify security properties

Small model theorems that relate small/large models

Application to SecVisor (W XOR X) and

sHype (Chinese Wall Policy)Limitations and extensionsDesign level, extend to codeRow-independent systems, extend to systems/properties with relationships between rows