Flux RSS - La vie du site - Nouveautés et mises à jour
Assiste.com - Sécurité informatique - Vie privée sur le Web - Neutralité d'Internet Assiste.com - Sécurité informatique - Vie privée sur le Web - Neutralité d'Internet

Browser Helper Object

Les BHOs, grâce à un mécanisme d'accueil, sont les barres d'outils que l'on peut ajouter dans Internet Explorer (du code exécutable, donc risque/danger).

Un BHO (Browser Helper Object) est un composant logiciel (donc du code exécutable) apportant une fonction additionnelle au navigateur IE (Internet Explorer) de Microsoft.

Ces fonctions sont également appelées, par Microsoft, des « plugins », ce qui est une erreur car les « plug-ins » sont autre chose et nécessitent un autre mécanisme d'accueil, normalisé, lui (mécanismes NPAPI et PPAPI) que celui d'accueil des BHOs (mais cela relève de la perpétuelle tentative de Microsoft de règlementer et imposer ses comportements erratiques comme des standards du Web, sans cesse rejetés par tous).

Le mécanisme d'accueil des BHO a été mis en place en octobre 1997 dans la version 4 d'Internet Explorer.

Terminologie : Plug-in ou Add-on

Le mécanisme des BHOs permet l'ajout des plugins à Internet Explorer, ces plugins, dans le jargon Microsoft de 1997, couvrant aussi bien :

Les termes se sont affinés depuis et on distingue et sépare totalement les plugins, concernant les technologies, des extensions, concernant des fonctions additionnelles.

Les extensions (en français) sont appelées add-on en anglais (et, parfois, add-in, addin, addon).

La liste des BHOs actuellement installés dans votre Internet Explorer se trouve dans le Registre Windows, dans la clé :
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Browser Helper Objects

BHO dans la Registre Windows
BHOs dans la Registre Windows

Un BHO est du code additionnel à Internet Explorer (et uniquement à Internet Explorer ainsi qu'à tous les navigateurs basés sur Internet Explorer comme AOL Browser, Neoplanet etc. ...). Les autres navigateurs (Firefox, Opera, Google Chrome, Safari, etc.) ne sont pas concernés (ils utilisent d'autres mécanismes, normalisés, pour accueillir des plugins et des extensions).

Un BHO se présente sous la forme d'une DLL (fichier .dll).

Sa procédure d'installation dans Internet Explorer utilise la technologie scélérate ActiveX.

  • Si vous avez inhibé cette technologie dans Internet Explorer, vous ne pouvez pas installer de BHOs.
  • Si vous avez demandé à conserver le contrôle sur la technologie ActiveX, vous êtes averti des tentatives d'exploitation de cette technologie (sans savoir exactement pourquoi puisqu'une page Web peut contenir de nombreux contrôles ActiveX.). Vous pouvez, dès lors, accepter ou refuser, ponctuellement, son utilisation.

Le mécanisme d'accueil des BHO permet à des tiers d'ajouter des fonctionnalités ou de personnaliser Internet Explorer. Microsoft explique cela sur cette page : Browser Helper Objects: The Browser the Way You Want It et donne même un exemple de programmation d'un BHO.

Un BHO se présente généralement, lorsqu'il est visible, comme un ou une série de boutons ou une « Barre d'outils » (toolbar) ajouté au menu de votre navigateur Internet Explorer où à la barre de fonctions. Le BHO est toujours censé vous apporter une fonctionnalité ou un confort supplémentaire. En réalité, il a le plus souvent une ou des fonctions cachées parasites, voire hostiles.

Malheureusement, dans Internet Explorer, comme dans les autres navigateurs Web, ce mécanisme d'accueil de plug-ins est essentiellement utilisé pour ajouter des malveillances et des outils d'espionnage. Il en est ainsi des « Barre d'outils » (toolbar) ajoutées à Internet Explorer.

L'installation a lieu volontairement (vous avez été convaincu de l'utilité ou de la nécessité d'installer quelque chose que vous ne connaissez pas, par une manipulation de votre esprit (abus de faiblesse, mensonge, ingénierie sociale, etc.) ou à votre insu (Drive-by download, Drive-by install, sponsoring, repacking, visite d'une page Web piégée par des script, mécanismes publicitaires, publicités trompeuses, etc.).

Les problèmes que posent les BHO sont de quatre natures différentes :

  1. Problème d'écriture :
    Il s'avère que les BHO sont souvent mal écrits (généralement en C++, un langage de programmation). Ils plantent Internet Explorer ou entrent en conflit avec lui ou entrent en conflit entre eux lorsqu'il y en a plusieurs d'installés, provoquant des problèmes très difficiles à diagnostiquer et régler car vous n'avez souvent aucun moyen de savoir qu'un BHO s'est installé.
  2. Problème de comportement :
    Le mécanisme des BHO donne un accès illimité aux évènement d'Internet Explorer. De ce fait, un BHO peut accéder, par exemple, aux échanges entre un utilisateur et sa banque, capturant ses identifiant et mots de passe (agissant en KeyLogger). Beaucoup de BHOs s'avèrent être :

  3. Problème d'implémentation :
    Microsoft avoue un problème sur cette page dans les versions 5 d'Internet Explorer qui fait que seul un BHO peut être chargé (Only One Browser Helper Object Will Load with Internet Explorer 5). Si plusieurs tentent de se charger, seul le premier l'est, les autres sortent en erreur sans erreur apparente.
  4. Problème de guerre des BHOs :
    Il existe une guerre des BHOs dans le genre « pousse toi d'là que j'm'y mette » (réseau P2P Morpheus par exemple).

La lutte contre les BHOs (très peu sont utiles, quasiment aucun), se fait avec des procédures comme « Décontamination anti-malwares », utilisant des outils comme :

Quelques exemples de BHOs :

Les BHOs sont l'implémentation dans le navigateur Internet Explorer des barres d'outils. Voir : Barres d'outils.

Browser Helper Object -
Browser Helper Object - Browser Helper Object