Information Flow Security DD2460 Software Safety and Security: Part - - PowerPoint PPT Presentation

information flow security
SMART_READER_LITE
LIVE PREVIEW

Information Flow Security DD2460 Software Safety and Security: Part - - PowerPoint PPT Presentation

Information Flow Security DD2460 Software Safety and Security: Part III, lecture 1 Gurvan Le Guernic DD2460 (III, L1) February 14 th , 2012 C ONTEXT F ORMALIZATION C HANNELS , F LOWS AND L ABELS W RAP - UP Outline Information Flow Security deals


slide-1
SLIDE 1

Information Flow Security

DD2460 Software Safety and Security: Part III, lecture 1 Gurvan Le Guernic DD2460 (III, L1) February 14th, 2012

slide-2
SLIDE 2

CONTEXT FORMALIZATION CHANNELS, FLOWS AND LABELS WRAP-UP

Outline

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

1

Context

2

Formalization

3

Channels, Flows and Labels

4

Wrap-up

  • G. Le Guernic

DD2460 (III, L1): Information Flow Security 2/35

slide-3
SLIDE 3

CONTEXT FORMALIZATION CHANNELS, FLOWS AND LABELS WRAP-UP

Context

  • G. Le Guernic

DD2460 (III, L1): Information Flow Security 3/35

slide-4
SLIDE 4

CONTEXT FORMALIZATION CHANNELS, FLOWS AND LABELS WRAP-UP

Context

More and more information systems (PC, smart- phone, web browser, server, . . . ) inhabited by ap- plications and data belonging to different “owners”. Problem: untrusted applications living in the same space as sensitive data (sometimes even manipu- lating them). Same problem for every system manipulating code and/or data with different end-user access rights ads in websites cross-site scripting . . .

  • G. Le Guernic

DD2460 (III, L1): Information Flow Security 4/35

slide-5
SLIDE 5

CONTEXT FORMALIZATION CHANNELS, FLOWS AND LABELS WRAP-UP

What’s the big deal?

  • G. Le Guernic

DD2460 (III, L1): Information Flow Security 5/35

slide-6
SLIDE 6

CONTEXT FORMALIZATION CHANNELS, FLOWS AND LABELS WRAP-UP

Question!

What security policy do you want for your own connected devices (smartphone, PC, tablet, . . . ) in general? What policy with regard to your contacts data in particular?

  • G. Le Guernic

DD2460 (III, L1): Information Flow Security 6/35

slide-7
SLIDE 7

CONTEXT FORMALIZATION CHANNELS, FLOWS AND LABELS WRAP-UP

Deployed techniques: Trust

Download and/or execute only from trusted sources

  • G. Le Guernic

DD2460 (III, L1): Information Flow Security 7/35

slide-8
SLIDE 8

CONTEXT FORMALIZATION CHANNELS, FLOWS AND LABELS WRAP-UP

Deployed Techniques: Access Control

restrict data accessible by a software if it can only access public data then it can

  • nly output public data

Allows enforcing least privilege

Definition 1 (Least Privilege Principle)

Every entity (process, user, program, . . . ) should own the least set of privileges (information and resources access right) that is necessary for its legitimate purpose.

Saltzer & Schroeder 1975

  • G. Le Guernic

DD2460 (III, L1): Information Flow Security 8/35

slide-9
SLIDE 9

CONTEXT FORMALIZATION CHANNELS, FLOWS AND LABELS WRAP-UP

Question!

Are your own security policies enforceable using those mechanisms (trust & access control)?

  • G. Le Guernic

DD2460 (III, L1): Information Flow Security 9/35

slide-10
SLIDE 10

CONTEXT FORMALIZATION CHANNELS, FLOWS AND LABELS WRAP-UP

Information Flow Security: philosophy

Problem: What about all those Android™ ap- plications that ask for many privileges? Philosophy: trust and/or access control are not sufficient analyze/track information flows prevent data leaks and/or tempering

  • G. Le Guernic

DD2460 (III, L1): Information Flow Security 10/35

slide-11
SLIDE 11

CONTEXT FORMALIZATION CHANNELS, FLOWS AND LABELS WRAP-UP

Secure Information Flows

Definition 2 (Secure Information Flows: confidentiality)

