Download - International Technology Alliance in Network & Information Sciences Knowledge Inference for Securing and Optimizing Secure Computation Piotr (Peter) Mardziel,

Transcript
Page 1: International Technology Alliance in Network & Information Sciences Knowledge Inference for Securing and Optimizing Secure Computation Piotr (Peter) Mardziel,

International Technology Alliancein

Network & Information Sciences

Knowledge Inference for Securing and

Optimizing Secure Computation

Knowledge Inference for Securing and

Optimizing Secure Computation

Piotr (Peter) Mardziel, Michael Hicks, Aseem Rastogi, Matthew Hammer, Jonathan Katz (UMD)

Mudhakar Srivatsa (IBM TJ Watson)With Towsley et al (Umass), Kasturi Rangan (UCLA)

Annual Meeting of the ITAOctober 2013

Page 2: International Technology Alliance in Network & Information Sciences Knowledge Inference for Securing and Optimizing Secure Computation Piotr (Peter) Mardziel,

Sharing between coalition domains is critical for mission success Sharing between coalition domains is critical for mission success

2

Scout (Coalition A)

Supporting force(Coalition B)

Unmanned Air Vehicle (UAV)(Coalition A)

Back-office Data Analyst(Coalition A)

Satellite Communications – backhaul(Coalition A)

XX

XX

YY

X’X’ X’X’

X’X’

YY

ZZZZ

YY

YYYYMixed force

(Coalition A, C)

Page 3: International Technology Alliance in Network & Information Sciences Knowledge Inference for Securing and Optimizing Secure Computation Piotr (Peter) Mardziel,

ITA Technologies facilitate sharingITA Technologies facilitate sharing

ITA has developed many excellent technologies for sharing information–Gaian DB–Information fabric–Controlled English Store

All harness information and make it available to coalition partners–Provide a query or pub/sub interface

But: there may be risk in sharing all information–Might like to allow some queries but not others

• If the query would reveal too much information about the raw data• If a sequence of queries would do so, even if one would not

3

Page 4: International Technology Alliance in Network & Information Sciences Knowledge Inference for Securing and Optimizing Secure Computation Piotr (Peter) Mardziel,

Our research: Knowledge inferenceOur research: Knowledge inference

Key idea: use program analysis (of the query)

–to understand what the answer reveals about sensitive information to (a rational) recipient

We call this analysis knowledge inference

We have used knowledge inference in a variety of applications

4

Page 5: International Technology Alliance in Network & Information Sciences Knowledge Inference for Securing and Optimizing Secure Computation Piotr (Peter) Mardziel,

Summary of Results (outline)Summary of Results (outline)

Knowledge-based security [CSF’11, NIPSPP’12, JCS’13, HOTNETS’13]– Enforce a security policy based on adversary’s (accumulated) knowledge– Implementation and experimental evaluation– Proof of soundness: will never underestimate adversary knowledge

Knowledge-based security for SMC [PLAS’12]– Adapt knowledge inference to consider multiple parties’ secrets– Proof of soundness

Optimizing SMC [PLAS’13]– Identify inferrable values by knowledge inference

• Do not bother to compute these using SMC– Leads to 30x speedup– Proof of correctness of technique

5

Page 6: International Technology Alliance in Network & Information Sciences Knowledge Inference for Securing and Optimizing Secure Computation Piotr (Peter) Mardziel,

Papers on ITACSPapers on ITACS

[JCS’13] Piotr Mardziel, Stephen Magill, Mike Hicks and Mudhakar Srivatsa, Dynamic Enforcement of Knowledge-based Security Policies, Journal of Comp. Security, Feb’12,

– https://www.usukitacs.com/node/1900. [NIPSPP’12] Piotr Mardziel and Kasturi Rangan, Probabilistic Computation for Information

Security, NIPS Probabilistic Programming Workshop, Dec’12, – https://www.usukitacs.com/node/2234.

[PLAS’12] P. Mardziel, M. Hicks, J. Katz and M. Srivatsa, Knowledge-Oriented Secure Multiparty Computation, Programming Languages and Analyses for Security, June’12,

– https://www.usukitacs.com/node/2003. [PLAS’13] Aseem Rastogi, Piotr Mardziel, Michael Hicks and Matthew Hammer, Knowledge

Inference for Optimizing Secure Multi-party Computation, Programming Languages and Analyses for Security, June’13.

– https://www.usukitacs.com/node/2310 [HOTNETS’13] Z. Shafiq, F. Le, M. Srivatsa and D. Towsley. Cross-Path Inference Attacks

