Cybervigilance et confiance numérique
la cybersécurité à l'ère du Cloud et des objets connectés
Wiem Tounsi
iSTE
Introduction1
Wiem Tounsi
Chapitre 1. La Cyber Threat Intelligence et son évolution3
Wiem Tounsi
1.1. Introduction3
1.2. Contexte général5
1.2.1. Menaces de nouvelle génération6
1.2.1.1. Menaces persistantes avancées (Advanced Persistant Threats, APT)6
1.2.1.2. Menaces polymorphes6
1.2.1.3. Menaces zero-day7
1.2.1.4. Menaces composites7
1.2.2. Structures et modèles analytiques8
1.2.2.1. Étapes de la perspective défensive de la kill chain8
1.2.2.2. Le modèle Diamond de l'analyse d'intrusion10
1.3. Cyber Threat Intelligence (CTI)11
1.3.1. Sources de la Cyber Threat Intelligence11
1.3.2. Sous-domaines de la Cyber Threat Intelligence13
1.3.3. Renseignement technique sur les menaces (Technical Threat Intelligence, TTI)15
1.4. Travaux connexes16
1.5. Problèmes de partage des renseignements sur les menaces18
1.5.1. Avantages du partage des renseignements sur les menaces pour l'apprentissage collectif18
1.5.2. Raisons de ne pas partager les renseignements sur les menaces19
1.6. Limites du renseignement technique sur les menaces23
1.6.1. La quantité avant la qualité23
1.6.2. Limites propres aux indicateurs de compromission (IOC)24
1.6.2.1. Indicateurs liés au réseau24
1.6.2.2. Indicateurs basés sur l'hôte : indicateurs sur les malwares26
1.6.2.3. Indicateurs liés aux courriers électroniques27
1.7. Bibliothèques ou plateformes de Cyber Theat Intelligence27
1.7.1. Avantages des bibliothèques de Cyber Threat Intelligence basées sur le Cloud28
1.7.2. Réticence à utiliser les services du Cloud29
1.8. Discussion29
1.8.1. L'insuffisance de partager rapidement29
1.8.2. Réduire la quantité de flux d'indicateurs de compromission30
1.8.3. Confiance dans le partage des indicateurs de compromission32
1.8.4. Normes pour la représentation et le partage de la Cyber Threat Intelligence34
1.8.5. Bibliothèques de Cyber Threat Intelligence basées sur le Cloud pour la connaissance collective et l'immunité36
1.8.5.1. Utilisation de solutions de Cloud privé/communautaire36
1.8.5.2. Être conscient des principales préoccupations en matière de sécurité sur le Cloud37
1.9. Évaluation des outils de renseignement technique sur les menaces38
1.9.1. Présentation des outils sélectionnés39
1.9.2. Discussion comparative40
1.10. Conclusion et travaux futurs42
1.11. Bibliographie44
Chapitre 2. Systèmes de gestion de la confiance : une étude rétrospective sur la confiance numérique53
Reda Yaich
2.1. Introduction53
2.2. Définition de la confiance54
2.3. Genèse des systèmes de gestion de la confiance56
2.3.1. Modèle de contrôle d'accès56
2.3.2. Contrôle d'accès basé sur l'identité57
2.3.3. Contrôle d'accès basé sur le réseau59
2.3.4. Contrôle d'accès basé sur les rôles60
2.3.5. Contrôle d'accès basé sur l'organisation61
2.3.6. Contrôle d'accès basé sur les attributs62
2.4. Gestion de la confiance64
2.4.1. Définition64
2.4.2. Système de gestion de la confiance65
2.4.3. Fondations66
2.4.3.1. Identifiants66
2.4.3.2. Politiques68
2.4.3.3. Moteur de confiance70
2.4.4. Négociation automatisée de la confiance72
2.5. Classification des systèmes de gestion de la confiance73
2.5.1. Systèmes de gestion de la confiance basés sur l'autorisation74
2.5.2. Systèmes de gestion de la confiance basés sur les rôles79
2.5.3. Systèmes automatisés de négociation de la confiance82
2.6. Gestion de la confiance dans les infrastructures de Cloud Computing90
2.6.1. Modèles de confiance basés sur les identifiants91
2.6.2. Modèles de confiance basés sur les Services Level Agreements (SLA)91
2.6.3. Modèles de confiance basés sur la rétroaction92
2.6.4. Modèles de confiance basés sur la prévision93
2.7. Conclusion93
2.8. Bibliographie94
Chapitre 3. Risques d'attaques réseaux
Kamel Karoui105
3.1. Introduction105
3.2. Théorie du risque107
3.2.1. Définition des termes du risque107
3.2.2. Présentation des principales méthodes du risque109
3.2.2.1. EBIOS110
3.2.2.2. Méhari112
3.2.2.3. Octave114
3.2.3. Comparatif des principales méthodes115
3.3. Analyse du risque des systèmes d'information (SI) dans le contexte des réseaux informatiques119
3.3.1. Établissement du contexte119
3.3.1.1. Ressources à protéger119
3.3.1.2. Modèle du risque121
3.3.1.3. Classification du risque123
3.3.2. Appréciation des risques125
3.3.2.1. Méthode de l'alternance de bits pour l'agrégation des valeurs de criticité126
3.3.2.2. Appréciation de l'impact127
3.3.2.3. Appréciation de la probabilité d'occurrence129
3.3.2.4. Appréciation globale des risques130
3.3.3. Traitement du risque132
3.3.3.1. Amélioration des paramètres du risque132
3.3.4. Acceptation du risque134
3.3.5. Communication du risque135
3.3.6. Surveillance du risque136
3.4. Conclusion136
3.5. Bibliographie137
Chapitre 4. Aperçu analytique du flux d'informations et protection des données privées dans les systèmes Android139
Mariem Graa
4.1. Introduction140
4.2. Flux d'informations141
4.2.1. Flux explicites141
4.2.2. Flux implicites141
4.2.3. Canaux cachés142
4.3. Data tainting143
4.3.1. Approche de l'interprète143
4.3.2. Approche basée sur l'architecture144
4.3.3. Analyse statique des données taguées144
4.3.4. Analyse dynamique des données taguées145
4.4. Protection des données privées dans les systèmes Android147
4.4.1. Approche du contrôle d'accès147
4.4.1.1. Approche politique basée sur des règles148
4.4.1.2. Approche de prévention de l'évaluation des privilèges149
4.4.2. Prévention des fuites de données privées151
4.4.2.1. Falsification des informations sensibles151
4.4.2.2. Analyse statique des applications Android152
4.4.2.3. Analyse dynamique des applications Android153
4.4.3. Approches des bibliothèques natives155
4.5. Détection des flux de contrôle157
4.5.1. Approches techniques du flux de contrôle158
4.5.2. Approches formelles du flux de contrôle159
4.6. Gestion des flux explicites et de contrôle en code Java et en code natif des applications Android161
4.6.1. Spécification formelle du problème d'under-tainting161
4.6.1.1. Définition syntaxique des connecteurs {(...)}162
4.6.1.2. Définition sémantique des connecteurs{(...)}162
4.6.2. Solution formelle du problème d'under-tainting163
4.6.2.1. Notations, définitions et théorèmes163
4.6.2.2. Preuve des règles de propagation des tags166
4.6.2.3. L'algorithme169
4.6.2.4. Preuve de la correction de l'algorithme169
4.6.2.5. Preuve de la correction de Dependency_Algorithm169
4.6.2.6. Étapes de base dans Dependency_Algorithm170
4.6.2.7. Preuve de correction de Set_Context_Taint171
4.6.2.8. Preuve de correction de Taint_Assigned_Variable171
4.6.2.9. Preuve de la complétude de l'algorithme171
4.6.2.10. Complexité temporelle de l'algorithme172
4.6.3. Conception du système172
4.6.4. Gestion des flux explicites et de contrôle dans le code Java des applications Android174
4.6.4.1. Composant d'analyse statique174
4.6.4.2. Composant d'analyse dynamique175
4.6.4.3. Traitement des exceptions176
4.6.5. Gestion des flux explicites et de contrôle dans le code natif des applications Android177
4.6.5.1. Traceur d'instructions natives des tags177
4.6.5.2. Fonctions de commutation de contexte179
4.6.5.3. Information Kernel180
4.6.5.4. Native Taint sink180
4.6.6. Évaluation180
4.6.6.1. Efficacité181
4.6.6.2. Faux négatifs183
4.6.6.3. Performance183
4.6.6.4. Faux positifs184
4.6.7. Discussion184
4.7. Protection contre les attaques d'obfuscation de code basées sur les dépendances de contrôle dans les systèmes Android185
4.7.1. Définition de l'obfuscation du code185
4.7.2. Types d'obfuscations liés au programme186
4.7.3. Techniques d'obfuscation186
4.7.4. Obfuscation de code dans le système Android187
4.7.5. Modèle d'attaque188
4.7.6. Attaques d'obfuscation de code189
4.7.7. Détection d'attaques d'obfuscation de code191
4.7.8. Tests d'attaque d'obfuscation de code192
4.8. Détection d'attaques de canaux auxiliaires basées sur le tag des données dans les systèmes Android196
4.8.1. Modèle de menace cible197
4.8.2. Attaques dans les canaux latéraux198
4.8.2.1. Attaque de synchronisation198
4.8.2.2. Attaque de mémoire cache199
4.8.2.3. Attaque de pixel bitmap199
4.8.2.4. Attaque de métadonnées199
4.8.2.5. Attaque de longueur de fichier200
4.8.2.6. Attaque de la longueur du clipboard200
4.8.2.7. Attaque de processeur graphique200
4.8.3. Règles de propagation pour détecter les attaques par canal auxiliaire201
4.8.3.1. Règle de propagation du canal auxiliaire de synchronisation201
4.8.3.2. Règle de propagation du canal auxiliaire du mémoire cache201
4.8.3.3. Règle de propagation des métadonnées202
4.8.3.4. Règle de propagation GPU202
4.8.4. Mise en oeuvre203
4.8.4.1. Détection d'attaques de synchronisation204
4.8.4.2. Détection d'attaques de mémoire cache204
4.8.4.4. Processeur graphique pour la détection d'attaques204
4.8.5. Évaluation205
4.8.5.1. Efficacité205
4.8.5.2. Faux positifs206
4.8.5.3. Performance206
4.9. Suivi du flux d'informations dans les approches des systèmes Android : résumé207
4.10. Conclusion212
4.11. Bibliographie213
Liste des auteurs225
Index227