practical probability applying pgcl to lattice...

79
Lattice Scheduling The Probabilistic Scheduler Refinement Lottery Scheduling Data Refinement seL4 Integration Non-Leakage Summary Practical Probability Applying pGCL to Lattice Scheduling David Cock 25 July 2013 NICTA Funding and Supporting Members and Partners Practical ProbabilityApplying pGCL to Lattice Scheduling Copyright NICTA 2013 David Cock 1/36

Upload: others

Post on 05-Apr-2020

9 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Practical Probability Applying pGCL to Lattice Schedulingresearch.davidcock.fastmail.fm/slides/lattice_scheduling.pdf · Lattice Scheduling The Probabilistic Scheduler Refinement

Lattice Scheduling

The ProbabilisticSchedulerRefinement

Lottery SchedulingData Refinement

seL4 Integration

Non-Leakage

Summary

Practical ProbabilityApplying pGCL to Lattice Scheduling

David Cock

25 July 2013

NICTA Funding and Supporting Members and Partners

Practical ProbabilityApplying pGCL to Lattice Scheduling Copyright NICTA 2013David Cock 1/36

Page 2: Practical Probability Applying pGCL to Lattice Schedulingresearch.davidcock.fastmail.fm/slides/lattice_scheduling.pdf · Lattice Scheduling The Probabilistic Scheduler Refinement

Lattice Scheduling

The ProbabilisticSchedulerRefinement

Lottery SchedulingData Refinement

seL4 Integration

Non-Leakage

Summary

Overview

In this talk, I present a verified lattice scheduler, thateliminates leakage via a shared cache, while guaranteeingnon-starvation. In additition, this work:

• Applies our existing pGCL package for Isaelle.

• Presents a multilevel probabilistic refinement proof.

• Integrates with the seL4 proof.

Practical ProbabilityApplying pGCL to Lattice Scheduling Copyright NICTA 2013David Cock 2/36

Page 3: Practical Probability Applying pGCL to Lattice Schedulingresearch.davidcock.fastmail.fm/slides/lattice_scheduling.pdf · Lattice Scheduling The Probabilistic Scheduler Refinement

Lattice Scheduling

The ProbabilisticSchedulerRefinement

Lottery SchedulingData Refinement

seL4 Integration

Non-Leakage

Summary

Outline

• Lattice Scheduling

• The Probabilistic Scheduler• Refinement

• Lottery Scheduling• Data Refinement

• seL4 Integration

• Non-Leakage

• Summary

Practical ProbabilityApplying pGCL to Lattice Scheduling Copyright NICTA 2013David Cock 3/36

Page 4: Practical Probability Applying pGCL to Lattice Schedulingresearch.davidcock.fastmail.fm/slides/lattice_scheduling.pdf · Lattice Scheduling The Probabilistic Scheduler Refinement

Lattice Scheduling

The ProbabilisticSchedulerRefinement

Lottery SchedulingData Refinement

seL4 Integration

Non-Leakage

Summary

• Consider a system with two classification tags: A and B.Information tagged with A may only be seen by anagent cleared to see A, likewise for B.

• Any output from an agent clear for A is tagged A,likewise for B.

• There are four possible clearances: A, B, A and B, andnothing. These are domains.

• The who-may-talk-to-whom order is a lattice:

{A,B}

{A}

;;

{B}

cc

{ }

cc

OO

;;

Practical ProbabilityApplying pGCL to Lattice Scheduling Copyright NICTA 2013David Cock 4/36

Page 5: Practical Probability Applying pGCL to Lattice Schedulingresearch.davidcock.fastmail.fm/slides/lattice_scheduling.pdf · Lattice Scheduling The Probabilistic Scheduler Refinement

Lattice Scheduling

The ProbabilisticSchedulerRefinement

Lottery SchedulingData Refinement

seL4 Integration

Non-Leakage

Summary

• Consider a system with two classification tags: A and B.Information tagged with A may only be seen by anagent cleared to see A, likewise for B.

• Any output from an agent clear for A is tagged A,likewise for B.

• There are four possible clearances: A, B, A and B, andnothing. These are domains.

• The who-may-talk-to-whom order is a lattice:

{A,B}

{A}

;;

{B}

cc

{ }

cc

OO

;;

Practical ProbabilityApplying pGCL to Lattice Scheduling Copyright NICTA 2013David Cock 4/36

Page 6: Practical Probability Applying pGCL to Lattice Schedulingresearch.davidcock.fastmail.fm/slides/lattice_scheduling.pdf · Lattice Scheduling The Probabilistic Scheduler Refinement

Lattice Scheduling

The ProbabilisticSchedulerRefinement

Lottery SchedulingData Refinement

seL4 Integration

Non-Leakage

Summary

• Consider a system with two classification tags: A and B.Information tagged with A may only be seen by anagent cleared to see A, likewise for B.

• Any output from an agent clear for A is tagged A,likewise for B.

• There are four possible clearances: A, B, A and B, andnothing. These are domains.

• The who-may-talk-to-whom order is a lattice:

{A,B}

{A}

;;

{B}

cc

{ }

cc

OO

;;

Practical ProbabilityApplying pGCL to Lattice Scheduling Copyright NICTA 2013David Cock 4/36

Page 7: Practical Probability Applying pGCL to Lattice Schedulingresearch.davidcock.fastmail.fm/slides/lattice_scheduling.pdf · Lattice Scheduling The Probabilistic Scheduler Refinement

Lattice Scheduling

The ProbabilisticSchedulerRefinement

Lottery SchedulingData Refinement

seL4 Integration

Non-Leakage

Summary

• Consider a system with two classification tags: A and B.Information tagged with A may only be seen by anagent cleared to see A, likewise for B.

• Any output from an agent clear for A is tagged A,likewise for B.

• There are four possible clearances: A, B, A and B, andnothing. These are domains.

• The who-may-talk-to-whom order is a lattice:

{A,B}

{A}

;;

{B}

cc

{ }

cc

OO

;;

Practical ProbabilityApplying pGCL to Lattice Scheduling Copyright NICTA 2013David Cock 4/36

Page 8: Practical Probability Applying pGCL to Lattice Schedulingresearch.davidcock.fastmail.fm/slides/lattice_scheduling.pdf · Lattice Scheduling The Probabilistic Scheduler Refinement

Lattice Scheduling

The ProbabilisticSchedulerRefinement

Lottery SchedulingData Refinement

seL4 Integration

Non-Leakage

Summary

3

1

??

2

__

__

OO

??

• For brevity, label the domains and then forget the sets.

• Enforcing rules for explicit communication in such asystem is a well-studied problem.

• Implicit communication is harder.

• We’re specifically concerned with covert channels dueto sharing hardware.

Practical ProbabilityApplying pGCL to Lattice Scheduling Copyright NICTA 2013David Cock 5/36

Page 9: Practical Probability Applying pGCL to Lattice Schedulingresearch.davidcock.fastmail.fm/slides/lattice_scheduling.pdf · Lattice Scheduling The Probabilistic Scheduler Refinement

Lattice Scheduling

The ProbabilisticSchedulerRefinement

Lottery SchedulingData Refinement

seL4 Integration

Non-Leakage

Summary

3

1

??

2

__

__

OO

??

• For brevity, label the domains and then forget the sets.

• Enforcing rules for explicit communication in such asystem is a well-studied problem.

• Implicit communication is harder.

• We’re specifically concerned with covert channels dueto sharing hardware.

Practical ProbabilityApplying pGCL to Lattice Scheduling Copyright NICTA 2013David Cock 5/36

Page 10: Practical Probability Applying pGCL to Lattice Schedulingresearch.davidcock.fastmail.fm/slides/lattice_scheduling.pdf · Lattice Scheduling The Probabilistic Scheduler Refinement

Lattice Scheduling

The ProbabilisticSchedulerRefinement

