Plus facile à lire avec un fond crème, une teinte, plus de contraste ou un texte plus grand ? Choisissez vos couleurs et votre texte, une fois pour toutes les pages.

Leçon gratuite

Empreintes de fichiers et métadonnées

Après cette leçon: Je peux prouver qu’un fichier n’a pas changé et lire ses métadonnées.

Leçon de 55 min7 commandesLab de réponse à incident et d’investigation : enquêter sur un serveur compromis

Comment prouver qu’un fichier n’a pas changé

Une empreinte (en anglais hash) est un nombre calculé à partir du contenu d’un fichier. Si un seul caractère change, l’empreinte change complètement.

C’est ce qui permet de prouver, des mois plus tard, qu’un fichier est resté tel qu’on l’a collecté. Les métadonnées, elles, disent qui l’a créé et quand.

À la fin de cette leçon

Remarque

Je peux prouver qu’un fichier n’a pas changé et lire ses métadonnées.

Mots-clés

MotCe que ça veut direExemple
Empreinteun nombre calculé sur le contenu d’un fichier2cb4b143…
Fonction de hachagele calcul qui transforme un contenu en empreinteSHA-256
Intégritél’état d’un fichier qui n’a subi aucun changement
Métadonnéesles informations sur un fichier, pas son contenu
Date de modificationl’instant où le contenu a changé pour la dernière fois
Propriétairele compte auquel appartient un fichier

Les cellules que les étudiants remplissent restent vides dans cet aperçu.

Une empreinte résume un fichier en un nombre

Une fonction de hachage lit tout le contenu et rend un nombre de longueur fixe. SHA-256 rend 64 chiffres hexadécimaux.

Un chiffre hexadécimal va de 0 à 9, puis de a à f. Le même contenu donne toujours la même empreinte. Un contenu différent donne une empreinte sans rapport.

L’empreinte du mot bonjour

Commande
printf 'bonjour' | sha256sum

Affichée ici, non exécutée. Créez un compte gratuit pour appuyer sur Exécuter et la saisir dans le terminal de votre propre labo.

La même chose avec une majuscule

Commande
printf 'Bonjour' | sha256sum

Affichée ici, non exécutée. Créez un compte gratuit pour appuyer sur Exécuter et la saisir dans le terminal de votre propre labo.

Exemple travaillé : une lettre change tout

TexteDébut de l’empreinte SHA-256Ce qu’on remarque
bonjour2cb4b1431b84Référence
Bonjour9172e8eec99fUne majuscule : tout est différent
(texte vide)e3b0c44298fcMême un fichier vide a une empreinte

Les cellules que les étudiants remplissent restent vides dans cet aperçu.

Comparer deux empreintes prouve l’intégrité

Au moment de la collecte, on calcule l’empreinte et on la note dans le rapport. Plus tard, on la recalcule.

Si les deux empreintes sont égales, le fichier est intact : on parle d’intégrité. Si elles diffèrent, le contenu a changé, même d’un seul octet.

Un virement de 1500 euros

Commande
printf 'virement 1500 euros\n' | sha256sum

Affichée ici, non exécutée. Créez un compte gratuit pour appuyer sur Exécuter et la saisir dans le terminal de votre propre labo.

Le même virement avec un chiffre changé

Commande
printf 'virement 7500 euros\n' | sha256sum

Affichée ici, non exécutée. Créez un compte gratuit pour appuyer sur Exécuter et la saisir dans le terminal de votre propre labo.

Erreur fréquente

Attention

Beaucoup de gens pensent que deux fichiers de même taille et de même date sont identiques. Une taille et une date se copient ou se changent facilement. Seule l’empreinte prouve que le contenu est le même.

Les métadonnées racontent le fichier, pas son contenu

Les métadonnées sont ce qu’un système écrit autour d’un fichier : son propriétaire, ses droits, sa taille et ses dates.

Elles aident à situer un fichier dans le temps. Mais elles se changent avec une simple commande : une métadonnée est un indice, jamais une preuve seule.

Exemple travaillé : lire des métadonnées

MétadonnéeCe qu’elle ditPeut-on la falsifier ?
PropriétaireQuel compte détient le fichierOui, avec les droits d’administration
DroitsQui peut lire, écrire ou lancerOui, avec les droits du propriétaire
Date de modificationQuand le contenu a changéOui, très facilement
EmpreinteQuel est le contenu exactNon : tout changement la modifie

Les cellules que les étudiants remplissent restent vides dans cet aperçu.

Lire un nombre de secondes comme une date

Commande
date -u -d @1700000000 '+%F %T'

Affichée ici, non exécutée. Créez un compte gratuit pour appuyer sur Exécuter et la saisir dans le terminal de votre propre labo.

L’en-tête du fichier de dates du dossier

Commande
head -n 1 case/mtimes.txt

Affichée ici, non exécutée. Créez un compte gratuit pour appuyer sur Exécuter et la saisir dans le terminal de votre propre labo.

Le nombre de lignes de ce fichier

Commande
wc -l case/mtimes.txt

Affichée ici, non exécutée. Créez un compte gratuit pour appuyer sur Exécuter et la saisir dans le terminal de votre propre labo.

À propos de ce labo et de sa source: Lab de réponse à incident et d’investigation : enquêter sur un serveur compromis

Vous enseignez à une classe ? Proposez ce module à vos étudiants avec un guide de l'enseignant, des devoirs corrigés et un laboratoire pour chaque étudiant.