De-anonymizing Data CompSci 590.03 Instructor: Ashwin - - PowerPoint PPT Presentation

de anonymizing data
SMART_READER_LITE
LIVE PREVIEW

De-anonymizing Data CompSci 590.03 Instructor: Ashwin - - PowerPoint PPT Presentation

Source (h?p://xkcd.org/834/) De-anonymizing Data CompSci 590.03 Instructor: Ashwin Machanavajjhala Lecture 2 : 590.03 Fall 13 1 Outline Recap


slide-1
SLIDE 1

De-­‑anonymizing ¡Data ¡

CompSci ¡590.03 ¡ Instructor: ¡Ashwin ¡Machanavajjhala ¡

1 ¡ Lecture ¡2 ¡: ¡590.03 ¡Fall ¡13 ¡

Source ¡(h?p://xkcd.org/834/) ¡

slide-2
SLIDE 2

Outline ¡

  • Recap ¡
  • Algorithmically ¡De-­‑anonymizing ¡NeLlix ¡Data ¡
  • Algorithmically ¡De-­‑anonymizing ¡Social ¡Networks ¡

– Passive ¡A?acks ¡ – AcQve ¡A?acks ¡

Lecture ¡2 ¡: ¡590.03 ¡Fall ¡13 ¡ 2 ¡

slide-3
SLIDE 3

StaQsQcal ¡Privacy ¡(Untrusted ¡Collector) ¡Problem ¡

3 ¡

Individual ¡ ¡ ¡1 ¡ r1 ¡ Individual ¡ ¡ ¡2 ¡ r2 ¡ Individual ¡ ¡ ¡3 ¡ r3 ¡ Individual ¡ ¡ ¡N ¡ rN ¡

Server ¡

DB ¡

¡f ¡( ¡ ¡ ¡ ¡ ¡ ¡) ¡

Lecture ¡2 ¡: ¡590.03 ¡Fall ¡13 ¡

slide-4
SLIDE 4

Randomized ¡Response ¡

  • Flip ¡a ¡coin ¡ ¡

– heads ¡with ¡probability ¡p, ¡and ¡ ¡ – tails ¡with ¡probability ¡1-­‑p ¡(p ¡> ¡½) ¡

  • Answer ¡quesQon ¡according ¡to ¡the ¡following ¡table: ¡ ¡

Lecture ¡2 ¡: ¡590.03 ¡Fall ¡13 ¡ 4 ¡

True ¡Answer ¡= ¡Yes ¡ True ¡Answer ¡= ¡No ¡ Heads ¡ Yes ¡ No ¡ Tails ¡ No ¡ Yes ¡

slide-5
SLIDE 5

UQlity ¡Analysis ¡

  • ¡π: ¡True ¡fracQon ¡of ¡respondents ¡answering ¡“yes” ¡ ¡
  • ¡p: ¡Probability ¡coin ¡falls ¡heads ¡
  • Yi ¡= ¡1, ¡ ¡ ¡if ¡the ¡ith ¡respondent ¡says ¡“yes” ¡

¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡= ¡0, ¡ ¡if ¡the ¡ith ¡respondent ¡says ¡“no” ¡ ¡ P(Yi ¡= ¡1) ¡= ¡(True ¡answer ¡= ¡yes ¡AND ¡coin ¡= ¡heads) ¡OR ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡(True ¡answer ¡= ¡no ¡ ¡AND ¡coin ¡= ¡tails) ¡ ¡ ¡ ¡ ¡ ¡= ¡πp ¡+ ¡(1-­‑π)(1-­‑p) ¡= ¡pyes ¡ P(Yi ¡= ¡0) ¡= ¡π(1-­‑p) ¡+ ¡(1-­‑π)p ¡= ¡pno ¡ ¡

Lecture ¡2 ¡: ¡590.03 ¡Fall ¡13 ¡ 5 ¡

Yes ¡ No ¡ Heads ¡ Yes ¡ No ¡ Tails ¡ No ¡ Yes ¡

slide-6
SLIDE 6

UQlity ¡Analysis ¡

  • Suppose ¡n1 ¡out ¡of ¡N ¡people ¡replied ¡“yes”, ¡and ¡rest ¡said ¡“no” ¡
  • What ¡is ¡the ¡best ¡esQmate ¡for ¡π ¡? ¡ ¡
  • Likelihood: ¡L ¡= ¡nCn1 ¡ ¡pyes

n1 ¡pno (n-­‑n1) ¡ ¡ ¡

  • Most ¡likely ¡value ¡of ¡π: ¡ ¡(by ¡sefng ¡dL/dπ ¡= ¡0) ¡

¡ πhat ¡= ¡{n1/n ¡– ¡(1-­‑p)}/(2p-­‑1) ¡

Lecture ¡2 ¡: ¡590.03 ¡Fall ¡13 ¡ 6 ¡

slide-7
SLIDE 7

Privacy ¡

  • Adversary’s ¡prior ¡belief: ¡P(Bob’s ¡true ¡answer ¡is“yes”) ¡= ¡θ ¡
  • Suppose ¡Bob ¡answers ¡“yes”. ¡

P(Bob’s ¡true ¡answer ¡is ¡“yes” ¡| ¡Bob ¡says ¡“yes”) ¡ ¡= ¡P(Bob ¡says ¡“yes” ¡AND ¡ ¡Bob’s ¡true ¡answer ¡is ¡“yes”) ¡/ ¡P(Bob ¡says ¡yes) ¡ ¡ ¡= ¡P(Bob ¡says ¡“yes” ¡| ¡Bob’s ¡true ¡answer ¡is ¡“yes”)P(Bob’s ¡true ¡answer ¡is ¡“yes”) ¡

P(Bob ¡says ¡“yes” ¡| ¡Bob’s ¡true ¡answer ¡is ¡“yes”)P(Bob’s ¡true ¡answer ¡is ¡“yes”) ¡ + ¡P(Bob ¡says ¡“yes” ¡| ¡Bob’s ¡true ¡answer ¡is ¡“no”)P(Bob’s ¡true ¡answer ¡is ¡“no”) ¡ ¡ = ¡pθ ¡/ ¡pθ ¡+ ¡(1-­‑p)(1-­‑θ) ¡ ¡ ¡≤ ¡ ¡p/(1-­‑p) ¡θ ¡

Lecture ¡2 ¡: ¡590.03 ¡Fall ¡13 ¡ 7 ¡

slide-8
SLIDE 8

Privacy ¡

  • Adversary’s ¡prior ¡belief: ¡ ¡

¡P(Bob’s ¡true ¡answer ¡is“yes”) ¡= ¡θ ¡

  • Suppose ¡Bob ¡answers ¡“yes”. ¡

Adversary’s ¡posterior ¡belief: ¡ ¡ ¡ ¡P(Bob’s ¡true ¡answer ¡is ¡“yes” ¡| ¡Bob ¡says ¡“yes”) ¡≤ ¡ ¡p/(1-­‑p) ¡θ ¡

¡ Adversary’s ¡posterior ¡belief ¡is ¡always ¡bounded ¡by ¡p/1-­‑p ¡Fmes ¡the ¡ adversary’s ¡prior ¡belief ¡(irrespecFve ¡of ¡what ¡the ¡prior ¡is) ¡ ¡ ¡

Lecture ¡2 ¡: ¡590.03 ¡Fall ¡13 ¡ 8 ¡

slide-9
SLIDE 9

Privacy ¡vs ¡UQlity ¡tradeoff ¡

  • When ¡p ¡= ¡1 ¡(return ¡truthful ¡answer) ¡ ¡

– p/1-­‑p ¡= ¡infinity ¡: ¡no ¡privacy ¡ – ¡πhat ¡ ¡= ¡ ¡n1/n ¡= ¡true ¡answer ¡

  • When ¡p ¡= ¡½ ¡(return ¡random ¡answer) ¡ ¡

– p/1-­‑p ¡= ¡1: ¡perfect ¡privacy ¡ – ¡We ¡cannot ¡esFmate ¡πhat ¡since ¡the ¡answers ¡are ¡independent ¡of ¡the ¡input. ¡ – Pyes ¡= ¡πp ¡+ ¡(1-­‑π)(1-­‑p) ¡ ¡= ¡½(π ¡+ ¡1 ¡– ¡π) ¡= ¡½ ¡= ¡Pno ¡

Lecture ¡2 ¡: ¡590.03 ¡Fall ¡13 ¡ 9 ¡

slide-10
SLIDE 10

StaQsQcal ¡Privacy ¡(Trusted ¡Collector) ¡Problem ¡

10 ¡

Individual ¡ ¡ ¡1 ¡ r1 ¡ Individual ¡ ¡ ¡2 ¡ r2 ¡ Individual ¡ ¡ ¡3 ¡ r3 ¡ Individual ¡ ¡ ¡N ¡ rN ¡

Server ¡

DB ¡

Lecture ¡2 ¡: ¡590.03 ¡Fall ¡13 ¡

slide-11
SLIDE 11

Query ¡Answering ¡

11 ¡

Individual ¡ ¡ ¡1 ¡ r1 ¡ Individual ¡ ¡ ¡2 ¡ r2 ¡ Individual ¡ ¡ ¡3 ¡ r3 ¡ Individual ¡ ¡ ¡N ¡ rN ¡

Hospital ¡

DB ¡

Lecture ¡2 ¡: ¡590.03 ¡Fall ¡13 ¡

Correlate ¡Genome ¡to ¡disease ¡ How ¡many ¡allergy ¡paDents? ¡

‘ ¡

slide-12
SLIDE 12

Query ¡Answering ¡

  • Need ¡to ¡know ¡the ¡list ¡of ¡quesQons ¡up ¡front ¡
  • Each ¡answer ¡will ¡leak ¡some ¡informaQon ¡about ¡individuals. ¡Arer ¡

answering ¡a ¡few ¡quesQons, ¡server ¡will ¡run ¡out ¡of ¡privacy ¡budget ¡ and ¡not ¡be ¡able ¡to ¡answer ¡any ¡more ¡quesQons. ¡ ¡

  • Will ¡see ¡this ¡in ¡detail ¡later ¡in ¡the ¡course. ¡ ¡

Lecture ¡2 ¡: ¡590.03 ¡Fall ¡13 ¡ 12 ¡

slide-13
SLIDE 13

Anonymous/ ¡SaniQzed ¡Data ¡Publishing ¡

13 ¡

Individual ¡ ¡ ¡1 ¡ r1 ¡ Individual ¡ ¡ ¡2 ¡ r2 ¡ Individual ¡ ¡ ¡3 ¡ r3 ¡ Individual ¡ ¡ ¡N ¡ rN ¡

Hospital ¡

DB ¡

Lecture ¡2 ¡: ¡590.03 ¡Fall ¡13 ¡

I ¡wont ¡tell ¡you ¡what ¡quesDons ¡ ¡ I ¡am ¡interested ¡in! ¡

wriQngcenterunderground.wordpress.com ¡

slide-14
SLIDE 14

Anonymous/ ¡SaniQzed ¡Data ¡Publishing ¡

14 ¡

Individual ¡ ¡ ¡1 ¡ r1 ¡ Individual ¡ ¡ ¡2 ¡ r2 ¡ Individual ¡ ¡ ¡3 ¡ r3 ¡ Individual ¡ ¡ ¡N ¡ rN ¡

Hospital ¡

DB ¡

Lecture ¡2 ¡: ¡590.03 ¡Fall ¡13 ¡

D’B ¡

Answer ¡any ¡# ¡of ¡quesDons ¡ ¡ directly ¡on ¡DB’ ¡without ¡ ¡ any ¡modificaDons. ¡ ¡ ¡

slide-15
SLIDE 15

Naïve ¡AnonymizaQon ¡

  • Remove ¡idenQfying ¡a?ributes ¡from ¡the ¡data ¡

– E.g., ¡Health ¡Insurance ¡Portability ¡and ¡ProtecQon ¡Act ¡ – Remove ¡18 ¡a?ributes ¡regarded ¡as ¡Personally ¡IdenQfying ¡InformaQon ¡(PII) ¡ – Name ¡ – Geography ¡smaller ¡than ¡state ¡ – Date ¡(more ¡detailed ¡than ¡year) ¡ – Tel ¡/ ¡Fax ¡/ ¡email ¡ – SSN ¡ – IDs ¡(Medical ¡record ¡ ¡/ ¡Health ¡insurance ¡/ ¡Accounts/ ¡CerQficates ¡/ ¡Devices) ¡ – Vehicle ¡ID ¡/ ¡License ¡plate ¡ – URLs ¡/ ¡IP ¡addresses ¡ ¡ – Full ¡face ¡photos ¡/ ¡biometrics ¡/ ¡geneQc ¡code ¡ ¡

Lecture ¡2 ¡: ¡590.03 ¡Fall ¡13 ¡ 15 ¡

slide-16
SLIDE 16

Can ¡re-­‑idenQfy ¡individuals ¡using ¡other ¡ datasets ¡… ¡[Sweeney ¡IJUFKS ¡2002] ¡

  • Name ¡
  • SSN ¡
  • Visit ¡Date ¡
  • Diagnosis ¡
  • Procedure ¡
  • MedicaQon ¡
  • Total ¡Charge ¡
  • Name ¡
  • Address ¡
  • Date ¡ ¡

¡ ¡ ¡Registered ¡

  • Party ¡ ¡

¡ ¡ ¡affiliaQon ¡ ¡

  • Date ¡last ¡

¡ ¡ ¡voted ¡

  • Zip
  • Birth

date

  • Sex

Medical ¡Data ¡ Voter ¡List ¡

  • ¡Governor ¡of ¡MA ¡

¡ ¡ ¡ ¡uniquely ¡idenFfied ¡ ¡ ¡ ¡ ¡using ¡ZipCode, ¡ ¡ ¡ ¡ ¡ ¡Birth ¡Date, ¡and ¡Sex. ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡

Quasi ¡IdenFfier ¡

87 ¡% ¡of ¡US ¡populaQon ¡

16 ¡ Lecture ¡2 ¡: ¡590.03 ¡Fall ¡13 ¡

slide-17
SLIDE 17

Today’s ¡class ¡

  • De-­‑anonymizaQon: ¡ ¡

Algorithms ¡for ¡idenQfying ¡individual ¡records ¡and ¡their ¡sensiQve ¡ values ¡from ¡naively ¡anonymized ¡data ¡using ¡background ¡ knowledge ¡(usually ¡other ¡public ¡datasets) ¡ ¡

  • Also ¡called ¡

– Record ¡Linkage ¡ – EnQty ¡ResoluQon ¡ – Fuzzy ¡matching ¡ – … ¡ – See ¡tutorial ¡and ¡lectures ¡in ¡big-­‑data ¡class ¡for ¡more ¡info ¡… ¡

Lecture ¡2 ¡: ¡590.03 ¡Fall ¡13 ¡ 17 ¡

slide-18
SLIDE 18

Outline ¡

  • Recap ¡
  • Algorithmically ¡De-­‑anonymizing ¡NeLlix ¡Data ¡
  • Algorithmically ¡De-­‑anonymizing ¡Social ¡Networks ¡

– Passive ¡A?acks ¡ – AcQve ¡A?acks ¡

Lecture ¡2 ¡: ¡590.03 ¡Fall ¡13 ¡ 18 ¡

slide-19
SLIDE 19

NeLlix ¡Dataset ¡

Lecture ¡2 ¡: ¡590.03 ¡Fall ¡13 ¡ 19 ¡

3 ¡ 4 ¡ 2 ¡ 1 ¡ 5 ¡ 1 ¡ 1 ¡ 1 ¡ 5 ¡ 5 ¡ 1 ¡ 5 ¡ 2 ¡ 2 ¡ 1 ¡ 4 ¡ 2 ¡ 1 ¡ 4 ¡ 3 ¡ 3 ¡ 5 ¡ 4 ¡ 3 ¡ 1 ¡ 3 ¡ 2 ¡ 4 ¡ Movies ¡ Users ¡ RaFng ¡+ ¡ TimeStamp ¡ Record ¡(r) ¡ Column/A]ribute ¡

Support: ¡Set ¡(or ¡number) ¡

  • f ¡non-­‑null ¡a?ributes ¡in ¡a ¡

record ¡or ¡column ¡

slide-20
SLIDE 20

De-­‑anonymizaQon ¡

  • Suppose ¡we ¡have ¡a ¡table ¡AUX ¡

– <name/id>, ¡set ¡of ¡known ¡movie ¡raQngs ¡ – E.g., ¡a ¡single ¡record ¡about ¡someone ¡you ¡know ¡ – IMDB ¡raQngs ¡which ¡are ¡public ¡ ¡

  • Goal: ¡ ¡

Match ¡individuals ¡in ¡the ¡NeLlix ¡data ¡to ¡individuals ¡in ¡the ¡AUX ¡

Lecture ¡2 ¡: ¡590.03 ¡Fall ¡13 ¡ 20 ¡

slide-21
SLIDE 21

General ¡Strategy ¡for ¡De-­‑AnonymizaQon ¡

  • Inputs: ¡Private ¡database ¡D, ¡and ¡auxiliary ¡informaQon ¡AUX ¡
  • Pairwise ¡Matching: ¡ ¡

Compute ¡the ¡similarity ¡between ¡candidate ¡matching ¡pairs ¡

– Based ¡on ¡a?ributes ¡of ¡the ¡individuals ¡

  • Record ¡Linkage: ¡

For ¡each ¡record ¡in ¡AUX, ¡find ¡the ¡best ¡matching ¡record ¡in ¡D ¡(or ¡no ¡ match) ¡… ¡or ¡vice ¡versa ¡

  • Blocking: ¡IdenQfy ¡obvious ¡non-­‑matches ¡(and ¡exclude ¡them ¡…) ¡

– Remaining ¡set ¡of ¡pairs ¡are ¡candidates ¡matches ¡

Lecture ¡2 ¡: ¡590.03 ¡Fall ¡13 ¡ 21 ¡

slide-22
SLIDE 22

Pairwise ¡Matching ¡Features ¡

  • Comparison ¡Vector ¡γ: ¡ ¡

For ¡two ¡records ¡x ¡and ¡y, ¡compute ¡a ¡vector ¡similarity ¡scores ¡of ¡ component ¡a?ribute. ¡ ¡

– [ ¡ ¡Same ¡raQng ¡for ¡movie ¡X, ¡ ¡ ¡ ¡ ¡ ¡ ¡Same ¡raQng ¡for ¡movie ¡Y, ¡ ¡ ¡ ¡Number ¡of ¡Drama ¡movies ¡rated ¡in ¡both ¡records, ¡ ¡…. ¡ ¡ ¡ ¡] ¡

  • Similarity ¡scores ¡

– Boolean ¡(match ¡or ¡not-­‑match) ¡ – Real ¡values ¡based ¡on ¡distance ¡funcQons ¡ – Real ¡values ¡based ¡on ¡set ¡or ¡vector ¡similarity ¡

Lecture ¡2 ¡: ¡590.03 ¡Fall ¡13 ¡ 22 ¡

slide-23
SLIDE 23

Summary ¡of ¡Matching ¡Features ¡

  • Equality ¡on ¡a ¡boolean ¡predicate ¡
  • Edit ¡distance ¡

– Levenstein, ¡Smith-­‑Waterman, ¡Affine ¡

  • Set ¡similarity ¡

– Jaccard, ¡Dice ¡

  • Vector ¡Based ¡

– Cosine ¡similarity, ¡TFIDF ¡

  • Useful ¡packages: ¡

– SecondString, ¡h?p://secondstring.sourceforge.net/ ¡ – Simmetrics: ¡h?p://sourceforge.net/projects/simmetrics/ ¡ – LingPipe, ¡h?p://alias-­‑i.com/lingpipe/index.html ¡

  • Alignment-­‑based ¡or ¡Two-­‑Qered ¡

– Jaro-­‑Winkler, ¡Sor-­‑TFIDF, ¡Monge-­‑Elkan ¡

  • PhoneQc ¡Similarity ¡

– Soundex ¡

  • TranslaQon-­‑based ¡
  • Numeric ¡distance ¡between ¡values ¡
  • Domain-­‑specific ¡

Lecture ¡2 ¡: ¡590.03 ¡Fall ¡13 ¡ 23 ¡

Permit ¡efficient ¡scalable ¡ implementaFon ¡

slide-24
SLIDE 24

Summary ¡of ¡Matching ¡Features ¡

  • Equality ¡on ¡a ¡boolean ¡predicate ¡
  • Edit ¡distance ¡

– Levenstein, ¡Smith-­‑Waterman, ¡Affine ¡

  • Set ¡similarity ¡

– Jaccard, ¡Dice ¡

  • Vector ¡Based ¡

– Cosine ¡similarity, ¡TFIDF ¡

  • Useful ¡packages: ¡

– SecondString, ¡h?p://secondstring.sourceforge.net/ ¡ – Simmetrics: ¡h?p://sourceforge.net/projects/simmetrics/ ¡ – LingPipe, ¡h?p://alias-­‑i.com/lingpipe/index.html ¡

  • Alignment-­‑based ¡or ¡Two-­‑Qered ¡

– Jaro-­‑Winkler, ¡Sor-­‑TFIDF, ¡Monge-­‑Elkan ¡

  • PhoneQc ¡Similarity ¡

– Soundex ¡

  • TranslaQon-­‑based ¡
  • Numeric ¡distance ¡between ¡values ¡
  • Domain-­‑specific ¡

Good ¡for ¡Names ¡ Good ¡for ¡Text ¡(reviews/ ¡tweets), ¡ sets, ¡class ¡membership, ¡… ¡ Useful ¡for ¡ abbreviaFons, ¡ alternate ¡names. ¡ Handle ¡Typographical ¡ errors ¡

Lecture ¡2 ¡: ¡590.03 ¡Fall ¡13 ¡ 24 ¡

slide-25
SLIDE 25

NeLlix ¡Paper ¡Comparison ¡Vector ¡

  • Given ¡2 ¡records ¡r ¡in ¡D ¡and ¡raux ¡in ¡AUX ¡ ¡

For ¡each ¡movie ¡m, ¡ ¡ ¡ Sim(r[m], ¡raux[m]) ¡= ¡1 ¡ ¡ ¡ ¡ ¡if ¡m ¡was ¡rated ¡in ¡both ¡records ¡with ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡similar ¡values ¡and ¡at ¡similar ¡Qmes ¡ ¡ ¡ ¡= ¡0 ¡ ¡ ¡ ¡ ¡otherwise ¡

Lecture ¡2 ¡: ¡590.03 ¡Fall ¡13 ¡ 25 ¡

slide-26
SLIDE 26

Pairwise ¡Match ¡Score ¡

Problem: ¡Given ¡a ¡vector ¡of ¡component-­‑wise ¡similariQes ¡for ¡a ¡pair ¡of ¡ records ¡(x,y), ¡compute ¡P(x ¡and ¡y ¡match). ¡ ¡ ¡ SoluQons: ¡

  • 1. Weighted ¡sum ¡or ¡average ¡of ¡component-­‑wise ¡similarity ¡scores. ¡

0.05*Sim[m1]+ ¡0.02*Sim[m2] ¡+ ¡0.03*Sim[m3] ¡+ ¡... ¡ ¡ ¡

– How ¡to ¡pick ¡weights. ¡

  • Similarity ¡on ¡a ¡rare ¡a?ribute ¡(rate ¡movie) ¡is ¡more ¡predicQve ¡of ¡match ¡than ¡

similarity ¡on ¡common ¡a?ribute ¡(blockbuster) ¡

¡ ¡ ¡ ¡Threshold ¡determines ¡match ¡or ¡non-­‑match. ¡

– Hard ¡to ¡tune ¡a ¡threshold. ¡ ¡

¡

Lecture ¡2 ¡: ¡590.03 ¡Fall ¡13 ¡ 26 ¡

slide-27
SLIDE 27

Pairwise ¡Match ¡Score ¡

Problem: ¡Given ¡a ¡vector ¡of ¡component-­‑wise ¡similariQes ¡for ¡a ¡pair ¡of ¡ records ¡(x,y), ¡compute ¡P(x ¡and ¡y ¡match). ¡ ¡ ¡ SoluQons: ¡

  • 1. Weighted ¡sum ¡or ¡average ¡of ¡component-­‑wise ¡similarity ¡scores. ¡

Threshold ¡determines ¡match ¡or ¡non-­‑match. ¡ ¡

  • 2. Formulate ¡rules ¡about ¡what ¡consQtutes ¡a ¡match. ¡

– (Sim[m1]> ¡0.7 ¡AND ¡Sim[m2] ¡> ¡0.8) ¡ ¡ OR ¡(Sim[m1]> ¡0.9 ¡AND ¡Sim[m3] ¡> ¡0.9) ¡

– Manually ¡formulaQng ¡the ¡right ¡set ¡of ¡rules ¡is ¡hard. ¡ ¡

Lecture ¡2 ¡: ¡590.03 ¡Fall ¡13 ¡ 27 ¡

slide-28
SLIDE 28

Fellegi ¡& ¡Sunter ¡Model ¡[FS, ¡Science ¡‘69] ¡

  • Record ¡pair: ¡r ¡= ¡(x,y) ¡in ¡A ¡x ¡B ¡
  • γ ¡= ¡γ(r) ¡is ¡a ¡comparison ¡vector ¡

– E.g., ¡γ ¡= ¡[“Is ¡x.name ¡= ¡y.name?”, ¡“Is ¡x.address ¡= ¡y.address?” ¡…] ¡ – Assume ¡binary ¡vector ¡for ¡simplicity ¡

  • M ¡: ¡set ¡of ¡matching ¡pairs ¡of ¡records ¡
  • U ¡: ¡set ¡of ¡non-­‑matching ¡pairs ¡of ¡records ¡

¡

Lecture ¡2 ¡: ¡590.03 ¡Fall ¡13 ¡ 28 ¡

slide-29
SLIDE 29
  • r ¡= ¡(x,y) ¡is ¡record ¡pair, ¡γ ¡is ¡comparison ¡vector, ¡M ¡matches, ¡U ¡non-­‑

matches ¡ ¡

  • Linkage ¡decisions ¡are ¡based ¡on: ¡

¡

  • Linkage ¡Rule: ¡L(tl, ¡tu) ¡

¡ ¡ ¡ ¡

Fellegi ¡& ¡Sunter ¡Model ¡[FS, ¡Science ¡‘69] ¡

Lecture ¡2 ¡: ¡590.03 ¡Fall ¡13 ¡ 29 ¡

tl tU

MATCH ¡ NON-­‑MATCH ¡ UNCERTAIN ¡

slide-30
SLIDE 30

Error ¡due ¡to ¡a ¡Linkage ¡Rule ¡

¡

  • Type ¡I ¡Error: ¡r ¡= ¡(x,y) ¡in ¡U, ¡but ¡the ¡linkage ¡rule ¡calls ¡it ¡a ¡match ¡

¡ ¡

  • Type ¡II ¡Error: ¡r ¡= ¡(x,y) ¡in ¡M, ¡but ¡the ¡linkage ¡rule ¡calls ¡it ¡a ¡non-­‑

match ¡

Lecture ¡2 ¡: ¡590.03 ¡Fall ¡13 ¡ 30 ¡

slide-31
SLIDE 31

OpQmal ¡Linkage ¡Rule ¡

  • L* ¡= ¡(tl*, ¡tu*) ¡is ¡an ¡opQmal ¡decision ¡rule ¡for ¡comparison ¡space ¡Γ ¡

with ¡error ¡bounds ¡μ ¡and ¡λ, ¡if ¡

– L* ¡meets ¡the ¡type ¡I ¡and ¡type ¡II ¡requirements ¡ – L* ¡has ¡the ¡least ¡ ¡condiQonal ¡probabiliQes ¡of ¡not ¡making ¡a ¡decision. ¡ ¡ That ¡is ¡for ¡all ¡other ¡decision ¡rules ¡L ¡(with ¡error ¡bounds ¡μ ¡and ¡λ), ¡ ¡

Lecture ¡2 ¡: ¡590.03 ¡Fall ¡13 ¡ 31 ¡

slide-32
SLIDE 32

Many ¡methods ¡to ¡compute ¡pairwise ¡ matching ¡

  • Fellegi ¡Sunter ¡ ¡

– Assume ¡a?ributes ¡are ¡independent ¡(Naïve ¡Bayes ¡AssumpQon) ¡to ¡simplify ¡ the ¡problem ¡ – Use ¡Training ¡datasets ¡to ¡compute ¡ ¡

  • Think ¡of ¡this ¡as ¡a ¡machine ¡learning ¡classificaQon ¡problem ¡

– Given ¡some ¡training ¡data ¡ – Classify ¡pairs ¡of ¡records ¡as ¡matches ¡or ¡non-­‑matches ¡ – More ¡advanced ¡techniques ¡use ¡acQve ¡learning ¡ ¡

See ¡tutorial ¡for ¡more ¡details ¡… ¡ ¡

Lecture ¡2 ¡: ¡590.03 ¡Fall ¡13 ¡ 32 ¡

slide-33
SLIDE 33

Pairwise ¡Match ¡Score ¡for ¡NeLlix ¡A?ack ¡

Problem: ¡Given ¡a ¡vector ¡of ¡component-­‑wise ¡similariQes ¡for ¡a ¡pair ¡of ¡ records ¡(x,y), ¡compute ¡P(x ¡and ¡y ¡match). ¡ ¡ ¡ SoluQons: ¡

  • 1. Weighted ¡sum ¡or ¡average ¡of ¡component-­‑wise ¡similarity ¡scores. ¡

0.05*Sim[m1]+ ¡0.02*Sim[m2] ¡+ ¡0.03*Sim[m3] ¡+ ¡... ¡ ¡ ¡

– How ¡to ¡pick ¡weights. ¡

  • Similarity ¡on ¡a ¡rare ¡a?ribute ¡(rate ¡movie) ¡is ¡more ¡predicQve ¡of ¡match ¡than ¡

similarity ¡on ¡common ¡a?ribute ¡(blockbuster) ¡

¡ ¡ ¡ ¡Threshold ¡determines ¡match ¡or ¡non-­‑match. ¡

– Hard ¡to ¡tune ¡a ¡threshold. ¡ ¡

¡

Lecture ¡2 ¡: ¡590.03 ¡Fall ¡13 ¡ 33 ¡

SCHEME ¡USED ¡IN ¡NETFLIX ¡ATTACK ¡ ¡ Wt ¡= ¡1/log(support(m)) ¡

slide-34
SLIDE 34

General ¡Strategy ¡for ¡De-­‑AnonymizaQon ¡

  • Inputs: ¡Private ¡database ¡D, ¡and ¡auxiliary ¡informaQon ¡AUX ¡
  • Pairwise ¡Matching: ¡ ¡

Compute ¡the ¡similarity ¡between ¡candidate ¡matching ¡pairs ¡

– Based ¡on ¡a?ributes ¡of ¡the ¡individuals ¡

  • Record ¡Linkage: ¡

For ¡each ¡record ¡in ¡AUX, ¡find ¡the ¡best ¡matching ¡record ¡in ¡D ¡(or ¡no ¡ match) ¡… ¡or ¡vice ¡versa ¡

  • Blocking: ¡IdenQfy ¡obvious ¡non-­‑matches ¡(and ¡exclude ¡them ¡…) ¡

– Remaining ¡set ¡of ¡pairs ¡are ¡candidates ¡matches ¡

Lecture ¡2 ¡: ¡590.03 ¡Fall ¡13 ¡ 34 ¡

slide-35
SLIDE 35

Record ¡Linkage ¡

  • Want ¡to ¡find ¡the ¡best ¡matching ¡between ¡AUX ¡and ¡D ¡… ¡
  • … ¡but ¡pairwise ¡matching ¡may ¡result ¡in ¡2 ¡records ¡in ¡AUX ¡having ¡a ¡

high ¡probability ¡of ¡matching ¡the ¡same ¡record ¡in ¡D ¡

Lecture ¡2 ¡: ¡590.03 ¡Fall ¡13 ¡ 35 ¡

slide-36
SLIDE 36

Record ¡Linkage ¡

SoluQons: ¡

  • Pick ¡the ¡best ¡match ¡such ¡that ¡second ¡best ¡match ¡has ¡a ¡very ¡low ¡

score ¡… ¡(NETFLIX ¡ATTACK ¡SOLUTION) ¡

  • BiparQte ¡Matching ¡

– Edge ¡weights: ¡log ¡odd ¡of ¡matching ¡

Lecture ¡2 ¡: ¡590.03 ¡Fall ¡13 ¡ 36 ¡

Weighted ¡ ¡Edges ¡

slide-37
SLIDE 37

General ¡Strategy ¡for ¡De-­‑AnonymizaQon ¡

  • Inputs: ¡Private ¡database ¡D, ¡and ¡auxiliary ¡informaQon ¡AUX ¡

¡

  • Pairwise ¡Matching: ¡ ¡

Compute ¡the ¡similarity ¡between ¡candidate ¡matching ¡pairs ¡

– Based ¡on ¡a?ributes ¡of ¡the ¡individuals ¡

  • Record ¡Linkage: ¡

For ¡each ¡record ¡in ¡AUX, ¡find ¡the ¡best ¡matching ¡record ¡in ¡D ¡(or ¡no ¡ match) ¡… ¡or ¡vice ¡versa ¡

  • Blocking: ¡IdenQfy ¡obvious ¡non-­‑matches ¡(and ¡exclude ¡them ¡…) ¡

– Remaining ¡set ¡of ¡pairs ¡are ¡candidates ¡matches ¡

Lecture ¡2 ¡: ¡590.03 ¡Fall ¡13 ¡ 37 ¡

slide-38
SLIDE 38

Blocking ¡

  • Number ¡of ¡pairs ¡of ¡records ¡= ¡|AUX| ¡x ¡|D| ¡

– Techniques ¡can ¡be ¡inefficient ¡when ¡these ¡databases ¡are ¡very ¡large ¡

  • Blocking ¡ ¡

– IdenQfy ¡pairs ¡of ¡records ¡that ¡don’t ¡match ¡(with ¡very ¡high ¡probability) ¡

  • Example: ¡minHashing ¡

Lecture ¡2 ¡: ¡590.03 ¡Fall ¡13 ¡ 38 ¡

Set ¡of ¡all ¡Pairs ¡

  • f ¡Records ¡ ¡

Matching ¡Pairs ¡

  • f ¡Records ¡ ¡

Pairs ¡of ¡Records ¡ ¡ saFsfying ¡ ¡ Blocking ¡criterion ¡

slide-39
SLIDE 39

minHash ¡(Minwise ¡Independent ¡PermutaQons) ¡

  • Let ¡Fx ¡be ¡a ¡set ¡of ¡features ¡for ¡menQon ¡x ¡

– (predicates ¡of) ¡a?ribute ¡values ¡ – character ¡ngrams ¡ – opQmal ¡blocking ¡funcQons ¡… ¡ ¡

  • Let ¡π ¡be ¡a ¡random ¡permutaQon ¡of ¡features ¡in ¡Fx ¡

– E.g., ¡order ¡imposed ¡by ¡a ¡random ¡hash ¡funcQon ¡

  • minHash(x) ¡= ¡minimum ¡element ¡in ¡Fx ¡according ¡to ¡π ¡

¡

Lecture ¡2 ¡: ¡590.03 ¡Fall ¡13 ¡ 39 ¡

slide-40
SLIDE 40

Blocking ¡based ¡on ¡minHash ¡

¡Surprising ¡property: ¡For ¡a ¡random ¡permutaQon ¡π, ¡ ¡ ¡ ¡ ¡ ¡How ¡to ¡build ¡a ¡blocking ¡scheme ¡such ¡that ¡only ¡pairs ¡with ¡ Jacquard ¡similarity ¡> ¡s ¡fall ¡in ¡the ¡same ¡block ¡(with ¡high ¡prob)? ¡ ¡

` ¡ Probability ¡that ¡ ¡ (x,y) ¡menFons ¡are ¡ ¡ blocked ¡together ¡ Similarity(x,y) ¡

Lecture ¡2 ¡: ¡590.03 ¡Fall ¡13 ¡ 40 ¡

slide-41
SLIDE 41

Locality ¡SensiQve ¡Hashing ¡FuncQons ¡

Suppose ¡d ¡is ¡a ¡distance ¡metric ¡on ¡a ¡domain. ¡ ¡ A ¡family ¡of ¡funcQons ¡F ¡is ¡said ¡to ¡be ¡(d1, ¡d2, ¡p1, ¡p2)-­‑sensiDve ¡if ¡for ¡all ¡ f ¡in ¡F, ¡ ¡

  • If ¡d(x,y) ¡< ¡d1, ¡ ¡

¡ ¡then ¡P[f(x) ¡= ¡f(y)] ¡> ¡p1 ¡

  • If ¡d(x,y) ¡> ¡d2, ¡ ¡

¡ ¡then ¡P[f(x) ¡= ¡f(y)] ¡< ¡p2 ¡

Lecture ¡2 ¡: ¡590.03 ¡Fall ¡13 ¡ 41 ¡

Probabilty

  • f being

declared a candidate d p d p

1 2 1 2

Distance

slide-42
SLIDE 42

Locality ¡sensiQve ¡family ¡for ¡Jaccard ¡

  • Jaccard ¡distance ¡= ¡1-­‑ ¡Jaccard ¡similarity ¡= ¡ ¡
  • minHash ¡is ¡one ¡example ¡of ¡locality ¡sensiQve ¡family ¡that ¡can ¡

strongly ¡disQnguish ¡pairs ¡that ¡are ¡close ¡from ¡pairs ¡that ¡are ¡far. ¡

  • The ¡family ¡of ¡minHash ¡funcQons ¡is ¡a ¡(d1, ¡d2, ¡1-­‑d1, ¡1-­‑d2)-­‑sensiQve ¡

family ¡for ¡the ¡Jaccard ¡distance. ¡ ¡

Lecture ¡2 ¡: ¡590.03 ¡Fall ¡13 ¡ 42 ¡

slide-43
SLIDE 43

Blocking ¡using ¡minHashes ¡

¡

  • Compute ¡minHashes ¡using ¡r ¡* ¡k ¡permutaQons ¡(hash ¡funcQons) ¡ ¡
  • Signature’s ¡that ¡match ¡on ¡1 ¡out ¡of ¡k ¡bands, ¡go ¡to ¡the ¡same ¡block. ¡ ¡

k ¡blocks ¡ Band ¡of ¡r ¡minHashes ¡

Lecture ¡2 ¡: ¡590.03 ¡Fall ¡13 ¡ 43 ¡

slide-44
SLIDE 44

minHash ¡Analysis ¡

  • Let ¡F ¡be ¡a ¡(0.2, ¡0.6, ¡0.8, ¡0.4)-­‑sensiQve ¡family ¡of ¡minHash ¡funcQons ¡

– Pairs ¡with ¡Jaccard ¡similarity ¡> ¡0.8 ¡are ¡close, ¡ ¡ and ¡similarity ¡< ¡0.4 ¡are ¡far ¡

  • Let ¡F1 ¡be ¡the ¡family ¡constructed ¡using ¡a ¡“band ¡of ¡r=5 ¡

minHashes” ¡(AND ¡construcFon ¡on ¡F) ¡

– F1 ¡is ¡(0.2, ¡0.6, ¡0.85, ¡0.45) ¡= ¡(0.2, ¡0.6, ¡0.328, ¡0.01)-­‑sensiQve ¡

Lecture ¡2 ¡: ¡590.03 ¡Fall ¡13 ¡ 44 ¡

‘Far’ ¡objects ¡are ¡blocked ¡ together ¡with ¡very ¡low ¡ probability ¡

slide-45
SLIDE 45

minHash ¡Analysis ¡

  • F ¡is ¡(0.2, ¡0.6, ¡0.8, ¡0.4)-­‑sensiQve ¡minHash ¡
  • F1 ¡is ¡a ¡“band ¡of ¡r=5 ¡minHashes” ¡(AND ¡construcFon ¡on ¡F) ¡

– F1 ¡is ¡(0.2, ¡0.6, ¡0.85, ¡0.45) ¡= ¡(0.2, ¡0.6, ¡0.328, ¡0.01)-­‑sensiQve ¡

  • Let ¡F2 ¡be ¡the ¡family ¡constructed ¡using ¡“k ¡=20 ¡bands ¡of ¡r=5 ¡

minHashes ¡each” ¡(OR ¡construcFon ¡on ¡F1) ¡

– F2 ¡is ¡(0.2, ¡0.6, ¡1 ¡– ¡(1-­‑0.85)10, ¡1 ¡– ¡(1-­‑0.45)10) ¡ ¡ ¡ ¡= ¡(0.2, ¡0.6, ¡0.98,0.09)-­‑sensiQve ¡

Lecture ¡2 ¡: ¡590.03 ¡Fall ¡13 ¡ 45 ¡

‘Far’ ¡objects ¡are ¡blocked ¡ together ¡with ¡very ¡low ¡ probability ¡ ‘Close’ ¡objects ¡are ¡blocked ¡ together ¡with ¡very ¡high ¡ probability ¡

slide-46
SLIDE 46

minHash ¡Analysis ¡

  • F ¡is ¡minHash ¡family ¡

– (0.2, ¡0.6, ¡0.8, ¡0.4)-­‑sensiQve ¡ ¡

  • F1 ¡is ¡a ¡“band ¡of ¡r=5 ¡minHashes” ¡ ¡

– (0.2, ¡0.6, ¡0.328, ¡0.01)-­‑sensiQve ¡

  • F2 ¡is ¡“k ¡=20 ¡bands ¡of ¡r=5 ¡minHashes ¡ ¡

each” ¡

– (0.2, ¡0.6, ¡0.98,0.09)-­‑sensiQve ¡

Lecture ¡2 ¡: ¡590.03 ¡Fall ¡13 ¡ 46 ¡

Sim(s) ¡ P(same ¡block) ¡ 0.9 ¡ 0.9986 ¡ 0.8 ¡ 0.98 ¡ 0.7 ¡ 0.84 ¡ 0.6 ¡ 0.55 ¡ 0.5 ¡ 0.27 ¡ 0.4 ¡ 0.09 ¡ 0.3 ¡ 0.02 ¡ 0.2 ¡ 0.003 ¡ 0.1 ¡ 0.00009 ¡

slide-47
SLIDE 47

Summary ¡of ¡General ¡De-­‑anonymizaQon ¡

Pairwise ¡Matching: ¡

  • Construct ¡a ¡comparison ¡vector ¡between ¡every ¡pair ¡of ¡records ¡
  • Compute ¡a ¡similarity ¡score ¡between ¡records ¡based ¡on ¡the ¡

comparison ¡vector ¡ Record ¡Linkage: ¡

  • Create ¡1-­‑1 ¡mappings ¡(or ¡say ¡no ¡match) ¡
  • BiparQte ¡matching ¡(or ¡greedy ¡heurisQcs) ¡

Blocking: ¡ ¡

  • Eliminates ¡obvious ¡non-­‑matches ¡for ¡efficient ¡de-­‑anonymizaQon ¡
  • minHashing ¡allows ¡designing ¡effecQve ¡blocking ¡criteria ¡

Lecture ¡2 ¡: ¡590.03 ¡Fall ¡13 ¡ 47 ¡

slide-48
SLIDE 48

Back ¡to ¡NeLlix ¡A?ack ¡

  • Pairwise ¡Matching: ¡ ¡

– Comparison ¡Vector: ¡for ¡each ¡movie, ¡1 ¡if ¡similar ¡raQngs ¡at ¡similar ¡Qmes ¡in ¡ both ¡records ¡ – Weighted ¡sum: ¡weights ¡inversely ¡proporQonal ¡to ¡popularity ¡of ¡movie ¡ – Threshold: ¡prespecified ¡α ¡

  • Record ¡Linkage: ¡

– Best ¡score: ¡Pick ¡the ¡record ¡in ¡D ¡with ¡highest ¡score ¡such ¡that ¡second ¡highest ¡ score ¡is ¡much ¡smaller ¡

  • Blocking: ¡NONE ¡

Lecture ¡2 ¡: ¡590.03 ¡Fall ¡13 ¡ 48 ¡

slide-49
SLIDE 49

Analysis ¡

Theorem ¡1: ¡Consider ¡a ¡matching ¡threshold ¡α ¡= ¡1 ¡– ¡ε. ¡If ¡the ¡auxiliary ¡ record ¡r ¡contains ¡m ¡randomly ¡chosen ¡a?ributes ¡s.t. ¡ ¡ ¡ ¡ ¡ ¡Then ¡the ¡best ¡matching ¡record ¡r’ ¡in ¡D ¡is ¡such ¡that ¡ ¡ ¡

Pr ¡[Sim(r, ¡r’) ¡ ¡> ¡1 ¡– ¡ε ¡– ¡δ ¡ ¡] ¡> ¡1 ¡– ¡ε ¡

Lecture ¡2 ¡: ¡590.03 ¡Fall ¡13 ¡ 49 ¡

slide-50
SLIDE 50

Summary ¡of ¡NeLlix ¡Paper ¡

  • Adversary ¡can ¡use ¡a ¡subset ¡of ¡raQngs ¡made ¡by ¡a ¡user ¡to ¡uniquely ¡

idenQfy ¡the ¡user’s ¡record ¡from ¡the ¡“anonymized” ¡dataset ¡with ¡ high ¡probability ¡

  • Simple ¡algorithm ¡provably ¡guarantees ¡idenQficaQon ¡of ¡records ¡in ¡

the ¡NeLlix ¡dataset. ¡

  • IdenQficaQon ¡is ¡possible ¡even ¡if ¡records ¡in ¡AUX ¡do ¡not ¡exactly ¡

match ¡records ¡in ¡D ¡

Lecture ¡2 ¡: ¡590.03 ¡Fall ¡13 ¡ 50 ¡

slide-51
SLIDE 51

Outline ¡

  • Recap ¡& ¡Intro ¡to ¡AnonymizaQon ¡

¡

  • Algorithmically ¡De-­‑anonymizing ¡NeLlix ¡Data ¡
  • Algorithmically ¡De-­‑anonymizing ¡Social ¡Networks ¡

– Passive ¡A?acks ¡ – AcQve ¡A?acks ¡

Lecture ¡2 ¡: ¡590.03 ¡Fall ¡13 ¡ 51 ¡

slide-52
SLIDE 52

Social ¡Network ¡Data ¡

  • Social ¡networks: ¡graphs ¡where ¡each ¡node ¡represents ¡a ¡social ¡

enQty, ¡and ¡each ¡edge ¡represents ¡certain ¡relaQonship ¡between ¡two ¡ enQQes ¡

  • Example: ¡email ¡communicaQon ¡graphs, ¡social ¡interacQons ¡like ¡in ¡

Facebook, ¡Yahoo! ¡Messenger, ¡etc. ¡ ¡

52 ¡ Lecture ¡2 ¡: ¡590.03 ¡Fall ¡13 ¡

slide-53
SLIDE 53

Anonymizing ¡Social ¡Networks ¡ ¡

  • Naïve ¡anonymizaQon ¡

– removes ¡the ¡label ¡of ¡each ¡node ¡and ¡publish ¡only ¡the ¡structure ¡of ¡the ¡ network ¡

  • InformaQon ¡Leaks ¡

– Nodes ¡may ¡sQll ¡be ¡re-­‑idenQfied ¡based ¡on ¡network ¡structure ¡ Alice ¡ Ed ¡ Bob ¡ Fred ¡ Cathy ¡ Grace ¡ Diane ¡

53 ¡ Lecture ¡2 ¡: ¡590.03 ¡Fall ¡13 ¡

slide-54
SLIDE 54

Passive ¡A?acks ¡on ¡an ¡Anonymized ¡ Network ¡

  • Consider ¡the ¡above ¡email ¡communicaQon ¡graph ¡

– Each ¡node ¡represents ¡an ¡individual ¡ – Each ¡edge ¡between ¡two ¡individuals ¡indicates ¡that ¡they ¡have ¡exchanged ¡ emails ¡ Alice ¡ Ed ¡ Bob ¡ Fred ¡ Cathy ¡ Grace ¡ Diane ¡

54 ¡ Lecture ¡2 ¡: ¡590.03 ¡Fall ¡13 ¡

slide-55
SLIDE 55

Passive ¡A?acks ¡on ¡an ¡Anonymized ¡ Network ¡

  • Alice ¡has ¡sent ¡emails ¡to ¡three ¡individuals ¡only ¡

Alice ¡ Ed ¡ Bob ¡ Fred ¡ Cathy ¡ Grace ¡ Diane ¡

55 ¡ Lecture ¡2 ¡: ¡590.03 ¡Fall ¡13 ¡

slide-56
SLIDE 56

Passive ¡A?acks ¡on ¡an ¡Anonymized ¡ Network ¡

  • Alice ¡has ¡sent ¡emails ¡to ¡three ¡individuals ¡only ¡ ¡
  • Only ¡one ¡node ¡in ¡the ¡anonymized ¡network ¡has ¡a ¡degree ¡three ¡
  • Hence, ¡Alice ¡can ¡re-­‑idenQfy ¡herself ¡

Alice ¡ Ed ¡ Bob ¡ Fred ¡ Cathy ¡ Grace ¡ Diane ¡

56 ¡ Lecture ¡2 ¡: ¡590.03 ¡Fall ¡13 ¡

slide-57
SLIDE 57

Passive ¡A?acks ¡on ¡an ¡Anonymized ¡ Network ¡

  • Cathy ¡has ¡sent ¡emails ¡to ¡five ¡individuals ¡

Alice ¡ Ed ¡ Bob ¡ Fred ¡ Cathy ¡ Grace ¡ Diane ¡

57 ¡ Lecture ¡2 ¡: ¡590.03 ¡Fall ¡13 ¡

slide-58
SLIDE 58

Passive ¡A?acks ¡on ¡an ¡Anonymized ¡ Network ¡

  • Cathy ¡has ¡sent ¡emails ¡to ¡five ¡individuals ¡
  • Only ¡one ¡node ¡has ¡a ¡degree ¡five ¡
  • Hence, ¡Cathy ¡can ¡re-­‑idenQfy ¡herself ¡

Alice ¡ Ed ¡ Bob ¡ Fred ¡ Cathy ¡ Grace ¡ Diane ¡

58 ¡ Lecture ¡2 ¡: ¡590.03 ¡Fall ¡13 ¡

slide-59
SLIDE 59

Passive ¡A?acks ¡on ¡an ¡Anonymized ¡ Network ¡

  • Now ¡consider ¡that ¡Alice ¡and ¡Cathy ¡share ¡their ¡knowledge ¡about ¡

the ¡anonymized ¡network ¡

  • What ¡can ¡they ¡learn ¡about ¡the ¡other ¡individuals? ¡

Alice ¡ Ed ¡ Bob ¡ Fred ¡ Cathy ¡ Grace ¡ Diane ¡

59 ¡ Lecture ¡2 ¡: ¡590.03 ¡Fall ¡13 ¡

slide-60
SLIDE 60

Passive ¡A?acks ¡on ¡an ¡Anonymized ¡ Network ¡

  • First, ¡Alice ¡and ¡Cathy ¡know ¡that ¡only ¡Bob ¡have ¡sent ¡emails ¡to ¡both ¡
  • f ¡them ¡

Alice ¡ Ed ¡ Bob ¡ Fred ¡ Cathy ¡ Grace ¡ Diane ¡

60 ¡ Lecture ¡2 ¡: ¡590.03 ¡Fall ¡13 ¡

slide-61
SLIDE 61

Passive ¡A?acks ¡on ¡an ¡Anonymized ¡ Network ¡

  • First, ¡Alice ¡and ¡Cathy ¡know ¡that ¡only ¡Bob ¡have ¡sent ¡emails ¡to ¡both ¡
  • f ¡them ¡
  • Bob ¡can ¡be ¡idenQfied ¡

Alice ¡ Ed ¡ Bob ¡ Fred ¡ Cathy ¡ Grace ¡ Diane ¡

61 ¡ Lecture ¡2 ¡: ¡590.03 ¡Fall ¡13 ¡

slide-62
SLIDE 62

Passive ¡A?acks ¡on ¡an ¡Anonymized ¡ Network ¡

  • Alice ¡has ¡sent ¡emails ¡to ¡Bob, ¡Cathy, ¡and ¡Ed ¡only ¡

Alice ¡ Ed ¡ Bob ¡ Fred ¡ Cathy ¡ Grace ¡ Diane ¡

62 ¡ Lecture ¡2 ¡: ¡590.03 ¡Fall ¡13 ¡

slide-63
SLIDE 63

Passive ¡A?acks ¡on ¡an ¡Anonymized ¡ Network ¡

  • Alice ¡has ¡sent ¡emails ¡to ¡Bob, ¡Cathy, ¡and ¡Ed ¡only ¡
  • Ed ¡can ¡be ¡idenQfied ¡

Alice ¡ Ed ¡ Bob ¡ Fred ¡ Cathy ¡ Grace ¡ Diane ¡

63 ¡ Lecture ¡2 ¡: ¡590.03 ¡Fall ¡13 ¡

slide-64
SLIDE 64

Passive ¡A?acks ¡on ¡an ¡Anonymized ¡ Network ¡

  • Alice ¡and ¡Cathy ¡can ¡learn ¡that ¡Bob ¡and ¡Ed ¡are ¡connected ¡

Alice ¡ Ed ¡ Bob ¡ Fred ¡ Cathy ¡ Grace ¡ Diane ¡

64 ¡ Lecture ¡2 ¡: ¡590.03 ¡Fall ¡13 ¡

slide-65
SLIDE 65

Passive ¡A?acks ¡on ¡an ¡Anonymized ¡ Network ¡

  • The ¡above ¡a?ack ¡is ¡based ¡on ¡knowledge ¡about ¡degrees ¡of ¡nodes. ¡

[Liu ¡and ¡Terzi, ¡SIGMOD ¡2008] ¡

  • More ¡sophisQcated ¡a?acks ¡can ¡be ¡launched ¡given ¡addiQonal ¡

knowledge ¡about ¡the ¡network ¡structure, ¡e.g., ¡a ¡subgraph ¡of ¡the ¡

  • network. ¡

[Zhou ¡and ¡Pei, ¡ICDE ¡2008, ¡Hay ¡et ¡ ¡al., ¡VLDB ¡2008, ¡] ¡

  • ProtecQng ¡privacy ¡becomes ¡even ¡more ¡challenging ¡when ¡the ¡

nodes ¡in ¡the ¡anonymized ¡network ¡are ¡labeled. ¡ [Pang ¡et ¡al., ¡SIGCOMM ¡CCR ¡2006] ¡

65 ¡ Lecture ¡2 ¡: ¡590.03 ¡Fall ¡13 ¡

slide-66
SLIDE 66

Inferring ¡SensiQve ¡Values ¡on ¡a ¡Network ¡

  • Each ¡individual ¡has ¡a ¡single ¡sensiQve ¡a?ribute. ¡

– Some ¡individuals ¡share ¡the ¡sensiQve ¡a?ribute, ¡while ¡others ¡keep ¡it ¡private ¡

  • GOAL: ¡Infer ¡the ¡private ¡ ¡

sensiFve ¡a]ributes ¡using ¡

– Links ¡in ¡the ¡social ¡network ¡ – Groups ¡that ¡the ¡individuals ¡ ¡ belong ¡to ¡ ¡

  • Approach: ¡Learn ¡a ¡predicQve ¡model ¡(think ¡classifier) ¡using ¡public ¡

profiles ¡as ¡training ¡data. ¡[Zheleva ¡and ¡Getoor, ¡WWW ¡2009] ¡

66 ¡ Lecture ¡2 ¡: ¡590.03 ¡Fall ¡13 ¡

slide-67
SLIDE 67

Inferring ¡SensiQve ¡Values ¡on ¡a ¡Network ¡ ¡

  • Baseline: ¡Most ¡commonly ¡appearing ¡sensiQve ¡value ¡amongst ¡all ¡

public ¡profiles. ¡

67 ¡ Lecture ¡2 ¡: ¡590.03 ¡Fall ¡13 ¡

slide-68
SLIDE 68

Inferring ¡SensiQve ¡Values ¡on ¡a ¡Network ¡ ¡

  • LINK: ¡Each ¡node ¡x ¡has ¡a ¡list ¡of ¡binary ¡features ¡Lx, ¡one ¡for ¡every ¡

node ¡in ¡the ¡social ¡network. ¡

– Feature ¡value ¡Lx[y] ¡= ¡1 ¡if ¡and ¡only ¡if ¡(x,y) ¡is ¡an ¡edge. ¡ ¡ – Train ¡a ¡model ¡on ¡all ¡pairs ¡(Lx, ¡sensiDve ¡value(x)), ¡for ¡x’s ¡with ¡public ¡ sensiQve ¡values. ¡ – Use ¡learnt ¡model ¡to ¡predict ¡private ¡sensiQve ¡values ¡

68 ¡ Lecture ¡2 ¡: ¡590.03 ¡Fall ¡13 ¡

slide-69
SLIDE 69

Inferring ¡SensiQve ¡Values ¡on ¡a ¡Network ¡ ¡

  • GROUP: ¡Each ¡node ¡x ¡has ¡a ¡list ¡of ¡binary ¡features ¡Gx, ¡one ¡for ¡every ¡

group ¡in ¡the ¡social ¡network. ¡

– Feature ¡value ¡Gx[y] ¡= ¡1 ¡if ¡and ¡only ¡if ¡x ¡belongs ¡to ¡group ¡y. ¡ ¡ – Train ¡a ¡model ¡on ¡all ¡pairs ¡(Gx, ¡sensiDve ¡value(x)), ¡where ¡x’s ¡sensiQve ¡value ¡ is ¡public. ¡ – Use ¡model ¡to ¡predict ¡private ¡sensiQve ¡values ¡

69 ¡ Lecture ¡2 ¡: ¡590.03 ¡Fall ¡13 ¡

slide-70
SLIDE 70

Inferring ¡SensiQve ¡Values ¡on ¡a ¡Network ¡ ¡

Flickr ¡ ¡ (LocaFon) ¡ Facebook ¡ (Gender) ¡ Facebook ¡ (PoliFcal ¡View) ¡ Dogster ¡ ¡ (Dog ¡Breed) ¡ Baseline ¡ 27.7% 50% 56.5% 28.6% LINK ¡ 56.5% 68.6% 58.1% 60.2% GROUP ¡ 83.6% 77.2% 46.6% 82.0%

[Zheleva ¡and ¡Getoor, ¡WWW ¡2009] ¡

70 ¡ Lecture ¡2 ¡: ¡590.03 ¡Fall ¡13 ¡

slide-71
SLIDE 71

AcQve ¡A?acks ¡on ¡Social ¡Networks ¡

[Backstrom ¡et ¡al., ¡WWW ¡2007] ¡ ¡

  • A?acker ¡may ¡create ¡a ¡few ¡nodes ¡in ¡the ¡graph ¡

– Creates ¡a ¡few ¡‘fake’ ¡Facebook ¡user ¡accounts. ¡

  • A?acker ¡may ¡add ¡edges ¡from ¡the ¡new ¡nodes. ¡ ¡

– Create ¡friends ¡using ¡‘fake’ ¡accounts. ¡ ¡

  • Goal: ¡Discover ¡an ¡edge ¡between ¡two ¡legiQmate ¡users. ¡ ¡

71 ¡ Lecture ¡2 ¡: ¡590.03 ¡Fall ¡13 ¡

slide-72
SLIDE 72

High ¡Level ¡View ¡of ¡A?ack ¡

  • Step ¡1: ¡Create ¡a ¡graph ¡structure ¡with ¡the ¡‘fake’ ¡nodes ¡such ¡that ¡it ¡

can ¡be ¡idenQfied ¡in ¡the ¡anonymous ¡data. ¡

72 ¡ Lecture ¡2 ¡: ¡590.03 ¡Fall ¡13 ¡

slide-73
SLIDE 73

High ¡Level ¡View ¡of ¡A?ack ¡

  • Step ¡2: ¡Add ¡edges ¡from ¡the ¡‘fake’ ¡nodes ¡to ¡real ¡nodes. ¡ ¡

73 ¡ Lecture ¡2 ¡: ¡590.03 ¡Fall ¡13 ¡

slide-74
SLIDE 74

High ¡Level ¡View ¡of ¡A?ack ¡

  • Step ¡3: ¡From ¡the ¡anonymized ¡data, ¡idenQfy ¡fake ¡graph ¡due ¡to ¡its ¡

special ¡graph ¡structure. ¡ ¡

74 ¡ Lecture ¡2 ¡: ¡590.03 ¡Fall ¡13 ¡

slide-75
SLIDE 75

High ¡Level ¡View ¡of ¡A?ack ¡

  • Step ¡4: ¡Deduce ¡edges ¡by ¡following ¡links ¡

75 ¡ Lecture ¡2 ¡: ¡590.03 ¡Fall ¡13 ¡

slide-76
SLIDE 76

Details ¡of ¡the ¡A?ack ¡

  • Choose ¡k ¡real ¡users ¡ ¡

W ¡= ¡{w1, ¡…, ¡wk} ¡

  • Create ¡k ¡fake ¡users ¡ ¡

X ¡= ¡{x1, ¡…, ¡xk} ¡

  • Creates ¡edges ¡(xi, ¡wi) ¡
  • Create ¡edges ¡(xi, ¡xi+1) ¡
  • Create ¡all ¡other ¡edges ¡in ¡X ¡

with ¡probability ¡0.5. ¡ Large ¡graph ¡

76 ¡ Lecture ¡2 ¡: ¡590.03 ¡Fall ¡13 ¡

slide-77
SLIDE 77

Why ¡does ¡it ¡work? ¡

  • Given ¡a ¡graph ¡G, ¡and ¡a ¡set ¡of ¡nodes ¡S, ¡G[S] ¡= ¡graph ¡induced ¡by ¡

nodes ¡in ¡S. ¡ ¡

  • There ¡is ¡an ¡isomorphism ¡between ¡two ¡sets ¡of ¡nodes ¡S, ¡S’ ¡if ¡

– There ¡is ¡a ¡funcQon ¡mapping ¡each ¡node ¡in ¡S ¡to ¡a ¡node ¡in ¡S’ ¡ – (u,v) ¡is ¡an ¡edge ¡in ¡G[S] ¡if ¡and ¡only ¡if ¡(f(u), ¡f(v)) ¡is ¡an ¡edge ¡in ¡S’ ¡

  • Isomorphism ¡from ¡S ¡to ¡S ¡is ¡called ¡an ¡automorphism ¡

– Think: ¡permuQng ¡the ¡nodes ¡

Lecture ¡2 ¡: ¡590.03 ¡Fall ¡13 ¡ 77 ¡

slide-78
SLIDE 78

Why ¡does ¡it ¡work? ¡

  • There ¡is ¡no ¡S ¡such ¡that ¡G[S] ¡is ¡ ¡

isomorphic ¡to ¡G[X] ¡(call ¡it ¡H). ¡

  • H ¡can ¡be ¡efficiently ¡found ¡from ¡G. ¡
  • H ¡has ¡no ¡non-­‑trivial ¡automorphisms. ¡

Large ¡graph ¡ (size ¡N) ¡

78 ¡ Lecture ¡2 ¡: ¡590.03 ¡Fall ¡13 ¡

slide-79
SLIDE 79

Recovery ¡

Subgraph ¡isomorphism ¡is ¡NP-­‑hard ¡

– i.e., ¡Finding ¡X ¡could ¡be ¡hard. ¡ ¡

¡ But ¡since ¡X ¡has ¡a ¡path, ¡with ¡random ¡ edges, ¡there ¡is ¡a ¡simple ¡brute ¡force ¡ with ¡pruning ¡search ¡algorithm. ¡ ¡ ¡ Run ¡Time: ¡O(N ¡2O(log ¡log ¡N) ¡ ¡) ¡ Large ¡graph ¡ (size ¡N) ¡

2 ¡

79 ¡ Lecture ¡2 ¡: ¡590.03 ¡Fall ¡13 ¡

slide-80
SLIDE 80

Works ¡in ¡Real ¡Life! ¡

  • LiveJournal ¡– ¡ ¡

4.4 ¡million ¡nodes, ¡ ¡ 77 ¡million ¡edges ¡

  • Success ¡all ¡but ¡guaranteed ¡

by ¡adding ¡10 ¡nodes. ¡

  • Recovery ¡typically ¡takes ¡a ¡
  • second. ¡ ¡

Probability ¡of ¡Successful ¡A]ack ¡ [Backstrom ¡et ¡al., ¡WWW ¡2007] ¡

80 ¡ Lecture ¡2 ¡: ¡590.03 ¡Fall ¡13 ¡

slide-81
SLIDE 81

Summary ¡of ¡Social ¡Networks ¡

  • Nodes ¡in ¡a ¡graph ¡can ¡be ¡re-­‑idenQfied ¡using ¡background ¡

knowledge ¡of ¡the ¡structure ¡of ¡the ¡graph ¡

  • Link ¡and ¡group ¡structure ¡provide ¡valuable ¡informaQon ¡for ¡

accurately ¡inferring ¡private ¡sensiQve ¡values. ¡ ¡ ¡ ¡

  • AcQve ¡a?acks ¡that ¡add ¡nodes ¡and ¡edges ¡are ¡shown ¡to ¡be ¡very ¡
  • successful. ¡ ¡
  • Guarding ¡against ¡these ¡a?acks ¡is ¡an ¡open ¡area ¡for ¡research ¡! ¡

81 ¡ Lecture ¡2 ¡: ¡590.03 ¡Fall ¡13 ¡

slide-82
SLIDE 82

Next ¡Class ¡

  • K-­‑Anonymity ¡+ ¡Algorithms: ¡How ¡to ¡limit ¡de-­‑anonymizaQon? ¡

Lecture ¡2 ¡: ¡590.03 ¡Fall ¡13 ¡ 82 ¡

slide-83
SLIDE 83

References ¡

  • L. ¡Sweeney, ¡“K-­‑Anonymity: ¡a ¡model ¡for ¡protecDng ¡privacy”, ¡IJUFKS ¡2002 ¡
  • A. ¡Narayanan ¡& ¡V. ¡ShmaQkov, ¡“Robust ¡De-­‑anonymizaDon ¡of ¡Large ¡Sparse ¡Datasets”, ¡SSP ¡

2008 ¡

  • L. ¡Backstrom, ¡C. ¡Dwork ¡& ¡J. ¡Kleinberg, ¡“Wherefore ¡art ¡thou ¡r3579x?: ¡anonymized ¡social ¡

networks, ¡hidden ¡paferns, ¡and ¡structural ¡steganography”, ¡WWW ¡2007 ¡

  • E. ¡Zheleva ¡& ¡L. ¡Getoor, ¡“To ¡join ¡or ¡not ¡to ¡join: ¡the ¡illusion ¡of ¡privacy ¡in ¡social ¡networks ¡with ¡

mixed ¡public ¡and ¡private ¡user ¡profiles”, ¡WWW ¡2009 ¡

Lecture ¡2 ¡: ¡590.03 ¡Fall ¡13 ¡ 83 ¡