A process is said to contain only secure information flows, wrt confidentiality, if and only if an attacker is unable to deduce information about the secret (hidden) data by looking only at the publicly observable (leaked) outputs of the process.

private input public input

:

program as a function

:

  • utput :

? ? ? ? ? ?

  • G. Le Guernic

DD2460 (III, L1): Information Flow Security 11/35

slide-12
SLIDE 12

CONTEXT FORMALIZATION CHANNELS, FLOWS AND LABELS WRAP-UP

Software Information Flow Security

Study a program to decide if its executions respects the confidentiality of secret data and the integrity of sensitive data. For software information flow security, attacker is usually assumed to: know the program code have a partial view of/control over the execution Noninterference: Cohen (77), Goguen and Meseguer (82) Property of a program having only good information flows Hidden/Hacked inputs do not influence Leaked/Legitimate outputs

No (data/control) flow from H to L

  • G. Le Guernic

DD2460 (III, L1): Information Flow Security 12/35

slide-13
SLIDE 13

CONTEXT FORMALIZATION CHANNELS, FLOWS AND LABELS WRAP-UP

Formalization

  • G. Le Guernic

DD2460 (III, L1): Information Flow Security 13/35

slide-14
SLIDE 14

CONTEXT FORMALIZATION CHANNELS, FLOWS AND LABELS WRAP-UP

Strong Dependency

Definition 3 (Strong Dependency)

There exists an information flow from input i to output o in a process P whenever variety in i is conveyed to o by the execution of P. “information is transmitted from a source to a destination only when variety in the source can be conveyed to the destination”

  • E. S. Cohen, “Information Transmission in Computational Systems”, 1977

For deterministic processes, o is strongly dependent on i if and only if there exist at least two executions of P whose inputs differ only in i and whose

  • utputs differ in o.

⇒ The process P carried over the initial variety in i to the output o.

  • G. Le Guernic

DD2460 (III, L1): Information Flow Security 14/35

slide-15
SLIDE 15

CONTEXT FORMALIZATION CHANNELS, FLOWS AND LABELS WRAP-UP

Noninterference

Noninterference = absence of strong dependency from H (hidden/hacked) inputs to L (leaked/legitimate) outputs.

Definition 4 (Noninterference)

A program is said to be noninterfering if and only if any executions, started with the same L (leaked/legitimate) inputs, generate the same L (leaked/legitimate) outputs.

  • G. Le Guernic

DD2460 (III, L1): Information Flow Security 15/35

slide-16
SLIDE 16

CONTEXT FORMALIZATION CHANNELS, FLOWS AND LABELS WRAP-UP

Noninterference: in picture

Allowed Information Flows

A process is said to be noninterfering if the values of its L (leaked/legitimate)

  • utputs depend only on the values of its L (leaked/legitimate) inputs.

Process P H inputs L inputs H outputs L outputs

  • G. Le Guernic

DD2460 (III, L1): Information Flow Security 16/35

slide-17
SLIDE 17

CONTEXT FORMALIZATION CHANNELS, FLOWS AND LABELS WRAP-UP

Noninterference: in Greek letters

Definition 5 (Noninterference)

A program P is noninterfering if and only if any two executions, started in execution environments (σi) having the same L (leaked/legitimate) values, generate the same L (leaked/legitimate) observations (O[[σi ⊢ P]]). ∀σ1,σ2 : σ1 =L σ2 ⇒ O[[σ1 ⊢ P]] = O[[σ2 ⊢ P]] In non-deterministic case, O[[σ1 ⊢ P]] can be: set of all possible observations → possibilistic noninterference mapping from all possible observations to probability → probabilistic noninterference

  • G. Le Guernic

DD2460 (III, L1): Information Flow Security 17/35

slide-18
SLIDE 18

CONTEXT FORMALIZATION CHANNELS, FLOWS AND LABELS WRAP-UP

Channels, Flows and Labels

  • G. Le Guernic

DD2460 (III, L1): Information Flow Security 18/35

slide-19
SLIDE 19

CONTEXT FORMALIZATION CHANNELS, FLOWS AND LABELS WRAP-UP

Card Game

0|1 ! 0|1 ?

  • G. Le Guernic