Lottery SchedulingData Refinement

seL4 Integration

Non-Leakage

Summary

3

1

??

2

__

__

OO

??

• For brevity, label the domains and then forget the sets.

• Enforcing rules for explicit communication in such asystem is a well-studied problem.

• Implicit communication is harder.

• We’re specifically concerned with covert channels dueto sharing hardware.

Practical ProbabilityApplying pGCL to Lattice Scheduling Copyright NICTA 2013David Cock 5/36

Page 11: Practical Probability Applying pGCL to Lattice Schedulingresearch.davidcock.fastmail.fm/slides/lattice_scheduling.pdf · Lattice Scheduling The Probabilistic Scheduler Refinement

Lattice Scheduling

The ProbabilisticSchedulerRefinement

Lottery SchedulingData Refinement

seL4 Integration

Non-Leakage

Summary

3

1

??

2

__

__

OO

??

• For brevity, label the domains and then forget the sets.

• Enforcing rules for explicit communication in such asystem is a well-studied problem.

• Implicit communication is harder.

• We’re specifically concerned with covert channels dueto sharing hardware.

Practical ProbabilityApplying pGCL to Lattice Scheduling Copyright NICTA 2013David Cock 5/36

Page 12: Practical Probability Applying pGCL to Lattice Schedulingresearch.davidcock.fastmail.fm/slides/lattice_scheduling.pdf · Lattice Scheduling The Probabilistic Scheduler Refinement

Lattice Scheduling

The ProbabilisticSchedulerRefinement

Lottery SchedulingData Refinement

seL4 Integration

Non-Leakage

Summary

The Cache Channel

33333333

3 2

domain switch33333333

22222222

22222222

Conflict!

Even if two domains are unable to communicate, they leavedetectable traces in the machine state.

For example, 2 cannot read 3’s cache lines, but it can inferwhere they are, by timing its own memory accesses.

Practical ProbabilityApplying pGCL to Lattice Scheduling Copyright NICTA 2013David Cock 6/36

Page 13: Practical Probability Applying pGCL to Lattice Schedulingresearch.davidcock.fastmail.fm/slides/lattice_scheduling.pdf · Lattice Scheduling The Probabilistic Scheduler Refinement

Lattice Scheduling

The ProbabilisticSchedulerRefinement

Lottery SchedulingData Refinement

seL4 Integration

Non-Leakage

Summary

The Cache Channel

33333333

3 2

domain switch33333333

22222222

22222222

Conflict!

Even if two domains are unable to communicate, they leavedetectable traces in the machine state.For example, 2 cannot read 3’s cache lines, but it can inferwhere they are, by timing its own memory accesses.

Practical ProbabilityApplying pGCL to Lattice Scheduling Copyright NICTA 2013David Cock 6/36

Page 14: Practical Probability Applying pGCL to Lattice Schedulingresearch.davidcock.fastmail.fm/slides/lattice_scheduling.pdf · Lattice Scheduling The Probabilistic Scheduler Refinement

Lattice Scheduling

The ProbabilisticSchedulerRefinement

Lottery SchedulingData Refinement

seL4 Integration

Non-Leakage

Summary

The Cache Channel

How do we mitigate this channel?

• We could flush the cache everytime . . . expensive!

• We don’t need to flush when transitioning up.

• Transition up as long as possible. . . then flush and startagain.

This is Lattice Scheduling

Practical ProbabilityApplying pGCL to Lattice Scheduling Copyright NICTA 2013David Cock 7/36

Page 15: Practical Probability Applying pGCL to Lattice Schedulingresearch.davidcock.fastmail.fm/slides/lattice_scheduling.pdf · Lattice Scheduling The Probabilistic Scheduler Refinement

Lattice Scheduling

The ProbabilisticSchedulerRefinement

Lottery SchedulingData Refinement

seL4 Integration

Non-Leakage

Summary

The Cache Channel

How do we mitigate this channel?

• We could flush the cache everytime

. . . expensive!

• We don’t need to flush when transitioning up.

• Transition up as long as possible. . . then flush and startagain.

This is Lattice Scheduling

Practical ProbabilityApplying pGCL to Lattice Scheduling Copyright NICTA 2013David Cock 7/36

Page 16: Practical Probability Applying pGCL to Lattice Schedulingresearch.davidcock.fastmail.fm/slides/lattice_scheduling.pdf · Lattice Scheduling The Probabilistic Scheduler Refinement

Lattice Scheduling

The ProbabilisticSchedulerRefinement

Lottery SchedulingData Refinement

seL4 Integration

Non-Leakage

Summary

The Cache Channel

How do we mitigate this channel?

• We could flush the cache everytime . . . expensive!

• We don’t need to flush when transitioning up.

• Transition up as long as possible. . . then flush and startagain.

This is Lattice Scheduling

Practical ProbabilityApplying pGCL to Lattice Scheduling Copyright NICTA 2013David Cock 7/36

Page 17: Practical Probability Applying pGCL to Lattice Schedulingresearch.davidcock.fastmail.fm/slides/lattice_scheduling.pdf · Lattice Scheduling The Probabilistic Scheduler Refinement

Lattice Scheduling

The ProbabilisticSchedulerRefinement

Lottery SchedulingData Refinement

seL4 Integration

Non-Leakage

Summary

The Cache Channel

How do we mitigate this channel?

• We could flush the cache everytime . . . expensive!

• We don’t need to flush when transitioning up.

• Transition up as long as possible. . . then flush and startagain.

This is Lattice Scheduling

Practical ProbabilityApplying pGCL to Lattice Scheduling Copyright NICTA 2013David Cock 7/36

Page 18: Practical Probability Applying pGCL to Lattice Schedulingresearch.davidcock.fastmail.fm/slides/lattice_scheduling.pdf · Lattice Scheduling The Probabilistic Scheduler Refinement

Lattice Scheduling

The ProbabilisticSchedulerRefinement

Lottery SchedulingData Refinement

seL4 Integration

Non-Leakage

Summary

The Cache Channel

How do we mitigate this channel?

• We could flush the cache everytime . . . expensive!

• We don’t need to flush when transitioning up.

• Transition up as long as possible. . .

then flush and startagain.

This is Lattice Scheduling

Practical ProbabilityApplying pGCL to Lattice Scheduling Copyright NICTA 2013David Cock 7/36

Page 19: Practical Probability Applying pGCL to Lattice Schedulingresearch.davidcock.fastmail.fm/slides/lattice_scheduling.pdf · Lattice Scheduling The Probabilistic Scheduler Refinement

Lattice Scheduling

The ProbabilisticSchedulerRefinement

Lottery SchedulingData Refinement

seL4 Integration

Non-Leakage

Summary

The Cache Channel

How do we mitigate this channel?

• We could flush the cache everytime . . . expensive!

• We don’t need to flush when transitioning up.

• Transition up as long as possible. . . then flush and startagain.

This is Lattice Scheduling

Practical ProbabilityApplying pGCL to Lattice Scheduling Copyright NICTA 2013David Cock 7/36

Page 20: Practical Probability Applying pGCL to Lattice Schedulingresearch.davidcock.fastmail.fm/slides/lattice_scheduling.pdf · Lattice Scheduling The Probabilistic Scheduler Refinement

Lattice Scheduling

The ProbabilisticSchedulerRefinement

Lottery SchedulingData Refinement

seL4 Integration

Non-Leakage

Summary

3

1

??

2

__

__

OO

??

• The schedule relation S, is a subset of the uptransitions.

• This schedule is incomplete: There’s no way to leave 3.

• We must add downward transitions, but how?

Practical ProbabilityApplying pGCL to Lattice Scheduling Copyright NICTA 2013David Cock 8/36

Page 21: Practical Probability Applying pGCL to Lattice Schedulingresearch.davidcock.fastmail.fm/slides/lattice_scheduling.pdf · Lattice Scheduling The Probabilistic Scheduler Refinement