on Multipath TCP, ACM HotNets, July’13. – https://www.usukitacs.com/node/2491

6

Page 7: International Technology Alliance in Network & Information Sciences Knowledge Inference for Securing and Optimizing Secure Computation Piotr (Peter) Mardziel,

Knowledge about the worldKnowledge about the world

Learning about the world from observations.

7

0.5 : Today = not-raining0.5 : Today = raining

weatherOutlook

0.82 : Today = not-raining0.18 : Today = raining

Outlook = sunny inference

Page 8: International Technology Alliance in Network & Information Sciences Knowledge Inference for Securing and Optimizing Secure Computation Piotr (Peter) Mardziel,

Knowledge about secretsKnowledge about secrets

Characterize adversary knowledge.

8

SecretsystemPublic Output

Public Output = “login failed” inference

…0.01 : Secret = 410.90 : Secret = 420.01 : Secret = 43 …

Page 9: International Technology Alliance in Network & Information Sciences Knowledge Inference for Securing and Optimizing Secure Computation Piotr (Peter) Mardziel,

Levels of knowledge?Levels of knowledge?

Characterize system as safe vs. unsafe.

9

…0.05 : Secret = 410.05 : Secret = 420.05 : Secret = 43 …

…0.02 : Secret = 410.40 : Secret = 420.02 : Secret = 43 …

…0.01 : Secret = 410.90 : Secret = 420.01 : Secret = 43 …

1.00 : Secret = 42

inference

approx.inference

unsafesafe

Page 10: International Technology Alliance in Network & Information Sciences Knowledge Inference for Securing and Optimizing Secure Computation Piotr (Peter) Mardziel,

Soundness of knowledgeSoundness of knowledge

Soundly approximate level of knowledge.

10

…0.05 : Secret = 410.05 : Secret = 420.05 : Secret = 43 …

…0.02 : Secret = 410.40 : Secret = 420.02 : Secret = 43 …

…0.01 : Secret = 410.90 : Secret = 420.01 : Secret = 43 …

1.00 : Secret = 42

actual

inference

sound approx.inference

unsafesafe

Page 11: International Technology Alliance in Network & Information Sciences Knowledge Inference for Securing and Optimizing Secure Computation Piotr (Peter) Mardziel,

Technology: probabilistic programmingTechnology: probabilistic programming

Programs–whose inputs and outputs may be distributions rather than values–which may contain uses of probabilistic choice

Effectively represent algorithmic description of a probabilistic model–conditional probability distribution relating inputs and outputs

11

Pr [ Outlook = sunny | Today = not-raining ] = 0.9

weather(today) { if (today == “not-raining”) { if (flip 0.9) return “sunny” else return “overcast” } else if (today == “raining”) { if (flip 0.8) return “overcast” else return “sunny” }}

CODE

Page 12: International Technology Alliance in Network & Information Sciences Knowledge Inference for Securing and Optimizing Secure Computation Piotr (Peter) Mardziel,

• Maintain a representation of each querier’s belief about secret’s possible values• Each query result revises the belief; reject if actual secret becomes too likely

• Cannot let rejection defeat our protection.

time

Q1 Q3… …Q2

Reject

12

Belief ≜probabilitydistribution

Bayesian reasoningto revise

belief OK (answer) OK (answer)

Knowledge-based securityKnowledge-based security

Page 13: International Technology Alliance in Network & Information Sciences Knowledge Inference for Securing and Optimizing Secure Computation Piotr (Peter) Mardziel,

Policy = knowledge thresholdPolicy = knowledge threshold

Answer a query if, for querier’s revised belief, Pr[my secret] < t–Call t the knowledge threshold

Choice of t depends on the risk of revelation

13

Page 14: International Technology Alliance in Network & Information Sciences Knowledge Inference for Securing and Optimizing Secure Computation Piotr (Peter) Mardziel,

αProb: Implementation (CSF’11, JCS’13)αProb: Implementation (CSF’11, JCS’13)

Queries are simple imperative programs

Approach: abstract interpretation for implementing probabilistic operations. Building blocks:

– lattice point enumeration– integer programming

Key idea: abstract interpretation is sound– Never underestimate the knowledge– But may overestimate it

• Improves audit time• May reject some legal queries

Application to sensor networks, location [NIPSPP’12]

– Gave demo earlier in the week Application to MPTCP [HOTNETS’13]

14

Page 15: International Technology Alliance in Network & Information Sciences Knowledge Inference for Securing and Optimizing Secure Computation Piotr (Peter) Mardziel,

Current activity: Modeling time/changeCurrent activity: Modeling time/change

Secrets can change over time.

