Machine learning et sécurité
Protection des systèmes par les données et les algorithmes
Clarence Chio et David Freeman
First Interactive, O'Reilly
Introductionix
Qu'y a-t-il dans ce livre ?x
À qui s'adresse ce livre ?x
Conventions utilisées dans ce livrexi
Utiliser les exemples de codexii
1. Pourquoi l'apprentissage automatique et la sécurité ?1
Le paysage des cybermenaces3
L'économie des cybercriminels7
Un marché pour les compétences en piratage informatique7
Monétisation indirecte8
Résultat...9
Qu'est-ce que l'apprentissage automatique ?9
Ce que l'apprentissage automatique n'est pas11
L'apprentissage automatique et les cybercriminels12
Utilisations de l'apprentissage automatique concernant la sécurité dans le monde réel13
Lutte contre les spams : une approche itérative15
Limites de l'apprentissage automatique pour la sécurité25
2. Classification et clustering27
Apprentissage automatique : problèmes et approches27
L'apprentissage automatique en pratique : un exemple concret29
Apprendre aux algorithmes à apprendre35
Familles de modèles35
Fonctions de perte38
Optimisation39
Algorithmes de classification supervisés42
Régression logistique43
Arbres de décision45
Forêts de décision48
Séparateurs à vaste marge51
Bayésien naïf53
k plus proches voisins55
Réseaux de neurones57
Considérations pratiques en matière de classification59
Choix d'une famille de modèles59
Construction des données d'apprentissage60
Sélection des caractéristiques63
Surapprentissage et sous-apprentissage65
Choisir des seuils et comparer des modèles67
Clustering69
Algorithmes de clustering69
DBSCAN78
Évaluer les résultats du clustering79
Conclusion82
3. Détection des anomalies83
Quand utiliser la détection des anomalies plutôt que l'apprentissage supervisé ?85
Détection d'intrusion avec des techniques heuristiques85
Méthodes pilotées par les données87
Ingénierie des caractéristiques pour la détection des anomalies90
Détection d'intrusions au niveau de l'hôte91
Détection d'intrusions au niveau du réseau94
Détection d'intrusion d'application Web97
En résumé99
Détection des anomalies à l'aide de données et d'algorithmes99
Prévision (apprentissage automatique supervisé)101
Métriques statistiques112
Qualité de l'ajustement114
Algorithmes d'apprentissage automatique non supervisés119
Méthodes fondées sur la densité124
En résumé126
Les défis de l'utilisation de l'apprentissage automatique dans la détection des anomalies127
Intervention et mesures d'atténuation128
Préoccupations relatives à la conception pratique du système130
Optimiser pour l'explicabilité130
Maintenance des systèmes de détection des anomalies131
Intégrer la rétroaction humaine131
Atténuer les effets antagonistes132
Conclusion132
4. Analyser les logiciels malveillants133
Comprendre les malwares134
Définir la classification des malwares136
Dans les coulisses des malwares140
Génération de caractéristiques154
Collecte des données155
Générer des caractéristiques157
Sélection de caractéristiques181
Des caractéristiques à la classification185
Comment obtenir des échantillons et des étiquettes de malwares188
Conclusion189
5. Analyser le trafic réseau191
Théorie de la défense réseau193
Contrôle d'accès et authentification193
Détection d'intrusion194
Détecter des attaquants dans le réseau195
Sécurité centrée sur les données195
Honeypots196
En résumé197
Apprentissage automatique et sécurité réseau197
Des captures aux caractéristiques197
Menaces dans le réseau203
Les botnets et vous207
Construire un modèle prédictif pour classifier les attaques réseau214
Explorer les données216
Préparation des données221
Classification225
Apprentissage supervisé227
Apprentissage semi-supervisé234
Apprentissage non supervisé235
Méthodes d'ensemble240
Conclusion246
6. Protéger le Web grand public247
Monétiser le Web grand public248
Les types d'abus et les données qui peuvent les arrêter249
Authentification et piratage de compte249
Création de compte256
Fraude financière262
Activité des bots265
Apprentissage supervisé en matière d'agressions270
Étiqueter les données270
Démarrage à froid contre démarrage à chaud272
Faux positifs et faux négatifs272
Réponses multiples273
Attaques de grande ampleur274
Clustering et abus274
Exemple : clustering et domaines de spam275
Générer des clusters277
Noter les clusters282
Autres orientations pour le clustering288
Conclusion289
7. Systèmes de production291
Définir la maturité et l'évolutivité d'un système d'apprentissage automatique291
Qu'est-ce qui est important pour les systèmes d'apprentissage automatique de sécurité ?293
Qualité des données293
Problème : biais dans les jeux de données294
Problème : inexactitude des étiquettes295
Solutions : qualité des données296
Problème : données manquantes297
Solutions : données manquantes298
Qualité du modèle301
Problème : optimisation des hyperparamètres302
Solutions : optimisation des hyperparamètres303
Bon à savoir : boucles de rétroaction, test A/B des modèles307
Bon à savoir : résultats reproductibles et explicables311
Performances315
Objectif : faible latence, haute évolutivité316
Optimisation des performances317
Calcul distribué et passage à l'échelle319
Utiliser les services du cloud324
Maintenabilité326
Problème : points de contrôle, gestion des versions et déploiement des modèles327
Objectif : dégradation gracieuse (ou élégante)328
Objectif : facilité de mise au point et de configuration329
Monitoring et alerte329
Sécurité et fiabilité331
Bon à savoir : robustesse dans des contextes de conflit331
Bon à savoir : sauvegardes et garanties pour la confidentialité des données332
Rétroaction et facilité d'utilisation333
Conclusion334
8. Apprentissage automatique antagoniste335
Terminologie336
De l'importance de l'apprentissage automatique antagoniste337
Vulnérabilités de sécurité dans les algorithmes d'apprentissage automatique338
Transférabilité des attaques341
Technique d'attaque : empoisonnement du modèle342
Exemple : attaque d'empoisonnement sur un classifieur binaire345
Connaissances de l'attaquant351
Défenses contre les attaques d'empoisonnement352
Technique d'attaque : attaque d'évasion354
Exemple : attaque d'évasion sur un classifieur binaire355
Se défendre contre les attaques d'évasion360
Conclusion361
A. Compléments pour le Chapitre 2363
Plus sur les métriques363
Taille des modèles de régression logistique364
Implémenter la fonction de coût pour la régression logistique365
Minimiser la fonction de coût366
B. Intégrer l'Open Source Intelligence371
Flux de renseignements de sécurité371
Géolocalisation373
Index375