Lattice Scheduling

The ProbabilisticSchedulerRefinement

Lottery SchedulingData Refinement

seL4 Integration

Non-Leakage

Summary

3

1

??

2

__

__

OO

??

• The schedule relation S, is a subset of the uptransitions.

• This schedule is incomplete: There’s no way to leave 3.

• We must add downward transitions, but how?

Practical ProbabilityApplying pGCL to Lattice Scheduling Copyright NICTA 2013David Cock 8/36

Page 22: Practical Probability Applying pGCL to Lattice Schedulingresearch.davidcock.fastmail.fm/slides/lattice_scheduling.pdf · Lattice Scheduling The Probabilistic Scheduler Refinement

Lattice Scheduling

The ProbabilisticSchedulerRefinement

Lottery SchedulingData Refinement

seL4 Integration

Non-Leakage

Summary

3

1

??

2

__

__ ??

• The schedule relation S, is a subset of the uptransitions.

• This schedule is incomplete: There’s no way to leave 3.

• We must add downward transitions, but how?

Practical ProbabilityApplying pGCL to Lattice Scheduling Copyright NICTA 2013David Cock 8/36

Page 23: Practical Probability Applying pGCL to Lattice Schedulingresearch.davidcock.fastmail.fm/slides/lattice_scheduling.pdf · Lattice Scheduling The Probabilistic Scheduler Refinement

Lattice Scheduling

The ProbabilisticSchedulerRefinement

Lottery SchedulingData Refinement

seL4 Integration

Non-Leakage

Summary

3

1

??

2

__

__ ??

• The schedule relation S, is a subset of the uptransitions.

• This schedule is incomplete: There’s no way to leave 3.

• We must add downward transitions, but how?

Practical ProbabilityApplying pGCL to Lattice Scheduling Copyright NICTA 2013David Cock 8/36

Page 24: Practical Probability Applying pGCL to Lattice Schedulingresearch.davidcock.fastmail.fm/slides/lattice_scheduling.pdf · Lattice Scheduling The Probabilistic Scheduler Refinement

Lattice Scheduling

The ProbabilisticSchedulerRefinement

Lottery SchedulingData Refinement

seL4 Integration

Non-Leakage

Summary

3

1

??

2

__

__ ??

• The schedule relation S, is a subset of the uptransitions.

• This schedule is incomplete: There’s no way to leave 3.

• We must add downward transitions, but how?

Practical ProbabilityApplying pGCL to Lattice Scheduling Copyright NICTA 2013David Cock 8/36

Page 25: Practical Probability Applying pGCL to Lattice Schedulingresearch.davidcock.fastmail.fm/slides/lattice_scheduling.pdf · Lattice Scheduling The Probabilistic Scheduler Refinement

Lattice Scheduling

The ProbabilisticSchedulerRefinement

Lottery SchedulingData Refinement

seL4 Integration

Non-Leakage

Summary

3

1

??

2

__

__ ??

• Designate a downgrader, ⊥.

• The downgrader clears the cache.

Lemma (Downgrading)

If S allows a downward transition, it is to the downgrader, ⊥:

(c, n) ∈ S clearance c * clearance n

n = ⊥

Practical ProbabilityApplying pGCL to Lattice Scheduling Copyright NICTA 2013David Cock 9/36

Page 26: Practical Probability Applying pGCL to Lattice Schedulingresearch.davidcock.fastmail.fm/slides/lattice_scheduling.pdf · Lattice Scheduling The Probabilistic Scheduler Refinement

Lattice Scheduling

The ProbabilisticSchedulerRefinement

Lottery SchedulingData Refinement

seL4 Integration

Non-Leakage

Summary

3

1

??

2

__

__ ??

• Designate a downgrader, ⊥.

• The downgrader clears the cache.

Lemma (Downgrading)

If S allows a downward transition, it is to the downgrader, ⊥:

(c, n) ∈ S clearance c * clearance n

n = ⊥

Practical ProbabilityApplying pGCL to Lattice Scheduling Copyright NICTA 2013David Cock 9/36

Page 27: Practical Probability Applying pGCL to Lattice Schedulingresearch.davidcock.fastmail.fm/slides/lattice_scheduling.pdf · Lattice Scheduling The Probabilistic Scheduler Refinement

Lattice Scheduling

The ProbabilisticSchedulerRefinement

Lottery SchedulingData Refinement

seL4 Integration

Non-Leakage

Summary

3

��

1

??

2

__

ww⊥

__ ??

• Designate a downgrader, ⊥.

• The downgrader clears the cache.

Lemma (Downgrading)

If S allows a downward transition, it is to the downgrader, ⊥:

(c, n) ∈ S clearance c * clearance n

n = ⊥

Practical ProbabilityApplying pGCL to Lattice Scheduling Copyright NICTA 2013David Cock 9/36

Page 28: Practical Probability Applying pGCL to Lattice Schedulingresearch.davidcock.fastmail.fm/slides/lattice_scheduling.pdf · Lattice Scheduling The Probabilistic Scheduler Refinement

Lattice Scheduling

The ProbabilisticSchedulerRefinement

Lottery SchedulingData Refinement

seL4 Integration

Non-Leakage

Summary

The Lattice Scheduler

We’ll verify a scheduler written in pGCL, an imperative,probabilistic language:

record stateA = current_domain :: dom_id

scheduleS =

c is current_domain in

current_domain :∈ (λ_. {n. (c, n) ∈ S})

This program selects a new domain nondeterministicallyfrom among those with a valid transition from the current.

Practical ProbabilityApplying pGCL to Lattice Scheduling Copyright NICTA 2013David Cock 10/36

Page 29: Practical Probability Applying pGCL to Lattice Schedulingresearch.davidcock.fastmail.fm/slides/lattice_scheduling.pdf · Lattice Scheduling The Probabilistic Scheduler Refinement

Lattice Scheduling

The ProbabilisticSchedulerRefinement

Lottery SchedulingData Refinement

seL4 Integration

Non-Leakage

Summary

3

��

1

??

2

__

ww⊥

__ ??

• We want to refine this to a realistic implementation.

• The refinement may produce any trace permitted here.

• For example: ⊥, 2,⊥, 2, . . ..• The specification permits starvation.

• Randomisation gives us a neat solution.

Practical ProbabilityApplying pGCL to Lattice Scheduling Copyright NICTA 2013David Cock 11/36

Page 30: Practical Probability Applying pGCL to Lattice Schedulingresearch.davidcock.fastmail.fm/slides/lattice_scheduling.pdf · Lattice Scheduling The Probabilistic Scheduler Refinement

Lattice Scheduling

The ProbabilisticSchedulerRefinement

Lottery SchedulingData Refinement

seL4 Integration

Non-Leakage

Summary

3

��

1

??

2

__

ww⊥

__ ??

• We want to refine this to a realistic implementation.

• The refinement may produce any trace permitted here.

• For example: ⊥, 2,⊥, 2, . . ..• The specification permits starvation.

• Randomisation gives us a neat solution.

Practical ProbabilityApplying pGCL to Lattice Scheduling Copyright NICTA 2013David Cock 11/36

Page 31: Practical Probability Applying pGCL to Lattice Schedulingresearch.davidcock.fastmail.fm/slides/lattice_scheduling.pdf · Lattice Scheduling The Probabilistic Scheduler Refinement

Lattice Scheduling

The ProbabilisticSchedulerRefinement

Lottery SchedulingData Refinement

seL4 Integration

Non-Leakage

Summary

3

��

1

??

2

__

ww⊥

__ ??

• We want to refine this to a realistic implementation.

• The refinement may produce any trace permitted here.

• For example: ⊥, 2,⊥, 2, . . ..

• The specification permits starvation.

