Google Chrome et les bonnes manières

L'apparition d'un nouveau navigateur ne peut pas laisser indifférent, surtout de la part de Google. Bien sûr, le calendrier est idéal pour provoquer des débats et comparatifs en tout genre avec Internet Explorer 8 dont la Beta 2 est également disponible. Mais ce n'est pas mon propos aujourd'hui, et je reviendrai sans doute sur IE8 prochainement.

Comme tout un chacun, j'ai installé Google Chrome dès sa disponibilité, sans a priori mais avec un brin de curiosité. Il se trouve que je l'ai installé sur Windows Vista et quelle ne fut pas ma surprise en constatant qu'UAC ne me demandait aucune confirmation. En effet, Google a choisi d'installer son navigateur dans le profil de l'utilisateur. Les administrateurs en entreprise vont apprécier... Mais soit, c'est un choix, et en même temps une garantie que le logiciel n'aura pas d'impact sur le système.

Je passe sur l'interface, plutôt agréable dans sa simplicité, et je m'intéresse plus particulièrement à sa gestion des processus par onglet. L'intéressant ici est l'utilisation de jetons restreints assez particuliers, puisque tous les SID du jeton sont marqués 'Deny', ce qui n'est pas habituel, mais efficace. C'est a priori un point positif du point de vue de la sécurité, qui méritera une analyse plus approfondie par la suite.

Les choses se sont gâtées lorsque j'ai remarqué, comme d'autres, le processus GoogleUpdate.exe qui s'exécute en permanence. Et lorsque Chrome s'est mis à jour silencieusement sans me demander confirmation du téléchargement ni de l'installation, c'était trop. J'ai alors tenté la désinstallation de Chrome, pour constater que, si le navigateur lui-même se désinstalle, GoogleUpdate, lui, reste présent et actif !

Il y a des comportements que je pardonne difficilement à une application, et Chrome en est un bel exemple :

  • Le non respect des pratiques recommandées sur l'OS (par exemple, nécessiter des privilèges d'administrateur. Ce n'est pas le cas de Chrome, fort heureusement)
  • L'installation de logiciels supplémentaires non désirés
  • Le téléchargement et l'exécution de code à l'insu de l'utilisateur
  • L'exécution de processus inutiles en permanence
  • L'absence de procédure de désinstallation propre et complète
  • Le mauvais usage de la crypto ou le stockage de mots de passe en clair
  • Le non usage des fonctions déjà présentes dans l'OS (gestion des certificats, crypto, etc.)

Dans le genre mauvais élève, on avait déjà Apple qui provoque l'installation de Safari chez les utilisateurs d'iTunes sous Windows, ou qui impose QuickTime avec iTunes. Nous-mêmes avons tendance à pousser la toolbar MSN ou Silverlight à toute occasion, certes, mais en laissant le choix à l'utilisateur.

En ce qui concerne la fonctionnalité de mise à jour automatique, Internet Explorer se met à jour par Windows Update qui est paramétrable. Firefox vérifie ses mises à jour lors de son exécution. GoogleUpdate.exe, lui, s'exécute au logon de l'utilisateur et chaque fois que l'ordinateur est inactif (par une tâche programmée.)

Féru de sécurité et de virtualisation, ma réaction est bien évidemment de tout désinstaller manuellement, et de tester cette fois-ci Chrome sur une machine virtuelle isolée.

Voici comment j'ai désinstallé Chrome complètement, sur Windows Vista. Je ne garantis pas que toutes les installations soient identiques..

  1. Désinstaller normalement Google Chrome par le panneau de configuration de Windows.
  2. Dans le 'Task Scheduler' de Windows, supprimer la tâche "GoogleUpdateTaskUser"
  3. Tuer le processus : GoogleUpdate
  4. Dans regedit, se placer sur HKEY_CURRENT_USER et chercher "Google" (F3)
  5. Supprimer toutes les clés et valeurs trouvées.
  6. Supprimer les répertoires suivants :
    %userprofile%\AppData\Local\Google\Chrome
    %userprofile%\AppData\Local\Google\Update

Pour automatiser les étapes 4 à 6, j'ai utilisé le script suivant :

reg delete "HKEY_CURRENT_USER\Software\Classes\CLSID\{2F0E2680-9FF5-43C0-B76E-114A56E93598}" /f
reg delete "HKEY_CURRENT_USER\Software\Classes\CLSID\{31AC3F11-E5EA-4A85-8A3D-8E095A39C27B}" /f
reg delete "HKEY_CURRENT_USER\Software\Classes\CLSID\{90CBC988-683B-4868-BA2B-8A99187D0C55}" /f
reg delete "HKEY_CURRENT_USER\Software\Classes\Google.OneClickCtrl.5" /f
reg delete "HKEY_CURRENT_USER\Software\Classes\GoogleUpdate.OnDemandCOMClassUser" /f
reg delete "HKEY_CURRENT_USER\Software\Classes\GoogleUpdate.OnDemandCOMClassUser.1.0" /f
reg delete "HKEY_CURRENT_USER\Software\Classes\Interface\{31AC3F11-E5EA-4A85-8A3D-8E095A39C27B}" /f
reg delete "HKEY_CURRENT_USER\Software\Classes\Mime\Database\Content Type\application/x-vnd.google.oneclickctrl.5" /f
reg delete "HKEY_CURRENT_USER\Software\Google\Update" /f
reg delete "HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Low Rights\ElevationPolicy\{90CBC988-683B-4868-BA2B-8A99187D0C55}" /f
reg delete "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run" /v "Google Update" /f
reg delete "HKEY_CURRENT_USER\Software\MozillaPlugins\@tools.google.com/Google Update;version=5" /f

rd /s /q %userprofile%\AppData\Local\Google\Chrome
rd /s /q %userprofile%\AppData\Local\Google\Update

Il semblerait que l'installation sur Windows XP soit différente, aussi je vous engage à vérifier votre configuration et à ne pas appliquer la procédure ci-dessus telle quelle.

Je suis certain que ces erreurs de jeunesse seront corrigées par la suite et que le paysage de la navigation Internet sera des plus intéressants avec un concurrent supplémentaire. En attendant, Chrome va trouver chez moi la place qu'il mérite, dans une machine virtuelle de test --tout comme IE8 Beta 2 car j'ai encore besoin d'IE7.