In progress: formal model, theorems about knowledge of both the stream of secrets and the delta function

15

Pr [ Secret2 = 42 | Secret1 = 42 ] = 0.900392

delta(secret1) { if (flip 0.9) return secret1 else return (uniform 0,255)}

CODE

Pr [ Secret1 = 42 ] = 1.0

Page 16: International Technology Alliance in Network & Information Sciences Knowledge Inference for Securing and Optimizing Secure Computation Piotr (Peter) Mardziel,

Other activitiesOther activities

Expand expressiveness, improve performance–Model continuous distributions, not just discrete ones–Employ other forms of approximation

More applications–Multiparty TCP flows–Sensor networks–Mobility

16

Page 17: International Technology Alliance in Network & Information Sciences Knowledge Inference for Securing and Optimizing Secure Computation Piotr (Peter) Mardziel,

Joint computations over secretsJoint computations over secrets

Rather than asymmetric queries, may want to compute joint results–Coalitions each have sensor networks; use them to answer queries

while hiding details–Coalitions perform joint mission planning; staff mission without knowing

total resources

17

Q = Some function

x yQ (X,Y)

“attack at dawn”

Page 18: International Technology Alliance in Network & Information Sciences Knowledge Inference for Securing and Optimizing Secure Computation Piotr (Peter) Mardziel,

Secure multiparty computationSecure multiparty computation

Multiple parties have secrets to protect. Want to compute some function over their secrets without revealing

them.

18

x yQ(x,y)

True / False

Q = if x ≥ y then out := True else out := False

Page 19: International Technology Alliance in Network & Information Sciences Knowledge Inference for Securing and Optimizing Secure Computation Piotr (Peter) Mardziel,

Secure multiparty computationSecure multiparty computation

Use trusted third party.

19

x yTQ(x,y)

Q = if x ≥ y then out := True else out := False

True

Page 20: International Technology Alliance in Network & Information Sciences Knowledge Inference for Securing and Optimizing Secure Computation Piotr (Peter) Mardziel,

Secure multiparty computationSecure multiparty computation

SMC lets the participants compute this without a trusted third party.

20

Tx y

Q(x,y)

TrueQ = if x ≥ y then out := True else out := False

Page 21: International Technology Alliance in Network & Information Sciences Knowledge Inference for Securing and Optimizing Secure Computation Piotr (Peter) Mardziel,

Secure multiparty computationSecure multiparty computation

Nothing is learned beyond what is implied* by the query output.

21

x yQ(x,y)

True / False

Q = if x ≥ y then out := True else out := False

Page 22: International Technology Alliance in Network & Information Sciences Knowledge Inference for Securing and Optimizing Secure Computation Piotr (Peter) Mardziel,

Secure multiparty computationSecure multiparty computation

Nothing is learned beyond what is implied* by the query output.

–* what is implied can be a lot

22

x = ?

x y=2Q(x,2)

Q = if x ≥ y then out := True else out := False

FalseA B

Page 23: International Technology Alliance in Network & Information Sciences Knowledge Inference for Securing and Optimizing Secure Computation Piotr (Peter) Mardziel,

Secure multiparty computationSecure multiparty computation

Nothing is learned beyond what is implied* by the query output.

–* what is implied can be a lot

23

x = 1

Q(x,2)

Q = if x ≥ y then out := True else out := False

False

x

A

y=2

B

Page 24: International Technology Alliance in Network & Information Sciences Knowledge Inference for Securing and Optimizing Secure Computation Piotr (Peter) Mardziel,

Secure multiparty computationSecure multiparty computation

Nothing is learned beyond what is implied* by the query output.

–* what is implied can be a lot

24

x = ?

Q(x,3)

Q = if x ≥ y then out := True else out := False

False

x

A

y=3

B

Page 25: International Technology Alliance in Network & Information Sciences Knowledge Inference for Securing and Optimizing Secure Computation Piotr (Peter) Mardziel,

Secure multiparty computationSecure multiparty computation

Nothing is learned beyond what is implied* by the query output.

–* what is implied can be a lot

25

x {1,2}∈

Q(x,3)

Q = if x ≥ y then out := True else out := False

False

x

A

y=3

B

Page 26: International Technology Alliance in Network & Information Sciences Knowledge Inference for Securing and Optimizing Secure Computation Piotr (Peter) Mardziel,

Secure multiparty computationSecure multiparty computation

Nothing is learned beyond what is implied* by the query output.

–* what is implied can be a lot

26

x = ?

Q(x, ∞)

Q = if x ≥ y then out := True else out := False

False

x

A

y=∞

B