• Randomisation gives us a neat solution.

Practical ProbabilityApplying pGCL to Lattice Scheduling Copyright NICTA 2013David Cock 11/36

Page 32: Practical Probability Applying pGCL to Lattice Schedulingresearch.davidcock.fastmail.fm/slides/lattice_scheduling.pdf · Lattice Scheduling The Probabilistic Scheduler Refinement

Lattice Scheduling

The ProbabilisticSchedulerRefinement

Lottery SchedulingData Refinement

seL4 Integration

Non-Leakage

Summary

3

��

1

??

2

__

ww⊥

__ ??

• We want to refine this to a realistic implementation.

• The refinement may produce any trace permitted here.

• For example: ⊥, 2,⊥, 2, . . ..• The specification permits starvation.

• Randomisation gives us a neat solution.

Practical ProbabilityApplying pGCL to Lattice Scheduling Copyright NICTA 2013David Cock 11/36

Page 33: Practical Probability Applying pGCL to Lattice Schedulingresearch.davidcock.fastmail.fm/slides/lattice_scheduling.pdf · Lattice Scheduling The Probabilistic Scheduler Refinement

Lattice Scheduling

The ProbabilisticSchedulerRefinement

Lottery SchedulingData Refinement

seL4 Integration

Non-Leakage

Summary

3

��

1

??

2

__

ww⊥

__ ??

• We want to refine this to a realistic implementation.

• The refinement may produce any trace permitted here.

• For example: ⊥, 2,⊥, 2, . . ..• The specification permits starvation.

• Randomisation gives us a neat solution.

Practical ProbabilityApplying pGCL to Lattice Scheduling Copyright NICTA 2013David Cock 11/36

Page 34: Practical Probability Applying pGCL to Lattice Schedulingresearch.davidcock.fastmail.fm/slides/lattice_scheduling.pdf · Lattice Scheduling The Probabilistic Scheduler Refinement

Lattice Scheduling

The ProbabilisticSchedulerRefinement

Lottery SchedulingData Refinement

seL4 Integration

Non-Leakage

Summary

Outline

• Lattice Scheduling

• The Probabilistic Scheduler• Refinement

• Lottery Scheduling• Data Refinement

• seL4 Integration

• Non-Leakage

• Summary

Practical ProbabilityApplying pGCL to Lattice Scheduling Copyright NICTA 2013David Cock 12/36

Page 35: Practical Probability Applying pGCL to Lattice Schedulingresearch.davidcock.fastmail.fm/slides/lattice_scheduling.pdf · Lattice Scheduling The Probabilistic Scheduler Refinement

Lattice Scheduling

The ProbabilisticSchedulerRefinement

Lottery SchedulingData Refinement

seL4 Integration

Non-Leakage

Summary

Random Transitions

3

1.0

��

1

1.0??

2

0.5__

0.5ww⊥0.25

__0.75

??

• Assign a probability to each transition such thatT (c, n) > 0 only if (c, n) ∈ S.

• Outgoing probabilities sum to 1 (or less).

• The previous trace now has probability 0!

Practical ProbabilityApplying pGCL to Lattice Scheduling Copyright NICTA 2013David Cock 13/36

Page 36: Practical Probability Applying pGCL to Lattice Schedulingresearch.davidcock.fastmail.fm/slides/lattice_scheduling.pdf · Lattice Scheduling The Probabilistic Scheduler Refinement

Lattice Scheduling

The ProbabilisticSchedulerRefinement

Lottery SchedulingData Refinement

seL4 Integration

Non-Leakage

Summary

A Probabilistic Scheduler

scheduleT =

c is current_domain in

