Information Flow Security (2) DD2460 Software Safety and Security: - - PowerPoint PPT Presentation

information flow security 2
SMART_READER_LITE
LIVE PREVIEW

Information Flow Security (2) DD2460 Software Safety and Security: - - PowerPoint PPT Presentation

Information Flow Security (2) DD2460 Software Safety and Security: Part III, lecture 3 Gurvan Le Guernic DD2460 (III, L3) February 24 th , 2012 V ARIANTS E NFORCEMENT C ONCLUSION / W RAP - UP Outline Information Flow Security deals with


slide-1
SLIDE 1

Information Flow Security (2)

DD2460 Software Safety and Security: Part III, lecture 3 Gurvan Le Guernic DD2460 (III, L3) February 24th, 2012

slide-2
SLIDE 2

VARIANTS ENFORCEMENT CONCLUSION / WRAP-UP

Outline

Information Flow Security deals with Confidentiality and Integrity related security policies.

1

Noninterference Variants

2

Enforcement Techniques

3

Conclusion / Wrap-up

  • G. Le Guernic

DD2460 (III, L3): Information Flow Security (2) 2/21

slide-3
SLIDE 3

VARIANTS ENFORCEMENT CONCLUSION / WRAP-UP

Noninterference Variants

  • G. Le Guernic

DD2460 (III, L3): Information Flow Security (2) 3/21

slide-4
SLIDE 4

VARIANTS ENFORCEMENT CONCLUSION / WRAP-UP

Termination (In)sensitive Noninterference

Main idea: attacker is (un)able to observe (O) if execution terminated or not ∀σ1,σ2 : σ1 =L σ2 ⇒ O[[σ1 ⊢ P]] = O[[σ2 ⊢ P]] Sensitive: tag termination into observables Insensitive (1): observable prefixes of nonterminating executions Insensitive (2): discard non-terminating executions (σ)

  • G. Le Guernic

DD2460 (III, L3): Information Flow Security (2) 4/21

slide-5
SLIDE 5

VARIANTS ENFORCEMENT CONCLUSION / WRAP-UP

Declassification

Definition 1 (Noninterference modulo declassification φ)

A program is safe if and only if any executions, started with the same public inputs and agreeing on φ, output the same sequence. φ = secret is or is not yellow

private input public input

:

program as a function

:

  • utput :

? ? ? ?

  • G. Le Guernic

DD2460 (III, L3): Information Flow Security (2) 5/21

slide-6
SLIDE 6

VARIANTS ENFORCEMENT CONCLUSION / WRAP-UP

Taint Analysis

Takes into account only (direct) explicit flows Weaker security guarantees, but more efficient enforcement mechanisms not efficient against malicious code, but OK against buggy code Examples: Python’s taint library Perl taint mode . . .

  • G. Le Guernic

DD2460 (III, L3): Information Flow Security (2) 6/21

slide-7
SLIDE 7

VARIANTS ENFORCEMENT CONCLUSION / WRAP-UP

Enforcement Techniques

  • G. Le Guernic

DD2460 (III, L3): Information Flow Security (2) 7/21

slide-8
SLIDE 8

VARIANTS ENFORCEMENT CONCLUSION / WRAP-UP

Noninterference Enforcement: Main Idea

PH PL Process P H inputs L inputs H outputs L outputs

  • G. Le Guernic

DD2460 (III, L3): Information Flow Security (2) 8/21

slide-9
SLIDE 9

VARIANTS ENFORCEMENT CONCLUSION / WRAP-UP

Old Security Mechanism: Confined Processes

Lampson’s 1973 notion of confinement Confined processes: are memoryless (⇒ side-effect free) call only confined processes, but can be called by unconfined processes have masked output belonging to a predefined set

could extend to label verification

Main concepts underlying sandboxing

  • ne of Java’s main security mechanisms
  • G. Le Guernic

DD2460 (III, L3): Information Flow Security (2) 9/21

slide-10
SLIDE 10

VARIANTS ENFORCEMENT CONCLUSION / WRAP-UP

Static Information Flow Analysis

Principles: analyze IF before execution do nothing during execution Advantages: no runtime overhead run iff NI is proved

  • ld strong soundness culture

Main drawback: can be too restrictive

  • G. Le Guernic

DD2460 (III, L3): Information Flow Security (2) 10/21

slide-11
SLIDE 11

VARIANTS ENFORCEMENT CONCLUSION / WRAP-UP

Dynamic Information Flow Analysis

Principles: track flows at execution prevent data leak just before it occurs Advantages: enforce runtime policies more easily allow safe executions of unsafe programs may be more precise in some cases

reduced space (not all executions) access to runtime values

Main drawback: hard to spot all flows (implicit flows)

  • G. Le Guernic

DD2460 (III, L3): Information Flow Security (2) 11/21

slide-12
SLIDE 12

VARIANTS ENFORCEMENT CONCLUSION / WRAP-UP

Hybrid Information Flow Analysis

if l C1 C2 C2 if h C3 C4 C5 Principles: mix of static and dynamic analyses dynamically analyze C2 and C3

