cher ZGoblin,
T’as solution est, comment dire, partielle.
Le MD5 qui permet de vérifier auprès d’un fournisseur si le fichier d’install est corrompu permet de vérifier l’intégrité des fichiers. Cette intégrité peut être menacée simplement par une erreur lors du transfert, d’une embrouille dans les système de téléchargement style getRight ou d’un acte malveillant.Donc certes, cela permet de vérifier que les fichiers qui sont utilisés par l’exe d’install du service pack (et l’exe lui-même) ne seraient pas corrompu. Cependant, sans chercher bien loin, l’algorithme qui suit va littérallement réduire à néant ta protection (enfin elle sera encore efficace pour les erreurs involontaires, mais ne protegera pas de la malveillance).
L’algorithme est le suivant :
SP2.exe extrait des fichiers dans un répertoire temp. Ces fichiers : SP2.exe (un autre… l’officiel de microsoft en fait, celuilà), et des fichiers corrompus (admettons que ce soit kernel32.dll). Ensuite, il commande l’éxecution du SP2.exe officiel (qu’on appellera dans la suite SP2o, et celui téléchargé SP2t).
2 programmes SP2.exe (SP2o et SP2t) tournent en parallèle.
SP2o fait son office (check du MD5, extraction, check de chaque MD5 de chaque fichier si tu veux, copie, et à la fin, il proposera le reboot)
Pendant ce temps, SP2t met une alerte sur modification de kernel32.dll, et lorsque kernel32.dll (dans l’exemple) est modifié par SP2o, hop, SP2t met son kernel32.dll (corrompu) à la place.
Pour l’utilisateur, rien d’anormal hein… à part 2 instances de SP2.exe (et encore, un ptit coup de linkd discret, et sans renommer SP2.exe, l’exe lancé apparaîtra comme “~5148.exe”, ou encore “~isdel.exe”, enfin un truc pas necessairement méchant surtout pendant une install… un utilisateur peu averti n’y vera rien de toutes façons), et aussi une décompression en plus qu’avec le SP2o, mais n’ayant pas d’élement de comparaison, l’utilisateur ne pourra s’apercevoir qu’il y a embrouille
Alors tu vas me répondre que Microsoft peut contourner ca simplement en checkant le MD5 des fichiers APRES l'install, ce à quoi je répondrais qu'il y a là encore moins de trouver une faille : suffit de programmer l'écrasement des kernel32.dll (celui dans system32, celui dans servicepackfiles, etc.) par celui corrompu au prochain reboot et roulez jeunesse.
Bref, ce qu’il faudrait c’est que ce soit les logiciel P2P qui s’assurent que le MD5 du fichier est bien le MD5 officiel. Je sais pas si torrent le fait. Mais même s’il le faisait, qui devient responsable au cas où le MD5 donné en lien ne serait pas le bon ? Le site qui a donné le lien torrent ? délicat…