Ce fichier téléchargé est-il le bon ? Vérifier une empreinte et repérer un faux site
Taper le nom d'un logiciel connu dans un moteur de recherche, cliquer sur le premier lien, installer : trois gestes banals, et parfois la porte d'entrée d'une compromission.
Petite vérification
Avant de commencer, vérifiez si vous savez encore répondre à ces 3 questions, sur la séance précédente consacrée à l'accès physique :
- citer le paramètre ajouté à la ligne
linuxdu menu GRUB pour obtenir un shellrootsans mot de passe, et dire quel programme il lance à la place du démarrage habituel - expliquer pourquoi la commande
passwd rootéchoue tant quemount -o remount,rw /n'a pas été exécutée - citer la mesure qui rend les données illisibles même si l'attaquant a retiré le disque de la machine
📌 Réponse attendue
TP pour réfléchir et résoudre des problèmes
Votre défi pour aujourd'hui consiste à vérifier qu'un installeur téléchargé est bien celui de l'éditeur, puis à repérer les faux sites qui le proposent
L'association « Plume et Pinceau », le logiciel ImagiConvert et tous les noms de domaine de
ce TP (en .example) sont fictifs, construits pour l'exercice. Les fichiers sont inoffensifs :
ils ne contiennent que de simples messages à l'écran.
Même ici, prenez l'habitude de ne pas exécuter un fichier téléchargé avant de l'avoir vérifié. Dans ce TP, vous ne lancerez aucun des deux installeurs : vous ne ferez que les examiner.
Vous êtes bénévole informatique pour l'association « Plume et Pinceau ». Une collègue vous
demande d'installer ImagiConvert 2.4, un petit utilitaire de conversion d'images, sur le poste de
l'accueil. L'éditeur publie sur sa page de téléchargement officielle, imagiconvert.example, la
ligne suivante :
installer-imagiconvert-2.4.sh
SHA-256 : fb0cc3c4fad9cda85f64e79221d2cfbbbda3d43c4f56dd388fcbec141856bfea
Étape 1 — Calculer l'empreinte du fichier téléchargé
Dans le terminal de votre VM Linux, créez un dossier de travail, puis reproduisez le fichier téléchargé depuis le site officiel :
mkdir ~/tp-empreinte
cd ~/tp-empreinte
cat > installer-imagiconvert-2.4.sh <<'EOF'
#!/bin/sh
# Installeur ImagiConvert 2.4 (fichier fictif pour l'exercice)
echo "Installation de ImagiConvert 2.4..."
echo "Copie des fichiers dans /opt/imagiconvert"
echo "Installation terminee."
EOF
Vérifiez que le fichier a bien la taille attendue (195 octets), puis calculez son empreinte :
wc -c installer-imagiconvert-2.4.sh
sha256sum installer-imagiconvert-2.4.sh
- Que renvoie la commande
sha256sum? Combien de caractères comporte l'empreinte ? - Cette empreinte est-elle identique à celle publiée par l'éditeur ? Qu'est-ce que cela prouve ?
📌 Réponse attendue
La commande équivalente s'écrit Get-FileHash .\installer-imagiconvert-2.4.sh -Algorithm SHA256
dans PowerShell (le résultat est affiché en majuscules, ce qui ne change rien à la comparaison), et
shasum -a 256 installer-imagiconvert-2.4.sh dans le terminal de macOS.
Étape 2 — Laisser la machine comparer
Comparer 64 caractères à l'œil est fastidieux, et l'on finit souvent par ne regarder que le début et la fin. Il est préférable de déléguer la comparaison. Créez un fichier qui contient l'empreinte publiée, suivie de deux espaces puis du nom du fichier :
echo "fb0cc3c4fad9cda85f64e79221d2cfbbbda3d43c4f56dd388fcbec141856bfea installer-imagiconvert-2.4.sh" > SHA256SUMS
sha256sum -c SHA256SUMS
- Que s'affiche-t-il ?
- Pourquoi cette méthode est-elle plus fiable que la comparaison à l'œil ?
📌 Réponse attendue
Étape 3 — Examiner le fichier d'un site « miroir »
Une collègue vous envoie un autre lien, sur un site « miroir » qui promet un téléchargement plus rapide. Le fichier qu'elle récupère porte le même nom (à un suffixe près). Reproduisez-le :
cat > installer-imagiconvert-2.4-miroir.sh <<'EOF'
#!/bin/sh
# Installeur ImagiConvert 2.4 (fichier fictif pour l'exercice)
echo "Installation de ImagiConvert 2.4..."
echo "Copie des fichiers dans /opt/imagiconvert"
echo "Envoi de la liste de vos fichiers vers 203.0.113.7..."
echo "Installation terminee."
EOF
Comparez-le à l'empreinte officielle, puis comparez son contenu à celui du premier fichier :
echo "fb0cc3c4fad9cda85f64e79221d2cfbbbda3d43c4f56dd388fcbec141856bfea installer-imagiconvert-2.4-miroir.sh" > SHA256SUMS_miroir
sha256sum -c SHA256SUMS_miroir
diff installer-imagiconvert-2.4.sh installer-imagiconvert-2.4-miroir.sh
- Que répond
sha256sum -cpour le fichier du miroir ? - Que montre la commande
diff? - Une personne qui ouvrirait le fichier du miroir en le lançant, sans rien vérifier, verrait-elle quelque chose d'anormal ? Qu'en conclure ?
📌 Réponse attendue
Étape 4 — Une seule lettre suffit
Un attaquant peut-il glisser une toute petite modification sans que l'empreinte ne la trahisse ? Testez :
printf 'bonjour' | sha256sum
printf 'Bonjour' | sha256sum
printf 'bonjour' | md5sum
- Les deux empreintes SHA-256 se ressemblent-elles, alors que seule une lettre (
bdevenuB) a changé ? - Combien de caractères comptent l'empreinte MD5 et l'empreinte SHA-256 ?
- Pourquoi cette propriété est-elle précieuse pour contrôler un téléchargement ?
📌 Réponse attendue
Étape 5 — Lire l'adresse du site
Avant même de télécharger, l'adresse du site doit éveiller des soupçons. Voici cinq adresses
trouvées par la collègue, qui prétendent toutes proposer ImagiConvert. Le site officiel est
imagiconvert.example.
A. https://imagiconvert.example/telechargements
B. https://imagiconvert.example.telechargement-rapide.example/setup
C. https://lmagiconvert.example/telechargements
D. https://imagiconvret.example/telechargements
E. https://download.imagiconvert.example/v2.4/
Pour trouver le nom de domaine réel, on lit l'adresse de droite à gauche, en s'arrêtant au
premier / : le domaine est formé des deux derniers groupes séparés par des points.
- Quelles adresses appartiennent réellement à l'éditeur ?
- Pour chaque adresse suspecte, quel est le piège utilisé ?
📌 Réponse attendue
Étape 6 — Que prouve une empreinte publiée par le faux site ?
Le site de l'adresse B affiche, juste à côté de son bouton de téléchargement, une empreinte
SHA-256. Vous téléchargez son fichier et vérifiez : sha256sum -c répond OK.
Peut-on en conclure que le fichier est sûr ? Que faudrait-il faire de plus ?
Restitution orale
Un étudiant (ou un binôme) vient présenter à la classe la vérification d'empreinte réalisée (étapes 1 à 3) et l'analyse des adresses du site (étapes 5 et 6).
- Durée : 5 minutes de présentation + 2 à 3 minutes de questions.
- Qui passe : un(e) étudiant(e) (ou un binôme) désigné(e) par l'enseignant.
- Support : le travail réalisé pendant le TP, aucune préparation supplémentaire n'est nécessaire.
- Ce qui est attendu :
- rappeler le scénario (l'installeur à vérifier) et le rôle d'une empreinte ;
- présenter la démarche suivie (calcul, comparaison, lecture de l'adresse) et ses résultats ;
- répondre aux questions de la classe.
Cet exercice entraîne à l'oral technique court exigé par plusieurs épreuves du BTS (notamment E5 et E6) : clarté, structure, capacité à répondre à l'improviste.
📌 Une solution
Notions théoriques
Vous venez de vérifier deux fichiers et cinq adresses. Reste à comprendre ce que prouve exactement une empreinte, et ce qu'elle ne prouve pas.
Rappel : qu'est-ce qu'une empreinte ?
Lors de la séance sur le craquage de mots de passe, vous avez rencontré l'empreinte MD5 d'un mot de passe. Une fonction de hachage transforme n'importe quelle donnée (un mot de passe, un document, un installeur de plusieurs Go) en une suite de caractères de longueur fixe, appelée empreinte (ou hash). Elle possède quatre propriétés utiles ici :
- Déterministe : le même contenu donne toujours la même empreinte, sur n'importe quelle machine.
- Longueur fixe : 64 caractères hexadécimaux pour SHA-256, quelle que soit la taille du fichier.
- Effet d'avalanche : une modification minuscule change complètement l'empreinte (étape 4).
- Sens unique : on ne retrouve pas le fichier à partir de son empreinte.
Dans la séance sur le craquage de mots de passe, l'empreinte servait à cacher un secret. Ici, elle sert à contrôler un fichier : c'est la même notion, utilisée dans un autre but.
Ce que prouve une empreinte, et ce qu'elle ne prouve pas
| L'égalité des empreintes prouve que... | ... mais ne prouve pas que |
|---|---|
| le fichier n'a été ni corrompu ni modifié depuis le calcul de l'empreinte | l'empreinte vient bien de l'éditeur légitime |
| le fichier est identique à celui dont l'empreinte a été calculée | le fichier d'origine est lui-même exempt de programme malveillant |
On résume cette limite par une distinction à retenir : l'empreinte garantit l'intégrité du fichier (il n'a pas changé), pas son authenticité (il vient bien de qui l'on croit).
Une empreinte publiée sur la même page que le téléchargement protège d'une corruption ou d'un miroir mal synchronisé, mais pas d'un faux site : l'attaquant publie la sienne (étape 6).
Où trouver une empreinte fiable ?
Pour qu'elle serve à quelque chose, l'empreinte doit provenir d'un canal indépendant de celui du téléchargement :
- la page officielle de l'éditeur, atteinte par une adresse que vous avez saisie ou enregistrée vous-même ;
- une signature numérique (par exemple une signature GPG, ou la signature d'un exécutable Windows), qui prouve l'origine et pas seulement l'intégrité ;
- un gestionnaire de paquets (
aptsous Debian, par exemple), qui contrôle automatiquement les signatures des paquets avant de les installer.
Sous Linux, passer par le dépôt officiel de la distribution (sudo apt install nom_du_paquet) est
presque toujours préférable à un téléchargement manuel : la vérification est faite pour vous, sans
que vous n'ayez à y penser.
Depuis le milieu des années 2000, on sait fabriquer deux fichiers différents qui ont la même empreinte MD5 (on parle de collision). Un attaquant peut donc, dans certains cas, produire un fichier piégé dont l'empreinte est celle du fichier légitime. C'est pourquoi les éditeurs publient aujourd'hui des empreintes SHA-256 (ou plus longues).
Lire l'adresse d'un site de téléchargement
Un faux site de téléchargement a un seul but : être cliqué à la place du vrai. Plusieurs techniques, regroupées sous le terme de typosquatting (littéralement « squatter la faute de frappe »), servent à rendre son adresse crédible :
| Technique | Exemple (éditeur : imagiconvert.example) |
|---|---|
| Caractère qui ressemble à un autre | lmagiconvert.example (l à la place de i) |
| Lettres permutées, oubliées ou doublées | imagiconvret.example |
| Mot ajouté au nom | imagiconvert-telechargement.example |
| Nom de l'éditeur placé en sous-domaine | imagiconvert.example.telechargement-rapide.example |
| Autre extension | imagiconvert.example devenu imagiconvert.exemple |
Le réflexe de lecture est toujours le même : prendre ce qui se trouve avant le premier /,
puis lire de droite à gauche. Les deux derniers groupes forment le domaine réel, tout ce qui
est à gauche n'est qu'un sous-domaine, que son propriétaire choisit librement.
Le cadenas et le https:// du navigateur prouvent que la connexion est chiffrée, pas que le
site est honnête : un faux site peut très bien en disposer. Les adresses des résultats sponsorisés
d'un moteur de recherche sont aussi à regarder avec la même méfiance que celles d'un e-mail, comme
vu lors de la séance sur le phishing.
Que faire avant d'installer un logiciel ?
| Question | Geste |
|---|---|
| Suis-je sur le bon site ? | Saisir l'adresse officielle ou utiliser un marque-page, puis lire le domaine réel |
| D'où vient l'empreinte ? | D'une page de l'éditeur atteinte par un chemin sûr, jamais seulement de la page de téléchargement |
| Le fichier est-il identique ? | sha256sum -c, Get-FileHash ou shasum -a 256 |
| Qu'est-ce qui diffère ? | Si l'empreinte ne correspond pas : ne pas installer, supprimer, recommencer |
Le cours de cryptographie du site (séance « Hachage ») détaille SHA-256 et la différence avec les
algorithmes de hachage prévus pour stocker un mot de passe (comme bcrypt). Ici, l'objectif est
seulement le geste de vérification.
Test de mémorisation/compréhension
Bonnes pratiques
- Accéder au site de l'éditeur par un chemin sûr : adresse saisie à la main ou marque-page, plutôt qu'un résultat de recherche sponsorisé.
- Lire le nom de domaine réel, de droite à gauche, avant de télécharger : les deux derniers
groupes avant le premier
/. - Calculer l'empreinte (SHA-256) avant d'installer, et laisser la machine la comparer
(
sha256sum -c). - Se méfier d'une empreinte publiée sur la même page que le téléchargement : elle ne prouve pas que le site soit celui de l'éditeur.
- Préférer le dépôt officiel de sa distribution (
apt) ou un fichier signé par l'éditeur. - Ne rien installer en cas de différence : supprimer le fichier et recommencer depuis la source officielle.