current_domain :∈ (λ_. {⊥, 1, 2, 3} at (λ_ n. T (c, n))

Lemma (Non-starvation)

Taking at least 8 steps from any initial domain, we reach anyfinal domain with non-zero probability:

∀s. 0 < wp scheduleT 8+n (in_dom df ) s

Note that predicates (expectations) in pGCL are real-valued.

Practical ProbabilityApplying pGCL to Lattice Scheduling Copyright NICTA 2013David Cock 14/36

Page 37: Practical Probability Applying pGCL to Lattice Schedulingresearch.davidcock.fastmail.fm/slides/lattice_scheduling.pdf · Lattice Scheduling The Probabilistic Scheduler Refinement

Lattice Scheduling

The ProbabilisticSchedulerRefinement

Lottery SchedulingData Refinement

seL4 Integration

Non-Leakage

Summary

A Probabilistic Scheduler

scheduleT =

c is current_domain in

current_domain :∈ (λ_. {⊥, 1, 2, 3} at (λ_ n. T (c, n))

Lemma (Non-starvation)

Taking at least 8 steps from any initial domain, we reach anyfinal domain with non-zero probability:

∀s. 0 < wp scheduleT 8+n (in_dom df ) s

Note that predicates (expectations) in pGCL are real-valued.Practical ProbabilityApplying pGCL to Lattice Scheduling Copyright NICTA 2013David Cock 14/36

Page 38: Practical Probability Applying pGCL to Lattice Schedulingresearch.davidcock.fastmail.fm/slides/lattice_scheduling.pdf · Lattice Scheduling The Probabilistic Scheduler Refinement

Lattice Scheduling

The ProbabilisticSchedulerRefinement

Lottery SchedulingData Refinement

seL4 Integration

Non-Leakage

Summary

Refinement in pGCL

What about downgrading, does it still hold? We show thisusing refinement, but first some notes on pGCL:

• pGCL generalises Boolean logic with real values:True is 1, False is 0.

• Entailment (`) generalises (�), which is really just ≤:

False→ True 0 ≤ 1

λx . False ` λx . True λx . 0 � λx . 1

• Predicates are lifted to expectations:

«P» = λx . if P x then 1 else 0

• We reason about weakest-preexpectations:

Q � wp prog R

Practical ProbabilityApplying pGCL to Lattice Scheduling Copyright NICTA 2013David Cock 15/36

Page 39: Practical Probability Applying pGCL to Lattice Schedulingresearch.davidcock.fastmail.fm/slides/lattice_scheduling.pdf · Lattice Scheduling The Probabilistic Scheduler Refinement

Lattice Scheduling

The ProbabilisticSchedulerRefinement

Lottery SchedulingData Refinement

seL4 Integration

Non-Leakage

Summary

Refinement in pGCL

What about downgrading, does it still hold? We show thisusing refinement, but first some notes on pGCL:• pGCL generalises Boolean logic with real values:

True is 1, False is 0.

• Entailment (`) generalises (�), which is really just ≤:

False→ True 0 ≤ 1

λx . False ` λx . True λx . 0 � λx . 1

• Predicates are lifted to expectations:

«P» = λx . if P x then 1 else 0

• We reason about weakest-preexpectations:

Q � wp prog R

Practical ProbabilityApplying pGCL to Lattice Scheduling Copyright NICTA 2013David Cock 15/36

Page 40: Practical Probability Applying pGCL to Lattice Schedulingresearch.davidcock.fastmail.fm/slides/lattice_scheduling.pdf · Lattice Scheduling The Probabilistic Scheduler Refinement

Lattice Scheduling

The ProbabilisticSchedulerRefinement

Lottery SchedulingData Refinement

seL4 Integration

Non-Leakage

Summary

Refinement in pGCL

What about downgrading, does it still hold? We show thisusing refinement, but first some notes on pGCL:• pGCL generalises Boolean logic with real values:

True is 1, False is 0.• Entailment (`) generalises (�), which is really just ≤:

False→ True 0 ≤ 1

λx . False ` λx . True λx . 0 � λx . 1

• Predicates are lifted to expectations:

«P» = λx . if P x then 1 else 0

• We reason about weakest-preexpectations:

Q � wp prog R

Practical ProbabilityApplying pGCL to Lattice Scheduling Copyright NICTA 2013David Cock 15/36

Page 41: Practical Probability Applying pGCL to Lattice Schedulingresearch.davidcock.fastmail.fm/slides/lattice_scheduling.pdf · Lattice Scheduling The Probabilistic Scheduler Refinement

Lattice Scheduling

The ProbabilisticSchedulerRefinement

Lottery SchedulingData Refinement

seL4 Integration

Non-Leakage

Summary

Refinement in pGCL

What about downgrading, does it still hold? We show thisusing refinement, but first some notes on pGCL:• pGCL generalises Boolean logic with real values:

True is 1, False is 0.• Entailment (`) generalises (�), which is really just ≤:

False→ True 0 ≤ 1

λx . False ` λx . True λx . 0 � λx . 1

• Predicates are lifted to expectations:

«P» = λx . if P x then 1 else 0

• We reason about weakest-preexpectations:

Q � wp prog R

Practical ProbabilityApplying pGCL to Lattice Scheduling Copyright NICTA 2013David Cock 15/36

Page 42: Practical Probability Applying pGCL to Lattice Schedulingresearch.davidcock.fastmail.fm/slides/lattice_scheduling.pdf · Lattice Scheduling The Probabilistic Scheduler Refinement

Lattice Scheduling

The ProbabilisticSchedulerRefinement

Lottery SchedulingData Refinement

seL4 Integration

Non-Leakage

Summary

Refinement in pGCL

What about downgrading, does it still hold? We show thisusing refinement, but first some notes on pGCL:• pGCL generalises Boolean logic with real values:

True is 1, False is 0.• Entailment (`) generalises (�), which is really just ≤:

False→ True 0 ≤ 1

λx . False ` λx . True λx . 0 � λx . 1

• Predicates are lifted to expectations:

«P» = λx . if P x then 1 else 0

• We reason about weakest-preexpectations:

Q � wp prog RPractical ProbabilityApplying pGCL to Lattice Scheduling Copyright NICTA 2013David Cock 15/36

Page 43: Practical Probability Applying pGCL to Lattice Schedulingresearch.davidcock.fastmail.fm/slides/lattice_scheduling.pdf · Lattice Scheduling The Probabilistic Scheduler Refinement

Lattice Scheduling

The ProbabilisticSchedulerRefinement

Lottery SchedulingData Refinement

seL4 Integration

Non-Leakage

Summary

Refinement in pGCL

pGCL refinement has the usual properties:

DefinitionProgram b refines program a, written a v b, exactly when allexpectation-entailments on a also hold on b:

P � wp a Q

P � wp b Q

Lemma

The transition scheduler refines the lattice scheduler:

scheduleS v scheduleT

Practical ProbabilityApplying pGCL to Lattice Scheduling Copyright NICTA 2013David Cock 16/36

Page 44: Practical Probability Applying pGCL to Lattice Schedulingresearch.davidcock.fastmail.fm/slides/lattice_scheduling.pdf · Lattice Scheduling The Probabilistic Scheduler Refinement

Lattice Scheduling

The ProbabilisticSchedulerRefinement

Lottery SchedulingData Refinement

seL4 Integration

Non-Leakage

Summary

Refinement in pGCL

pGCL refinement has the usual properties:

DefinitionProgram b refines program a, written a v b, exactly when allexpectation-entailments on a also hold on b:

P � wp a Q

P � wp b Q

Lemma

The transition scheduler refines the lattice scheduler:

scheduleS v scheduleT

Practical ProbabilityApplying pGCL to Lattice Scheduling Copyright NICTA 2013David Cock 16/36

Page 45: Practical Probability Applying pGCL to Lattice Schedulingresearch.davidcock.fastmail.fm/slides/lattice_scheduling.pdf · Lattice Scheduling The Probabilistic Scheduler Refinement

Lattice Scheduling

The ProbabilisticSchedulerRefinement

Lottery SchedulingData Refinement

seL4 Integration

Non-Leakage

Summary

Refinement in pGCL

pGCL refinement has the usual properties:

DefinitionProgram b refines program a, written a v b, exactly when allexpectation-entailments on a also hold on b:

P � wp a Q

P � wp b Q

Lemma

The transition scheduler refines the lattice scheduler:

scheduleS v scheduleT

Practical ProbabilityApplying pGCL to Lattice Scheduling Copyright NICTA 2013David Cock 16/36

Page 46: Practical Probability Applying pGCL to Lattice Schedulingresearch.davidcock.fastmail.fm/slides/lattice_scheduling.pdf · Lattice Scheduling The Probabilistic Scheduler Refinement

Lattice Scheduling

The ProbabilisticSchedulerRefinement

Lottery SchedulingData Refinement

seL4 Integration

Non-Leakage

Summary

First Refinement

DOWNGRADING // scheduleS

v��

NON-STARVATION

scheduleT

• Downgrading is preserved by refinement,

and thereforeholds for scheduleT.

• Non-starvation holds only for scheduleT.

Practical ProbabilityApplying pGCL to Lattice Scheduling Copyright NICTA 2013David Cock 17/36

Page 47: Practical Probability Applying pGCL to Lattice Schedulingresearch.davidcock.fastmail.fm/slides/lattice_scheduling.pdf · Lattice Scheduling The Probabilistic Scheduler Refinement

Lattice Scheduling

The ProbabilisticSchedulerRefinement

Lottery SchedulingData Refinement

seL4 Integration

Non-Leakage

Summary

First Refinement

DOWNGRADING //

��

scheduleS

v��

NON-STARVATION

scheduleT

• Downgrading is preserved by refinement, and thereforeholds for scheduleT.

• Non-starvation holds only for scheduleT.

Practical ProbabilityApplying pGCL to Lattice Scheduling Copyright NICTA 2013David Cock 17/36

Page 48: Practical Probability Applying pGCL to Lattice Schedulingresearch.davidcock.fastmail.fm/slides/lattice_scheduling.pdf · Lattice Scheduling The Probabilistic Scheduler Refinement

Lattice Scheduling

The ProbabilisticSchedulerRefinement

Lottery SchedulingData Refinement

seL4 Integration

Non-Leakage

Summary

First Refinement

DOWNGRADING //

��

scheduleS

v��

NON-STARVATION // scheduleT

• Downgrading is preserved by refinement, and thereforeholds for scheduleT.

• Non-starvation holds only for scheduleT.

Practical ProbabilityApplying pGCL to Lattice Scheduling Copyright NICTA 2013David Cock 17/36

Page 49: Practical Probability Applying pGCL to Lattice Schedulingresearch.davidcock.fastmail.fm/slides/lattice_scheduling.pdf · Lattice Scheduling The Probabilistic Scheduler Refinement

Lattice Scheduling

The ProbabilisticSchedulerRefinement

Lottery SchedulingData Refinement

seL4 Integration

Non-Leakage

Summary

Outline

• Lattice Scheduling

• The Probabilistic Scheduler• Refinement

• Lottery Scheduling• Data Refinement

• seL4 Integration

• Non-Leakage

• Summary

Practical ProbabilityApplying pGCL to Lattice Scheduling Copyright NICTA 2013David Cock 18/36

Page 50: Practical Probability Applying pGCL to Lattice Schedulingresearch.davidcock.fastmail.fm/slides/lattice_scheduling.pdf · Lattice Scheduling The Probabilistic Scheduler Refinement

Lattice Scheduling

The ProbabilisticSchedulerRefinement

Lottery SchedulingData Refinement

seL4 Integration

Non-Leakage

Summary

The Lottery Scheduler

Our scheduler is so far very abstract. The next step is toimplement the randomisation. We use a lottery:

• We only need a uniform random choice from Z32.

• Each option is assigned some number, x , of tickets.

• The chance of winning is x232 .

• We need to assume that the lottery relation holds:

T (c, n) = 2−32‖{t . lottery (domains s c) t = n}‖

• Different state spaces: need more than simplerefinement.

Practical ProbabilityApplying pGCL to Lattice Scheduling Copyright NICTA 2013David Cock 19/36

Page 51: Practical Probability Applying pGCL to Lattice Schedulingresearch.davidcock.fastmail.fm/slides/lattice_scheduling.pdf · Lattice Scheduling The Probabilistic Scheduler Refinement

Lattice Scheduling

The ProbabilisticSchedulerRefinement

Lottery SchedulingData Refinement

seL4 Integration

Non-Leakage

Summary

The Lottery Scheduler

record domain = lottery :: 32 word⇒ dom_id

record stateC = current_domain :: dom_id

domains :: dom_id⇒ domain

scheduleM t = do c ← gets current_domain

dl ← gets domains

let n = lottery (dl c) t in

modify (λs. sLcurrent_domain := nM)od

scheduleC = t from (λs. UNIV) at 2−32 in

Exec (scheduleM t)

Practical ProbabilityApplying pGCL to Lattice Scheduling Copyright NICTA 2013David Cock 20/36

Page 52: Practical Probability Applying pGCL to Lattice Schedulingresearch.davidcock.fastmail.fm/slides/lattice_scheduling.pdf · Lattice Scheduling The Probabilistic Scheduler Refinement

Lattice Scheduling

The ProbabilisticSchedulerRefinement

Lottery SchedulingData Refinement

seL4 Integration

Non-Leakage

Summary

Data Refinement

Definition (Probabilistic Data Refinement)Program b, on state type σ, refines program a, state τ , givenprecondition G : σ → Bool and under projection θ : σ → τ ,written a vG,θ b, exactly when any expectation entailment ona implies the same for b, on the projected state and with aguarded pre-expectation:

P � wp a Q

«G»&&(P ◦ θ) � wp b (Q ◦ θ)

a&& b = max (a + b − 1) 0

Practical ProbabilityApplying pGCL to Lattice Scheduling Copyright NICTA 2013David Cock 21/36

Page 53: Practical Probability Applying pGCL to Lattice Schedulingresearch.davidcock.fastmail.fm/slides/lattice_scheduling.pdf · Lattice Scheduling The Probabilistic Scheduler Refinement

Lattice Scheduling

The ProbabilisticSchedulerRefinement

Lottery SchedulingData Refinement

seL4 Integration

Non-Leakage

Summary

Correspondence

Definition (Probabilistic Correspondence)Programs a and b are said to be in probabilisticcorrespondence, pcorres θ G a b, given condition G andunder projection θ if, for any post-expectation Q, the guardedpre-expectations coincide:

«G»&&(wp a Q ◦ θ) = «G»&& wp b (Q ◦ θ)

LemmaThe specifications scheduleT and scheduleC correspondgiven condition LR and under projection φ:

pcorres φ LR scheduleT scheduleC

Practical ProbabilityApplying pGCL to Lattice Scheduling Copyright NICTA 2013David Cock 22/36

Page 54: Practical Probability Applying pGCL to Lattice Schedulingresearch.davidcock.fastmail.fm/slides/lattice_scheduling.pdf · Lattice Scheduling The Probabilistic Scheduler Refinement

Lattice Scheduling

The ProbabilisticSchedulerRefinement

Lottery SchedulingData Refinement

seL4 Integration

Non-Leakage

Summary

Correspondence

Definition (Probabilistic Correspondence)Programs a and b are said to be in probabilisticcorrespondence, pcorres θ G a b, given condition G andunder projection θ if, for any post-expectation Q, the guardedpre-expectations coincide:

«G»&&(wp a Q ◦ θ) = «G»&& wp b (Q ◦ θ)

LemmaThe specifications scheduleT and scheduleC correspondgiven condition LR and under projection φ:

pcorres φ LR scheduleT scheduleC

Practical ProbabilityApplying pGCL to Lattice Scheduling Copyright NICTA 2013David Cock 22/36

Page 55: Practical Probability Applying pGCL to Lattice Schedulingresearch.davidcock.fastmail.fm/slides/lattice_scheduling.pdf · Lattice Scheduling The Probabilistic Scheduler Refinement

Lattice Scheduling

The ProbabilisticSchedulerRefinement

Lottery SchedulingData Refinement

seL4 Integration

Non-Leakage

Summary

Second Refinement

DOWNGRADING // scheduleS

��NON-STARVATION // scheduleT

scheduleC

• The double arrow represents correspondence.

• Correspondence composes with refinement.

• Downgrading and non-starvation are preserved.

Practical ProbabilityApplying pGCL to Lattice Scheduling Copyright NICTA 2013David Cock 23/36

Page 56: Practical Probability Applying pGCL to Lattice Schedulingresearch.davidcock.fastmail.fm/slides/lattice_scheduling.pdf · Lattice Scheduling The Probabilistic Scheduler Refinement

Lattice Scheduling

The ProbabilisticSchedulerRefinement

Lottery SchedulingData Refinement

seL4 Integration

Non-Leakage

Summary

Second Refinement

DOWNGRADING // scheduleS

��NON-STARVATION // scheduleT

φ,LR��

scheduleC

• The double arrow represents correspondence.

• Correspondence composes with refinement.

• Downgrading and non-starvation are preserved.

Practical ProbabilityApplying pGCL to Lattice Scheduling Copyright NICTA 2013David Cock 23/36

Page 57: Practical Probability Applying pGCL to Lattice Schedulingresearch.davidcock.fastmail.fm/slides/lattice_scheduling.pdf · Lattice Scheduling The Probabilistic Scheduler Refinement

Lattice Scheduling

The ProbabilisticSchedulerRefinement

Lottery SchedulingData Refinement

seL4 Integration

Non-Leakage

Summary

Second Refinement

DOWNGRADING // scheduleS

��NON-STARVATION // scheduleT

φ,LR��

scheduleC

• The double arrow represents correspondence.

• Correspondence composes with refinement.

• Downgrading and non-starvation are preserved.

Practical ProbabilityApplying pGCL to Lattice Scheduling Copyright NICTA 2013David Cock 23/36

Page 58: Practical Probability Applying pGCL to Lattice Schedulingresearch.davidcock.fastmail.fm/slides/lattice_scheduling.pdf · Lattice Scheduling The Probabilistic Scheduler Refinement

Lattice Scheduling

The ProbabilisticSchedulerRefinement

Lottery SchedulingData Refinement

seL4 Integration

Non-Leakage

Summary

Second Refinement

DOWNGRADING // scheduleS

��NON-STARVATION // scheduleT

φ,LR��

scheduleC

• The double arrow represents correspondence.

• Correspondence composes with refinement.

• Downgrading and non-starvation are preserved.

Practical ProbabilityApplying pGCL to Lattice Scheduling Copyright NICTA 2013David Cock 23/36

Page 59: Practical Probability Applying pGCL to Lattice Schedulingresearch.davidcock.fastmail.fm/slides/lattice_scheduling.pdf · Lattice Scheduling The Probabilistic Scheduler Refinement

Lattice Scheduling

The ProbabilisticSchedulerRefinement

Lottery SchedulingData Refinement

seL4 Integration

Non-Leakage

Summary

Outline

• Lattice Scheduling

• The Probabilistic Scheduler• Refinement

• Lottery Scheduling• Data Refinement

• seL4 Integration

• Non-Leakage

• Summary

Practical ProbabilityApplying pGCL to Lattice Scheduling Copyright NICTA 2013David Cock 24/36

Page 60: Practical Probability Applying pGCL to Lattice Schedulingresearch.davidcock.fastmail.fm/slides/lattice_scheduling.pdf · Lattice Scheduling The Probabilistic Scheduler Refinement

Lattice Scheduling

The ProbabilisticSchedulerRefinement

Lottery SchedulingData Refinement

seL4 Integration

Non-Leakage

Summary

The Nondeterministic State Monad

• The seL4 specification is written using anondeterministic state monad.

• We can embed this cleanly into pGCL.

• In fact, we just used it: scheduleM and Exec.

• L4.verified used a particular notion of nondeterministiccorrespondence.

• We know how to lift these results, probabilistically:

Practical ProbabilityApplying pGCL to Lattice Scheduling Copyright NICTA 2013David Cock 25/36

Page 61: Practical Probability Applying pGCL to Lattice Schedulingresearch.davidcock.fastmail.fm/slides/lattice_scheduling.pdf · Lattice Scheduling The Probabilistic Scheduler Refinement

Lattice Scheduling

The ProbabilisticSchedulerRefinement

Lottery SchedulingData Refinement

seL4 Integration

Non-Leakage

Summary

The Nondeterministic State Monad

• The seL4 specification is written using anondeterministic state monad.

• We can embed this cleanly into pGCL.

• In fact, we just used it: scheduleM and Exec.

• L4.verified used a particular notion of nondeterministiccorrespondence.

• We know how to lift these results, probabilistically:

Practical ProbabilityApplying pGCL to Lattice Scheduling Copyright NICTA 2013David Cock 25/36

Page 62: Practical Probability Applying pGCL to Lattice Schedulingresearch.davidcock.fastmail.fm/slides/lattice_scheduling.pdf · Lattice Scheduling The Probabilistic Scheduler Refinement

Lattice Scheduling

The ProbabilisticSchedulerRefinement

Lottery SchedulingData Refinement

seL4 Integration

Non-Leakage

Summary

The Nondeterministic State Monad

• The seL4 specification is written using anondeterministic state monad.

• We can embed this cleanly into pGCL.

• In fact, we just used it: scheduleM and Exec.

• L4.verified used a particular notion of nondeterministiccorrespondence.

• We know how to lift these results, probabilistically:

Practical ProbabilityApplying pGCL to Lattice Scheduling Copyright NICTA 2013David Cock 25/36

Page 63: Practical Probability Applying pGCL to Lattice Schedulingresearch.davidcock.fastmail.fm/slides/lattice_scheduling.pdf · Lattice Scheduling The Probabilistic Scheduler Refinement

Lattice Scheduling

The ProbabilisticSchedulerRefinement

Lottery SchedulingData Refinement

seL4 Integration

Non-Leakage

Summary

The Nondeterministic State Monad

• The seL4 specification is written using anondeterministic state monad.

• We can embed this cleanly into pGCL.

• In fact, we just used it: scheduleM and Exec.

• L4.verified used a particular notion of nondeterministiccorrespondence.

• We know how to lift these results, probabilistically:

Practical ProbabilityApplying pGCL to Lattice Scheduling Copyright NICTA 2013David Cock 25/36

Page 64: Practical Probability Applying pGCL to Lattice Schedulingresearch.davidcock.fastmail.fm/slides/lattice_scheduling.pdf · Lattice Scheduling The Probabilistic Scheduler Refinement

Lattice Scheduling

The ProbabilisticSchedulerRefinement

Lottery SchedulingData Refinement

seL4 Integration

Non-Leakage

Summary

Lemma (Lifting Correspondence)Given correspondence between M and M ′: with

corres_underlying {(s, s′). s = φ s′} True rrel G (G◦φ) M M ′

and standard side-conditions:

no_fail G M empty_fail M empty_fail M ′

and that M is deterministic on the image of the projection,

∀s. ∃(r , s′). M (φ s) = {(False, (r , s′))}

then we have probabilistic correspondence:

pcorres φ (G ◦ φ) (Exec M) (Exec M ′)

Practical ProbabilityApplying pGCL to Lattice Scheduling Copyright NICTA 2013David Cock 26/36

Page 65: Practical Probability Applying pGCL to Lattice Schedulingresearch.davidcock.fastmail.fm/slides/lattice_scheduling.pdf · Lattice Scheduling The Probabilistic Scheduler Refinement

Lattice Scheduling

The ProbabilisticSchedulerRefinement

Lottery SchedulingData Refinement

seL4 Integration

Non-Leakage

Summary

Lemma

If the kernel preserves the lottery relation,

{|LR|} stepKernel {|λ_. LR|}

and the current domain,

{|λs. CD s = d |} stepKernel {|λ_ s. CD s = d |}

and is total,

no_fail > stepKernel empty_fail stepKernel

then with the concrete scheduler, it refines the transitionscheduler:

scheduleT vLR,φ stepKernel;;scheduleC

Practical ProbabilityApplying pGCL to Lattice Scheduling Copyright NICTA 2013David Cock 27/36

Page 66: Practical Probability Applying pGCL to Lattice Schedulingresearch.davidcock.fastmail.fm/slides/lattice_scheduling.pdf · Lattice Scheduling The Probabilistic Scheduler Refinement

Lattice Scheduling

The ProbabilisticSchedulerRefinement

Lottery SchedulingData Refinement

seL4 Integration

Non-Leakage

Summary

Composed Refinement

DOWNGRADING // scheduleS

��NON-STARVATION // scheduleT

φ,LR��

callKernelD

��

stepKernel; ; scheduleC scheduleCφ,LR

ks

callKernelH

��callKernelC

Practical ProbabilityApplying pGCL to Lattice Scheduling Copyright NICTA 2013David Cock 28/36

Page 67: Practical Probability Applying pGCL to Lattice Schedulingresearch.davidcock.fastmail.fm/slides/lattice_scheduling.pdf · Lattice Scheduling The Probabilistic Scheduler Refinement

Lattice Scheduling

The ProbabilisticSchedulerRefinement

Lottery SchedulingData Refinement

seL4 Integration

Non-Leakage

Summary

Outline

• Lattice Scheduling

• The Probabilistic Scheduler• Refinement

• Lottery Scheduling• Data Refinement

• seL4 Integration

• Non-Leakage

• Summary

Practical ProbabilityApplying pGCL to Lattice Scheduling Copyright NICTA 2013David Cock 29/36

Page 68: Practical Probability Applying pGCL to Lattice Schedulingresearch.davidcock.fastmail.fm/slides/lattice_scheduling.pdf · Lattice Scheduling The Probabilistic Scheduler Refinement

Lattice Scheduling

The ProbabilisticSchedulerRefinement

Lottery SchedulingData Refinement

seL4 Integration

Non-Leakage

Summary

Hardware Model

Ultimately, we want to know that our scheduler eliminatesleakage via the cache. We append a machine model:

record (sh, pr) machine = private :: dom_id⇒ pr

shared :: sh

• A private state per domain.

• A shared state between domains (the cache).

• Domains are underspecified, but may only update theirown private state and the shared state.

Practical ProbabilityApplying pGCL to Lattice Scheduling Copyright NICTA 2013David Cock 30/36

Page 69: Practical Probability Applying pGCL to Lattice Schedulingresearch.davidcock.fastmail.fm/slides/lattice_scheduling.pdf · Lattice Scheduling The Probabilistic Scheduler Refinement

Lattice Scheduling

The ProbabilisticSchedulerRefinement

Lottery SchedulingData Refinement

seL4 Integration

Non-Leakage

Summary

Leakage via Shared State

2

3

2

1

S

3

3

2

1

S

3

2

1

S

• Propagating taint takes at least 2 steps.

• A single-step policy isn’t enough.

Practical ProbabilityApplying pGCL to Lattice Scheduling Copyright NICTA 2013David Cock 31/36

Page 70: Practical Probability Applying pGCL to Lattice Schedulingresearch.davidcock.fastmail.fm/slides/lattice_scheduling.pdf · Lattice Scheduling The Probabilistic Scheduler Refinement

Lattice Scheduling

The ProbabilisticSchedulerRefinement

Lottery SchedulingData Refinement

seL4 Integration

Non-Leakage

Summary

Lemma (Non-leakage)If the clearance of domain h is not entirely contained withinthat of domain l,

clearance h * clearance l

then any function of the state after execution, which dependsonly on elements within l ’s clearance,

Q ◦mask l

is invariant under modifications to h’s private state (asrepresented by replace):

wp (runDom;;scheduleT)n (Q ◦mask) =

(wp (runDom;;scheduleT)n (Q ◦mask)) ◦ (replace h p)

Practical ProbabilityApplying pGCL to Lattice Scheduling Copyright NICTA 2013David Cock 32/36

Page 71: Practical Probability Applying pGCL to Lattice Schedulingresearch.davidcock.fastmail.fm/slides/lattice_scheduling.pdf · Lattice Scheduling The Probabilistic Scheduler Refinement

Lattice Scheduling

The ProbabilisticSchedulerRefinement

Lottery SchedulingData Refinement

seL4 Integration

Non-Leakage

Summary

Final Refinement

DOWNGRADING // scheduleS

��

NON-LEAKAGE

��NON-STARVATION // scheduleT

φ,LR

��

ψ,LR

+3 runDom ;; scheduleT

φ,LR

��stepKernel ;; scheduleC scheduleC

φ,LR

ksψ,LR

+3 runDom ;; scheduleC

• We’ve have non-leakage for the probabilistic scheduler(scheduleT), and it is preserved by refinement.

• We now have all 3 properties for the concreteimplementation.

Practical ProbabilityApplying pGCL to Lattice Scheduling Copyright NICTA 2013David Cock 33/36

Page 72: Practical Probability Applying pGCL to Lattice Schedulingresearch.davidcock.fastmail.fm/slides/lattice_scheduling.pdf · Lattice Scheduling The Probabilistic Scheduler Refinement

Lattice Scheduling

The ProbabilisticSchedulerRefinement

Lottery SchedulingData Refinement

seL4 Integration

Non-Leakage

Summary

Outline

• Lattice Scheduling

• The Probabilistic Scheduler• Refinement

• Lottery Scheduling• Data Refinement

• seL4 Integration

• Non-Leakage

• Summary

Practical ProbabilityApplying pGCL to Lattice Scheduling Copyright NICTA 2013David Cock 34/36

Page 73: Practical Probability Applying pGCL to Lattice Schedulingresearch.davidcock.fastmail.fm/slides/lattice_scheduling.pdf · Lattice Scheduling The Probabilistic Scheduler Refinement

Lattice Scheduling

The ProbabilisticSchedulerRefinement

Lottery SchedulingData Refinement

seL4 Integration

Non-Leakage

Summary

What The Message?

• Probabilistic programs need not be harder to verify thantraditional ones.

• Good tool support now exists

— pGCL for Isabelleavailable from:http://www.cse.unsw.edu.au/~davec/pGCL/

Will also to be submitted to AFP.

• Some problems in security are unavoidablyprobabilistic.

• Probabilistic results can compose well with largeexisting proofs.

Practical ProbabilityApplying pGCL to Lattice Scheduling Copyright NICTA 2013David Cock 35/36

Page 74: Practical Probability Applying pGCL to Lattice Schedulingresearch.davidcock.fastmail.fm/slides/lattice_scheduling.pdf · Lattice Scheduling The Probabilistic Scheduler Refinement

Lattice Scheduling

The ProbabilisticSchedulerRefinement

Lottery SchedulingData Refinement

seL4 Integration

Non-Leakage

Summary

What The Message?

• Probabilistic programs need not be harder to verify thantraditional ones.

• Good tool support now exists

— pGCL for Isabelleavailable from:http://www.cse.unsw.edu.au/~davec/pGCL/

Will also to be submitted to AFP.

• Some problems in security are unavoidablyprobabilistic.

• Probabilistic results can compose well with largeexisting proofs.

Practical ProbabilityApplying pGCL to Lattice Scheduling Copyright NICTA 2013David Cock 35/36

Page 75: Practical Probability Applying pGCL to Lattice Schedulingresearch.davidcock.fastmail.fm/slides/lattice_scheduling.pdf · Lattice Scheduling The Probabilistic Scheduler Refinement

Lattice Scheduling

The ProbabilisticSchedulerRefinement

Lottery SchedulingData Refinement

seL4 Integration

Non-Leakage

Summary

What The Message?

• Probabilistic programs need not be harder to verify thantraditional ones.

• Good tool support now exists

— pGCL for Isabelleavailable from:http://www.cse.unsw.edu.au/~davec/pGCL/

Will also to be submitted to AFP.

• Some problems in security are unavoidablyprobabilistic.

• Probabilistic results can compose well with largeexisting proofs.

Practical ProbabilityApplying pGCL to Lattice Scheduling Copyright NICTA 2013David Cock 35/36

Page 76: Practical Probability Applying pGCL to Lattice Schedulingresearch.davidcock.fastmail.fm/slides/lattice_scheduling.pdf · Lattice Scheduling The Probabilistic Scheduler Refinement

Lattice Scheduling

The ProbabilisticSchedulerRefinement

Lottery SchedulingData Refinement

seL4 Integration

Non-Leakage

Summary

What The Message?

• Probabilistic programs need not be harder to verify thantraditional ones.

• Good tool support now exists — pGCL for Isabelleavailable from:http://www.cse.unsw.edu.au/~davec/pGCL/

Will also to be submitted to AFP.

• Some problems in security are unavoidablyprobabilistic.

• Probabilistic results can compose well with largeexisting proofs.

Practical ProbabilityApplying pGCL to Lattice Scheduling Copyright NICTA 2013David Cock 35/36

Page 77: Practical Probability Applying pGCL to Lattice Schedulingresearch.davidcock.fastmail.fm/slides/lattice_scheduling.pdf · Lattice Scheduling The Probabilistic Scheduler Refinement

Lattice Scheduling

The ProbabilisticSchedulerRefinement

Lottery SchedulingData Refinement

seL4 Integration

Non-Leakage

Summary

What The Message?

• Probabilistic programs need not be harder to verify thantraditional ones.

• Good tool support now exists — pGCL for Isabelleavailable from:http://www.cse.unsw.edu.au/~davec/pGCL/

Will also to be submitted to AFP.

• Some problems in security are unavoidablyprobabilistic.

• Probabilistic results can compose well with largeexisting proofs.

Practical ProbabilityApplying pGCL to Lattice Scheduling Copyright NICTA 2013David Cock 35/36

Page 78: Practical Probability Applying pGCL to Lattice Schedulingresearch.davidcock.fastmail.fm/slides/lattice_scheduling.pdf · Lattice Scheduling The Probabilistic Scheduler Refinement

Lattice Scheduling

The ProbabilisticSchedulerRefinement

Lottery SchedulingData Refinement

seL4 Integration

Non-Leakage

Summary

What The Message?

• Probabilistic programs need not be harder to verify thantraditional ones.

• Good tool support now exists — pGCL for Isabelleavailable from:http://www.cse.unsw.edu.au/~davec/pGCL/

Will also to be submitted to AFP.

• Some problems in security are unavoidablyprobabilistic.

• Probabilistic results can compose well with largeexisting proofs.

Practical ProbabilityApplying pGCL to Lattice Scheduling Copyright NICTA 2013David Cock 35/36

Page 79: Practical Probability Applying pGCL to Lattice Schedulingresearch.davidcock.fastmail.fm/slides/lattice_scheduling.pdf · Lattice Scheduling The Probabilistic Scheduler Refinement

Lattice Scheduling

The ProbabilisticSchedulerRefinement

Lottery SchedulingData Refinement

seL4 Integration

Non-Leakage

Summary

Questions?

Practical ProbabilityApplying pGCL to Lattice Scheduling Copyright NICTA 2013David Cock 36/36