MD5summer

Fiche logiciel validé
  • Création ou MAJ importante : 29/10/10
  • Correction mineure : 29/10/10
Mots-clés
Pour aller plus loin

MD5summer : création et vérification d'empreintes MD5

Description
Fonctionnalités générales

Création et vérification d'empreintes MD5.

Les empreintes MD5 (fonction de hachage cryptographique) permettent de contrôler l'intégrité des fichiers. On crée une empreinte (ou résumé électronique) des fichiers et à tout moment on peut vérifier si les fichiers correspondent toujours à leur empreinte. Si un fichier ne correspond plus à son empreinte cela signifie soit que ce fichier a été endommagé accidentellement (support physique, transmission ...) soit que ce fichier a été volontairement infecté.

MD5summer permet donc de vérifier l'intégrité des logiciels téléchargés, la majorité des sites de téléchargement fournissant l'empreinte md5 de leurs logiciels.

Par exemple l'empreinte MD5 de l'exécutable "md5summer.exe" version 1.2.0.5 est "6f122df5e2b86bc0bc8885cafe4b9eab"

Autres fonctionnalités
  • Sauvegardes
    Les empreintes md5 peuvent servir à contrôler l'intégrité physique des sauvegardes ou archivages (et md5summer permet de le faire de façon récursive, c'est un point fort de ce logiciel).

  • Sécurité
    Les empreintes MD5 peuvent servir de détecteur d'intrusion ; en effet, si vous générez des empreintes pour tous les fichiers d'une station (md5summer permet de le faire de façon récursive) vous pouvez détecter la moindre modification (encore faut-il sauvegarder les empreintes sur un support externe car les pirates corrigent parfois les empreintes des fichiers qu'ils infectent). Cependant il n'est pas facile de protéger de cette façon-là les systèmes modernes et Windows en particulier car :

    • Toute modification de la configuration d'un logiciel modifie un certain nombre de fichiers dont les registres.
    • Toute nouvelle installation de logiciel introduit un grand nombre de nouveaux fichiers et modifie un certain nombre de fichiers dont les registres.
    • Les mises à jour de sécurité modifient un grand nombre de fichiers.

L'utilisation est donc plutôt réservée aux documents ou données et non pas aux logiciels.

Interopérabilité

L'empreinte MD5 (Message Digest algorithm version 5) est un algorithme répandu décrit dans le RFC 1321, c'est donc un standard Internet libre.

A titre indicatif l'autre grand standard libre est l'empreinte "SHA-1" (Secure Hash Algorithm version 1).

Les fichiers empreinte "md5summer" contiennent les empreintes sous une forme lisible (32 chiffres hexadécimaux en ASCII), au format du logiciel Linux GNU MD5sum.

Un fichier comprenant simplement les 32 chiffres hexadécimaux de l'empreinte est accepté par "md5summer".

Contexte d'utilisation dans mon laboratoire/service

Nous sommes plusieurs enseignants du Cnam de Versailles à utiliser ce logiciel au quotidien pour vérifier nos téléchargements de logiciels et garantir nos sauvegardes.

Limitations, difficultés, fonctionnalités importantes non couvertes

L'empreinte md5 sur 16 octets garantit sérieusement l'intégrité des fichiers (à titre de comparaison les champs de contrôle de la majorité des protocoles de télécommunication comportent 2 à 4 octets seulement).

  • Si un fichier ne correspond plus à son empreinte, il a forcement été modifié (ou alors c'est l'empreinte qui a été modifiée !).
  • Si un fichier correspond à son empreinte, il y a une quasi certitude qu'il soit intègre.
  • La probabilité que 2 fichiers différents présentent la même empreinte est potentiellement nulle, d'ailleurs certains logiciels de sauvegarde du marché, optimisent les sauvegardes en ne sauvegardant que les fichiers (ou blocs de données) qui changent d'empreinte md5.
Environnement du logiciel
Plates-formes

Windows

Autres logiciels aux fonctionnalités équivalentes
  • Commande "md5" de Sun Solaris.
  • Commande "md5sum", native de Linux.
  • Logiciel "SummerProperties" en mode contextuel Windows (clic droit) mais sans récursivité, licence GPL.
  • Variante du logiciel "md5summer" en mode commande Windows, licence GPL.
  • Dernière version de md5sum traduite en Français : v1.1.0.26
Environnement de développement
Type de structure associée au développement

Développeur Luke Pascoe, sources disponibles.

Eléments de pérennité

Il s'agit d'un logiciel léger, il pourrait être maintenu ou re-développé par la communauté, en particulier en Java (Java fournit la classe "java.security.MessageDigest").

Références d'utilisateurs institutionnels

Au moins 3 enseignants du Cnam de Versailles en font une utilisation courante.

Dans le cadre d'A2IMP ( http://www.urec.cnrs.fr/article368.html ), ce type de produit (et non ce produit car A2IMP travaillait sur unix) a été conseillé. La création de la somme de contrôle (hash) sur la machine de sauvegarde permet d'assurer que les traces (par exemple, prises juste après un incident) que l'on a faites sont bien les mêmes qui seront étudiées par un expert technique (style CERTA) ou un tribunal.

Environnement utilisateur
Documentation utilisateur

Documentation succincte sur page d'accueil du site "www.md5summer.org".

Divers (astuces, actualités, sécurité)

Version Beta 1.2.0.11 avec intégration des empreintes SHA-1.

Commentaires

GtkCmpHash à voir également

Hop,

J'ai développé dans le cadre de mes besoins, un outil qui permet la vérification de l'intégrité des fichiers. Cet outil utilise au choix, MD5, SHA1 ou RIPEMD160 pour effectuer ses comparaisons (il calcule les trois de toute façon).

Il s'agit d'un outil libre dont le code source est téléchargeable sur http://src.delhomme.org/ (rubrique GtkCmpHash)

Comme cet outil a été développé pour mes besoins particuliers, il est un peu déconcertant pour une utilisation plus classique (de vérification d'intégrité), toutefois, cette utilisation reste possible.

Pour le moment, il n'y a qu'un seul utilisateur connu : le développeur !

Problème de sécurité sur MD5

Attention ! L'algorithme de hachage MD5 n'est plus considéré comme sûr depuis 2004 au moins. (cf, par exemple, http://fr.wikipedia.org/wiki/MD5 , http://www.ecrypt.eu.org/documents/STVL-ERICS-2-HA... )

Il reste néanmoins utilisable pour détecter les erreurs accidentelles.

 

 

Limitations MD5

A ma connaissance les failles trouvées dans l'algorithme md5 concernent l'utilisation des empreintes md5 uniquement dans le cas des signatures électroniques : Il est possible de forger des couples de messages "sain/infecté" ayant la même empreinte md5, dans ce cas si l'on réussi à faire signer le message sain par un tiers il est possible de réutiliser la signature du tiers pour le message infecté (SHA-1 présente d'ailleurs le même type de faille).

http://www.cert-ist.com/fra/ressources/Publication...

Dans le cas de l'intégrité des fichiers il reste toujours pratiquement impossible de forger un message ayant une empreinte md5 donnée.

L'empreinte md5 comporte 128 bits et finira un jour par être vulnérable aux attaques par force brute (SHA-1 comporte 160 bits). Nous devons effectivement être prêts à passer au futur standard (SHA-256 ?) dès qu'il se sera imposé sur le marché et à trouver le logiciel libre correspondant !