Python et l'analyse forensique : récupérer et analyser les données produites par les ordinateurs

Enregistré dans:
Détails bibliographiques
Auteur principal: Bennis, Mehdi.
Autres auteurs: Weber, Yann, 1980-
Support: Livre
Langue: Français
Publié: Saint Herblain : Éditions ENI, copyright 2019.
Collection: Ressources informatiques
Sujets:
Autres localisations: Voir dans le Sudoc
Résumé: Une introduction au langage Python suivie d'une présentation de son utilisation pour l'analyse forensique, consistant à récupérer et manipuler les données produites par les ordinateurs, de l'inspection de la mémoire vive des processus à celle du fonctionnement interne des logiciels grand public en passant par l'extraction d'historique de navigateur web. Avec des ressources disponibles en ligne. ↑Electre 2019
Table des matières:
  • P. 1
  • Table des matières
  • Avant-propos
  • Chapitre 1 Introduction : Python et l'informatique forensique
  • P. 15
  • 1. Pourquoi un livre sur le sujet ?
  • P. 15
  • 1.1 La mutation de l'informatique forensique
  • P. 17
  • 1.2 Une pratique qui se démocratise
  • P. 19
  • 2. Présentation du langage
  • P. 19
  • 2.1 Un langage adapté
  • P. 20
  • 2.2 Interprétation de Python
  • P. 21
  • 3. Le choix des logiciels
  • P. 21
  • 3.1 Le choix du système d'exploitation
  • Chapitre 2 Premiers pas en Python
  • P. 23
  • 1. Installation de CPython
  • P. 23
  • 1.1 Avec le gestionnaire de paquets de la distribution GNU/Linux
  • P. 26
  • 1.2 Autres méthodes
  • P. 28
  • 1.3 Exécuter du Python
  • P. 30
  • 2. Éléments de syntaxe fondamentaux
  • P. 30
  • 2.1 Les commentaires
  • P. 31
  • 2.2 Variables
  • P. 34
  • 2.3 Les fonctions
  • P. 37
  • 2.4 Les objets et leurs instances
  • P. 49
  • 3. Les types de données essentiels
  • P. 49
  • 3.1 Les nombres
  • P. 57
  • 3.2 Autres types
  • P. 63
  • 3.3 Itérables
  • P. 80
  • 3.4 Les chaînes de caractères
  • P. 91
  • 4. Les structures de contrôles
  • P. 91
  • 4.1 Conditionnels et boucles
  • P. 99
  • 4.2 La compréhension de liste
  • P. 101
  • 4.3 Gestion des exceptions
  • P. 109
  • 5. Mécanismes d'import
  • P. 109
  • 5.1 Définitions
  • P. 110
  • 5.2 Syntaxe de l'import
  • P. 116
  • 6. Environnement, dépendances et communauté
  • P. 116
  • 6.1 Déploiement/installation
  • P. 120
  • 6.2 Les environnements virtuels avec virtualenv
  • P. 122
  • 6.3 Qualité du code
  • Chapitre 3 Bibliothèque standard
  • P. 125
  • 1. Bibliothèques utilitaires
  • P. 125
  • 1.1 Fonctions utilitaires
  • P. 129
  • 1.2 Modules utilitaires de Python
  • P. 137
  • 2. Opérations de base sur un système de fichiers
  • P. 137
  • 2.1 Se déplacer et explorer l'arborescence des dossiers
  • P. 144
  • 2.2 Opérations sur les fichiers
  • P. 157
  • 2.3 Utilitaires
  • P. 164
  • 3. Opérations de base sur le réseau
  • P. 164
  • 3.1 TCP/UDP
  • P. 177
  • 3.2 Le module urllib
  • Chapitre 4 Premiers pas dans l'analyse d'un fichier
  • P. 183
  • 1. Le fichier dans son ensemble
  • P. 183
  • 1.1 Trouver le type d'un fichier avec les nombres magiques
  • P. 187
  • 1.2 Les fonctions de hachage
  • P. 194
  • 1.3 Génération de diff avec difflib
  • P. 206
  • 2. Utiliser Python pour lire des métadonnées
  • P. 206
  • 2.1 De l'importance des métadonnées
  • P. 208
  • 2.2 Lire les informations fournies par un système de fichiers
  • P. 218
  • 2.3 Métadonnées de fichiers multimédias avec XMP
  • P. 232
  • 2.3.6 Hyperliens
  • Chapitre 5 Analyser un historique de navigation web
  • P. 233
  • 1. Bibliothèques HTML et HTTP haut niveau
  • P. 233
  • 1.1 La bibliothèque requests
  • P. 239
  • 1.2 La bibliothèque Beautiful Soup
  • P. 242
  • 2. Les bases de données SQLite3
  • P. 242
  • 2.1 SGBD et DQL
  • P. 244
  • 2.2 SQLite3 un SGBD léger
  • P. 246
  • 2.3 Le module SQLite3
  • P. 251
  • 3. Accéder à l'historique d'un navigateur
  • P. 251
  • 3.1 L'historique des navigateurs les plus utilisés
  • P. 256
  • 3.2 Écriture d'un module d'accès
  • P. 274
  • 3.3 Utilisations
  • Chapitre 6 Partitionnement automatique de données
  • P. 277
  • 1. L'apprentissage automatique ou apprentissage statistique
  • P. 277
  • 1.1 Présentation
  • P. 281
  • 1.2 Le partitionnement non supervisé
  • P. 282
  • 2. Bibliothèques Python
  • P. 282
  • 2.1 Calcul matriciel optimisé avec NumPy
  • P. 288
  • 2.2 L'apprentissage automatique avec Scikit-Learn
  • P. 289
  • 2.3 Afficher des données avec Matplotlib
  • P. 293
  • 3. Une première application : regrouper les fichiers par date de création
  • P. 293
  • 3.1 Représentation des données
  • P. 305
  • 3.2 Création du modèle et construction des sous-groupes
  • P. 309
  • 3.3 Écrire une interface textuelle
  • Chapitre 7 Extraire les sujets d'un ensemble de textes
  • P. 329
  • 1. Le traitement automatique des langues naturelles
  • P. 329
  • 1.1 Introduction
  • P. 332
  • 1.2 Les langues naturelles en Python avec NLTK
  • P. 333
  • 1.3 La modélisation de sujets avec gensim
  • P. 335
  • 1.4 Les autres bibliothèques utilisées dans ce chapitre
  • P. 337
  • 2. Modélisation de sujet avec LDA et LSI
  • P. 337
  • 2.1 Extraire une liste de mots d'un texte
  • P. 340
  • 2.2 Sac de mots et TF-IDF
  • P. 344
  • 2.3 Les modèles gensim pour LDA et LSI
  • P. 349
  • 3. Exemples d'application
  • P. 349
  • 3.1 Depuis l'historique d'un navigateur web
  • P. 355
  • 3.2 Depuis des fichiers textes
  • Chapitre 8 Inspection des processus du noyau Linux
  • P. 361
  • 1. Introduction
  • P. 361
  • 1.1 Ptrace et le noyau Linux
  • P. 366
  • 2. Inspection d'un processus avec Python
  • P. 366
  • 2.1 La bibliothèque python-ptrace
  • P. 367
  • 2.2 Tracer un processus
  • P. 388
  • 2.3 La mémoire d'un processus
  • P. 396
  • 3. Exemple d'utilisation
  • P. 396
  • 3.1 Extraire le texte
  • P. 402
  • 3.2 Tricher à un jeu vidéo
  • P. 419
  • Index