Page 27: International Technology Alliance in Network & Information Sciences Knowledge Inference for Securing and Optimizing Secure Computation Piotr (Peter) Mardziel,

Secure multiparty computationSecure multiparty computation

Nothing is learned beyond what is implied* by the query output.

–* what is implied can be a lot

27

x ≥ 1

Q(x, ∞)

Q = if x ≥ y then out := True else out := False

False

x

A

y=∞

B

Page 28: International Technology Alliance in Network & Information Sciences Knowledge Inference for Securing and Optimizing Secure Computation Piotr (Peter) Mardziel,

Knowledge-based security for SMC (PLAS’12)Knowledge-based security for SMC (PLAS’12)

Results (details in paper): –Adapt knowledge inference to SMC setting–Enforce threshold-based policies

• Two techniques: Belief sets and SMC-based belief tracking

–Proof that our methods are sound (never underapproximate adversary knowledge)

Implementation not sufficiently performant for use on-line

28

Page 29: International Technology Alliance in Network & Information Sciences Knowledge Inference for Securing and Optimizing Secure Computation Piotr (Peter) Mardziel,

Goal: Make SMC more performant (PLAS’13)Goal: Make SMC more performant (PLAS’13)

SMC is an appealing technology, but it is very slow

– Implementation based on “garbled circuits”

– Several orders of magnitude slower than normal computation

Recent work has developed general methods to improve SMC performance

– Circuit-level optimizations

– Pipelining circuit generation and execution (increases parallelism and decreases memory)

– But: ultimately SMC is always going to be much slower than normal computation

Idea: use knowledge inference to find opportunities to replace SMC with normal computation in particular programs, with no loss to security

29

Page 30: International Technology Alliance in Network & Information Sciences Knowledge Inference for Securing and Optimizing Secure Computation Piotr (Peter) Mardziel,

Example – Joint Median ComputationExample – Joint Median Computation

{ A1, A2 }, { B1, B2 }

Assume: A1 < A2 and B1 < B2 and Distinct(A1, A2, B1, B2)

a = A1 ≤ B1;

b = a ? A2 : A1;

c = a ? B1 : B2;

d = b ≤ c;

output = d ? b : c;04/20/2330

Can show that Alice and Bob can infer a and d

Can show that Alice and Bob can infer a and d

Page 31: International Technology Alliance in Network & Information Sciences Knowledge Inference for Securing and Optimizing Secure Computation Piotr (Peter) Mardziel,

Secure Computation

Secure Computation

04/20/2331

output = d ? b : c;dd

a = A1 ≤ B1;

b = a ? A2 : A1;

c = a ? B1: B2;

d = b ≤ c;

Knowledge leads to optimized protocolKnowledge leads to optimized protocol

Page 32: International Technology Alliance in Network & Information Sciences Knowledge Inference for Securing and Optimizing Secure Computation Piotr (Peter) Mardziel,

Median Example – Analysis from Bob’s PerspectiveMedian Example – Analysis from Bob’s Perspective

04/20/2332

a = A1 ≤ B1;

b = a ? A2 : A1;

c = a ? B1 : B2;

d = b ≤ c;

output = d ? b : c;

A1 ≤ B1 ∧ A2 ≤ B1 A1 ≤ B1 ∧ A2 > B1 A1 > B1 ∧ A2 ≤ B1 A1 > B1 ∧ A2 > B1

a = (output ≤ B1) Recall: B1 < B2

Page 33: International Technology Alliance in Network & Information Sciences Knowledge Inference for Securing and Optimizing Secure Computation Piotr (Peter) Mardziel,

Formalization of KnowledgeFormalization of Knowledge

04/20/2333

x can be uniquely determined by p’s inputs I and outputs O

x can be uniquely determined by p’s inputs I and outputs O

Party p knows x if:

Two program executions that agree on I and O, also agree on x

Two program executions that agree on I and O, also agree on x

Page 34: International Technology Alliance in Network & Information Sciences Knowledge Inference for Securing and Optimizing Secure Computation Piotr (Peter) Mardziel,

Knowledge in Median ExampleKnowledge in Median Example

04/20/2334

a = A1 ≤ B1;

b = a ? A2 : A1;

c = a ? B1 : B2;

d = b ≤ c;

output = d ? b : c;

Bob knows a, if for all final states σ1 and σ2 s.t.

•σ1[B1] = σ2[B1],

•σ1[B2] = σ2[B2], and

•σ1[output] = σ2[output],

we have,

•σ1[a] = σ2[a]