DD2460 (III, L1): Information Flow Security 19/35

slide-20
SLIDE 20

CONTEXT FORMALIZATION CHANNELS, FLOWS AND LABELS WRAP-UP

Information = Data

Information = Data

A piece of data carries more information than its intrinsic value. “the information carried by a particular message depends on the set it comes from. The information conveyed is not an intrinsic property of the individual message.”

  • W. R. Ashby, “An Introduction to Cybernetics”, 1956.

“Everything is fine!” does not convey the same information if it comes from: someone in vacations, someone starting a new job, a prisoner in a dictatorship.

  • G. Le Guernic

DD2460 (III, L1): Information Flow Security 20/35

slide-21
SLIDE 21

CONTEXT FORMALIZATION CHANNELS, FLOWS AND LABELS WRAP-UP

Information Channels

Lampson (“A Note on the Confinement Problem”, 1973) defines 3 types of information channels:

Legitimate channels:

use mechanisms intended for legitimate data transfer example: Internet communication for web browser

Storage channels:

2 steps transfer using data storage (not transfer) mechanisms goal: delaying in time and space the realization of the undesired flow Bell-LaPadula’s ⋆-property (aka “no write-down”/confinement property) aims at reducing such channels usage for access control mechanisms

Covert channels:

use mechanisms not intended for data manipulation (transfer, computation or storage) encode information into visible side effects of legitimate (potentially transfer) mechanisms example: file locks, computation time/consumption, program counters, . . . (A♠)

  • G. Le Guernic

DD2460 (III, L1): Information Flow Security 21/35

slide-22
SLIDE 22

CONTEXT FORMALIZATION CHANNELS, FLOWS AND LABELS WRAP-UP

Information Flows

Two dimensions: direct/indirect and explicit/implicit direct: use legitimate channels intended for data transfer. indirect: use channels which are not intended for data transfer. explicit: created by the occurrence of a specific event. implicit: created by the fact that a specific event does not occur.

  • Some papers (particularly static techniques) use:

direct or explicit for direct flows indirect or implicit for indirect flows

  • G. Le Guernic

DD2460 (III, L1): Information Flow Security 22/35

slide-23
SLIDE 23

CONTEXT FORMALIZATION CHANNELS, FLOWS AND LABELS WRAP-UP

Information Flows: example

if b then x := e1 else y := e2 Direct

use legitimate channels for data transfer

Indirect

use channels not intended for data transfer

Explicit

created by the

  • ccurrence of an

event/action

e1 → x iff b = true e2 → y iff b = false b → x iff b = true b → y iff b = false

Implicit

created by the absence

  • f a specific event/action

b → y iff b = true b → x iff b = false

  • G. Le Guernic

DD2460 (III, L1): Information Flow Security 23/35

slide-24
SLIDE 24

CONTEXT FORMALIZATION CHANNELS, FLOWS AND LABELS WRAP-UP

Security Labels

Security labels: confidentiality and/or integrity levels form a preorder (reflexive and transitive relation)

(L, ≤)

Security lattice: labels may form a lattice preorder with unique least upper-bound (aka lub or join) and greatest lower-bound (aka glb or meet) for any 2 labels

(L, ≤, ⊔, ⊓) lub: ∀l1l2. li ≤ (l1 ⊔l2) and ∀l3. li ≤ l3 ≤ (l1 ⊔l2) ⇒ l3 = (l1 ⊔l2) glb: ∀l1l2. (l1 ⊔l2) ≤ li and ∀l3. (l1 ⊓l2) ≤ l3 ≤ li ⇒ l3 = (l1 ⊓l2) top: ∀l. l ≤ ⊤ bottom: ∀l. ⊥ ≤ l

  • G. Le Guernic

DD2460 (III, L1): Information Flow Security 24/35

slide-25
SLIDE 25

CONTEXT FORMALIZATION CHANNELS, FLOWS AND LABELS WRAP-UP

Security Labels: examples (1)

Top secret Alice’s secret Bob’s secret Public Confidentiality A = Alice’s secret ⊥ = Public A ⊔ ⊥ = A Fully trusted Trusted by Alice Trusted by Bob Untrusted Integrity A = Trusted by Alice B = Trusted by Bob A ⊓ B = Untrusted

  • G. Le Guernic

