Lembrando dos controles ActiveX, o maior erro da web

Atalho do Internet Explorer em uma área de trabalho do Windows 10.

Introduzido em 1996, os controles ActiveX do Internet Explorer eram uma má ideia para a web. Eles causaram sérios problemas de segurança e ajudaram a consolidar o domínio do Internet Explorer no Windows, o que levou à estagnação da web antes do Firefox .

O que eram controles ActiveX?

Os controles ActiveX são um tipo de programa que pode ser incorporado em outros aplicativos. A Microsoft os usou para vários fins – por exemplo, você pode incorporar controles ActiveX em documentos do Microsoft Office. No entanto, aqui, estamos nos concentrando em ActiveX para a web. A partir do Internet Explorer 3.0 em 1996, a Microsoft permitiu que os desenvolvedores da web incorporassem controles ActiveX em suas páginas da web.

Naquela época, quando você visitava uma página da Web, o Internet Explorer solicitava que você baixasse e executasse todos os controles ActiveX especificados pela página da Web.

Plug-ins populares do Internet Explorer como Adobe Flash, Adobe Shockwave, RealPlayer, Apple QuickTime e Windows Media Player foram implementados usando controles ActiveX.

Prompt ActiveX do Internet Explorer 11 no Windows 10.

A segurança foi um problema desde o início

Os anos 90 foram uma época diferente, que também nos trouxe  macros perigosas em documentos do Office . Originalmente, os controles ActiveX eram como qualquer outro programa em seu computador. Quando você inicia um controle ActiveX, ele tem acesso total a tudo em seu computador.

Em outras palavras, você pode visitar uma página da Web no Internet Explorer e ver um prompt informando que a página da Web deseja executar um jogo ou outro programa. Se você concordar, o controle ActiveX poderá fazer tudo o que quiser com todos os arquivos e programas em seu computador. É fácil ver como isso era ideal para malware.

Isso estava em total contraste com a tecnologia Java da Sun. Na época, o Java também era usado para executar programas em páginas da web dentro de navegadores da web. No entanto, o Java tentou limitar o que esses programas poderiam fazer por meio do uso de uma sandbox . O Java no navegador da web tinha, em última análise , um longo histórico de falhas de segurança – mas pelo menos o Java estava tentando limitar o que os aplicativos podiam fazer.

Recomendado:  Como limpar dados de navegação automaticamente ao fechar o Microsoft Edge

Um artigo da CNET de 1997 captura a atitude da Microsoft na época:

“Embora a sandbox Java imponha um alto grau de segurança, ela não permite que os usuários baixem e executem jogos multimídia emocionantes ou outros programas completos em seus computadores”, afirma um comunicado no site de segurança da Microsoft. “Como resultado, os usuários podem querer baixar um código que tenha acesso total aos recursos de seus computadores.”

O artigo continua explicando que a Microsoft incluiu um sistema de “responsabilidade” denominado Authenticode. Os desenvolvedores de software podiam optar por carimbar seus controles ActiveX com uma assinatura digital, mas não era obrigatório. Os desenvolvedores que criaram controles ActiveX maliciosos poderiam ser rastreados com mais facilidade – se optassem por assinar seus controles.

Com a Microsoft contando inicialmente com o sistema de honra, é fácil ver como o ActiveX se tornou uma forma popular de distribuir malware e spyware para usuários do Internet Explorer.

ActiveX foi projetado para a velha web

Houve um tempo em que as tecnologias da web não eram muito poderosas. Se você queria algo mais avançado do que texto e imagens – mesmo que apenas quisesse incorporar um vídeo em uma página da web – você precisava de algum tipo de plug-in de navegador.

ActiveX foi projetado para um mundo onde você não poderia criar aplicativos complexos e completos usando HTML, JavaScript e outras tecnologias modernas, como você faz hoje.

Muitas organizações optaram por controles ActiveX para adicionar funcionalidade a seus sites. Muitas empresas também usaram controles ActiveX internamente para entregar programas rapidamente a seus PCs corporativos. Ao acessar uma dessas páginas da Web com o Internet Explorer, ele solicitaria que você baixasse um controle ActiveX e estaria executando o programa.

Bom e fácil – muito fácil. Talvez isso voasse na rede interna de uma empresa (intranet), onde tudo era confiável. Mas na web indomada, isso causou muitos problemas.

ActiveX era uma bagunça de segurança

Conceitualmente, o ActiveX tinha dois grandes problemas de segurança. Primeiro, um site mal-intencionado pode solicitar que você instale um controle ActiveX mal-intencionado e é muito fácil para os usuários do Internet Explorer concordarem com a solicitação e instalá-lo.

Em segundo lugar, um bug em um controle ActiveX legítimo pode ser um problema. Se você tivesse uma versão desatualizada do Adobe Flash instalada, por exemplo, um site malicioso poderia tirar proveito disso e obter acesso a todo o seu computador – uma vez que os controles ActiveX, como o Flash, têm acesso a todo o seu computador.

