Объект Browser Helper ( BHO ) — это модуль DLL , разработанный как плагин для веб-браузера Microsoft Internet Explorer для предоставления дополнительных функций. BHO были представлены в октябре 1997 года с выпуском версии 4 Internet Explorer. Большинство BHO загружаются один раз каждым новым экземпляром Internet Explorer. Однако в случае Windows Explorer новый экземпляр запускается для каждого окна.
BHO по-прежнему поддерживаются в Windows 10 через Internet Explorer 11 , тогда как BHO не поддерживаются в Microsoft Edge .
Каждый раз при запуске нового экземпляра Internet Explorer он проверяет реестр Windows на наличие ключа HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Browser Helper Objects . Если Internet Explorer находит этот ключ в реестре, он ищет ключ CLSID, указанный под ключом. Ключи CLSID в разделе Browser Helper Objects сообщают браузеру, какие BHO загружать. Удаление ключа реестра предотвращает загрузку BHO. Для каждого CLSID, указанного под ключом BHO, Internet Explorer вызывает CoCreateInstance для запуска экземпляра BHO в том же пространстве процесса, что и браузер. Если BHO запущен и реализует интерфейс IObjectWithSite, он может управлять и получать события от Internet Explorer. BHO можно создавать на любом языке, поддерживающем COM . [1]
Некоторые модули позволяют отображать различные форматы файлов, которые обычно не интерпретируются браузером. Плагин Adobe Acrobat , позволяющий пользователям Internet Explorer читать файлы PDF в своем браузере, является BHO.
Другие модули добавляют панели инструментов в Internet Explorer, например, панель инструментов Alexa , которая предоставляет список веб-сайтов, связанных с тем, который вы в данный момент просматриваете, или панель инструментов Google , которая добавляет панель инструментов с полем поиска Google в пользовательский интерфейс браузера .
Панели инструментов Conduit основаны на BHO, который можно использовать в Internet Explorer 7 и выше. Этот BHO предоставляет возможность поиска, которая подключается к поиску Bing от Microsoft .
BHO API предоставляет хуки , которые позволяют BHO получать доступ к объектной модели документа (DOM) текущей страницы и управлять навигацией. Поскольку BHO имеют неограниченный доступ к модели событий Internet Explorer, некоторые формы вредоносного ПО (например, рекламное ПО и шпионское ПО) также были созданы как BHO. [2] [3]
Например, вредоносная программа Download.ject представляет собой BHO, которая активируется при установлении защищенного HTTP- соединения с финансовым учреждением, а затем начинает записывать нажатия клавиш с целью захвата паролей пользователей. MyWay Searchbar отслеживает шаблоны просмотра пользователей и передает записанную информацию третьим лицам. Вредоносная программа C2.LOP добавляет собственные ссылки и всплывающие окна на веб-страницы, чтобы направлять пользователей на веб-сайты с оплатой за клик . [ необходима цитата ]
Многие BHO вносят видимые изменения в интерфейс браузера, например, устанавливают панели инструментов в Internet Explorer и т. п., но другие работают без каких-либо изменений в интерфейсе. Это позволяет вредоносным кодерам легко скрывать действия своего дополнения к браузеру, особенно потому, что после установки BHO редко требует разрешения перед выполнением дальнейших действий. Например, варианты трояна ClSpring используют BHO для установки скриптов, чтобы предоставить ряд инструкций для выполнения, таких как добавление и удаление значений реестра и загрузка дополнительных исполняемых файлов, все это совершенно прозрачно для пользователя. [4]
В ответ на проблемы, связанные с BHO и аналогичными расширениями Internet Explorer, Microsoft представила Add-on Manager в Internet Explorer 6 с выпуском Service Pack 2 для Windows XP (обновив его до IE6 Security Version 1, также известного как SP2). Эта утилита отображает список всех установленных BHO, расширений браузера и элементов управления ActiveX и позволяет пользователю включать или отключать их по своему желанию. Существуют также бесплатные инструменты (например, BHODemon), которые выводят список установленных BHO и позволяют пользователю отключать вредоносные расширения. Расширенный режим Spybot S&D имеет аналогичный встроенный инструмент, позволяющий пользователю отключать установленные BHO.