Assiste.com - Sécurité informatique - Vie privée sur le Web - Neutralité d'Internet

cr  01.04.2012      r+  22.10.2024      r-  22.10.2024      Pierre Pinard.         (Alertes et avis de sécurité au jour le jour)

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
Existance de BHOs
identifiés/révélés
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 BHOs 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 BHOs 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 :



Microsoft .NET Framework est un cadre de développement de Microsoft aidant au développement d'applications universelles, indépendantes du système d'exploitation dans lequel elles sont embarquées. Les fonctions de bas niveau, comme les fonctions réseau, ne sont plus développées dans les applications, mais font obligatoirement des appels paramétrés à une architecture de développement pivot (une charpente de développement) imposant des méthodes incontournables.

Cette notion s'est renforcée avec l'apparition, dans Windows 8, d'un exécutif Windows (Windows runtime) qui permet de développer des applications portables sur un panel de supports matériels cibles et non plus en fonction d'une version d'un système d'exploitation.

Les mêmes applications développées avec Visual Studio et .NET Framework fonctionnent sous :

Microsoft .NET Framework est inclus dans Visual Studio.

Windows 10 est totalement pensé pour tourner sur toutes les plateformes matérielles et les applications sont produites pour être disponibles dans un unique magasin d'applications (Microsoft Store [Applications Windows - Boutique Microsoft]).

Un « Framework » est un « cadre de travail », un ensemble de composants logiciels permettant aux développeurs de développer des applications plus rapidement, plus sûrement, et à moindre coût.



  • BHO - BHOs - Browser Helper Object