Recomendado:  O que é o modo breve de Alexa e como faço para ativá-lo (ou desativá-lo)?

Isso era um grande negócio, realmente, uma vez que os controles ActiveX muitas vezes não tinham sistemas de atualização automática.

Com o tempo, a Microsoft continuou a restringir as configurações de segurança e adicionar proteção extra, como “Modo protegido” e “ Modo protegido avançado ”. Por exemplo, o Internet Explorer tem uma lista interna de controles ActiveX desatualizados  que se recusa a carregar. O Internet Explorer fornece avisos adicionais antes de baixar e carregar os controles ActiveX. Outras configurações de segurança foram introduzidas para permitir que os criadores do controle ActiveX restrinjam os controles ActiveX para serem executados apenas em determinados sites, por exemplo.

Caso em questão: o site da Microsoft certa vez exigiu um controle ActiveX “Download Manager” da Akamai para baixar certos arquivos. Esse gerenciador de download exigia acesso total a todo o computador e, é claro, só funcionava no Internet Explorer. Sem surpresa, este programa Download Manager tinha suas próprias vulnerabilidades de segurança . Isso realmente parece uma boa solução para baixar arquivos em vez de apenas depender do downloader de arquivos embutido do seu navegador da web?

Um aviso de segurança do Internet Explorer

Os controles ActiveX não eram compatíveis com várias plataformas

ActiveX era uma tecnologia da Microsoft que funcionava melhor no Internet Explorer do Windows. Havia alguns plug-ins que adicionavam suporte a navegadores concorrentes, como o Netscape Navigator (o ancestral do Mozilla Firefox), mas na verdade era tudo sobre o Internet Explorer.

Tecnicamente, ActiveX era multiplataforma. A Microsoft adicionou suporte ActiveX ao Internet Explorer para Mac. No entanto, ao contrário do Java (que era multiplataforma), os controles ActiveX escritos para Windows não funcionariam em um Mac. Os desenvolvedores teriam que criar controles ActiveX para o Mac.

Por exemplo, a Coreia do Sul padronizou um controle ActiveX que era necessário para acessar sites financeiros e governamentais seguros nos anos 90. Ele só foi totalmente fechado em 2020 , e a dependência do ActiveX forçou as pessoas a usar essa tecnologia antiga e desatualizada por um longo tempo. Como o Washington Post escreveu uma vez, “A Coreia do Sul [estava] presa ao Internet Explorer para compras online” em 2013. O artigo descreve como os usuários de Mac tiveram que contar com computadores desktop em seus escritórios, cyber cafés, computadores antigos ou Boot Camp para fazer compras online.

Recomendado:  KDE Connect chega ao iPhone e iPad para fãs de Linux

Essas situações se desenrolaram de maneira semelhante em outros lugares: as empresas que padronizaram o ActiveX para a entrega de aplicativos internos ficaram presas na dependência do Internet Explorer no Windows até deixarem o ActiveX para trás.

Como a web moderna é melhor

Do ponto de vista da segurança, a web moderna é muito melhor. Quando você carrega uma página da web, o navegador da web carrega e executa essa página da web em sua própria sandbox isolada. O navegador da web não depende de ActiveX, Java, Flash ou qualquer outro tipo de programa de terceiros que execute parte da página da web.

Não há como um site fornecer um código que tenha acesso total a tudo em seu computador – não sem fazer o download de um arquivo EXE que é executado inteiramente fora do navegador no Windows, por exemplo.

Seu navegador da web se atualiza automaticamente, então não há risco de código antigo parado e acessível às páginas da web sem obter patches de segurança – como havia com o ActiveX.

Antes de ser totalmente substituído por tecnologias da web no final de 2020 , até mesmo o conteúdo em Flash era mais seguro do que ActiveX. O Google Chrome, por exemplo, executou o Flash em uma sandbox. Um miniaplicativo Flash malicioso teria que usar uma falha para escapar da sandbox no próprio Adobe Flash e, em seguida, usar outra falha para escapar da sandbox do plug-in no Google Chrome para obter acesso total ao computador.

E, claro, a web moderna é multiplataforma. Você pode usar qualquer navegador de sua escolha na plataforma de sua preferência. Você não está preso ao uso do Internet Explorer no Windows porque os sites que você usa exigem um controle ActiveX que só funciona no Windows naquele navegador.

E, claro, a maioria das extensões de navegador que você instala tem acesso a tudo o que você faz no seu navegador da web – mas pelo menos elas não têm acesso a todo o seu computador.

Controles ActiveX no Windows 10

Em 2021, os controles ActiveX ainda são compatíveis com as versões modernas do Windows 10. No entanto, é necessário usar o navegador Internet Explorer 11 legado – o Microsoft Edge não oferece suporte a controles ActiveX.

Algumas empresas e outras organizações ainda usam controles ActiveX hoje, então a Microsoft ainda não removeu o suporte para eles.