3. 3
1 Introduzione
Le applicazioni presenti nei nostri smartphone raccolgono, gestiscono e trasmettono alcune
informazioni riguardanti l’utente. I dati raccolti da queste applicazioni vengono inviati
regolarmente ad app di prime e terze parti.
In generale, la raccolta e la condivisione dei dati da parte delle app viene considerata legale, a
patto che tali pratiche vengano specificate nelle politiche della privacy, ovvero sofisticati
documenti legali attraverso i quali le compagnie informano gli utenti dell’utilizzo dei loro dati.
Tuttavia, tali documenti sono talvolta contradditori, in quanto presentano ambiguità difficili da
interpretare sia da parte di persone che di sistemi automatizzati.
L’identificazione delle contraddizioni presenta due difficoltà principali:
1. La presenza di informazioni di diverse granularità semantiche.
2. Il rilevamento di affermazioni negative.
Per far fronte a tali difficoltà, Andow et al. hanno creato PolicyLint, uno strumento di analisi
che consente di identificare automaticamente potenziali contraddizioni nelle politiche di
privacy delle applicazioni mobili. L’obbiettivo è quello di estrarre dalle politiche di privacy le
parti contradditorie così da facilitarne l’analisi e la valutazione da parte degli esperti legali,
figure necessarie per capire in alcuni casi gli intenti.
4. 4
2 PolicyLint
PolicyLint cerca di identificare contraddizioni sulla collezione e condivisione di dati dell’utente
nelle politiche di privacy dei software. Una volta identificate si procede con la verifica manuale
da parte degli analisti, che consiste nell’interpretazione e nella validazione delle contraddizioni.
(es. Nella politica della privacy di un’applicazione è presente “Non raccogliamo informazioni
personali.”, ma successivamente ritroviamo “Potremmo salvare la tua email per mandarti
informazioni.”. Il che implica una contraddizione in quanto l’indirizzo email è un’informazione
personale).
Per risolvere le due problematiche sopra descritte, Andow et al. a partire dalle frasi di
collezione e condivisione dati, mirano a estrarre delle tuple composte da quattro elementi:
attore, azione, dati oggetto e entità.
(es. Noi [attori] condividiamo [azione] informazioni personali [dati oggetto] con inserzionisti
pubblicitari [entità]).
Inoltre, PolicyLint processando grandi quantità di politiche di privacy genera automaticamente
due ontologie specifiche, una per i dati oggetto e una per le entità.
PolicyLint è costituito da tre componenti principali (Figura 1):
1. Generazione delle ontologie: definisce le relazioni sussuntive tra i termini presenti nelle
politiche di privacy per ragionare su diverse granularità di linguaggio.
2. Estrazione delle policy: estrae una rappresentazione concisa di una policy al fine di
consentirne il ragionamento automatico su di essa.
3. Analisi delle contraddizioni: definisce la logica per caratterizzare le diverse
contraddizioni.
Figura 1: Struttura di PolicyLint
5. 5
2.1 Generazione delle ontologie
PolicyLint utilizza una tecnica semiautomatizzata basata sui dati, che divide le ontologie in tre
parti:
1. Adattamento del dominio NER
Per identificare le relazioni sussuntive tra dati oggetto ed entità, PolicyLint utilizza la
tecnica NER (Named-Entity Recognition) per capire quali token delle frasi
appartengono ai dati oggetto e quali alle entità.
Non essendo presenti modelli NER adatti al nostro problema Andow et al. hanno
deciso di prendere un modello NER esistente e aggiornarlo usando dati di
addestramento relativi al nostro problema.
2. Estrazione delle relazioni di sintesi
PolicyLint usa un set di 9 modelli lessico sintattici
(Figura 2) per trovare relazioni sussuntive tra le
frasi. Dato l’insieme di relazioni estratte, PolicyLint
normalizza le relazioni, lemmatizzando il testo e
sostituendo i termini con i loro rispettivi sinonimi.
In uscita da tutte le politiche otteniamo i dati
oggetto e le entità etichettati con i termini ordinati
per frequenza.
Figura 2: Modelli lessico sintattici
per le relazioni sussuntive
3. Costruzione dell’ontologia
PolicyLint genera ontologie combinando le relazioni sussuntive, precedentemente
estratte, con un insieme di termini origine (seeds) (Figura 3), selezionando le relazioni
che contengono un’origine. Questo procedimento viene ripetuto finché non vengono
più aggiunte nuove relazioni all’ontologia.
A questo punto PolicyLint assicura che vi sia soltanto un nodo radice e rimuove
eventuali bordi che creano dei cicli tra i nodi.
Figura 3: Termini origine usati per la costruzione dell’ontologia
6. 6
2.2 Estrazione delle policy
PolicyLint estrae le policy complete dalle politiche sulla privacy utilizzando modelli di strutture
grammaticali tra dati oggetto, entità e verbi che rappresentano la condivisione o collezione
(verbi che da adesso chiameremo verbi SoC).
PolicyLint analizza una frase e utilizza l’apposito modello
NER, precedentemente addestrato, per distinguere dati
oggetto ed entità, al fine di costruire l’albero DED (Data
and Entity Dependency). Quest’albero rappresenta una
concisa rappresentazione delle relazioni grammaticali tra
dati oggetto, entità e verbi SoC (Figura 4). Figura 4: Albero DED
PolicyLint per identificare le frasi sulla collezione e condivisione dati nelle politiche, prende un
numero di frasi esempio, generate automaticamente da un insieme di frasi fornite da Andow et
al., e ne ricava gli alberi DED.
Gli alberi ricavati dall’analisi di una politica di privacy vengono comparati con gli alberi DED noti,
nel caso vengano individuate delle corrispondenze PolicyLint etichetta le frasi corrispondenti
come frasi SoC (frasi contenenti verbi SoC) e si procede con la trasformazione dell’albero nella
tupla (attore, azione, dati oggetto, entità).
2.3 Analisi delle contraddizioni
Vengono definiti due tipi di contraddizioni, differenziate in base alla necessità di comprensione
da parte dell’uomo o alla necessità di un’analisi automatizzata.
Nel primo caso abbiamo le Contraddizioni Logiche, le quali hanno maggiore probabilità di
causare danni se gli utenti e gli analisti non sono consapevoli delle dichiarazioni contradditorie.
(es. Una politica di privacy che prima afferma di non collezionare informazioni personali e poi
afferma di salvare il nome e l’indirizzo email per gli inserzionisti).
Queste contraddizioni vengono segnalate come problemi da PolicyLint, cosicché possano essere
ispezionate manualmente dagli analisti per capirne gli intenti.
Mentre nel secondo caso abbiamo le Definizioni Restringenti, contraddizioni dove viene
dichiarata la raccolta di informazioni generali e allo stesso tempo specificato che dati specifici
non vengono collezionati.
(es. “Collezioniamo le tue informazioni personali, ma non il tuo nome”).
7. 7
3 Caso di studio
Andow et al. hanno deciso di effettuare uno studio delle politiche di privacy per le 35 categorie
del Google Play Store, prendendo per ciascuna le migliori 500 app gratuite di settembre 2017.
In totale sono state analizzate 11430 politiche di privacy.
L’analisi realizzata attraverso PolicyLint ha individuato frasi di raccolta e condivisione dati nel
91% delle politiche, mentre il restante 9% non è stato considerato poiché si sono riscontrati dei
problemi. Tra le politiche analizzate, il 60.5% presenta almeno un’affermazione negativa, come
”Non collezioniamo informazioni personali.” (il che dimostra l’importanza del gestire queste
affermazioni), mentre il 89.6% presenta almeno un’affermazione positiva, come “Collezioniamo
informazioni personali.”.
Basandoci sulla politica di estrazione di PolicyLint è risultato che il 59.1% delle politiche di
privacy sono candidate per l’analisi delle contraddizioni. Tra queste il 17.7% contiene
contraddizioni logiche o definizioni restringenti (Figura 5).
Figura 5: Distribuzione contraddizioni logiche e definizioni restringenti tra le categorie
La validazione delle contraddizioni è stata fatta da uno degli autori, il quale, in seguito alla
lettura delle frasi che hanno generato le contraddizioni, ne valuta la correttezza. Se la frase
sotto esame presenta delle difficoltà nella valutazione interviene un secondo autore, che
analizza e risolve il conflitto. Mentre, se è presente un errore nell’estrazione allora la frase va
intesa come falso positivo, arrestando così l’analisi.
Successivamente lo studio si limita all’analisi delle sole contraddizioni logiche nei seguenti casi:
- Affermazioni negative per “informazioni personali” e positive per “indirizzo email”
Dalle politiche di privacy esaminate viene osservato che gli indirizzi email (incluse le hashed
email) non vengono considerate come informazioni personali.
L’elevata presenza di politiche di privacy generate automaticamente da generatori di politiche
di privacy, mostra che i generatori sono spesso inaccurati e ciò comporta la presenza di
contraddizioni.
- Affermazioni negative per “informazioni personali” e positive per “identificatori di
dispositivo”
8. 8
Dall’analisi risulta che la causa della contraddizione è il fatto che l’identificatore di dispositivo
non viene considerato informazione personale.
- Affermazioni negative e positive per “informazioni personali”
In questo scenario un’affermazione contraddice l’altra, rendendo difficile la determinazione
della situazione attuale di collezione e condivisione delle informazioni.
- Dati derivati
Nelle politiche di privacy viene dichiarata la non raccolta di certe informazioni, le quali però,
sono desumibili da altre informazioni esplicitamente raccolte.
Una volta terminate le analisi Andow et al. hanno contattato tutti i venditori delle 260 politiche
validate, segnalando le affermazioni contradditorie e le argomentazioni a sostegno di esse.
Il tasso di risposta dei venditori è stato del 4.5%, tra questi solo alcuni hanno corretto le proprie
politiche di privacy, mentre altri venditori si sono trovati in disaccordo con le osservazioni
riportate.
4 Conclusioni
Lo studio ha evidenziato che le politiche di privacy sono frequentemente contradditorie.
Sulla base di ciò si è dimostrato come grazie a PolicyLint è possibile effettuare l’analisi di questi
documenti, mettendo in evidenza contraddizioni e problemi nelle politiche di privacy.
L’utilizzo di PolicyLint riduce il rischio di rilascio di politiche di privacy contradditorie e facilita
l’individuazione di politiche ingannevoli.
Store di applicazioni, come Google Play, possono sfruttarlo per verificare le politiche di privacy
delle app che vengono pubblicate. Tecniche automatizzate di analisi delle politiche di privacy
possono sfruttare le estrazioni delle contraddizioni logiche e delle definizioni restringenti
fornite da PolicyLint.
9. 9
5 Bibliografia
Benjamin Andow, Samin Yaseer Mahmud, Wenyu Wang, Justin Whitaker, William Enck, Bradley
Reaves, Kapil Singh and Tao Xie: PolicyLint: Investigating Internal Privacy Policy Contradictions
on Google Play. In the Proceedings of the 28th USENIX Security Symposium, Santa Clara, CA,
USA (2019), pp. 584-602.