Upgrade to Pro — share decks privately, control downloads, hide ads and more …

FacePrivacy: Identify A Stranger From A Photogr...

Marco Lancini
February 21, 2011

FacePrivacy: Identify A Stranger From A Photography

This presentation was utilized during the defense of my BSc Thesis @Politecnico di Milano (February 21, 2011).

Thesis: FacePrivacy: Identify A Stranger From A Photography
Supervisors: Stefano Zanero, Federico Maggi

Description: FacePrivacy is an application that wants to demonstrate the possibility of identify a person from a photograph. Leveraging the broad base of photographs on Facebook, it was shown that, appropriately using a face recognition algorithm, it’s possible to violate the privacy of a stranger.

Marco Lancini

February 21, 2011
Tweet

More Decks by Marco Lancini

Other Decks in Research

Transcript

  1. FacePrivacy Risalire all'identità di uno sconosciuto a partire da una

    fotografia Marco Lancini 21 Febbraio 2011 Relatore: Prof. Stefano Zanero Correlatore: Ing. Federico Maggi
  2. 2 Cos’è FacePrivacy è un'applicazione che vuole dimostrare la possibilità

    di risalire all'identità di una persona a partire da una sua fotografia Sfruttando l'ampia base di fotografie presenti su Facebook, si vuole dimostrare che, Nome relatore Marco Lancini utilizzando in modo appropriato un algoritmo di face recognition, è possibile violare la privacy di uno sconosciuto
  3. 4 Perché Facebook E’ il social network più diffuso Tuttora

    in rapida crescita Tradotto in più di 70 lingue Il tutto è riassumibile con: Nome relatore Marco Lancini Il tutto è riassumibile con: 500 MILIONI DI UTENTI
  4. 6 Architettura 1. Indicizzazione degli utenti 2. Estrazione delle foto

    3. Estrazione dei volti 4. Training 5. Face recognition Nome relatore 5. Face recognition Marco Lancini
  5. 8 Scopo Raccoglie nome e UID degli iscritti a Facebook

    Dati raccolti da 3 fonti: • crawling della user directory • crawling dei profili utente • crawling da altre fonti Nome relatore Marco Lancini • crawling da altre fonti
  6. 10 Crawling della user directory User directory • elenco alfabetico

    degli iscritti • volutamente non protetta: contenuto pubblico e indicizzato dai motori di ricerca • i contenuti mostrati variano in base alla località e alla lingua del browser che li visualizza Nome relatore Marco Lancini Ho creato un crawler che • emula il funzionamento di un browser tramite HTTP Header Manipulation • per coprire l'intera lista di utenti effettua più scansioni, ognuna con diversi header HTTP che servono anche per simulare differenti linguaggi e località di provenienza
  7. 11 Crawling dei profili utente Ho creato 5 falsi profili,

    le cui credenziali di accesso sono state utilizzate dal crawler per autenticarsi Ho creato un crawler che • per ogni utente carica la pagina che contiene l'intero elenco dei suoi contatti • è trasparente nei confronti degli utenti: non fa alcuna richiesta e non aggiunge Nome relatore Marco Lancini • è trasparente nei confronti degli utenti: non fa alcuna richiesta e non aggiunge amici • è tarato in modo da evitare un possibile ban (distribuendo il login tra i falsi account creati e distribuendo nel tempo le richieste)
  8. 12 Crawling da altre fonti E' stata utilizzata una vulnerabilità

    che ho scoperto nel sito about.me (biglietto da visita virtuale che raccoglie i link dei social network in cui l'utente è iscritto) Espone nel proprio codice sorgente l'intera lista di contatti di Nome relatore Marco Lancini Espone nel proprio codice sorgente l'intera lista di contatti di Facebook del proprietario del profilo
  9. 14 Scopo Estrae • tutte le foto profilo • gli

    album lasciati pubblici Nome relatore Marco Lancini
  10. 15 Estrazione foto profilo Avendo a disposizione l'UID di un

    utente, si può accedere tramite delle query FQL alle PAI (Publicly Available Informations), tra le quali è inclusa l'immagine personale del profilo query = SELECT uid, pic_big, sex FROM user Nome relatore Marco Lancini query = SELECT uid, pic_big, sex FROM user WHERE uid='<UID>'
  11. 16 Crawling album di foto Ho creato un crawler che

    • colleziona tutti gli album lasciati pubblici dagli utenti • utilizzando l'HTTP Header Manipulation, modifica i cookie inviati a Facebook in modo da simulare una sessione di navigazione di uno dei falsi profili • per ogni album accessibile estrae Nome relatore Marco Lancini accessibile estrae l'URL delle foto ed i tag presenti
  12. 18 Scopo Estrae tutti i volti presenti nelle foto scaricate

    2 sottofasi • face detection • gestione dei tag Nome relatore Marco Lancini
  13. 19 Face detection Data una foto 1. face detection 2.

    skin detection (solo se l’originale era nel campo RGB) 3. nose detection 4. normalizzazione dei volti Nome relatore Marco Lancini 4. normalizzazione dei volti a) dimensionale (ridimensionati) b) cromatica (convertiti in una gamma di grigi) c) di luminosità (histogram equalization) 5. gestione dei tag • associato al volto che presenta la minima distanza euclidea da esso
  14. 21 Scopo Crea un modello medio dei volti presenti nel

    dataset Ai volti viene applicata una riduzione di dimensionalità (PCA), necessaria per calcolare l'immagine media e gli eigenfaces (autovettori) che rappresentano Nome relatore Marco Lancini gli eigenfaces (autovettori) che rappresentano ogni immagine nel sottospazio Una volta identificata l'immagine media, questa viene sottratta ad ogni volto del dataset per andare a formare il training set
  15. 23 Scopo Utilizza il training set come base in cui

    ricercare l’identità dello sconosciuto che si vuole identificare Data la foto di un volto da riconoscere 1. calcola la distanza tra la nuova immagine e ognuna delle foto del training set 2. seleziona il volto a distanza minima da quello sconosciuto Nome relatore Marco Lancini 3. se la somiglianza con questa faccia supera una soglia di accettazione, allora si “riconosce" lo sconosciuto, altrimenti il volto viene classificato come “unknown"
  16. 25 Dati raccolti - 1 Dati raccolti (non rappresentano la

    totalità di quelli disponibili) • 450 milioni di profili o raggiungibile il 99% del totale Tecnica Tempo richiesto/1000 unità (sec) Crawling user directory 5 Crawling profili utente 1200 Nome relatore Marco Lancini • 4.7 milioni URL di foto (da 4 milioni di profili) o raggiungibile il 100% delle foto profilo o raggiungibile il 65% degli album Crawling da altre fonti 3,6 Tecnica Tempo richiesto/1000 unità (sec) Estrazione foto profilo 10 Crawling album 6,5
  17. 26 Dati raccolti - 2 • 500.000 foto scaricate (da

    altrettanti URL) • 150.000 volti estratti (da tutte le foto scaricate) Tecnica Tempo richiesto/1000 unità (sec) Download foto 1200 Nome relatore Marco Lancini • 150.000 volti estratti (da tutte le foto scaricate) Tecnica Tempo richiesto/1000 unità (sec) Face detection + gestione tag 450
  18. Face detection 27 Ho effettuato test • su campioni di

    1.000 foto • contenenti anche oggetti e immagini di cartoni animati • controllato manualmente l’output prodotto Bontà dell’algoritmo Nome relatore Marco Lancini Bontà dell’algoritmo • FP = 5% (falsi positivi) • FN = 20% (volti tralasciati) • TP = 75% (volti individuati correttamente) • Precision = 93% • Recall = 78% (volti identificati)
  19. Face recognition 28 Ho effettuato test • su campioni di

    1.000 volti • controllato manualmente l’output prodotto Bontà dell’algoritmo • FP = 15% (identificata la persona sbagliata) Nome relatore Marco Lancini • FP = 15% (identificata la persona sbagliata) • FN = 45% (persona presente del dataset non riconosciuta) • TP = 40% (volti riconosciuti correttamente) • Precision = 72% • Recall = 47% (volti riconosciuti)
  20. 29 Conclusioni e sviluppi futuri Questa tesi ha voluto dimostrare

    che il 99% degli utenti di Facebook è potenzialmente esposto ad un simile tipo di attacco, il quale può essere condotto anche avendo a disposizione risorse limitate Organizzazioni criminali potrebbero usare le stesse tecniche, ed una maggiore potenza di calcolo, per ottenere dati sensibili da Facebook Nome relatore Marco Lancini Nelle prospettive future del lavoro di questa tesi sono previsti tre punti principali: 1. la continuazione delle scansioni 2. un miglioramento dell'architettura 3. una sostituzione degli algoritmi di face detection e face recognition con alcuni più evoluti