Page 35: International Technology Alliance in Network & Information Sciences Knowledge Inference for Securing and Optimizing Secure Computation Piotr (Peter) Mardziel,

Results (details in paper)Results (details in paper)

Make the previous definition into an algorithm by using an idea called self-composition

–Allows us to create a formula that, if satisfiable, says whether a variable is known

–Can give this formula to an SMT solver–Result: implementation and proof of correctness (sound and relatively complete)

We have also developed an algorithm that is constructive–Computes formula that witnesses knowledge of the variable

35

Page 36: International Technology Alliance in Network & Information Sciences Knowledge Inference for Securing and Optimizing Secure Computation Piotr (Peter) Mardziel,

Ongoing workOngoing work

Building SMC compiler–Novel programming language for expressing mixed mode multiparty computation (M3PC)

• Combination of joint and local computations–Will employ knowledge-inference optimization to transform SMC programs to M3PC programs

–Developing novel back end based on garbled circuits (standard mechanism) and oblivious RAM

36

Page 37: International Technology Alliance in Network & Information Sciences Knowledge Inference for Securing and Optimizing Secure Computation Piotr (Peter) Mardziel,

SummarySummary

Research agenda based on knowledge inference–Determining what a party can learn about a secret given a run of a program

–Can use this for enforcing security, and optimizing computation

Ongoing work continues this agenda–Time-varying secrets–New applications (greater expressiveness)–New computational platform

37

Page 38: International Technology Alliance in Network & Information Sciences Knowledge Inference for Securing and Optimizing Secure Computation Piotr (Peter) Mardziel,

BACKUPBACKUP

38

Page 39: International Technology Alliance in Network & Information Sciences Knowledge Inference for Securing and Optimizing Secure Computation Piotr (Peter) Mardziel,

ExpressibilityExpressibility

Prior work [CSF’11, JCS‘13], supported limited language features.– distributions: piecewise bounds over discrete domains– possible but inconvenient to express other distributions

39

discretedistributions

upper bounds

lower bounds

Page 40: International Technology Alliance in Network & Information Sciences Knowledge Inference for Securing and Optimizing Secure Computation Piotr (Peter) Mardziel,

Expressibility: continuous distributionsExpressibility: continuous distributions

Continuous distributions for modeling real world processes.

40

Page 41: International Technology Alliance in Network & Information Sciences Knowledge Inference for Securing and Optimizing Secure Computation Piotr (Peter) Mardziel,

Polynomial approximationPolynomial approximation

Improve precision by polynomial bounds (as opposed to constant).

41

Page 42: International Technology Alliance in Network & Information Sciences Knowledge Inference for Securing and Optimizing Secure Computation Piotr (Peter) Mardziel,

Scales better than enumerationScales better than enumeration

=0 ≤ bday ≤ 364

1956 ≤ byear ≤ 1992

=0 ≤ bday ≤ 364

1910 ≤ byear ≤ 2010

1 pp

> 1 pp

42

each equally likely

each equally likely

bday1 small

bday 1 large

Page 43: International Technology Alliance in Network & Information Sciences Knowledge Inference for Securing and Optimizing Secure Computation Piotr (Peter) Mardziel,

43

Birthday query 1+2+special

Performance/precision tradeoffPerformance/precision tradeoff

Page 44: International Technology Alliance in Network & Information Sciences Knowledge Inference for Securing and Optimizing Secure Computation Piotr (Peter) Mardziel,

Intervals very fast generallyIntervals very fast generally

Query Intervals Octagons Polyhedra

Bday1 (small) 0.01 1.87 2.81

Bday1+2 (small) 0.01 2.9 5.25

Bday1+2+spec 0.47 17.8 23.0

Bday1 (large) 0.01 2.1 2.48

Bday1+2 (large) 0.02 3.02 4.52

Bday1+2+spec 0.58 33.6 46.5

Pizza 0.26 92.7 125.5

Photo 0.02 5.47 7.98

Travel 0.48 126.9 154.5

44

Times in secondsAll achieve maximum precision when given unlimited polyhedra

Page 45: International Technology Alliance in Network & Information Sciences Knowledge Inference for Securing and Optimizing Secure Computation Piotr (Peter) Mardziel,

LattE is the performance bottleneckLattE is the performance bottleneck

45

Page 46: International Technology Alliance in Network & Information Sciences Knowledge Inference for Securing and Optimizing Secure Computation Piotr (Peter) Mardziel,

Merging order matters for precision Merging order matters for precision

46

Each point represents a different merging order for the given boundMedian precision point depicted as a box

Semi-interquartile range given in grayBest precision possible is at the very bottom (about 3.8 * 10-4)