Upload
dothien
View
216
Download
2
Embed Size (px)
Citation preview
Export de NetFlows 9 sous Android etLocalisation d’un utilisateur de smartphone a
partir de ses flux reseaux
5 septembre 2013
Julien VAUBOURGSoutenance de stage 3e annee
1 / 115
Soutenance de stage 3e annee
Introduction
2 / 115
Contexte
I Stage 3e annee de TELECOM Nancy
I 4 mois
I Oriente recherche
I Partie ingenierie
3 / 115
Contexte
I Stage 3e annee de TELECOM Nancy
I 4 mois
I Oriente recherche
I Partie ingenierie
4 / 115
Contexte
I Stage 3e annee de TELECOM Nancy
I 4 mois
I Oriente recherche
I Partie ingenierie
5 / 115
Contexte
I Stage 3e annee de TELECOM Nancy
I 4 mois
I Oriente recherche
I Partie ingenierie
6 / 115
Madynes
I Stage Inria
I Etablissement public de recherche
I Sciences et technologies de l’information et de lacommunication
I LORIA : Unite Mixte de Recherche
I Equipe Madynes (Abdelkader LAHMADI)
7 / 115
Madynes
I Stage Inria
I Etablissement public de recherche
I Sciences et technologies de l’information et de lacommunication
I LORIA : Unite Mixte de Recherche
I Equipe Madynes (Abdelkader LAHMADI)
8 / 115
Madynes
I Stage Inria
I Etablissement public de recherche
I Sciences et technologies de l’information et de lacommunication
I LORIA : Unite Mixte de Recherche
I Equipe Madynes (Abdelkader LAHMADI)
9 / 115
Madynes
I Stage Inria
I Etablissement public de recherche
I Sciences et technologies de l’information et de lacommunication
I LORIA : Unite Mixte de Recherche
I Equipe Madynes (Abdelkader LAHMADI)
10 / 115
Madynes
I Stage Inria
I Etablissement public de recherche
I Sciences et technologies de l’information et de lacommunication
I LORIA : Unite Mixte de Recherche
I Equipe Madynes (Abdelkader LAHMADI)
11 / 115
Objectifs
1. Developper un exportateur NetFlow 9 modulairepour Android
2. Travailler sur la localisation d’un utilisateur desmartphone a partir de ses flux reseaux
12 / 115
Plan
1. Android et NetFlow 9
2. Exportateur de NetFlows
3. Inference de la localisation
4. Resultats
13 / 115
Plan
1. Android et NetFlow 9
2. Exportateur de NetFlows
3. Inference de la localisation
4. Resultats
14 / 115
Plan
1. Android et NetFlow 9
2. Exportateur de NetFlows
3. Inference de la localisation
4. Resultats
15 / 115
Plan
1. Android et NetFlow 9
2. Exportateur de NetFlows
3. Inference de la localisation
4. Resultats
16 / 115
Soutenance de stage 3e annee
Android et NetFlows 9
17 / 115
Android
I Systeme d’exploitation
I Smartphones et tablettes
I Distribution GNU/Linux
I Libre (licence Apache)
I Systeme mobile le plus populaire
18 / 115
Android
I Systeme d’exploitation
I Smartphones et tablettes
I Distribution GNU/Linux
I Libre (licence Apache)
I Systeme mobile le plus populaire
19 / 115
Android
I Systeme d’exploitation
I Smartphones et tablettes
I Distribution GNU/Linux
I Libre (licence Apache)
I Systeme mobile le plus populaire
20 / 115
Android
I Systeme d’exploitation
I Smartphones et tablettes
I Distribution GNU/Linux
I Libre (licence Apache)
I Systeme mobile le plus populaire
21 / 115
Android
I Systeme d’exploitation
I Smartphones et tablettes
I Distribution GNU/Linux
I Libre (licence Apache)
I Systeme mobile le plus populaire
22 / 115
NetFlows
I Synthetisation de flux unidirectionnels
I Paquets avec proprietes communes (IP et ports)
I Version 9 : fonctionnement par templates
23 / 115
NetFlows
I Synthetisation de flux unidirectionnels
I Paquets avec proprietes communes (IP et ports)
I Version 9 : fonctionnement par templates
24 / 115
NetFlows
I Synthetisation de flux unidirectionnels
I Paquets avec proprietes communes (IP et ports)
I Version 9 : fonctionnement par templates
25 / 115
Fonctionnement par templates
I Ajout dynamique de champs
I Semantique detachee du format
I Optimisation des envois avec plusieurs templates
I Templates envoyes regulierement mais pas systematiquement
26 / 115
Fonctionnement par templates
I Ajout dynamique de champs
I Semantique detachee du format
I Optimisation des envois avec plusieurs templates
I Templates envoyes regulierement mais pas systematiquement
27 / 115
Fonctionnement par templates
I Ajout dynamique de champs
I Semantique detachee du format
I Optimisation des envois avec plusieurs templates
I Templates envoyes regulierement mais pas systematiquement
28 / 115
Fonctionnement par templates
I Ajout dynamique de champs
I Semantique detachee du format
I Optimisation des envois avec plusieurs templates
I Templates envoyes regulierement mais pas systematiquement
29 / 115
Format des NetFlows
30 / 115
Soutenance de stage 3e annee
Exportateur de NetFlows
31 / 115
Exportateur NetFlow pour Android
I Inexistant sur le marche
I Necessaire pour l’analyse des flux reseau
I Scalabilite et modularite
32 / 115
Exportateur NetFlow pour Android
I Inexistant sur le marche
I Necessaire pour l’analyse des flux reseau
I Scalabilite et modularite
33 / 115
Exportateur NetFlow pour Android
I Inexistant sur le marche
I Necessaire pour l’analyse des flux reseau
I Scalabilite et modularite
34 / 115
Bibliotheque abstraite
I Bibliotheque d’export generique
I Implementation stricte de la RFC 3954 (NetFlow 9)
I Interfaces claires et souples
35 / 115
Bibliotheque abstraite
I Bibliotheque d’export generique
I Implementation stricte de la RFC 3954 (NetFlow 9)
I Interfaces claires et souples
36 / 115
Bibliotheque abstraite
I Bibliotheque d’export generique
I Implementation stricte de la RFC 3954 (NetFlow 9)
I Interfaces claires et souples
37 / 115
Pilotes de communication
38 / 115
Pilotes de communication
I Capturent les paquets du reseau
I Bas niveau
I Necessite des privileges
I Code natif (C)
I Pilote IPv4 et IPv6 fourni
39 / 115
Pilotes de communication
I Capturent les paquets du reseau
I Bas niveau
I Necessite des privileges
I Code natif (C)
I Pilote IPv4 et IPv6 fourni
40 / 115
Pilotes de communication
I Capturent les paquets du reseau
I Bas niveau
I Necessite des privileges
I Code natif (C)
I Pilote IPv4 et IPv6 fourni
41 / 115
Pilotes de communication
I Capturent les paquets du reseau
I Bas niveau
I Necessite des privileges
I Code natif (C)
I Pilote IPv4 et IPv6 fourni
42 / 115
Pilotes de communication
I Capturent les paquets du reseau
I Bas niveau
I Necessite des privileges
I Code natif (C)
I Pilote IPv4 et IPv6 fourni
43 / 115
Flowoid v2
I Exportateur de NetFlows pour Android
I v1 par Madynes avec un exportateur externe en C
I Difficile a maintenir / faire evoluer
I Implementation de la bibliotheque
44 / 115
Flowoid v2
I Exportateur de NetFlows pour Android
I v1 par Madynes avec un exportateur externe en C
I Difficile a maintenir / faire evoluer
I Implementation de la bibliotheque
45 / 115
Flowoid v2
I Exportateur de NetFlows pour Android
I v1 par Madynes avec un exportateur externe en C
I Difficile a maintenir / faire evoluer
I Implementation de la bibliotheque
46 / 115
Flowoid v2
I Exportateur de NetFlows pour Android
I v1 par Madynes avec un exportateur externe en C
I Difficile a maintenir / faire evoluer
I Implementation de la bibliotheque
47 / 115
Difficultes
I Pas de reprise de code
I Cycle de vie de Android
I Nom de l’interface reseau active
I Application associee au flux
I Contraintes du collecteur
48 / 115
Difficultes
I Pas de reprise de code
I Cycle de vie de Android
I Nom de l’interface reseau active
I Application associee au flux
I Contraintes du collecteur
49 / 115
Difficultes
I Pas de reprise de code
I Cycle de vie de Android
I Nom de l’interface reseau active
I Application associee au flux
I Contraintes du collecteur
50 / 115
Difficultes
I Pas de reprise de code
I Cycle de vie de Android
I Nom de l’interface reseau active
I Application associee au flux
I Contraintes du collecteur
51 / 115
Difficultes
I Pas de reprise de code
I Cycle de vie de Android
I Nom de l’interface reseau active
I Application associee au flux
I Contraintes du collecteur
52 / 115
Apercu de Flowoid v2
53 / 115
Apercu de Flowoid v2
54 / 115
Soutenance de stage 3e annee
Inference de la localisation
55 / 115
Recherche
� Inference de la localisation d’un utilisateur de smartphoneuniquement a partir de ses flux reseaux et sans donnees
geotagguees �
I Hypothese 0 :1 type de lieu = 1 activite specifique
I Hypothese 1 :1 sequence de NetFlows recurrente (pattern) = 1 type de lieu
I Objectif :Trouver de quand a quand l’utilisateur etait au lieu A, au lieuB, etc.
56 / 115
Recherche
� Inference de la localisation d’un utilisateur de smartphoneuniquement a partir de ses flux reseaux et sans donnees
geotagguees �
I Hypothese 0 :1 type de lieu = 1 activite specifique
I Hypothese 1 :1 sequence de NetFlows recurrente (pattern) = 1 type de lieu
I Objectif :Trouver de quand a quand l’utilisateur etait au lieu A, au lieuB, etc.
57 / 115
Recherche
� Inference de la localisation d’un utilisateur de smartphoneuniquement a partir de ses flux reseaux et sans donnees
geotagguees �
I Hypothese 0 :1 type de lieu = 1 activite specifique
I Hypothese 1 :1 sequence de NetFlows recurrente (pattern) = 1 type de lieu
I Objectif :Trouver de quand a quand l’utilisateur etait au lieu A, au lieuB, etc.
58 / 115
Recherche
� Inference de la localisation d’un utilisateur de smartphoneuniquement a partir de ses flux reseaux et sans donnees
geotagguees �
I Hypothese 0 :1 type de lieu = 1 activite specifique
I Hypothese 1 :1 sequence de NetFlows recurrente (pattern) = 1 type de lieu
I Objectif :Trouver de quand a quand l’utilisateur etait au lieu A, au lieuB, etc.
59 / 115
Organisation du travail
1. Etat de l’art
2. Pertinence des informations a disposition
I Adresses IP de destination
3. Construction d’un modele
4. Experimentations
5. Conclusions
60 / 115
Organisation du travail
1. Etat de l’art
2. Pertinence des informations a disposition
I Adresses IP de destination
3. Construction d’un modele
4. Experimentations
5. Conclusions
61 / 115
Organisation du travail
1. Etat de l’art
2. Pertinence des informations a disposition
I Adresses IP de destination
3. Construction d’un modele
4. Experimentations
5. Conclusions
62 / 115
Organisation du travail
1. Etat de l’art
2. Pertinence des informations a disposition
I Adresses IP de destination
3. Construction d’un modele
4. Experimentations
5. Conclusions
63 / 115
Organisation du travail
1. Etat de l’art
2. Pertinence des informations a disposition
I Adresses IP de destination
3. Construction d’un modele
4. Experimentations
5. Conclusions
64 / 115
Organisation du travail
1. Etat de l’art
2. Pertinence des informations a disposition
I Adresses IP de destination
3. Construction d’un modele
4. Experimentations
5. Conclusions
65 / 115
Recherche des patterns
66 / 115
Regroupement des patterns
1. Nombre coherent de patterns
2. K-means avec un nombre impose
3. Domicile, Deplacements, Travail, Loisirs
67 / 115
Regroupement des patterns
1. Nombre coherent de patterns
2. K-means avec un nombre impose
3. Domicile, Deplacements, Travail, Loisirs
68 / 115
Regroupement des patterns
1. Nombre coherent de patterns
2. K-means avec un nombre impose
3. Domicile, Deplacements, Travail, Loisirs
69 / 115
Regroupement des patterns
1. Nombre coherent de patterns
2. K-means avec un nombre impose
3. Domicile, Deplacements, Travail, Loisirs
70 / 115
Application des patterns
71 / 115
Soutenance de stage 3e annee
Resultats
72 / 115
Experimentation
Periodes temoins :
I Coordonnees geographiques
I Nom des applications associees
I Fusion a la main des flux et lieux similaires
I Classification des types lieux et reduction a 4 differents
I Interrogation de l’utilisateur
Experimentation :
I Decouverte des patterns
I Detection des periodes
I Comparaison avec les periodes temoins
73 / 115
Experimentation
Periodes temoins :
I Coordonnees geographiques
I Nom des applications associees
I Fusion a la main des flux et lieux similaires
I Classification des types lieux et reduction a 4 differents
I Interrogation de l’utilisateur
Experimentation :
I Decouverte des patterns
I Detection des periodes
I Comparaison avec les periodes temoins
74 / 115
Experimentation
Periodes temoins :
I Coordonnees geographiques
I Nom des applications associees
I Fusion a la main des flux et lieux similaires
I Classification des types lieux et reduction a 4 differents
I Interrogation de l’utilisateur
Experimentation :
I Decouverte des patterns
I Detection des periodes
I Comparaison avec les periodes temoins
75 / 115
Experimentation
Periodes temoins :
I Coordonnees geographiques
I Nom des applications associees
I Fusion a la main des flux et lieux similaires
I Classification des types lieux et reduction a 4 differents
I Interrogation de l’utilisateur
Experimentation :
I Decouverte des patterns
I Detection des periodes
I Comparaison avec les periodes temoins
76 / 115
Experimentation
Periodes temoins :
I Coordonnees geographiques
I Nom des applications associees
I Fusion a la main des flux et lieux similaires
I Classification des types lieux et reduction a 4 differents
I Interrogation de l’utilisateur
Experimentation :
I Decouverte des patterns
I Detection des periodes
I Comparaison avec les periodes temoins
77 / 115
Experimentation
Periodes temoins :
I Coordonnees geographiques
I Nom des applications associees
I Fusion a la main des flux et lieux similaires
I Classification des types lieux et reduction a 4 differents
I Interrogation de l’utilisateur
Experimentation :
I Decouverte des patterns
I Detection des periodes
I Comparaison avec les periodes temoins
78 / 115
Experimentation
Periodes temoins :
I Coordonnees geographiques
I Nom des applications associees
I Fusion a la main des flux et lieux similaires
I Classification des types lieux et reduction a 4 differents
I Interrogation de l’utilisateur
Experimentation :
I Decouverte des patterns
I Detection des periodes
I Comparaison avec les periodes temoins
79 / 115
Experimentation
Periodes temoins :
I Coordonnees geographiques
I Nom des applications associees
I Fusion a la main des flux et lieux similaires
I Classification des types lieux et reduction a 4 differents
I Interrogation de l’utilisateur
Experimentation :
I Decouverte des patterns
I Detection des periodes
I Comparaison avec les periodes temoins
80 / 115
Experimentation
Periodes temoins :
I Coordonnees geographiques
I Nom des applications associees
I Fusion a la main des flux et lieux similaires
I Classification des types lieux et reduction a 4 differents
I Interrogation de l’utilisateur
Experimentation :
I Decouverte des patterns
I Detection des periodes
I Comparaison avec les periodes temoins
81 / 115
Difficultes
I Periodes temoins peu fiables
I Sollication forte de l’utilisateur
I Immiscion dans sa vie privee
82 / 115
Difficultes
I Periodes temoins peu fiables
I Sollication forte de l’utilisateur
I Immiscion dans sa vie privee
83 / 115
Difficultes
I Periodes temoins peu fiables
I Sollication forte de l’utilisateur
I Immiscion dans sa vie privee
84 / 115
Resultats
I Changements supposes de lieu a des heures etranges
I Patterns pollues par des IP recurrentes
I Bruit de fond (routines) trop important
85 / 115
Resultats
I Changements supposes de lieu a des heures etranges
I Patterns pollues par des IP recurrentes
I Bruit de fond (routines) trop important
86 / 115
Resultats
I Changements supposes de lieu a des heures etranges
I Patterns pollues par des IP recurrentes
I Bruit de fond (routines) trop important
87 / 115
Distinction des routines
88 / 115
Distinction des routines
89 / 115
Distinction des routines
I 59% courriels (verification reguliere)
I 25% Facebook (synchronisation)
I 9% Yahoo (meteo)
I 7% Google (cadre de travail Android)
Potentiellement 100% de routines
90 / 115
Distinction des routines
I 59% courriels (verification reguliere)
I 25% Facebook (synchronisation)
I 9% Yahoo (meteo)
I 7% Google (cadre de travail Android)
Potentiellement 100% de routines
91 / 115
Distinction des routines
I 59% courriels (verification reguliere)
I 25% Facebook (synchronisation)
I 9% Yahoo (meteo)
I 7% Google (cadre de travail Android)
Potentiellement 100% de routines
92 / 115
Distinction des routines
I 59% courriels (verification reguliere)
I 25% Facebook (synchronisation)
I 9% Yahoo (meteo)
I 7% Google (cadre de travail Android)
Potentiellement 100% de routines
93 / 115
Distinction des routines
I 59% courriels (verification reguliere)
I 25% Facebook (synchronisation)
I 9% Yahoo (meteo)
I 7% Google (cadre de travail Android)
Potentiellement 100% de routines
94 / 115
Soutenance de stage 3e annee
Un resultat peut en cacherun autre
95 / 115
Resultats inattendus
I Il n’y a pas plus regulier qu’une machine
I Modele condamne a detecter les routines
I Reprise du jeu de donnees
I Differenciation des flux detectes par les modeles
96 / 115
Resultats inattendus
I Il n’y a pas plus regulier qu’une machine
I Modele condamne a detecter les routines
I Reprise du jeu de donnees
I Differenciation des flux detectes par les modeles
97 / 115
Resultats inattendus
I Il n’y a pas plus regulier qu’une machine
I Modele condamne a detecter les routines
I Reprise du jeu de donnees
I Differenciation des flux detectes par les modeles
98 / 115
Resultats inattendus
I Il n’y a pas plus regulier qu’une machine
I Modele condamne a detecter les routines
I Reprise du jeu de donnees
I Differenciation des flux detectes par les modeles
99 / 115
Resultats inattendus
100 / 115
Soutenance de stage 3e annee
Conclusion
101 / 115
Ingenierie
I Exportateur de NetFlows pour Android fonctionnel
I Modulaire et scalable
I Entierement libre
I Bibliotheque disponible pour encourager la diversite
102 / 115
Ingenierie
I Exportateur de NetFlows pour Android fonctionnel
I Modulaire et scalable
I Entierement libre
I Bibliotheque disponible pour encourager la diversite
103 / 115
Ingenierie
I Exportateur de NetFlows pour Android fonctionnel
I Modulaire et scalable
I Entierement libre
I Bibliotheque disponible pour encourager la diversite
104 / 115
Ingenierie
I Exportateur de NetFlows pour Android fonctionnel
I Modulaire et scalable
I Entierement libre
I Bibliotheque disponible pour encourager la diversite
105 / 115
Ingenierie
106 / 115
Recherche
I Premiere experience tres instructive
I Ecriture d’un papier de recherche
I Resultats inattendus mais prometteurs
I Et plus interessants en terme de recherche
107 / 115
Recherche
I Premiere experience tres instructive
I Ecriture d’un papier de recherche
I Resultats inattendus mais prometteurs
I Et plus interessants en terme de recherche
108 / 115
Recherche
I Premiere experience tres instructive
I Ecriture d’un papier de recherche
I Resultats inattendus mais prometteurs
I Et plus interessants en terme de recherche
109 / 115
Recherche
I Premiere experience tres instructive
I Ecriture d’un papier de recherche
I Resultats inattendus mais prometteurs
I Et plus interessants en terme de recherche
110 / 115
Perspectives
I Confirmer les resultats (experience)
I Affiner le modele en vue des nouveaux objectifs
I Adapter le papier de recherche
Doctorat dans l’equipe MAIA(en collaboration avec EDF R&D et Madynes)
111 / 115
Perspectives
I Confirmer les resultats (experience)
I Affiner le modele en vue des nouveaux objectifs
I Adapter le papier de recherche
Doctorat dans l’equipe MAIA(en collaboration avec EDF R&D et Madynes)
112 / 115
Perspectives
I Confirmer les resultats (experience)
I Affiner le modele en vue des nouveaux objectifs
I Adapter le papier de recherche
Doctorat dans l’equipe MAIA(en collaboration avec EDF R&D et Madynes)
113 / 115
Perspectives
I Confirmer les resultats (experience)
I Affiner le modele en vue des nouveaux objectifs
I Adapter le papier de recherche
Doctorat dans l’equipe MAIA(en collaboration avec EDF R&D et Madynes)
114 / 115
Soutenance de stage 3e annee
Questions
115 / 115