DD2460 (III, L1): Information Flow Security 25/35

slide-26
SLIDE 26

CONTEXT FORMALIZATION CHANNELS, FLOWS AND LABELS WRAP-UP

Security Labels: use

Containers (variables, files, . . . ) are assigned a label: statically or dynamically set at write: verify that data’s label is less secret (resp. more trusted) than container’s label at read: consider container’s label as a secrecy upper-bound (resp. integrity lower-bound) of data’s label

  • G. Le Guernic

DD2460 (III, L1): Information Flow Security 26/35

slide-27
SLIDE 27

CONTEXT FORMALIZATION CHANNELS, FLOWS AND LABELS WRAP-UP

Security Labels: examples (2)

⊤ RA ∩RB RA RB RA ∪RB ⊥ ACL security lattice (confidentiality) RA: set of allowed readers Untainted Tainted Perl Security Lattice (Integrity)

  • G. Le Guernic

DD2460 (III, L1): Information Flow Security 27/35

slide-28
SLIDE 28

CONTEXT FORMALIZATION CHANNELS, FLOWS AND LABELS WRAP-UP

From Security Lattice to Flow Lattice

Flow lattice: describes allowed information flows: x := y iff ly ≤ lx Flow lattice = confidentiality lattice × inverse of integrity lattice

  • Some always talk about integrity lattice in inverse mode

Trusted ≤ Untrusted

  • G. Le Guernic

DD2460 (III, L1): Information Flow Security 28/35

slide-29
SLIDE 29

CONTEXT FORMALIZATION CHANNELS, FLOWS AND LABELS WRAP-UP

From Security Lattice to Flow Lattice

Secret Public → Secret Public      Trusted Untrusted     

−1

→ Untrusted Trusted

  • G. Le Guernic

DD2460 (III, L1): Information Flow Security 29/35

slide-30
SLIDE 30

CONTEXT FORMALIZATION CHANNELS, FLOWS AND LABELS WRAP-UP

From Security Lattice to Flow Lattice

Secret Public ×      Trusted Untrusted     

−1

→ Secret Untrusted Secret Trusted Public Untrusted Public Trusted

  • G. Le Guernic

DD2460 (III, L1): Information Flow Security 30/35

slide-31
SLIDE 31

CONTEXT FORMALIZATION CHANNELS, FLOWS AND LABELS WRAP-UP

Wrap-up

  • G. Le Guernic

DD2460 (III, L1): Information Flow Security 31/35

slide-32
SLIDE 32

CONTEXT FORMALIZATION CHANNELS, FLOWS AND LABELS WRAP-UP

6 Most Important Points

IF policies = fine grain confidentiality and integrity policies Noninterference: ∀σ1,σ2 : σ1 =L σ2 ⇒ O[[σ1 ⊢ P]] = O[[σ2 ⊢ P]] information = data covert channels = direct/indirect explicit/implicit flows Security labels form a flow lattice

  • G. Le Guernic

DD2460 (III, L1): Information Flow Security 32/35

slide-33
SLIDE 33

CONTEXT FORMALIZATION CHANNELS, FLOWS AND LABELS WRAP-UP

IF Workshop

Goal: simulate review of existing IF security techniques Layout: group of 5 to 6 students study 1 paper (6 groups in total) presentation by randomly selected student (20-25 mn) additions/corrections by rest of the group ( 5 mn) audience questions (5-10 mn) Two levels collaboration: at the group level: deep understanding of the paper at the class level: overview of all the papers

  • G. Le Guernic

DD2460 (III, L1): Information Flow Security 33/35

slide-34
SLIDE 34

CONTEXT FORMALIZATION CHANNELS, FLOWS AND LABELS WRAP-UP

Grading

Workshop presentation is not graded per se (report is) E:

give a decent presentation (or at least additions/corrections session) be able to give an accurate 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 the other papers

  • G. Le Guernic

DD2460 (III, L1): Information Flow Security 34/35

slide-35
SLIDE 35

CONTEXT FORMALIZATION CHANNELS, FLOWS AND LABELS WRAP-UP

Questions?

Questions?

  • G. Le Guernic

DD2460 (III, L1): Information Flow Security 35/35