Le but étant que vous soyez capable après lecture de cette page :
- de connaître les BHO présent sur votre ordinateur.
- de savoir si ces BHO sont néfastes ou non.
BHO est l'acronyme de Browser Helper Object, BHO est une bibliothèque (DLL) qui s'installe sur le navigateur Internet Explorer sous forme de pluggin afin d'élargir les fonctionnalités du navigateur WEB.
Il existe énormément de BHO, Adobe par exemple installe un BHO sur Internet Explorer afin de pouvoir lire les PDF directement sur le navigateur WEB.
La majorité des barres d'outils (Google Toolbar, Yahoo! Toolbar etc..) installent aussi des BHO, qui sont plus visibles pour l'utilisateur puisqu'elles modifient l'aspect visuel du navigateur.
Le navigateur WEB étant un élément crucial de sécurité, il existe bien entendu des BHO néfastes, que nous allons détailler.
Les BHO et la sécurité
Les malwares tentent en général de s'installer dans toutes les parties importantes du système afin de pouvoir effectuer les opérations pour lesquelles ils ont été créés.
Les BHO sont une partie du système très prisés car ils permettent la manipulation du navigateur WEB, voici quelques exemples de l'utilisation des BHO par les malwares :
- Dans le cas de spyware, ajout de barres d'outils de recherche qui enregistront les habitudes de recherche pour les transmettre à un serveur tiers.
- Dans le cas d'adware, modification de la page de démarrage, modification de la page de recherche, modification lors des recherches sur le moteur de recherche, ouverture de popups de publicité etc..
- Pour les keyloggers, enregistrement des frappes clavier sur le navigateur WEB pour récupérer les mots de passe, identifiants de connexion ou informations bancaires.
- etc..
Souvent sous forme de lignes suivantes sur HiJackThis :
- O2 - BHO: (no name) - {34E6F97C-34E0-4CE5-B92B-F83634BEDC01} - C:\Program Files\Video ActiveX Access\iesplg.dll
- O2 - BHO: SXG Advisor - {B21F613B-A670-4788-AB37-F08331D7C63D} - C:\WINDOWS\dpvtpornmw.dll
- O2 - BHO: SXG Advisor - {9C22FF6B-11B2-43B0-9F1A-8B0C209C1FAB} - C:\WINDOWS\dpvtportwf.dll
D'autres infections modifient le résultat des recherches etc..
Une simple exécution d'un fichier malicieux avec les droits administrateur et les BHO sont installés, l'infection n'a plus qu'à faire ce pourquoi elle a été prévue.
Donc encore une fois le fait de surfer avec les droits administrateur vous rend plus que vulnérable (voir l'article Pourquoi ne pas surfer avec les droits administrateur? ).
Les BHO restent une partie du système importante à surveiller de par leur impact, nous allons voir comment les identifier.
Identifier les BHO installés sur votre ordinateur
HijackThis
Beaucoup d'utilitaires permettent de visualiser et identifier les BHO installés sur votre ordinateur.
Le plus utilisé et le plus connu est HijackThis. Les BHO sont identifiés par les lignes O2 (plus d'infos voir HijackThis & localisation des malwares sur le système
Les BHO apparaissent en haut du rapport HijackThis :
Voici un exemple de ligne HijackThis issu de la Yahoo! Toolbar :
O2 - BHO: Yahoo! Toolbar Helper - {02478D38-C3F9-4EFB-9B51-7695ECA05670} - C:\Program Files\Yahoo!\Companion\Installs\cpn\yt.dll
- En rouge, nous avons le nom du BHO. Il ne faut pas se fier au nom, un BHO malicieuse peut faire apparaître n'importe quelle information et se faire passer pour une barre d'outils Yahoo! en affichant le mot Yahoo!
- En blue : C'est le CLSID. Le CLSID permet d'identifier le BHO, il est de la forme {xxxxxxxx-xxxx-xxxx-xxxxx-xxxxxxxxxxxx} où x est une chiffre ou lettre. Néanmoins, deux BHO différents peuvent avoir le même CLSID.
- en noir, c'est le fichier qui est chargé par le navigateur WEB et qui effectue les opérations pour lesquelles il a été programmé.
En utilisant HijackThis, vous devriez vous apercevoir que vous avez un bon nombre de BHO. En effet, les internautes ont tendance à multiplier les barres d'outils sans s'en rendre compte, voir le sujet Les toolbars c'est pas obligatoire!
CastleCops & Google
CastleCops contient une base de données de CLSID et vous informe si le BHO est néfaste ou non.
Rendez-vous sur le site : http://www.castlecops.com/CLSID.html et copiez/collez le CSLID récupéré depuis HijackThis. (EDIT : La liste a été déplacée vers le site http://www.systemlookup.com/ )
Le sujet suivant liste quelques autres sites de bases de données de fichiers [en] Startup/BHO/CLsid liste qui peuvent vous permettre de déterminer si le BHO est néfaste ou non.
Bien entendu, vous pouvez aussi utiliser Google (voir le sujet mieux utilier les moteurs de recherche, soit en copiant/collant le CSLID, soit en donnant le nom du fichier DLL. Néanmoins, la seconde solution d'utiliser le fichier DLL est moins précise car encore une fois, les malwares jouent sur les noms en utilisant des noms légitimes ou s'en approchant.
VirusTotal
En cas de doute, vous pouvez aussi scanner le fichier DLL identifié depuis HijackThis sur VirusTotal (voir VirusTotal : Comment Scanner un fichier)
Le fichier sera soumis à plusieurs antivirus ce qui peut permettre de confirmer ou informer dans la majorité des cas, si le fichier est malicieux ou non.
BHO Daemon
BHODemon est un programme qui vous permet de manière automatique d'identifier les BHO installés sur votre ordinateur
BHODemon détecte aussi tout changement (BHO ajouté) et vous prévient lorsqu'un BHO tente de s'installer, ceci afin de protéger votre système de toute installation non autorisée.
Site Officiel : http://www.definitivesolutions.com/bhodemon.htm
Vérifier la légitimité des programmes
Pour aller plus loin, vous pouvez aller lire la page Vérifier la légitimité des programmes qui vous explique comment vérifier si les programmes installés sont légitimes ou non.
Les BHO et le registre Windows
Cette partie est destinée aux utilisateurs avancés.
La clef du registre où sont stockées les BHO est : HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Browser Helper Objects
Vous y trouverez un dossier avec le CLSID de chaque BHO installé, soit donc HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Browser Helper Objects\<CLSID> de notre BHO.
Dans notre cas, si on reprend le BHO de la Yahoo! Toolbar, on trouve la clef : HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Browser Helper Objects\{02478D38-C3F9-4efb-9B51-7695ECA05670}
Chaque CLSID est ensuite listé dans la clef HKEY_CLASSES_ROOT\CLSID avec des informations supplémentaires.
On retrouve alors le CLSID de la BHO de la barre d'outils Yahoo! : HKEY_CLASSES_ROOT\CLSID\{02478D38-C3F9-4efb-9B51-7695ECA05670}
Cette clef contient cette fois-ci les divers d'informations relatives à cette BHO et notamment la clef HKEY_CLASSES_ROOT\CLSID\{02478D38-C3F9-4efb-9B51-7695ECA05670}\InprocServer32 contenant la valeur {Default} avec comme donnée le nom de la DLL à charger (yt.DLL).
Le simple fait de supprimer l'entrée HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Browser Helper Objects\{02478D38-C3F9-4efb-9B51-7695ECA05670} supprimera le chargement de la BHO Yahoo! Toolbar sur Internet Explorer (ce que HijackThis se contente de faire lorsque vous fixer une ligne O2).
Néanmoins afin de ne pas laisser des clefs orphelines dans le registre, il est aussi conseillé de nettoyer le CLSID de HKEY_CLASSES_ROOT\CLSID\
ce qui font en général les programmes de nettoyage du registre comme CCleaner ou RegCleaner
Quelques liens..
Globally Unique Identifier : http://fr.wikipedia.org/wiki/Globally_Unique_Identifier
BHO sur Wikipedia (en anglais) : http://en.wikipedia.org/wiki/Browser_Helper_Object
BHO sur MSDN : http://en.wikipedia.org/wiki/Browser_Helper_Object