Comment vérifier l’intégrité du TorBrowser quand on le télécharge ?

, par  Genma , popularité : 2%

Ce texte est un complément à mon tutoriel Comment vérifier l’intégrité d’un fichier que l’on télécharge ?

Télécharger le Tor Bowser bundle, c’est bien. Vérifier que le fichier est intègre, c’est mieux.

Il est fortement déconseillé d’utiliser autre chose que le TorBrowser pour surfer sur le web via Tor (en utilisant Firefox en configurant le proxy par exemple). Le TorBrowser contient beaucoup de modifications pour être plus sécurisé et on ne fera jamais aussi bien. Les extensions que l’on peut avoir rendent le navigateur que l’on a perméable, en lui ajoutant des failles potentielles... Bref, il faut utiliser le TorBrowser ou Tails pour utiliser le réseau Tor.

Utiliser le TorBrowser, c’est bien. Mais encore faut-il qu’il soit à jour. Le navigateur, a son lancement, vérifie qu’il est bien à jour et le signale dans le cas contraire. Le réflexe que l’on doit alors avoir est de le mettre à jour. Et là, comme lors du premier téléchargement et à chaque fois qu’on le télécharge, on doit vérifier l’intégrité des fichiers.

Il existe des tutoriaux en vidéos pour les différents OS sur la page https://www.torproject.org/projects/torbrowser.html. Ils donnent la série de commande à taper. En bon informaticien, et adepte du lifehacking, je connais l’utilité de scripter en shell.

Sous Linux - le Tor Browser Launcher

Avec le Tor Browser Launcher., c’est fait automatiquement, le code source est disponible et auditable (je l’ai fait pour la partie script - hors librairie utilisée). J’ai donc confiance dans ce script et je vous renvoie vers ce projet.
A lire sur ce sujet :
 le Tor Browser Bundle
 AppArmor bloque le Tor Browser Launcher

Sous Windows

Sous Windows, il n’existe pas d’équivalent du Tor Browser Launcher.

Je n’ai pas le temps ni l’envie de recoder le script de Tor Browser Launcher car le script est assez lié à Linux. Mais j’ai envie de gagner du temps et ne pas toujours faire les mêmes choses. Alors, j’ai fait un script assez spécifique à mon environnement Windows, mais que je partage, vu que je l’ai commenté.
Rq : je n’ai pas encore de script exploitable sur n’importe quelle machine Windows, ça marche juste dans mon environnement que je maitrise ; je ne vais aussi loin que le Tor Browser Launcher qui est un script Python qui repose sur Linux (et le fait que GPG est installé).

Prérequis :
 Avoir cygwin d’installer
 Avoir gpg pour Windows d’installer.

Quand je l’utilise ? Quand le TorBrowser me signale qu’il n’est plus à jour, je le ferme. Je lance ce script et le script va récupérer la dernière version du TorBrowser Bundle,(via wget), vérifier via la clef que le fichier téléchargé est correct. Si c’est bon, je supprime l’installation du TorBrowser existante et je relance son installation via l’exécutable que je viens de télécharger.

#!/bin/sh
#--------------------------
# Récupération des fichiers
#--------------------------
# La page de téléchargement du TorBrowser est toujours la même. Je récupère la page en elle-même pour 
# en extraire les noms des fichiers important à savoir :
# - torbrowser-install-3.6.3_fr.exe
# - torbrowser-install-3.6.3_fr.exe.asc
# Rq : le numéro de version, ici 3.6.3 change, mais le motif "_fr.exe" est fixe et me permet de filtrer sur l'exécutable
# et sur le fichier .asc, clef de vérification de l'exécutable.
wget "https://www.torproject.org/projects/torbrowser.html.en" --user-agent="Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6"  -O "torbrowser.html"
cat torbrowser.html |grep _fr.exe|awk -F'"' '{print $2}'|sed "s/\.\./https:\/\/www.torproject.org/g"|while read url
do
# Pour chaque nom de fichier correspondant au filtre "_fr.exe" (il y en a deux, le .exe et le .asc)
nomFichier=<span class="base64" title="PGNvZGUgY2xhc3M9J3NwaXBfY29kZSBzcGlwX2NvZGVfaW5saW5lJyBkaXI9J2x0cic+ZWNobyAkdXJsfGF3ayAtRidcLycgJ3twcmludCAkN30nPC9jb2RlPg=="></span>
# On récupère le fichier
wget $url --user-agent="Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6" -O $nomFichier 
done
#----------------------------------------------
# Vérification du fichier .exe via la clef .asc
#----------------------------------------------
# On récupère la clef publique nécessaire pour utiliser le fichier .asc
gpg.exe --keyserver x-hkp://pool.sks-keyservers.net --recv-keys 0x416F061063FEE659
gpg.exe --fingerprint 0x416F061063FEE659
gpg.exe  --verify  torbrowser-install-3.6.3_fr.exe.asc torbrowser-install-3.6.3_fr.exe
#----------------
# Reste à faire
#----------------
# Vérifier le retour de la commande gpg.exe  --verify de façon automatisée
# En testant le code retour par exemple, avec signalement d'erreur...

Pour la solution Windows, c’est largement perfectible mais chez moi ça marche et ça m’est utile. Si ça peut l’être à d’autres, tant mieux, d’où le partage.

Sur le même sujet
 Comment vérifier l’intégrité d’un fichier que l’on télécharge ?.
 Comment vérifier l’intégrité de Firefox quand on le télécharge ?.