Objeto auxiliar do navegador - Browser Helper Object
Um Browser Helper Object ( BHO ) é um DLL módulo concebido como um plug-in para Microsoft 's Internet Explorer web browser para fornecer funcionalidades adicionais. Os BHOs foram introduzidos em outubro de 1997 com o lançamento da versão 4 do Internet Explorer. A maioria dos BHOs é carregada uma vez para cada nova instância do Internet Explorer. No entanto, no caso do Windows Explorer , uma nova instância é iniciada para cada janela.
BHOs ainda são suportados a partir do Windows 10, por meio do Internet Explorer 11 , enquanto BHOs não são suportados no navegador padrão Microsoft Edge .
Implementação
Cada vez que uma nova instância do Internet Explorer é iniciada, ele verifica no Registro do Windows a chave HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Explorer \ Browser Helper Objects . Se o Internet Explorer encontrar essa chave no registro, ele procurará uma chave CLSID listada abaixo da chave. As chaves CLSID em Objetos auxiliares do navegador informam ao navegador quais BHOs carregar. A remoção da chave de registro impede que o BHO seja carregado. Para cada CLSID listado abaixo da chave BHO, o Internet Explorer chama CoCreateInstance para iniciar a instância do BHO no mesmo espaço de processo que o navegador. Se o BHO for iniciado e implementar a interface IObjectWithSite, ele pode controlar e receber eventos do Internet Explorer. Os BHOs podem ser criados em qualquer linguagem que suporte COM .
Exemplos
Alguns módulos permitem a exibição de diferentes formatos de arquivo normalmente não interpretáveis pelo navegador. O plug-in Adobe Acrobat , que permite aos usuários do Internet Explorer ler arquivos PDF em seu navegador, é um BHO.
Outros módulos adicionam barras de ferramentas ao Internet Explorer, como a Barra de Ferramentas Alexa, que fornece uma lista de sites relacionados ao que você está navegando no momento, ou a Barra de Ferramentas Google, que adiciona uma barra de ferramentas com uma caixa de pesquisa do Google à interface de usuário do navegador .
As barras de ferramentas do Conduit são baseadas em um BHO que pode ser usado no Internet Explorer 7 e superior. Este BHO fornece um mecanismo de busca que se conecta ao Microsoft 's Bing pesquisa.
Preocupações
A API BHO expõe ganchos que permitem que o BHO acesse o Document Object Model (DOM) da página atual e controle a navegação. Como os BHOs têm acesso irrestrito ao modelo de evento do Internet Explorer, algumas formas de malware também foram criadas como BHOs.
Por exemplo, o malware Download.ject é um BHO que é ativado quando uma conexão HTTP segura é feita a uma instituição financeira e, a seguir, começa a registrar pressionamentos de tecla com o objetivo de capturar as senhas do usuário. A MyWay Searchbar rastreia os padrões de navegação dos usuários e passa as informações que registra para terceiros. O malware C2.LOP adiciona links e pop-ups próprios a páginas da web para direcionar os usuários a sites de pagamento por clique .
Muitos BHOs introduzem mudanças visíveis na interface de um navegador, como a instalação de barras de ferramentas no Internet Explorer e similares, mas outros são executados sem qualquer alteração na interface. Isso torna mais fácil para codificadores mal-intencionados ocultar as ações de seu complemento de navegador, especialmente porque, depois de instalado, o BHO raramente requer permissão antes de executar outras ações. Por exemplo, variantes do trojan ClSpring usam BHOs para instalar scripts para fornecer uma série de instruções a serem executadas, como adicionar e excluir valores de registro e baixar arquivos executáveis adicionais, tudo de forma totalmente transparente para o usuário. O spyware DyFuCA até substitui a página de erro geral do Internet Explorer por uma página de anúncio.
Em resposta aos problemas associados com BHOs e extensões semelhantes ao Internet Explorer, a Microsoft lançou um Add-on Manager no Internet Explorer 6 com o lançamento do Service Pack 2 para Windows XP (atualizando-o para IE6 Security Version 1, também conhecido como SP2). Este utilitário exibe uma lista de todos os BHOs instalados, extensões de navegador e controles ActiveX e permite que o usuário os habilite ou desabilite à vontade. Existem também ferramentas gratuitas (como o BHODemon) que listam os BHOs instalados e permitem ao usuário desabilitar extensões maliciosas. O modo avançado do Spybot S&D possui uma ferramenta semelhante integrada para permitir que o usuário desative os BHOs instalados.
Veja também
- Extensão do navegador
- Plug-in (computação)
- Componentes HTML
- Add-on (Mozilla)
- Extensões do Google Chrome
Referências
- ^ Roberts Scott, Programming Microsoft Internet Explorer 5 , Microsoft Press, 1999, ISBN 0-7356-0781-8
- ^ Entrada de malware da Computer Associates em ca.com , recuperada em 16/01/2009
links externos
Sites da Microsoft
- IEHelper - anexando ao Internet Explorer 4.0 usando um objeto auxiliar do navegador
- Controle os complementos do Internet Explorer com o Gerenciador de complementos - um artigo no Microsoft.com que explica esse novo recurso do Windows XP Service Pack 2
- Construindo Objetos Auxiliares de Navegador com o Visual Studio 2005 - um artigo do MSDN de outubro de 2006 por Tony Schreiner e John Sudds
Listagens e exemplos
- Lista CLSID - lista mestre criada por Tony Kleinkramer, que tenta registrar e identificar todos os BHOs disponíveis (anteriormente localizados em - o agora extinto - castlecops.com ) - também inclui Barra de Ferramentas, Barra do Explorer e GUIDs de URLSearchHook
- Exemplo de código C ++ para um BHO
- Código de exemplo C # para um BHO