Aller au contenu principal

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 :

  1. citer le paramètre ajouté à la ligne linux du menu GRUB pour obtenir un shell root sans mot de passe, et dire quel programme il lance à la place du démarrage habituel
  2. expliquer pourquoi la commande passwd root échoue tant que mount -o remount,rw / n'a pas été exécutée
  3. 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

info

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.

attention

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
  1. Que renvoie la commande sha256sum ? Combien de caractères comporte l'empreinte ?
  2. Cette empreinte est-elle identique à celle publiée par l'éditeur ? Qu'est-ce que cela prouve ?
📌 Réponse attendue
Sous Windows ou macOS

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
  1. Que s'affiche-t-il ?
  2. 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
  1. Que répond sha256sum -c pour le fichier du miroir ?
  2. Que montre la commande diff ?
  3. 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
  1. Les deux empreintes SHA-256 se ressemblent-elles, alors que seule une lettre (b devenu B) a changé ?
  2. Combien de caractères comptent l'empreinte MD5 et l'empreinte SHA-256 ?
  3. 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.

  1. Quelles adresses appartiennent réellement à l'éditeur ?
  2. 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.
astuce

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'empreintel'empreinte vient bien de l'éditeur légitime
le fichier est identique à celui dont l'empreinte a été calculéele 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).

attention

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 (apt sous Debian, par exemple), qui contrôle automatiquement les signatures des paquets avant de les installer.
info

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.

MD5 et SHA-1 ne conviennent plus pour cet usage

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 :

TechniqueExemple (éditeur : imagiconvert.example)
Caractère qui ressemble à un autrelmagiconvert.example (l à la place de i)
Lettres permutées, oubliées ou doubléesimagiconvret.example
Mot ajouté au nomimagiconvert-telechargement.example
Nom de l'éditeur placé en sous-domaineimagiconvert.example.telechargement-rapide.example
Autre extensionimagiconvert.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.

attention

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 ?​

QuestionGeste
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
Pour aller plus loin

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​


Que contient l'empreinte SHA-256 d'un fichier ?


Vous modifiez une seule lettre dans un fichier de 10 Mo. Que devient son empreinte SHA-256 ?


L'empreinte calculée sur votre téléchargement diffère de celle publiée par l'éditeur. Que faire ?


Quel est le nom de domaine réel de https://imagiconvert.example.telechargement-rapide.example/setup ?


Pourquoi les éditeurs publient-ils aujourd'hui une empreinte SHA-256 plutôt que MD5 ?


Un faux site affiche, à côté de son fichier piégé, sa propre empreinte SHA-256, et la vérification réussit. Qu'est-ce que cela prouve ?


Quelle commande Linux vérifie que le fichier installer.sh correspond à l'empreinte stockée dans le fichier SHA256SUMS ?


Quel réflexe limite le plus le risque de tomber sur un faux site de téléchargement ?



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.