for direct and explicit indirect flows

statically analyze C4

for implicit indirect flows

dynamically analyze C5 with results of C3 and C4 mixed Advantages: best of both worlds Main drawback: worst of both worlds higher complexity

  • G. Le Guernic

DD2460 (III, L3): Information Flow Security (2) 12/21

slide-13
SLIDE 13

VARIANTS ENFORCEMENT CONCLUSION / WRAP-UP

Is Detection Enough?

What happens with an analysis which is sound with regard to information flow detection? Static analysis:

Expert: “You should not use this program!”

Dynamic analysis:

ATM: “Oh, by the way, I probably sent your PIN code all over the web.”

A user expects dynamic IF analyses to detect and correct information flows.

  • G. Le Guernic

DD2460 (III, L3): Information Flow Security (2) 13/21

slide-14
SLIDE 14

VARIANTS ENFORCEMENT CONCLUSION / WRAP-UP

The Correction Pitfall

1 secret test A B 3 1 1 Code block A outputs value 1: A 1 Analysis concludes: public data: secret data: Sound detection does not imply sound (detection + correction)

  • dynamic analysis + “stop” correction

“stop” correction with termination insensitive NI proof

  • G. Le Guernic

DD2460 (III, L3): Information Flow Security (2) 14/21

slide-15
SLIDE 15

VARIANTS ENFORCEMENT CONCLUSION / WRAP-UP

Conclusion / Wrap-up

  • G. Le Guernic

DD2460 (III, L3): Information Flow Security (2) 15/21

slide-16
SLIDE 16

VARIANTS ENFORCEMENT CONCLUSION / WRAP-UP

3 Most Important Points

∃ many information flow security policy variants

termination sensitivity declassification . . . taint analyses

Enforcement

Static analyses: (+) soundness (-) usability (often too restrictive) Dynamic analyses: (+) usability (-) soundness Hybrid analyses: (+/-) soundness & usability (-) complexity

Correction pitfall

dynamic and hybrid analyses require correction mechanism sound detection ⇒ sound (detection + correction)

  • G. Le Guernic

DD2460 (III, L3): Information Flow Security (2) 16/21

slide-17
SLIDE 17

VARIANTS ENFORCEMENT CONCLUSION / WRAP-UP

IF Workshop

Goal: simulate review of some existing IF security techniques you do not need to defend or kill your paper you need to:

describe the enforcement technique used [and its implementation] (for reproducibility) evaluate the level of security provided describe advantages and limitations of the technique compare with other known techniques:

workshop: type system + taint analysis report: type system + taint analysis + workshop techniques

After the workshop and report, I/you should be able to pick up the best adapted tool/technique for a particular IF problem.

  • G. Le Guernic

DD2460 (III, L3): Information Flow Security (2) 17/21

slide-18
SLIDE 18

VARIANTS ENFORCEMENT CONCLUSION / WRAP-UP

Grading

Workshop presentation is not graded per se (report is) [due 12/3] E:

give a decent presentation (or at least additions/corrections session) be able to give an accurate description/summary of the paper at the course level

C: (subsumes E)

detail specific advantages and limitations of the paper’s technique

A: (subsumes A)

compare with the relevant techniques presented in class and in the other papers

Level of learning of course material also reflected in the final grade if/where possible, report should contain proof of knowledge of channels, flows, labels, noninterference, enforcement, . . .

  • G. Le Guernic

DD2460 (III, L3): Information Flow Security (2) 18/21

slide-19
SLIDE 19

VARIANTS ENFORCEMENT CONCLUSION / WRAP-UP

Information Flow Wrap-up

Concepts Definitions Enforcement Type System Taint Others basic

lectures 1 & 3:

IF policies, chan- nels, flows, labels, correction, . . .

lecture 2: type

systems, nonin- terference, . . .

lecture 3:

static, dynamic, hybrid, . . .

deeper

exercises 1 & 2:

IF policies, timing channels, flows, . . .

exercises 2:

type systems, Jif, . . .

exercises 1:

taint, . . .

workshop

E C A

  • G. Le Guernic

DD2460 (III, L3): Information Flow Security (2) 19/21

slide-20
SLIDE 20

VARIANTS ENFORCEMENT CONCLUSION / WRAP-UP

Course Wrap-up

Software safety and security:

prevent bad behaviors causing system (base) and data (load) damage due to specification and/or implementation errors and/or weaknesses

Formal methods:

precise correctness guarantees

  • ften complex and expensive

for critical systems and/or data

3 different techniques for software safety and security

Temporal logic and model checking Hoare logic and VCG/symbolic execution Information flow and type system

  • G. Le Guernic

DD2460 (III, L3): Information Flow Security (2) 20/21

slide-21
SLIDE 21

VARIANTS ENFORCEMENT CONCLUSION / WRAP-UP

Announcements and Questions?

Soon online: lab 2 booking course evaluation

Questions?

  • G. Le Guernic

DD2460 (III, L3): Information Flow Security (2) 21/21