
ブラウザーヘルパーオブジェクト(BHO)は、Microsoft Internet Explorer Webブラウザーのプラグインとして設計されたDLLモジュールで、追加機能を提供します。BHOは、Internet Explorerバージョン4のリリースに伴い、1997年10月に導入されました。ほとんどのBHOは、Internet Explorerの新しいインスタンスが起動されるたびに一度だけ読み込まれます。ただし、 Windows Explorerの場合は、ウィンドウが開くたびに新しいインスタンスが起動されます。
BHOはWindows 10以降、Internet Explorer 11まで引き続きサポートされていますが、Microsoft Edgeではサポートされていません。
Internet Explorer の新しいインスタンスが起動するたびに、Windows レジストリでキーHKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Browser Helper Objectsを確認します。Internet Explorer がレジストリでこのキーを見つけると、そのキーの下にリストされているCLSIDキーを探します。Browser Helper Objects の下の CLSID キーは、どの BHO を読み込むかをブラウザーに指示します。レジストリ キーを削除すると、BHO の読み込みが阻止されます。BHO キーの下にリストされている各 CLSID に対して、Internet Explorer は CoCreateInstance を呼び出して、ブラウザーと同じプロセス空間で BHO のインスタンスを開始します。BHO が起動され、IObjectWithSite インターフェイスを実装している場合、Internet Explorer を制御したり、Internet Explorer からイベントを受信したりできます。BHO はCOM をサポートする任意の言語で作成できます。[ 1 ]
一部のモジュールは、通常ブラウザでは解釈できないさまざまなファイル形式を表示できるようにします。Internet Explorerユーザーがブラウザ内でPDFファイルを閲覧できるようにするAdobe Acrobatプラグインは、BHO(ブラウザハンドラー)の一種です。
他のモジュールはInternet Explorerにツールバーを追加します。例えば、Alexaツールバーは、現在閲覧しているウェブサイトに関連するウェブサイトのリストを提供します。また、Googleツールバーは、ブラウザのユーザーインターフェースにGoogle検索ボックスを備えたツールバーを追加します。
Conduitツールバーは、 Internet Explorer 7以降で使用できるBHO(Better Host Office)に基づいています。このBHOは、 MicrosoftのBing検索に接続する検索機能を提供します。
BHO API は、BHO が現在のページのドキュメント オブジェクト モデル(DOM) にアクセスしてナビゲーションを制御できるようにするフックを公開しています。BHO は Internet Explorer のイベント モデルに無制限にアクセスできるため、マルウェア(アドウェアやスパイウェアなど)の一部も BHO として作成されています。 [ 2 ] [ 3 ]
例えば、Download.jectマルウェアは、金融機関への安全なHTTP接続が確立された際に起動するBHO(バックハンドオーバー)マルウェアで、ユーザーのパスワードを盗む目的でキーストロークの記録を開始します。MyWay Searchbarは、ユーザーの閲覧パターンを追跡し、記録した情報を第三者に送信します。C2.LOPマルウェアは、ユーザーを有料クリックサイトに誘導するために、ウェブページに独自のリンクやポップアップを追加します。
多くの BHO は、 Internet Explorerなどにツールバーをインストールするなど、ブラウザのインターフェースに目に見える変更を加えますが、インターフェースに何の変更も加えずに実行されるものもあります。これにより、悪意のあるプログラマーは、ブラウザ アドオンの動作を簡単に隠蔽できます。特に、インストール後、BHO は追加のアクションを実行する前に許可を必要とすることがほとんどないためです。たとえば、ClSpring トロイの木馬の亜種は、BHO を使用してスクリプトをインストールし、レジストリ値の追加と削除、追加の実行可能ファイルのダウンロードなど、実行すべき多くの命令を提供しますが、これらはすべてユーザーには完全に透過的です。[ 4 ]
Internet Explorer の BHO や同様の拡張機能に関連する問題に対応するため、Microsoft はWindows XPのService Pack 2 (IE6 セキュリティ バージョン 1、通称 SP2 にアップデート)のリリースに伴い、Internet Explorer 6にアドオン マネージャーを導入しました。このユーティリティは、インストールされているすべての BHO、ブラウザ拡張機能、およびActiveX コントロールの一覧を表示し、ユーザーが自由に有効または無効にすることができます。また、インストールされている BHO の一覧を表示し、悪意のある拡張機能を無効にできる無料ツール (BHODemon など) もあります。Spybot S&D の高度なモードには、インストールされている BHO を無効にできる同様のツールが組み込まれています。